/* ═══════════════════════════════════════════════════════
   MERIDIAN TECHNOLOGY — PRODUCT LISTING PAGE
   styles.css  |  Extends homepage design system
═══════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────
   DESIGN TOKENS (identical to homepage)
───────────────────────────────────────── */
:root {
  /* Navy scale */
  --navy-900: #070F1C;
  --navy-850: #0B1526;
  --navy-800: #0F1E35;
  --navy-700: #152844;
  --navy-600: #1D3A5F;
  --navy-500: #285080;
  --navy-400: #3A6FA8;
  --navy-300: #5A8FC4;
  --navy-200: #90B8DE;
  --navy-100: #C8DDEF;
  --navy-50:  #EBF3FA;

  /* Electric blue */
  --electric-600: #0055EE;
  --electric-500: #0066FF;
  --electric-400: #2680FF;
  --electric-300: #5599FF;
  --electric-200: #99BEFF;
  --electric-100: #CCDEFF;
  --electric-50:  #EBF2FF;

  /* Teal */
  --teal-500: #00BFA5;
  --teal-400: #00D4B8;
  --teal-200: #7EEEE4;
  --teal-50:  #E6FAF8;

  /* Amber */
  --amber-500: #F59E0B;
  --amber-400: #FBB030;
  --amber-100: #FDE9B0;

  /* Surfaces */
  --surface-0: #FFFFFF;
  --surface-1: #F7F9FC;
  --surface-2: #EEF2F8;
  --surface-3: #E2E8F2;

  /* Borders */
  --border-light:  rgba(30, 60, 100, 0.10);
  --border-medium: rgba(30, 60, 100, 0.18);

  /* Text */
  --text-primary:   #0D1F38;
  --text-secondary: #3D5470;
  --text-muted:     #6B85A8;

  /* Fonts */
  --font-display: 'Lora', serif;
  --font-body:    'Lora', serif;
  --font-nav:     'Source Sans Pro', sans-serif;
  --font-mono:    'Courier New', 'Consolas', monospace;

  /* Radii */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-pill: 100px;

  /* Shadows */
  --shadow-sm:       0 1px 3px rgba(10,30,60,0.08), 0 1px 2px rgba(10,30,60,0.04);
  --shadow-md:       0 4px 16px rgba(10,30,60,0.10), 0 2px 6px rgba(10,30,60,0.06);
  --shadow-lg:       0 12px 40px rgba(10,30,60,0.14), 0 4px 12px rgba(10,30,60,0.08);
  --shadow-electric: 0 8px 32px rgba(0,102,255,0.22);

  /* Transitions */
  --transition:      200ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: 500ms cubic-bezier(0.16, 1, 0.3, 1);

  /* PLP-specific */
  --sidebar-width: 272px;
  --toolbar-h:     64px;
  --navbar-h:      72px;
}

/* ─────────────────────────────────────────
   NAVIGATION FONT OVERRIDE — Source Sans Pro
───────────────────────────────────────── */
#navbar,
#navbar .nav-link,
#navbar .nav-ctas,
#navbar .nav-logo-text,
#navbar .btn,
#mobile-nav-drawer,
#mobile-nav-drawer .drawer-link,
#mobile-nav-drawer .btn,
.nav-rfq-counter,
.rfq-fab-label,
.rfq-fab-sublabel { font-family: var(--font-nav); }


/* ─────────────────────────────────────────
   RESET & BASE
───────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--text-primary);
  background: var(--surface-1);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

/* ─────────────────────────────────────────
   LAYOUT
───────────────────────────────────────── */
.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
}
@media (max-width: 1200px) { .container { padding: 0 32px; } }
@media (max-width: 768px)  { .container { padding: 0 20px; } }

/* ─────────────────────────────────────────
   TYPE UTILITIES
───────────────────────────────────────── */
.section-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--electric-500);
  margin-bottom: 14px;
}
.section-label::before {
  content: '';
  width: 20px;
  height: 2px;
  background: var(--electric-500);
  border-radius: 2px;
}
.section-headline {
  font-family: var(--font-display);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: var(--text-primary);
}
.section-headline .accent { color: var(--electric-500); }
.section-sub {
  font-size: 16px;
  font-weight: 300;
  color: var(--text-secondary);
  line-height: 1.7;
  max-width: 560px;
  margin-top: 14px;
}

/* ─────────────────────────────────────────
   SCROLL REVEAL
───────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.65s cubic-bezier(0.16,1,0.3,1),
              transform 0.65s cubic-bezier(0.16,1,0.3,1);
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.10s; }
.reveal-delay-2 { transition-delay: 0.20s; }
.reveal-delay-3 { transition-delay: 0.30s; }
.reveal-delay-4 { transition-delay: 0.40s; }
.reveal-delay-5 { transition-delay: 0.50s; }
.reveal-delay-6 { transition-delay: 0.60s; }

/* ─────────────────────────────────────────
   BUTTONS (identical to homepage)
───────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 24px;
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  transition: var(--transition);
  white-space: nowrap;
  cursor: pointer;
  border: none;
}
.btn svg { flex-shrink: 0; transition: transform var(--transition); }
.btn:hover svg { transform: translateX(3px); }

.btn-primary {
  background: var(--electric-500);
  color: #fff;
  box-shadow: 0 4px 20px rgba(0,102,255,0.28);
}
.btn-primary:hover {
  background: var(--electric-600);
  transform: translateY(-1px);
  box-shadow: 0 8px 28px rgba(0,102,255,0.36);
}
.btn-amber {
  background: var(--amber-500);
  color: var(--navy-900);
  font-weight: 600;
  box-shadow: 0 4px 20px rgba(245,158,11,0.28);
}
.btn-amber:hover {
  background: var(--amber-400);
  transform: translateY(-1px);
  box-shadow: 0 8px 28px rgba(245,158,11,0.36);
}
.btn-outline-white {
  border: 1.5px solid rgba(255,255,255,0.35);
  color: #fff;
}
.btn-outline-white:hover {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.60);
}
.btn-outline-blue {
  border: 1.5px solid var(--electric-500);
  color: var(--electric-500);
  background: transparent;
}
.btn-outline-blue:hover {
  background: var(--electric-50);
  transform: translateY(-1px);
}
.btn-ghost {
  color: var(--electric-500);
  padding: 13px 0;
  font-weight: 500;
  background: transparent;
}
.btn-ghost:hover { gap: 12px; }
.btn-ghost-sm {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
  background: transparent;
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  transition: color var(--transition);
  cursor: pointer;
  border: none;
}
.btn-ghost-sm:hover { color: var(--text-primary); }
.btn-sm { padding: 9px 18px; font-size: 13px; }
.btn-lg { padding: 15px 30px; font-size: 15px; }

/* ─────────────────────────────────────────
   NAVIGATION
───────────────────────────────────────── */
#navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: rgba(7, 15, 28, 0.0);
  border-bottom: 1px solid rgba(255,255,255,0);
  transition: background 0.4s ease, border-color 0.4s ease, backdrop-filter 0.4s ease;
}
#navbar.scrolled {
  background: rgba(7, 15, 28, 0.94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom-color: rgba(255,255,255,0.08);
}
.nav-inner {
  display: flex;
  align-items: center;
  height: var(--navbar-h);
  gap: 0;
}
.nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-right: 40px;
  flex-shrink: 0;
}
.nav-logo-mark {
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, var(--electric-500), var(--teal-400));
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav-logo-mark svg { width: 22px; height: 22px; }
.nav-logo-text {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
}
.nav-logo-text span {
  display: block;
  font-size: 10px;
  font-weight: 400;
  color: var(--navy-200);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1;
  justify-content: center;
}
.nav-link {
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-weight: 500;
  color: var(--navy-200);
  transition: color var(--transition), background var(--transition);
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.nav-link:hover, .nav-link.active { color: #fff; background: rgba(255,255,255,0.07); }
.nav-link.active { color: var(--electric-300); background: rgba(0,102,255,0.10); }
.nav-ctas {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}
.nav-rfq-counter {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-md);
  color: #fff;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  transition: all var(--transition);
  cursor: pointer;
  flex-shrink: 0;
}
.nav-rfq-counter:hover { background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.28); }
.rfq-badge {
  background: var(--electric-500);
  color: #fff;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: var(--radius-pill);
  min-width: 20px;
  text-align: center;
  line-height: 1.4;
  transition: all var(--transition);
  flex-shrink: 0;
}
.rfq-badge.has-items { background: var(--amber-500); color: var(--navy-900); }
.nav-menu-btn { display: none; color: #fff; padding: 8px; }

@media (max-width: 1000px) {
  .nav-links { display: none; }
  .nav-menu-btn { display: block; }
  .nav-rfq-counter .rfq-label { display: none; }
}

/* ─────────────────────────────────────────
   BREADCRUMB
───────────────────────────────────────── */
.breadcrumb-bar {
  background: var(--navy-900);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: var(--navbar-h) 0 0;
}
.breadcrumb-bar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 48px;
}
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
}
.breadcrumb a {
  font-size: 13px;
  color: var(--navy-300);
  transition: color var(--transition);
}
.breadcrumb a:hover { color: var(--electric-300); }
.breadcrumb-sep { color: var(--navy-500); display: flex; align-items: center; }
.breadcrumb-current {
  font-size: 13px;
  color: var(--electric-300);
  font-weight: 500;
}
.breadcrumb-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}
.breadcrumb-share {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  color: var(--navy-300);
  transition: all var(--transition);
  cursor: pointer;
}
.breadcrumb-share:hover { background: rgba(255,255,255,0.06); color: #fff; }

/* ─────────────────────────────────────────
   CATEGORY HERO
───────────────────────────────────────── */
.cat-hero {
  background: var(--navy-900);
  padding: 48px 0 64px;
  position: relative;
  overflow: hidden;
}
.cat-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 700px 400px at 80% 50%, rgba(0,102,255,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 400px 300px at 10% 80%, rgba(0,191,165,0.08) 0%, transparent 60%);
  pointer-events: none;
}
.cat-hero-grid-overlay {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.04) 1px, transparent 0);
  background-size: 28px 28px;
  pointer-events: none;
}
.cat-hero-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
  position: relative;
  z-index: 1;
}
@media (max-width: 900px) { .cat-hero-inner { grid-template-columns: 1fr; } .cat-hero-stats { display: none; } }

.cat-hero-headline {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.04em;
  color: #fff;
  margin-bottom: 16px;
}
.cat-hero-accent {
  background: linear-gradient(90deg, var(--electric-400), var(--teal-400));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cat-hero-desc {
  font-size: 16px;
  font-weight: 300;
  color: var(--navy-200);
  line-height: 1.7;
  max-width: 540px;
  margin-bottom: 24px;
}
.cat-hero-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.cat-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 500;
  color: var(--navy-100);
}
.cat-meta-chip svg { color: var(--navy-300); }
.cat-meta-chip--green {
  background: rgba(0,191,165,0.12);
  border-color: rgba(0,191,165,0.25);
  color: var(--teal-200);
}
.cat-meta-chip--green svg { color: var(--teal-400); }
.cat-hero-ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Hero stat cards */
.cat-hero-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  flex-shrink: 0;
}
.hero-stat-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-lg);
  padding: 20px 22px;
  text-align: center;
  backdrop-filter: blur(6px);
  transition: all var(--transition);
}
.hero-stat-card:hover { background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.18); }
.hero-stat-icon {
  width: 40px;
  height: 40px;
  background: rgba(0,102,255,0.15);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
  color: var(--electric-300);
}
.hero-stat-num {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin-bottom: 4px;
}
.hero-stat-label {
  font-size: 11px;
  color: var(--navy-300);
  font-weight: 500;
}

/* ─────────────────────────────────────────
   ACTIVE FILTERS BAR
───────────────────────────────────────── */
.active-filters-bar {
  background: var(--surface-0);
  border-bottom: 1px solid var(--border-light);
  padding: 10px 0;
  position: sticky;
  top: var(--navbar-h);
  z-index: 100;
}
.active-filters-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.active-filters-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  white-space: nowrap;
}
.active-filters-chips { display: flex; gap: 6px; flex-wrap: wrap; flex: 1; }
.active-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px 4px 12px;
  background: var(--electric-50);
  border: 1px solid var(--electric-200);
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 500;
  color: var(--electric-600);
}
.active-chip button {
  display: flex;
  align-items: center;
  color: var(--electric-400);
  padding: 1px;
  border-radius: 50%;
  transition: all var(--transition);
}
.active-chip button:hover { background: var(--electric-200); color: var(--electric-600); }
.clear-all-filters {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  transition: all var(--transition);
  white-space: nowrap;
}
.clear-all-filters:hover { color: var(--text-primary); background: var(--surface-2); }

/* ─────────────────────────────────────────
   PLP MAIN LAYOUT
───────────────────────────────────────── */
.plp-main {
  padding: 32px 0 80px;
  min-height: 60vh;
}
.plp-layout {
  display: grid;
  grid-template-columns: var(--sidebar-width) 1fr;
  gap: 28px;
  align-items: start;
}
@media (max-width: 1024px) {
  .plp-layout { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────
   SIDEBAR
───────────────────────────────────────── */
.plp-sidebar {
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: 20px;
  position: sticky;
  top: calc(var(--navbar-h) + 20px);
  max-height: calc(100vh - var(--navbar-h) - 40px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--border-medium) transparent;
}
.plp-sidebar::-webkit-scrollbar { width: 4px; }
.plp-sidebar::-webkit-scrollbar-track { background: transparent; }
.plp-sidebar::-webkit-scrollbar-thumb { background: var(--border-medium); border-radius: 4px; }

.sidebar-mobile-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-light);
}
.sidebar-mobile-title {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}
.sidebar-close-btn {
  padding: 6px;
  border-radius: var(--radius-sm);
  color: var(--text-muted);
  transition: all var(--transition);
}
.sidebar-close-btn:hover { background: var(--surface-2); color: var(--text-primary); }

/* Sidebar search */
.filter-search-box {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  margin-bottom: 20px;
  transition: border-color var(--transition);
}
.filter-search-box:focus-within { border-color: var(--electric-300); }
.filter-search-box svg { color: var(--text-muted); flex-shrink: 0; }
.filter-search-box input {
  flex: 1;
  border: none;
  background: transparent;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-primary);
  outline: none;
}
.filter-search-box input::placeholder { color: var(--text-muted); }

/* Filter groups */
.filter-group {
  border-bottom: 1px solid var(--border-light);
  padding-bottom: 4px;
  margin-bottom: 4px;
}
.filter-group:last-of-type { border-bottom: none; }

.filter-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 4px;
  cursor: pointer;
  transition: color var(--transition);
}
.filter-group-header:hover { color: var(--electric-500); }
.filter-group-title {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}
.filter-group-chevron {
  color: var(--text-muted);
  transition: transform var(--transition), color var(--transition);
  flex-shrink: 0;
}
.filter-group-header[aria-expanded="false"] .filter-group-chevron { transform: rotate(180deg); }

.filter-group-body { padding-bottom: 12px; }

/* Filter search mini */
.filter-search-mini {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  margin-bottom: 10px;
}
.filter-search-mini svg { color: var(--text-muted); flex-shrink: 0; }
.filter-search-mini input {
  flex: 1;
  border: none;
  background: transparent;
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--text-primary);
  outline: none;
}

/* Filter list */
.filter-list { display: flex; flex-direction: column; gap: 2px; }
.filter-check {
  display: flex;
  align-items: center;
  padding: 7px 8px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background var(--transition);
  user-select: none;
}
.filter-check:hover { background: var(--surface-1); }
.filter-check input { display: none; }
.filter-check .filter-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary);
  flex: 1;
  position: relative;
  padding-left: 26px;
}
.filter-check .filter-label::before {
  content: '';
  position: absolute;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1.5px solid var(--border-medium);
  border-radius: 4px;
  background: var(--surface-0);
  transition: all var(--transition);
  flex-shrink: 0;
}
.filter-check input[type="radio"] + .filter-label::before { border-radius: 50%; }
.filter-check input:checked + .filter-label::before {
  background: var(--electric-500);
  border-color: var(--electric-500);
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4L3.5 6.5L9 1' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}
.filter-check input[type="radio"]:checked + .filter-label::before {
  background-image: none;
  background: var(--electric-500);
  box-shadow: inset 0 0 0 3px var(--surface-0);
}

.filter-count {
  margin-left: auto;
  font-size: 11px;
  color: var(--text-muted);
  background: var(--surface-2);
  padding: 1px 7px;
  border-radius: var(--radius-pill);
}
.filter-check input:checked + .filter-label .filter-count { background: var(--electric-50); color: var(--electric-500); }

.brand-dot, .avail-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.avail-green { background: var(--teal-500); }
.avail-amber { background: var(--amber-500); }
.avail-blue  { background: var(--electric-500); }

.active-cat .filter-label { color: var(--electric-500); font-weight: 500; }

/* Sidebar expert block */
.sidebar-expert-block {
  margin-top: 20px;
  padding: 18px;
  background: linear-gradient(135deg, var(--electric-50), var(--teal-50));
  border: 1px solid var(--electric-100);
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.sidebar-expert-icon {
  width: 44px;
  height: 44px;
  background: var(--electric-500);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.sidebar-expert-text strong {
  display: block;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 4px;
}
.sidebar-expert-text p {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Mobile sidebar overlay */
@media (max-width: 1024px) {
  .plp-sidebar {
    position: fixed;
    top: 0; left: 0;
    width: min(320px, 88vw);
    height: 100vh;
    max-height: 100vh;
    z-index: 1100;
    border-radius: 0;
    transform: translateX(-100%);
    transition: transform var(--transition-slow);
    box-shadow: 4px 0 40px rgba(0,0,0,0.20);
  }
  .plp-sidebar.open { transform: translateX(0); }
  .sidebar-mobile-header { display: flex; }
  .plp-sidebar-overlay {
    position: fixed;
    inset: 0;
    background: rgba(7,15,28,0.55);
    z-index: 1090;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-slow);
  }
  .plp-sidebar-overlay.visible { opacity: 1; pointer-events: auto; }
}

/* ─────────────────────────────────────────
   TOOLBAR
───────────────────────────────────────── */
.plp-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: 10px 16px;
  margin-bottom: 20px;
  position: sticky;
  top: calc(var(--navbar-h) + 8px);
  z-index: 90;
  flex-wrap: wrap;
}
.toolbar-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.mobile-filter-toggle {
  display: none;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  transition: all var(--transition);
  position: relative;
}
.mobile-filter-toggle:hover { background: var(--surface-2); }
@media (max-width: 1024px) { .mobile-filter-toggle { display: flex; } }

.filter-active-indicator {
  width: 6px;
  height: 6px;
  background: var(--electric-500);
  border-radius: 50%;
  position: absolute;
  top: 6px;
  right: 6px;
}

.toolbar-result-count {
  font-size: 13px;
  color: var(--text-muted);
}
.toolbar-result-count strong { color: var(--text-primary); font-weight: 600; }

.toolbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.toolbar-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  transition: border-color var(--transition);
}
.toolbar-search:focus-within { border-color: var(--electric-300); }
.toolbar-search svg { color: var(--text-muted); flex-shrink: 0; }
.toolbar-search input {
  border: none;
  background: transparent;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-primary);
  outline: none;
  width: 180px;
}
.toolbar-search input::placeholder { color: var(--text-muted); }
@media (max-width: 768px) { .toolbar-search input { width: 120px; } }

.sort-select {
  padding: 8px 32px 8px 12px;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  background: var(--surface-1) url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B85A8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;
  -webkit-appearance: none;
  appearance: none;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  outline: none;
  transition: border-color var(--transition);
}
.sort-select:focus { border-color: var(--electric-300); }

.view-toggle {
  display: flex;
  gap: 2px;
  background: var(--surface-2);
  padding: 3px;
  border-radius: var(--radius-md);
}
.view-btn {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  color: var(--text-muted);
  transition: all var(--transition);
}
.view-btn.active {
  background: var(--surface-0);
  color: var(--electric-500);
  box-shadow: var(--shadow-sm);
}
.view-btn:hover:not(.active) { color: var(--text-primary); }

.compare-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: var(--electric-50);
  border: 1px solid var(--electric-200);
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 600;
  color: var(--electric-500);
  transition: all var(--transition);
  white-space: nowrap;
}
.compare-btn:hover { background: var(--electric-500); color: #fff; border-color: var(--electric-500); }

/* ─────────────────────────────────────────
   PRODUCT GRID
───────────────────────────────────────── */
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 40px;
}
@media (max-width: 1300px) { .product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .product-grid { grid-template-columns: 1fr; } }

.product-grid.list-view { grid-template-columns: 1fr; }

/* ── PRODUCT CARD (GRID VIEW) ── */
.prod-card {
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
}
.prod-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
  border-color: var(--electric-200);
}
.prod-card.in-compare {
  border-color: var(--electric-500);
  box-shadow: 0 0 0 2px var(--electric-200), var(--shadow-md);
}

/* Card badges */
.prod-card-badges {
  position: absolute;
  top: 14px;
  left: 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  z-index: 2;
}
.prod-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}
.badge-new      { background: rgba(0,191,165,0.15); color: var(--teal-400); border: 1px solid rgba(0,191,165,0.3); }
.badge-featured { background: rgba(0,102,255,0.15); color: var(--electric-300); border: 1px solid rgba(0,102,255,0.3); }
.badge-promo    { background: rgba(245,158,11,0.15); color: var(--amber-400); border: 1px solid rgba(245,158,11,0.3); }
.badge-instock  { background: rgba(0,191,165,0.10); color: var(--teal-500); border: 1px solid rgba(0,191,165,0.2); }

/* Compare checkbox */
.compare-check-wrap {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
}
.compare-check {
  appearance: none;
  width: 22px;
  height: 22px;
  border: 2px solid var(--border-medium);
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(4px);
  cursor: pointer;
  transition: all var(--transition);
  position: relative;
}
.compare-check:hover { border-color: var(--electric-400); }
.compare-check:checked {
  background: var(--electric-500);
  border-color: var(--electric-500);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='10' viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5L4.5 8.5L11 1' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

/* Product image area */
.prod-card-img {
  height: 164px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: background 0.4s ease;
  flex-shrink: 0;
}
.prod-card-img-inner {
  transition: transform var(--transition-slow);
  display: flex;
  align-items: center;
  justify-content: center;
}
.prod-card:hover .prod-card-img-inner { transform: scale(1.06); }

/* Availability dot on image */
.prod-avail-dot {
  position: absolute;
  bottom: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  background: rgba(255,255,255,0.90);
  backdrop-filter: blur(6px);
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 600;
}
.prod-avail-dot::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--teal-500);
}
.prod-avail-dot.order::before { background: var(--amber-500); }

/* Product body */
.prod-card-body {
  padding: 18px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.prod-card-vendor {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 5px;
}
.prod-card-name {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.prod-card-desc {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.55;
  margin-bottom: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Specs table */
.prod-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 12px;
  margin-bottom: 14px;
}
.prod-spec {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.prod-spec-key {
  font-size: 10px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.prod-spec-val {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary);
}

/* Tags */
.prod-tags {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.prod-tag {
  padding: 2px 8px;
  background: var(--surface-2);
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 500;
  color: var(--text-secondary);
}

/* Card actions */
.prod-card-actions {
  display: flex;
  gap: 8px;
  margin-top: auto;
}
.btn-rfq {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 12px;
  background: var(--electric-500);
  color: #fff;
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 600;
  transition: all var(--transition);
  border: none;
  cursor: pointer;
  white-space: nowrap;
}
.btn-rfq:hover { background: var(--electric-600); transform: translateY(-1px); box-shadow: 0 4px 16px rgba(0,102,255,0.3); }
.btn-rfq svg { width: 14px; height: 14px; flex-shrink: 0; }
.btn-rfq.added { background: var(--teal-500); }

.btn-view-details {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  flex-shrink: 0;
  border: 1.5px solid var(--border-medium);
  border-radius: var(--radius-md);
  color: var(--text-muted);
  transition: all var(--transition);
  cursor: pointer;
  background: transparent;
}
.btn-view-details:hover { border-color: var(--electric-300); color: var(--electric-500); background: var(--electric-50); }
.btn-view-details svg { width: 15px; height: 15px; }

/* ── LIST VIEW CARD ── */
.product-grid.list-view .prod-card {
  flex-direction: row;
  height: auto;
}
.product-grid.list-view .prod-card-img {
  width: 200px;
  min-width: 200px;
  height: auto;
  min-height: 160px;
  border-radius: var(--radius-xl) 0 0 var(--radius-xl);
}
.product-grid.list-view .prod-card-body { flex-direction: column; padding: 20px 24px; }
.product-grid.list-view .prod-card-badges { position: static; flex-direction: row; margin-bottom: 8px; }
.product-grid.list-view .compare-check-wrap { top: 16px; right: 16px; }
.product-grid.list-view .prod-specs { grid-template-columns: repeat(4, 1fr); }
.product-grid.list-view .prod-card-actions {
  flex-direction: row;
  align-items: center;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--border-light);
}
.product-grid.list-view .btn-rfq { flex: 0 0 auto; min-width: 160px; }
.product-grid.list-view .btn-view-details { width: auto; padding: 10px 16px; }

@media (max-width: 768px) {
  .product-grid.list-view .prod-card { flex-direction: column; }
  .product-grid.list-view .prod-card-img { width: 100%; min-height: 140px; border-radius: var(--radius-xl) var(--radius-xl) 0 0; }
  .product-grid.list-view .prod-specs { grid-template-columns: 1fr 1fr; }
}

/* ── SKELETON LOADING ── */
.prod-skeleton {
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.skeleton-img {
  height: 164px;
  background: linear-gradient(90deg, var(--surface-2) 25%, var(--surface-1) 50%, var(--surface-2) 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.5s infinite;
}
.skeleton-body { padding: 18px 20px; }
.skeleton-line {
  height: 12px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--surface-2) 25%, var(--surface-1) 50%, var(--surface-2) 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.5s infinite;
  margin-bottom: 10px;
}
.skeleton-line.w-60 { width: 60%; }
.skeleton-line.w-80 { width: 80%; }
.skeleton-line.w-40 { width: 40%; }
.skeleton-btn {
  height: 38px;
  border-radius: var(--radius-md);
  background: linear-gradient(90deg, var(--surface-2) 25%, var(--surface-1) 50%, var(--surface-2) 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.5s infinite;
  margin-top: 14px;
}
@keyframes skeleton-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── EMPTY STATE ── */
.prod-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 80px 32px;
}
.prod-empty-icon {
  width: 64px;
  height: 64px;
  background: var(--surface-2);
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  color: var(--text-muted);
}
.prod-empty-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
}
.prod-empty-sub { font-size: 14px; color: var(--text-muted); margin-bottom: 24px; }

/* ─────────────────────────────────────────
   COMPARE DRAWER
───────────────────────────────────────── */
.compare-drawer {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--navy-900);
  border-top: 1px solid rgba(255,255,255,0.10);
  z-index: 500;
  padding: 14px 0;
  transform: translateY(100%);
  transition: transform var(--transition-slow);
  backdrop-filter: blur(16px);
}
.compare-drawer:not([hidden]) { transform: translateY(0); }
.compare-drawer-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
@media (max-width: 768px) { .compare-drawer-inner { padding: 0 20px; } }
.compare-drawer-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--navy-300);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.compare-slots {
  display: flex;
  gap: 10px;
  flex: 1;
  flex-wrap: wrap;
}
.compare-slot {
  padding: 8px 16px;
  background: rgba(255,255,255,0.06);
  border: 1.5px dashed rgba(255,255,255,0.18);
  border-radius: var(--radius-md);
  font-size: 12px;
  color: var(--navy-300);
  min-width: 160px;
  transition: all var(--transition);
}
.compare-slot.filled {
  background: rgba(0,102,255,0.15);
  border-color: var(--electric-400);
  border-style: solid;
  color: var(--electric-200);
  font-weight: 500;
}
.compare-drawer-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

/* ─────────────────────────────────────────
   PAGINATION
───────────────────────────────────────── */
.pagination-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 16px 0;
  border-top: 1px solid var(--border-light);
}
.pagination-info { font-size: 13px; color: var(--text-muted); }
.pagination {
  display: flex;
  align-items: center;
  gap: 4px;
}
.page-btn {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  color: var(--text-secondary);
  border: 1px solid var(--border-light);
  background: var(--surface-0);
  transition: all var(--transition);
  cursor: pointer;
  flex-shrink: 0;
}
.page-btn:hover:not(:disabled) { border-color: var(--electric-300); color: var(--electric-500); background: var(--electric-50); }
.page-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.page-numbers { display: flex; gap: 4px; }
.page-num {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  border: 1px solid var(--border-light);
  background: var(--surface-0);
  transition: all var(--transition);
  cursor: pointer;
}
.page-num:hover { border-color: var(--electric-300); color: var(--electric-500); background: var(--electric-50); }
.page-num.active {
  background: var(--electric-500);
  color: #fff;
  border-color: var(--electric-500);
  font-weight: 700;
}
.page-ellipsis {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--text-muted);
}
.per-page-select {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-muted);
}
.per-page-select select {
  padding: 6px 28px 6px 10px;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  background: var(--surface-0) url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B85A8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 8px center;
  -webkit-appearance: none;
  appearance: none;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  outline: none;
}

/* ─────────────────────────────────────────
   EXPERT SECTION
───────────────────────────────────────── */
.expert-section {
  background: var(--navy-900);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}
.expert-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 600px 400px at 80% 20%, rgba(0,102,255,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 400px 400px at 10% 80%, rgba(0,191,165,0.07) 0%, transparent 60%);
  pointer-events: none;
}
.expert-header {
  margin-bottom: 48px;
  position: relative;
  z-index: 1;
}
.expert-header .section-label { color: var(--electric-300); }
.expert-header .section-label::before { background: var(--electric-300); }
.expert-header .section-headline { color: #fff; }
.expert-header .section-sub { color: var(--navy-200); }
.expert-header .section-headline .accent { color: var(--electric-300); }

.expert-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  position: relative;
  z-index: 1;
}
@media (max-width: 900px) { .expert-cards { grid-template-columns: 1fr; } }

.expert-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-xl);
  padding: 32px;
  transition: all var(--transition-slow);
}
.expert-card:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.14);
  transform: translateY(-4px);
}
.expert-card-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
.expert-card-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
  line-height: 1.2;
}
.expert-card-desc {
  font-size: 14px;
  color: var(--navy-200);
  line-height: 1.65;
  margin-bottom: 20px;
}
.expert-card-features {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
}
.expert-card-features li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--teal-200);
}
.expert-card-features li svg { color: var(--teal-400); flex-shrink: 0; }

/* ─────────────────────────────────────────
   VENDOR SHOWCASE
───────────────────────────────────────── */
.vendor-showcase {
  padding: 80px 0 96px;
  background: var(--surface-0);
  border-top: 1px solid var(--border-light);
}
.vendor-header { margin-bottom: 40px; }
.vendor-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 900px)  { .vendor-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px)  { .vendor-grid { grid-template-columns: 1fr; } }

.vendor-card {
  background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: 24px;
  transition: all var(--transition);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.vendor-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--electric-200);
  background: var(--surface-0);
}
.vendor-card-logo {
  height: 52px;
  display: flex;
  align-items: center;
}
.vendor-card-logo span {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.04em;
}
.vendor-tier-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  width: fit-content;
}
.badge-gold     { background: rgba(245,158,11,0.12); color: var(--amber-500); }
.badge-platinum { background: rgba(100,116,139,0.15); color: #64748b; }
.badge-premier  { background: rgba(0,102,255,0.10); color: var(--electric-500); }
.badge-select   { background: rgba(0,191,165,0.10); color: var(--teal-500); }

.vendor-card-name {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 2px;
}
.vendor-card-desc {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.5;
}
.vendor-card-link {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: var(--electric-500);
  transition: gap var(--transition);
  margin-top: auto;
}
.vendor-card:hover .vendor-card-link { gap: 8px; }
.vendor-card-link svg { width: 13px; height: 13px; }

/* ─────────────────────────────────────────
   RFQ TOAST
───────────────────────────────────────── */
.rfq-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 2000;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}
.toast-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  background: var(--navy-800);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  animation: toast-in 0.3s cubic-bezier(0.16,1,0.3,1) forwards;
  pointer-events: auto;
  max-width: 320px;
}
.toast-item.removing { animation: toast-out 0.3s ease forwards; }
.toast-icon { flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.toast-icon.success { background: var(--teal-500); }
.toast-icon.error   { background: #ef4444; }
@keyframes toast-in {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes toast-out {
  from { opacity: 1; transform: translateX(0); }
  to   { opacity: 0; transform: translateX(20px); }
}

/* ─────────────────────────────────────────
   FOOTER
───────────────────────────────────────── */
#footer {
  background: var(--navy-850);
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 64px 0 28px;
}
.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 48px;
}
@media (max-width: 1000px) {
  .footer-top { grid-template-columns: 1fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) { .footer-top { grid-template-columns: 1fr 1fr; } }

.footer-brand-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.footer-brand-desc {
  font-size: 13px;
  color: var(--navy-300);
  line-height: 1.65;
  max-width: 280px;
}
.footer-col-title {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.38);
  margin-bottom: 16px;
}
.footer-links { display: flex; flex-direction: column; gap: 8px; }
.footer-link {
  font-size: 13px;
  color: var(--navy-300);
  transition: color var(--transition);
  cursor: pointer;
}
.footer-link:hover { color: #fff; }
.footer-divider { border: none; border-top: 1px solid rgba(255,255,255,0.06); margin-bottom: 24px; }
.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}
.footer-copy { font-size: 12px; color: var(--navy-400); }
.footer-certs { display: flex; gap: 10px; }
.cert-badge {
  padding: 3px 10px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: var(--radius-sm);
  font-size: 10px;
  font-weight: 600;
  color: var(--navy-300);
}
.footer-legal-links { display: flex; gap: 18px; }
.footer-legal-link {
  font-size: 12px;
  color: var(--navy-400);
  cursor: pointer;
  transition: color var(--transition);
}
.footer-legal-link:hover { color: var(--navy-200); }

/* ─────────────────────────────────────────
   REDUCED MOTION
───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .reveal, .skeleton-img, .skeleton-line, .skeleton-btn,
  .prod-card, .expert-card, .vendor-card {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}


/* ═════════════════ HOME PAGE CSS (scoped) ═════════════════ */
/* ── MEGA MENU ── */
body.home-page .mega-menu-wrapper,
body.marketplace-page .mega-menu-wrapper,
body.partners-page .mega-menu-wrapper,
body.blog-page .mega-menu-wrapper,
body.whitepapers-page .mega-menu-wrapper,
body.webinars-page .mega-menu-wrapper,
body.contact-page .mega-menu-wrapper,
body.solutions-page .mega-menu-wrapper,
body.services-page .mega-menu-wrapper,
body.industries-page .mega-menu-wrapper { position: relative; }

body.home-page .mm-chevron,
body.marketplace-page .mm-chevron,
body.partners-page .mm-chevron,
body.blog-page .mm-chevron,
body.whitepapers-page .mm-chevron,
body.webinars-page .mm-chevron,
body.contact-page .mm-chevron,
body.solutions-page .mm-chevron,
body.services-page .mm-chevron,
body.industries-page .mm-chevron { width:13px; height:13px; transition:transform var(--transition); }

body.home-page .mega-menu-wrapper:hover .mm-chevron,
body.home-page .mega-menu-wrapper:focus-within .mm-chevron,
body.marketplace-page .mega-menu-wrapper:hover .mm-chevron,
body.marketplace-page .mega-menu-wrapper:focus-within .mm-chevron,
body.partners-page .mega-menu-wrapper:hover .mm-chevron,
body.partners-page .mega-menu-wrapper:focus-within .mm-chevron,
body.blog-page .mega-menu-wrapper:hover .mm-chevron,
body.blog-page .mega-menu-wrapper:focus-within .mm-chevron,
body.whitepapers-page .mega-menu-wrapper:hover .mm-chevron,
body.whitepapers-page .mega-menu-wrapper:focus-within .mm-chevron,
body.webinars-page .mega-menu-wrapper:hover .mm-chevron,
body.webinars-page .mega-menu-wrapper:focus-within .mm-chevron,
body.contact-page .mega-menu-wrapper:hover .mm-chevron,
body.contact-page .mega-menu-wrapper:focus-within .mm-chevron,
body.solutions-page .mega-menu-wrapper:hover .mm-chevron,
body.solutions-page .mega-menu-wrapper:focus-within .mm-chevron,
body.services-page .mega-menu-wrapper:hover .mm-chevron,
body.services-page .mega-menu-wrapper:focus-within .mm-chevron,
body.industries-page .mega-menu-wrapper:hover .mm-chevron ,
body.industries-page .mega-menu-wrapper:focus-within .mm-chevron { transform:rotate(180deg); }

/* Hidden by default */
body.home-page .mega-menu,
body.marketplace-page .mega-menu,
body.partners-page .mega-menu,
body.blog-page .mega-menu,
body.whitepapers-page .mega-menu,
body.webinars-page .mega-menu,
body.contact-page .mega-menu,
body.solutions-page .mega-menu,
body.services-page .mega-menu,
body.industries-page .mega-menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  opacity: 0;
  pointer-events: none;
  background: var(--navy-900);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-xl);
  box-shadow: 0 32px 80px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.04);
  transition: opacity 0.22s cubic-bezier(0.16,1,0.3,1), transform 0.22s cubic-bezier(0.16,1,0.3,1);
  z-index: 200;
}

/* Invisible bridge fills the gap so hover isn't lost */
body.home-page .mega-menu::before,
body.marketplace-page .mega-menu::before,
body.partners-page .mega-menu::before,
body.blog-page .mega-menu::before,
body.whitepapers-page .mega-menu::before,
body.webinars-page .mega-menu::before,
body.contact-page .mega-menu::before,
body.solutions-page .mega-menu::before,
body.services-page .mega-menu::before,
body.industries-page .mega-menu::before {
  content: '';
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  height: 14px;
}

body.home-page .mega-menu--wide,
body.marketplace-page .mega-menu--wide,
body.partners-page .mega-menu--wide,
body.blog-page .mega-menu--wide,
body.whitepapers-page .mega-menu--wide,
body.webinars-page .mega-menu--wide,
body.contact-page .mega-menu--wide,
body.solutions-page .mega-menu--wide,
body.services-page .mega-menu--wide,
body.industries-page .mega-menu--wide  { min-width: 760px; }
body.home-page .mega-menu--medium,
body.marketplace-page .mega-menu--medium,
body.partners-page .mega-menu--medium,
body.blog-page .mega-menu--medium,
body.whitepapers-page .mega-menu--medium,
body.webinars-page .mega-menu--medium,
body.contact-page .mega-menu--medium,
body.solutions-page .mega-menu--medium,
body.services-page .mega-menu--medium,
body.industries-page .mega-menu--medium { min-width: 560px; }

/* Visible on hover/focus */
body.home-page .mega-menu-wrapper:hover .mega-menu,
body.home-page .mega-menu-wrapper:focus-within .mega-menu,
body.marketplace-page .mega-menu-wrapper:hover .mega-menu,
body.marketplace-page .mega-menu-wrapper:focus-within .mega-menu,
body.partners-page .mega-menu-wrapper:hover .mega-menu,
body.partners-page .mega-menu-wrapper:focus-within .mega-menu,
body.blog-page .mega-menu-wrapper:hover .mega-menu,
body.blog-page .mega-menu-wrapper:focus-within .mega-menu,
body.whitepapers-page .mega-menu-wrapper:hover .mega-menu,
body.whitepapers-page .mega-menu-wrapper:focus-within .mega-menu,
body.webinars-page .mega-menu-wrapper:hover .mega-menu,
body.webinars-page .mega-menu-wrapper:focus-within .mega-menu,
body.contact-page .mega-menu-wrapper:hover .mega-menu,
body.contact-page .mega-menu-wrapper:focus-within .mega-menu,
body.solutions-page .mega-menu-wrapper:hover .mega-menu,
body.solutions-page .mega-menu-wrapper:focus-within .mega-menu,
body.services-page .mega-menu-wrapper:hover .mega-menu,
body.services-page .mega-menu-wrapper:focus-within .mega-menu,
body.industries-page .mega-menu-wrapper:hover .mega-menu ,
body.industries-page .mega-menu-wrapper:focus-within .mega-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

body.home-page .mega-menu-body,
body.marketplace-page .mega-menu-body,
body.partners-page .mega-menu-body,
body.blog-page .mega-menu-body,
body.whitepapers-page .mega-menu-body,
body.webinars-page .mega-menu-body,
body.contact-page .mega-menu-body,
body.solutions-page .mega-menu-body,
body.services-page .mega-menu-body,
body.industries-page .mega-menu-body { display:grid; gap:0; padding:8px; overflow:hidden; border-radius: var(--radius-xl); }

body.home-page .mega-menu--wide .mega-menu-body,
body.marketplace-page .mega-menu--wide .mega-menu-body,
body.partners-page .mega-menu--wide .mega-menu-body,
body.blog-page .mega-menu--wide .mega-menu-body,
body.whitepapers-page .mega-menu--wide .mega-menu-body,
body.webinars-page .mega-menu--wide .mega-menu-body,
body.contact-page .mega-menu--wide .mega-menu-body,
body.solutions-page .mega-menu--wide .mega-menu-body,
body.services-page .mega-menu--wide .mega-menu-body,
body.industries-page .mega-menu--wide .mega-menu-body  { grid-template-columns: 2fr 1.2fr 1.4fr; }
body.home-page .mega-menu--medium .mega-menu-body,
body.marketplace-page .mega-menu--medium .mega-menu-body,
body.partners-page .mega-menu--medium .mega-menu-body,
body.blog-page .mega-menu--medium .mega-menu-body,
body.whitepapers-page .mega-menu--medium .mega-menu-body,
body.webinars-page .mega-menu--medium .mega-menu-body,
body.contact-page .mega-menu--medium .mega-menu-body,
body.solutions-page .mega-menu--medium .mega-menu-body,
body.services-page .mega-menu--medium .mega-menu-body,
body.industries-page .mega-menu--medium .mega-menu-body{ grid-template-columns: 1fr 1fr; }

body.home-page .mega-col,
body.marketplace-page .mega-col,
body.partners-page .mega-col,
body.blog-page .mega-col,
body.whitepapers-page .mega-col,
body.webinars-page .mega-col,
body.contact-page .mega-col,
body.solutions-page .mega-col,
body.services-page .mega-col,
body.industries-page .mega-col { padding:16px 12px; border-right:1px solid rgba(255,255,255,0.06); }
body.home-page .mega-col:last-child,
body.marketplace-page .mega-col:last-child,
body.partners-page .mega-col:last-child,
body.blog-page .mega-col:last-child,
body.whitepapers-page .mega-col:last-child,
body.webinars-page .mega-col:last-child,
body.contact-page .mega-col:last-child,
body.solutions-page .mega-col:last-child,
body.services-page .mega-col:last-child,
body.industries-page .mega-col:last-child { border-right:none; }
body.home-page .mega-col--featured,
body.marketplace-page .mega-col--featured,
body.partners-page .mega-col--featured,
body.blog-page .mega-col--featured,
body.whitepapers-page .mega-col--featured,
body.webinars-page .mega-col--featured,
body.contact-page .mega-col--featured,
body.solutions-page .mega-col--featured,
body.services-page .mega-col--featured,
body.industries-page .mega-col--featured { background:rgba(255,255,255,0.02); border-radius:0 var(--radius-lg) var(--radius-lg) 0; }

body.home-page .mega-col-heading,
body.marketplace-page .mega-col-heading,
body.partners-page .mega-col-heading,
body.blog-page .mega-col-heading,
body.whitepapers-page .mega-col-heading,
body.webinars-page .mega-col-heading,
body.contact-page .mega-col-heading,
body.solutions-page .mega-col-heading,
body.services-page .mega-col-heading,
body.industries-page .mega-col-heading { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--navy-400); padding:4px 14px 10px; margin-bottom:4px; }

body.home-page .mega-item,
body.marketplace-page .mega-item,
body.partners-page .mega-item,
body.blog-page .mega-item,
body.whitepapers-page .mega-item,
body.webinars-page .mega-item,
body.contact-page .mega-item,
body.solutions-page .mega-item,
body.services-page .mega-item,
body.industries-page .mega-item { display:flex; align-items:flex-start; gap:12px; padding:10px 14px; border-radius:var(--radius-md); transition:background var(--transition),transform var(--transition); cursor:pointer; text-decoration:none; }
body.home-page .mega-item:hover,
body.marketplace-page .mega-item:hover,
body.partners-page .mega-item:hover,
body.blog-page .mega-item:hover,
body.whitepapers-page .mega-item:hover,
body.webinars-page .mega-item:hover,
body.contact-page .mega-item:hover,
body.solutions-page .mega-item:hover,
body.services-page .mega-item:hover,
body.industries-page .mega-item:hover { background:rgba(255,255,255,0.06); transform:translateX(2px); }

body.home-page .mega-icon,
body.marketplace-page .mega-icon,
body.partners-page .mega-icon,
body.blog-page .mega-icon,
body.whitepapers-page .mega-icon,
body.webinars-page .mega-icon,
body.contact-page .mega-icon,
body.solutions-page .mega-icon,
body.services-page .mega-icon,
body.industries-page .mega-icon { width:34px; height:34px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform var(--transition); }
body.home-page .mega-item:hover .mega-icon,
body.marketplace-page .mega-item:hover .mega-icon,
body.partners-page .mega-item:hover .mega-icon,
body.blog-page .mega-item:hover .mega-icon,
body.whitepapers-page .mega-item:hover .mega-icon,
body.webinars-page .mega-item:hover .mega-icon,
body.contact-page .mega-item:hover .mega-icon,
body.solutions-page .mega-item:hover .mega-icon,
body.services-page .mega-item:hover .mega-icon,
body.industries-page .mega-item:hover .mega-icon { transform:scale(1.08); }
body.home-page .mega-icon svg,
body.marketplace-page .mega-icon svg,
body.partners-page .mega-icon svg,
body.blog-page .mega-icon svg,
body.whitepapers-page .mega-icon svg,
body.webinars-page .mega-icon svg,
body.contact-page .mega-icon svg,
body.solutions-page .mega-icon svg,
body.services-page .mega-icon svg,
body.industries-page .mega-icon svg { width:17px; height:17px; }

body.home-page .mega-icon--blue,   body.marketplace-page .mega-icon--blue,
body.partners-page .mega-icon--blue,
body.blog-page .mega-icon--blue,
body.whitepapers-page .mega-icon--blue,
body.webinars-page .mega-icon--blue,
body.contact-page .mega-icon--blue,
body.solutions-page .mega-icon--blue,
body.services-page .mega-icon--blue,
body.industries-page .mega-icon--blue   { background:rgba(0,102,255,0.15);   color:var(--electric-400); }
body.home-page .mega-icon--teal,   body.marketplace-page .mega-icon--teal,
body.partners-page .mega-icon--teal,
body.blog-page .mega-icon--teal,
body.whitepapers-page .mega-icon--teal,
body.webinars-page .mega-icon--teal,
body.contact-page .mega-icon--teal,
body.solutions-page .mega-icon--teal,
body.services-page .mega-icon--teal,
body.industries-page .mega-icon--teal   { background:rgba(0,191,165,0.15);   color:var(--teal-400);     }
body.home-page .mega-icon--red,    body.marketplace-page .mega-icon--red,
body.partners-page .mega-icon--red,
body.blog-page .mega-icon--red,
body.whitepapers-page .mega-icon--red,
body.webinars-page .mega-icon--red,
body.contact-page .mega-icon--red,
body.solutions-page .mega-icon--red,
body.services-page .mega-icon--red,
body.industries-page .mega-icon--red    { background:rgba(239,68,68,0.15);   color:#ef4444;             }
body.home-page .mega-icon--purple, body.marketplace-page .mega-icon--purple,
body.partners-page .mega-icon--purple,
body.blog-page .mega-icon--purple,
body.whitepapers-page .mega-icon--purple,
body.webinars-page .mega-icon--purple,
body.contact-page .mega-icon--purple,
body.solutions-page .mega-icon--purple,
body.services-page .mega-icon--purple,
body.industries-page .mega-icon--purple { background:rgba(139,92,246,0.15);  color:#a78bfa;             }
body.home-page .mega-icon--amber,  body.marketplace-page .mega-icon--amber,
body.partners-page .mega-icon--amber,
body.blog-page .mega-icon--amber,
body.whitepapers-page .mega-icon--amber,
body.webinars-page .mega-icon--amber,
body.contact-page .mega-icon--amber,
body.solutions-page .mega-icon--amber,
body.services-page .mega-icon--amber,
body.industries-page .mega-icon--amber  { background:rgba(245,158,11,0.15);  color:var(--amber-400);    }
body.home-page .mega-icon--navy,   body.marketplace-page .mega-icon--navy,
body.partners-page .mega-icon--navy,
body.blog-page .mega-icon--navy,
body.whitepapers-page .mega-icon--navy,
body.webinars-page .mega-icon--navy,
body.contact-page .mega-icon--navy,
body.solutions-page .mega-icon--navy,
body.services-page .mega-icon--navy,
body.industries-page .mega-icon--navy   { background:rgba(90,143,196,0.15);  color:var(--navy-300);     }

body.home-page .mega-item-title,
body.marketplace-page .mega-item-title,
body.partners-page .mega-item-title,
body.blog-page .mega-item-title,
body.whitepapers-page .mega-item-title,
body.webinars-page .mega-item-title,
body.contact-page .mega-item-title,
body.solutions-page .mega-item-title,
body.services-page .mega-item-title,
body.industries-page .mega-item-title { font-size:13px; font-weight:600; color:#fff; margin-bottom:2px; line-height:1.3; }
body.home-page .mega-item-desc,
body.marketplace-page .mega-item-desc,
body.partners-page .mega-item-desc,
body.blog-page .mega-item-desc,
body.whitepapers-page .mega-item-desc,
body.webinars-page .mega-item-desc,
body.contact-page .mega-item-desc,
body.solutions-page .mega-item-desc,
body.services-page .mega-item-desc,
body.industries-page .mega-item-desc  { font-size:11.5px; color:var(--navy-300); line-height:1.4; }

body.home-page .mega-brands-grid,
body.marketplace-page .mega-brands-grid,
body.partners-page .mega-brands-grid,
body.blog-page .mega-brands-grid,
body.whitepapers-page .mega-brands-grid,
body.webinars-page .mega-brands-grid,
body.contact-page .mega-brands-grid,
body.solutions-page .mega-brands-grid,
body.services-page .mega-brands-grid,
body.industries-page .mega-brands-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:0 4px; }

body.home-page .mega-brand-chip,
body.marketplace-page .mega-brand-chip,
body.partners-page .mega-brand-chip,
body.blog-page .mega-brand-chip,
body.whitepapers-page .mega-brand-chip,
body.webinars-page .mega-brand-chip,
body.contact-page .mega-brand-chip,
body.solutions-page .mega-brand-chip,
body.services-page .mega-brand-chip,
body.industries-page .mega-brand-chip { padding:7px 12px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); border-radius:var(--radius-sm); font-size:12px; font-weight:600; color:var(--navy-200); text-align:center; transition:all var(--transition); text-decoration:none; }
body.home-page .mega-brand-chip:hover,
body.marketplace-page .mega-brand-chip:hover,
body.partners-page .mega-brand-chip:hover,
body.blog-page .mega-brand-chip:hover,
body.whitepapers-page .mega-brand-chip:hover,
body.webinars-page .mega-brand-chip:hover,
body.contact-page .mega-brand-chip:hover,
body.solutions-page .mega-brand-chip:hover,
body.services-page .mega-brand-chip:hover,
body.industries-page .mega-brand-chip:hover { background:rgba(0,102,255,0.15); border-color:rgba(0,102,255,0.30); color:var(--electric-300); }

body.home-page .mega-featured-card,
body.marketplace-page .mega-featured-card,
body.partners-page .mega-featured-card,
body.blog-page .mega-featured-card,
body.whitepapers-page .mega-featured-card,
body.webinars-page .mega-featured-card,
body.contact-page .mega-featured-card,
body.solutions-page .mega-featured-card,
body.services-page .mega-featured-card,
body.industries-page .mega-featured-card { display:block; padding:14px; background:linear-gradient(135deg,rgba(0,102,255,0.12),rgba(0,191,165,0.08)); border:1px solid rgba(0,102,255,0.20); border-radius:var(--radius-md); margin-bottom:10px; text-decoration:none; transition:all var(--transition); }
body.home-page .mega-featured-card:hover,
body.marketplace-page .mega-featured-card:hover,
body.partners-page .mega-featured-card:hover,
body.blog-page .mega-featured-card:hover,
body.whitepapers-page .mega-featured-card:hover,
body.webinars-page .mega-featured-card:hover,
body.contact-page .mega-featured-card:hover,
body.solutions-page .mega-featured-card:hover,
body.services-page .mega-featured-card:hover,
body.industries-page .mega-featured-card:hover { border-color:rgba(0,102,255,0.40); background:linear-gradient(135deg,rgba(0,102,255,0.18),rgba(0,191,165,0.12)); transform:translateY(-1px); }
body.home-page .mega-featured-badge,
body.marketplace-page .mega-featured-badge,
body.partners-page .mega-featured-badge,
body.blog-page .mega-featured-badge,
body.whitepapers-page .mega-featured-badge,
body.webinars-page .mega-featured-badge,
body.contact-page .mega-featured-badge,
body.solutions-page .mega-featured-badge,
body.services-page .mega-featured-badge,
body.industries-page .mega-featured-badge { display:inline-block; padding:2px 8px; background:var(--teal-50); color:var(--teal-500); border-radius:var(--radius-pill); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:8px; }
body.home-page .mega-featured-title,
body.marketplace-page .mega-featured-title,
body.partners-page .mega-featured-title,
body.blog-page .mega-featured-title,
body.whitepapers-page .mega-featured-title,
body.webinars-page .mega-featured-title,
body.contact-page .mega-featured-title,
body.solutions-page .mega-featured-title,
body.services-page .mega-featured-title,
body.industries-page .mega-featured-title { font-size:13px; font-weight:700; color:#fff; margin-bottom:4px; line-height:1.3; }
body.home-page .mega-featured-desc,
body.marketplace-page .mega-featured-desc,
body.partners-page .mega-featured-desc,
body.blog-page .mega-featured-desc,
body.whitepapers-page .mega-featured-desc,
body.webinars-page .mega-featured-desc,
body.contact-page .mega-featured-desc,
body.solutions-page .mega-featured-desc,
body.services-page .mega-featured-desc,
body.industries-page .mega-featured-desc  { font-size:11px; color:var(--navy-300); line-height:1.4; margin-bottom:8px; }
body.home-page .mega-featured-link,
body.marketplace-page .mega-featured-link,
body.partners-page .mega-featured-link,
body.blog-page .mega-featured-link,
body.whitepapers-page .mega-featured-link,
body.webinars-page .mega-featured-link,
body.contact-page .mega-featured-link,
body.solutions-page .mega-featured-link,
body.services-page .mega-featured-link,
body.industries-page .mega-featured-link  { font-size:11px; font-weight:600; color:var(--electric-300); }

body.home-page .mega-insight-link,
body.marketplace-page .mega-insight-link,
body.partners-page .mega-insight-link,
body.blog-page .mega-insight-link,
body.whitepapers-page .mega-insight-link,
body.webinars-page .mega-insight-link,
body.contact-page .mega-insight-link,
body.solutions-page .mega-insight-link,
body.services-page .mega-insight-link,
body.industries-page .mega-insight-link { display:block; padding:10px 14px; border-radius:var(--radius-md); text-decoration:none; transition:background var(--transition); margin-bottom:2px; }
body.home-page .mega-insight-link:hover,
body.marketplace-page .mega-insight-link:hover,
body.partners-page .mega-insight-link:hover,
body.blog-page .mega-insight-link:hover,
body.whitepapers-page .mega-insight-link:hover,
body.webinars-page .mega-insight-link:hover,
body.contact-page .mega-insight-link:hover,
body.solutions-page .mega-insight-link:hover,
body.services-page .mega-insight-link:hover,
body.industries-page .mega-insight-link:hover { background:rgba(255,255,255,0.05); }
body.home-page .mega-insight-cat,
body.marketplace-page .mega-insight-cat,
body.partners-page .mega-insight-cat,
body.blog-page .mega-insight-cat,
body.whitepapers-page .mega-insight-cat,
body.webinars-page .mega-insight-cat,
body.contact-page .mega-insight-cat,
body.solutions-page .mega-insight-cat,
body.services-page .mega-insight-cat,
body.industries-page .mega-insight-cat { display:block; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--electric-300); margin-bottom:3px; }
body.home-page .mega-insight-title,
body.marketplace-page .mega-insight-title,
body.partners-page .mega-insight-title,
body.blog-page .mega-insight-title,
body.whitepapers-page .mega-insight-title,
body.webinars-page .mega-insight-title,
body.contact-page .mega-insight-title,
body.solutions-page .mega-insight-title,
body.services-page .mega-insight-title,
body.industries-page .mega-insight-title { font-size:12.5px; font-weight:500; color:var(--navy-100); line-height:1.35; }

body.home-page .mega-cta-block,
body.marketplace-page .mega-cta-block,
body.partners-page .mega-cta-block,
body.blog-page .mega-cta-block,
body.whitepapers-page .mega-cta-block,
body.webinars-page .mega-cta-block,
body.contact-page .mega-cta-block,
body.solutions-page .mega-cta-block,
body.services-page .mega-cta-block,
body.industries-page .mega-cta-block { display:flex; align-items:center; gap:8px; padding:10px 14px; background:rgba(0,102,255,0.10); border:1px solid rgba(0,102,255,0.18); border-radius:var(--radius-md); font-size:12.5px; font-weight:600; color:var(--electric-300); text-decoration:none; transition:all var(--transition); margin-top:4px; }
body.home-page .mega-cta-block svg,
body.marketplace-page .mega-cta-block svg,
body.partners-page .mega-cta-block svg,
body.blog-page .mega-cta-block svg,
body.whitepapers-page .mega-cta-block svg,
body.webinars-page .mega-cta-block svg,
body.contact-page .mega-cta-block svg,
body.solutions-page .mega-cta-block svg,
body.services-page .mega-cta-block svg,
body.industries-page .mega-cta-block svg { width:14px; height:14px; flex-shrink:0; }
body.home-page .mega-cta-block:hover,
body.marketplace-page .mega-cta-block:hover,
body.partners-page .mega-cta-block:hover,
body.blog-page .mega-cta-block:hover,
body.whitepapers-page .mega-cta-block:hover,
body.webinars-page .mega-cta-block:hover,
body.contact-page .mega-cta-block:hover,
body.solutions-page .mega-cta-block:hover,
body.services-page .mega-cta-block:hover,
body.industries-page .mega-cta-block:hover { background:rgba(0,102,255,0.18); border-color:rgba(0,102,255,0.32); color:#fff; }

@media (max-width: 1024px) {
  body.home-page .mega-menu,
  body.marketplace-page .mega-menu,
  body.partners-page .mega-menu,
  body.blog-page .mega-menu,
  body.whitepapers-page .mega-menu,
  body.webinars-page .mega-menu,
  body.contact-page .mega-menu,
body.solutions-page .mega-menu,
body.services-page .mega-menu,
body.industries-page .mega-menu { display:none !important; }
}
/* ─────────────────────────────────────────
   01 — HERO
───────────────────────────────────────── */
body.home-page #hero {position: relative;
  min-height: 100vh;
  background: var(--navy-900);
  display: flex;
  flex-direction: column;
  overflow: hidden;}
/* circuit mesh background */
body.home-page .hero-mesh {position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.18;}
body.home-page .hero-mesh svg {width: 100%; height: 100%;}
/* glow blobs */
body.home-page .hero-glow-1 {position: absolute;
  width: 700px;
  height: 700px;
  top: -200px;
  right: -100px;
  background: radial-gradient(circle, rgba(0,102,255,0.18) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;}
body.home-page .hero-glow-2 {position: absolute;
  width: 500px;
  height: 500px;
  bottom: -100px;
  left: 100px;
  background: radial-gradient(circle, rgba(0,191,165,0.12) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;}
body.home-page .hero-content {flex: 1;
  display: flex;
  align-items: center;
  padding: 160px 0 80px;
  position: relative;
  z-index: 1;}
body.home-page .hero-grid {display: grid;
  grid-template-columns: 1fr 440px;
  gap: 80px;
  align-items: center;
  width: 100%;}
@media (max-width: 1100px) {body.home-page .hero-grid {grid-template-columns: 1fr; gap: 48px;}
body.home-page .hero-visual {display: none;}}
body.home-page .hero-badge {display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px 6px 6px;
  background: rgba(0,102,255,0.12);
  border: 1px solid rgba(0,102,255,0.25);
  border-radius: var(--radius-pill);
  margin-bottom: 28px;
  cursor: default;}
body.home-page .hero-badge-dot {width: 20px;
  height: 20px;
  background: var(--electric-500);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;}
body.home-page .hero-badge-dot span {width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  animation: pulse-dot 2s ease-in-out infinite;}
@keyframes pulse-dot {
  0%,100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; }
}
body.home-page .hero-badge-text {font-size: 12px;
  font-weight: 500;
  color: var(--electric-300);}
body.home-page .hero-headline {font-family: var(--font-display);
  font-size: clamp(40px, 5.5vw, 72px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: #fff;
  margin-bottom: 24px;}
body.home-page .hero-headline .line-accent {background: linear-gradient(90deg, var(--electric-400), var(--teal-400));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;}
body.home-page .hero-sub {font-size: clamp(16px, 1.8vw, 19px);
  font-weight: 300;
  color: var(--navy-200);
  line-height: 1.7;
  margin-bottom: 40px;
  max-width: 560px;}
body.home-page .hero-ctas {display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 56px;}
body.home-page .hero-trust-bar {display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 32px;
  max-width: 560px;}
body.home-page .trust-stat {padding-right: 32px;
  border-right: 1px solid rgba(255,255,255,0.08);}
body.home-page .trust-stat:last-child {border-right: none; padding-right: 0; padding-left: 32px;}
body.home-page .trust-stat:nth-child(2) {padding: 0 32px;}
body.home-page .trust-stat:nth-child(3) {padding: 0 32px;}
body.home-page .trust-stat-num {font-family: var(--font-display);
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  display: block;
  line-height: 1;
  margin-bottom: 4px;}
body.home-page .trust-stat-num .accent {color: var(--electric-400);}
body.home-page .trust-stat-label {font-size: 12px;
  color: var(--navy-300);
  font-weight: 400;}
/* Hero visual — isometric tech stack */
body.home-page .hero-visual {position: relative;
  height: 480px;
  display: flex;
  align-items: center;
  justify-content: center;}
body.home-page .hero-visual svg {width: 100%;
  height: 100%;
  filter: drop-shadow(0 24px 64px rgba(0,102,255,0.20));}
/* ─────────────────────────────────────────
   02 — MARKETPLACE OVERVIEW
───────────────────────────────────────── */
body.home-page #marketplace {background: var(--surface-1);
  padding: 96px 0;
  border-bottom: 1px solid var(--border-light);}
body.home-page .marketplace-header {display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
  gap: 24px;
  flex-wrap: wrap;}
body.home-page .marketplace-tabs {display: flex;
  gap: 4px;
  background: var(--surface-2);
  padding: 4px;
  border-radius: var(--radius-md);
  margin-bottom: 36px;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;}
body.home-page .marketplace-tabs::-webkit-scrollbar {display: none;}
body.home-page .mp-tab {padding: 8px 20px;
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-weight: 500;
  color: var(--text-muted);
  white-space: nowrap;
  transition: all var(--transition);
  cursor: pointer;}
body.home-page .mp-tab.active {background: var(--surface-0);
  color: var(--electric-500);
  box-shadow: var(--shadow-sm);}
body.home-page .mp-tab:hover:not(.active) {color: var(--text-secondary);}
body.home-page .mp-grid {display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;}
@media (max-width: 900px) {body.home-page .mp-grid {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 500px) {body.home-page .mp-grid {grid-template-columns: 1fr;}}
body.home-page .mp-card {background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
  cursor: pointer;}
body.home-page .mp-card:hover {transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--electric-200);}
body.home-page .mp-card-img {height: 140px;
  background: var(--surface-2);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;}
body.home-page .mp-card-img-inner {width: 72px;
  height: 72px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition);}
body.home-page .mp-card:hover .mp-card-img-inner {transform: scale(1.08);}
body.home-page .mp-card-body {padding: 20px;}
body.home-page .mp-card-vendor {font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 6px;}
body.home-page .mp-card-name {font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 6px;
  line-height: 1.3;}
body.home-page .mp-card-desc {font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
  margin-bottom: 16px;}
body.home-page .mp-card-footer {display: flex;
  align-items: center;
  justify-content: space-between;}
body.home-page .mp-card-price {font-size: 13px;
  color: var(--text-secondary);}
body.home-page .mp-card-price strong {font-family: var(--font-display);
  font-size: 15px;
  color: var(--text-primary);}
body.home-page .mp-card-rfq {font-size: 12px;
  font-weight: 600;
  color: var(--electric-500);
  padding: 6px 12px;
  border: 1px solid var(--electric-200);
  border-radius: var(--radius-sm);
  transition: all var(--transition);}
body.home-page .mp-card-rfq:hover {background: var(--electric-500);
  color: #fff;
  border-color: var(--electric-500);}
/* ─────────────────────────────────────────
   03 — TECH CATEGORIES
───────────────────────────────────────── */
body.home-page #categories {padding: 96px 0;
  background: var(--surface-0);}
body.home-page .categories-header {margin-bottom: 48px;}
body.home-page .cat-grid {display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;}
@media (max-width: 1000px) {body.home-page .cat-grid {grid-template-columns: repeat(3, 1fr);}}
@media (max-width: 600px) {body.home-page .cat-grid {grid-template-columns: repeat(2, 1fr);}}
body.home-page .cat-card {display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 28px 16px 24px;
  background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  gap: 14px;
  cursor: pointer;
  transition: all var(--transition);
  position: relative;
  overflow: hidden;}
body.home-page .cat-card::before {content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--electric-500), var(--teal-400));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition);}
body.home-page .cat-card:hover {transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  background: var(--surface-0);
  border-color: var(--electric-200);}
body.home-page .cat-card:hover::before {transform: scaleX(1);}
body.home-page .cat-icon {width: 52px;
  height: 52px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition);}
body.home-page .cat-card:hover .cat-icon {transform: scale(1.10);}
body.home-page .cat-name {font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.3;}
body.home-page .cat-count {font-size: 11px;
  color: var(--text-muted);}
/* ─────────────────────────────────────────
   04 — BRANDS
───────────────────────────────────────── */
body.home-page #brands {padding: 80px 0;
  background: var(--surface-1);
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
  overflow: hidden;}
body.home-page .brands-header {text-align: center;
  margin-bottom: 40px;}
body.home-page .certified-badge {display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: var(--teal-50);
  border: 1px solid rgba(0,191,165,0.25);
  border-radius: var(--radius-pill);
  font-size: 11px;
  font-weight: 600;
  color: var(--teal-500);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 12px;}
body.home-page .brands-marquee-wrap {overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);}
body.home-page .brands-marquee {display: flex;
  gap: 32px;
  animation: marquee 28s linear infinite;
  width: max-content;}
body.home-page .brands-marquee:hover {animation-play-state: paused;}
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
body.home-page .brand-logo-tile {display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 28px;
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  min-width: 130px;
  height: 60px;
  filter: grayscale(1) opacity(0.55);
  transition: filter var(--transition), box-shadow var(--transition);
  cursor: pointer;
  flex-shrink: 0;}
body.home-page .brand-logo-tile:hover {filter: grayscale(0) opacity(1);
  box-shadow: var(--shadow-md);}
body.home-page .brand-logo-tile span {font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.02em;}
/* ─────────────────────────────────────────
   05 — SOLUTIONS
───────────────────────────────────────── */
body.home-page #solutions {background: var(--navy-900);
  padding: 112px 0;
  position: relative;
  overflow: hidden;}
body.home-page .solutions-bg-gradient {position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 600px 400px at 80% 20%, rgba(0,102,255,0.08) 0%, transparent 60%),
    radial-gradient(ellipse 400px 400px at 10% 80%, rgba(0,191,165,0.06) 0%, transparent 60%);
  pointer-events: none;}
body.home-page .solutions-header {margin-bottom: 56px;}
body.home-page .solutions-header .section-label {color: var(--electric-300);}
body.home-page .solutions-header .section-label::before {background: var(--electric-300);}
body.home-page .solutions-header .section-headline {color: #fff;}
body.home-page .solutions-header .section-sub {color: var(--navy-200);}
body.home-page .solutions-grid {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;}
@media (max-width: 900px) {body.home-page .solutions-grid {grid-template-columns: 1fr;}}
body.home-page .sol-card {background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-xl);
  padding: 36px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all var(--transition-slow);}
body.home-page .sol-card::before {content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  border-radius: 4px 0 0 4px;
  background: var(--card-accent, var(--electric-500));
  transition: width var(--transition);}
body.home-page .sol-card:hover {background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.16);
  transform: translateY(-4px);}
body.home-page .sol-card:hover::before {width: 6px;}
body.home-page .sol-icon {width: 52px;
  height: 52px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;}
body.home-page .sol-card-name {font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
  line-height: 1.2;}
body.home-page .sol-card-desc {font-size: 14px;
  color: var(--navy-200);
  line-height: 1.65;
  margin-bottom: 24px;}
body.home-page .sol-benefits {display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 28px;}
body.home-page .sol-benefit {display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--teal-200);}
body.home-page .sol-benefit svg {width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--teal-400);}
body.home-page .sol-card-cta {display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--electric-300);
  transition: gap var(--transition);
  cursor: pointer;}
body.home-page .sol-card:hover .sol-card-cta {gap: 10px;}
body.home-page .sol-card-cta svg {width: 16px; height: 16px;}
/* ─────────────────────────────────────────
   06 — INDUSTRIES
───────────────────────────────────────── */
body.home-page #industries {padding: 96px 0;
  background: var(--surface-0);}
body.home-page .industries-header {margin-bottom: 48px;}
body.home-page .industries-grid {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;}
@media (max-width: 900px) {body.home-page .industries-grid {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 500px) {body.home-page .industries-grid {grid-template-columns: 1fr;}}
body.home-page .ind-card {position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  height: 220px;
  cursor: pointer;
  background: var(--navy-800);}
body.home-page .ind-bg {position: absolute;
  inset: 0;
  background: var(--ind-gradient, linear-gradient(135deg, var(--navy-700), var(--navy-900)));
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1);}
body.home-page .ind-card:hover .ind-bg {transform: scale(1.04);}
body.home-page .ind-overlay {position: absolute;
  inset: 0;
  background: linear-gradient(160deg, transparent 30%, rgba(7,15,28,0.85) 100%);}
body.home-page .ind-content {position: absolute;
  inset: 0;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;}
body.home-page .ind-icon {position: absolute;
  top: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,0.10);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--transition);}
body.home-page .ind-card:hover .ind-icon {background: rgba(0,102,255,0.30);}
body.home-page .ind-icon svg {width: 20px; height: 20px; color: #fff;}
body.home-page .ind-name {font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;}
body.home-page .ind-stat {font-size: 12px;
  color: rgba(255,255,255,0.55);
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition), opacity var(--transition);
  opacity: 0;}
body.home-page .ind-card:hover .ind-stat {max-height: 24px;
  opacity: 1;}
body.home-page .ind-arrow {position: absolute;
  bottom: 28px;
  right: 28px;
  width: 32px;
  height: 32px;
  background: var(--electric-500);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--transition), transform var(--transition);}
body.home-page .ind-card:hover .ind-arrow {opacity: 1; transform: translateY(0);}
body.home-page .ind-arrow svg {width: 14px; height: 14px; color: #fff;}
/* ─────────────────────────────────────────
   07 — FEATURED PRODUCTS
───────────────────────────────────────── */
body.home-page #products {background: var(--surface-1);
  padding: 96px 0;}
body.home-page .products-header {display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 36px;
  flex-wrap: wrap;
  gap: 20px;}
body.home-page .products-filter {display: flex;
  gap: 8px;
  flex-wrap: wrap;}
body.home-page .filter-btn {padding: 7px 16px;
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
  border: 1px solid var(--border-light);
  background: var(--surface-0);
  transition: all var(--transition);
  cursor: pointer;}
body.home-page .filter-btn.active {background: var(--electric-500);
  color: #fff;
  border-color: var(--electric-500);}
body.home-page .filter-btn:hover:not(.active) {color: var(--text-primary);
  border-color: var(--border-medium);}
body.home-page .products-grid {display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 40px;}
@media (max-width: 1000px) {body.home-page .products-grid {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 500px) {body.home-page .products-grid {grid-template-columns: 1fr;}}
body.home-page .prod-card {background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--transition);
  cursor: pointer;}
body.home-page .prod-card:hover {transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--electric-200);}
body.home-page .prod-img {height: 160px;
  background: var(--surface-2);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;}
body.home-page .prod-img-inner {width: 90px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition);}
body.home-page .prod-card:hover .prod-img-inner {transform: scale(1.06);}
body.home-page .prod-badge {position: absolute;
  top: 12px;
  left: 12px;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;}
body.home-page .badge-new {background: var(--teal-50); color: var(--teal-500);}
body.home-page .badge-hot {background: rgba(245,158,11,0.12); color: var(--amber-500);}
body.home-page .badge-sale {background: rgba(239,68,68,0.10); color: #ef4444;}
body.home-page .prod-body {padding: 18px;}
body.home-page .prod-vendor {font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 5px;}
body.home-page .prod-name {font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
  line-height: 1.35;}
body.home-page .prod-price {font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 14px;}
body.home-page .prod-price strong {font-family: var(--font-display);
  font-size: 16px;
  color: var(--text-primary);}
body.home-page .prod-actions {display: flex;
  gap: 8px;}
body.home-page .prod-rfq-btn {flex: 1;
  padding: 8px;
  background: var(--electric-50);
  color: var(--electric-500);
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  transition: all var(--transition);}
body.home-page .prod-rfq-btn:hover {background: var(--electric-500); color: #fff;}
body.home-page .prod-view-btn {padding: 8px 12px;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  font-size: 12px;
  color: var(--text-muted);
  transition: all var(--transition);
  cursor: pointer;}
body.home-page .prod-view-btn:hover {border-color: var(--border-medium); color: var(--text-primary);}
body.home-page .products-cta-center {text-align: center;}
/* ─────────────────────────────────────────
   08 — SUCCESS STORIES
───────────────────────────────────────── */
body.home-page #success {background: var(--navy-900);
  padding: 112px 0;
  position: relative;
  overflow: hidden;}
body.home-page .success-bg-quote {position: absolute;
  top: 40px;
  left: 48px;
  font-family: var(--font-display);
  font-size: 320px;
  font-weight: 800;
  color: rgba(255,255,255,0.025);
  line-height: 1;
  user-select: none;
  pointer-events: none;}
body.home-page .success-header {margin-bottom: 56px;}
body.home-page .success-header .section-label {color: var(--teal-400);}
body.home-page .success-header .section-label::before {background: var(--teal-400);}
body.home-page .success-header .section-headline {color: #fff;}
body.home-page .testimonials-grid {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 56px;}
@media (max-width: 900px) {body.home-page .testimonials-grid {grid-template-columns: 1fr;}}
body.home-page .testi-card {background: var(--navy-800);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-xl);
  padding: 32px;
  transition: all var(--transition);
  cursor: pointer;}
body.home-page .testi-card:hover {transform: translateY(-4px);
  border-color: rgba(255,255,255,0.14);
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);}
body.home-page .testi-verified {display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: rgba(0,191,165,0.12);
  border: 1px solid rgba(0,191,165,0.20);
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 600;
  color: var(--teal-400);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 20px;}
body.home-page .testi-verified svg {width: 10px; height: 10px;}
body.home-page .testi-quote {font-size: 15px;
  font-style: italic;
  color: var(--navy-100);
  line-height: 1.7;
  margin-bottom: 24px;}
body.home-page .testi-stars {display: flex;
  gap: 3px;
  margin-bottom: 20px;}
body.home-page .testi-stars svg {width: 14px; height: 14px; color: var(--amber-400);}
body.home-page .testi-meta {display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 20px;}
body.home-page .testi-avatar {width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;}
body.home-page .testi-name {font-size: 13px;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;}
body.home-page .testi-role {font-size: 12px;
  color: var(--navy-300);}
body.home-page .testi-company-logo {margin-left: auto;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  color: var(--navy-400);
  text-transform: uppercase;
  letter-spacing: 0.06em;}
body.home-page .success-stats {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 48px;}
@media (max-width: 768px) {body.home-page .success-stats {grid-template-columns: 1fr;}}
body.home-page .s-stat {text-align: center;
  padding: 24px;
  background: rgba(255,255,255,0.03);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,0.05);}
body.home-page .s-stat-num {font-family: var(--font-display);
  font-size: 36px;
  font-weight: 800;
  color: var(--electric-300);
  line-height: 1;
  margin-bottom: 8px;}
body.home-page .s-stat-label {font-size: 13px;
  color: var(--navy-300);}
/* ─────────────────────────────────────────
   09 — INSIGHTS
───────────────────────────────────────── */
body.home-page #insights {padding: 96px 0;
  background: var(--surface-0);}
body.home-page .insights-header {margin-bottom: 48px;}
body.home-page .insights-grid {display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 20px;}
@media (max-width: 900px) {body.home-page .insights-grid {grid-template-columns: 1fr;}}
body.home-page .insight-feature {background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow var(--transition);
  display: flex;
  flex-direction: column;}
body.home-page .insight-feature:hover {box-shadow: var(--shadow-lg);}
body.home-page .insight-feature-img {height: 220px;
  background: linear-gradient(135deg, var(--navy-700), var(--navy-900));
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;}
body.home-page .insight-feature-img-overlay {position: absolute;
  inset: 0;
  background: linear-gradient(to bottom right, rgba(0,102,255,0.25), rgba(0,191,165,0.15));}
body.home-page .insight-feature-body {padding: 28px; flex: 1;}
body.home-page .insight-cat-badge {display: inline-block;
  padding: 3px 10px;
  background: var(--electric-50);
  color: var(--electric-500);
  border-radius: var(--radius-pill);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 14px;}
body.home-page .insight-title {font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.25;
  margin-bottom: 12px;}
body.home-page .insight-excerpt {font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.65;
  margin-bottom: 20px;}
body.home-page .insight-meta {display: flex;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  color: var(--text-muted);}
body.home-page .insight-meta svg {width: 13px; height: 13px;}
body.home-page .insight-meta span {display: flex; align-items: center; gap: 4px;}
body.home-page .insights-stack {display: flex; flex-direction: column; gap: 16px;}
body.home-page .insight-small {background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: 20px;
  cursor: pointer;
  transition: all var(--transition);
  display: flex;
  gap: 16px;
  align-items: flex-start;}
body.home-page .insight-small:hover {box-shadow: var(--shadow-md);
  border-color: var(--electric-200);
  transform: translateX(4px);}
body.home-page .insight-small-icon {width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}
body.home-page .insight-small-cat {font-size: 11px;
  font-weight: 600;
  color: var(--electric-500);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 4px;}
body.home-page .insight-small-title {font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.3;
  margin-bottom: 6px;}
body.home-page .insight-small-meta {font-size: 12px;
  color: var(--text-muted);}
/* ─────────────────────────────────────────
   10 — MANAGED SERVICES
───────────────────────────────────────── */
body.home-page #managed {background: var(--teal-50);
  padding: 96px 0;
  border-top: 1px solid rgba(0,191,165,0.12);
  border-bottom: 1px solid rgba(0,191,165,0.12);}
body.home-page .managed-header {margin-bottom: 48px;}
body.home-page .managed-header .section-label {color: var(--teal-500);}
body.home-page .managed-header .section-label::before {background: var(--teal-500);}
body.home-page .managed-grid {display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 40px;}
@media (max-width: 1000px) {body.home-page .managed-grid {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 500px) {body.home-page .managed-grid {grid-template-columns: 1fr;}}
body.home-page .managed-card {background: var(--surface-0);
  border: 1px solid rgba(0,191,165,0.15);
  border-radius: var(--radius-xl);
  padding: 28px;
  transition: all var(--transition);
  cursor: pointer;}
body.home-page .managed-card:hover {transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0,191,165,0.12);
  border-color: var(--teal-400);}
body.home-page .managed-icon {width: 52px;
  height: 52px;
  border-radius: var(--radius-md);
  background: var(--teal-50);
  border: 1px solid rgba(0,191,165,0.20);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  transition: all var(--transition);}
body.home-page .managed-card:hover .managed-icon {background: var(--teal-500);
  border-color: var(--teal-500);}
body.home-page .managed-card:hover .managed-icon svg {color: #fff;}
body.home-page .managed-icon svg {width: 24px; height: 24px; color: var(--teal-500); transition: color var(--transition);}
body.home-page .managed-name {font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 10px;}
body.home-page .managed-desc {font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 18px;}
body.home-page .managed-includes {display: flex; flex-direction: column; gap: 6px;}
body.home-page .managed-include-item {display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--text-muted);}
body.home-page .managed-include-item svg {width: 12px; height: 12px; color: var(--teal-500); flex-shrink: 0;}
body.home-page .managed-cta-center {text-align: center;}
/* ─────────────────────────────────────────
   11 — PARTNERSHIPS
───────────────────────────────────────── */
body.home-page #partners {padding: 96px 0;
  background: var(--surface-0);}
body.home-page .partners-header {text-align: center; margin-bottom: 56px;}
body.home-page .partners-header .section-label {justify-content: center;
  margin-bottom: 16px;}
body.home-page .partners-header .section-label::before {display: none;}
body.home-page .partners-header .section-label::after {content: "";
  width: 20px;
  height: 2px;
  background: var(--electric-500);
  border-radius: 2px;}
body.home-page .partners-tier {display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 40px;}
@media (max-width: 900px) {body.home-page .partners-tier {grid-template-columns: repeat(2, 1fr);}}
body.home-page .partner-card {background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: 28px 24px;
  text-align: center;
  transition: all var(--transition);
  cursor: pointer;}
body.home-page .partner-card:hover {transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--electric-200);
  background: var(--surface-0);}
body.home-page .partner-logo-area {height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;}
body.home-page .partner-logo-text {font-family: var(--font-display);
  font-size: 20px;
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.04em;}
body.home-page .partner-tier-badge {display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;}
body.home-page .badge-gold {background: rgba(245,158,11,0.12); color: var(--amber-500);}
body.home-page .badge-platinum {background: rgba(148,163,184,0.15); color: #64748b;}
body.home-page .badge-premier {background: rgba(0,102,255,0.10); color: var(--electric-500);}
body.home-page .badge-select {background: rgba(0,191,165,0.10); color: var(--teal-500);}
body.home-page .partners-note {text-align: center;
  font-size: 13px;
  color: var(--text-muted);
  padding-top: 24px;
  border-top: 1px solid var(--border-light);}
body.home-page .partners-note svg {width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px;}
/* ─────────────────────────────────────────
   12 — WHY MERIDIAN
───────────────────────────────────────── */
body.home-page #why {padding: 112px 0;
  background: linear-gradient(135deg, var(--electric-600) 0%, #0044CC 50%, #003399 100%);
  position: relative;
  overflow: hidden;}
body.home-page .why-bg-pattern {position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.07) 1px, transparent 0);
  background-size: 32px 32px;
  pointer-events: none;}
body.home-page .why-glow {position: absolute;
  width: 600px;
  height: 600px;
  top: -200px;
  right: -100px;
  background: radial-gradient(circle, rgba(255,255,255,0.06) 0%, transparent 70%);
  pointer-events: none;}
body.home-page .why-header {text-align: center;
  margin-bottom: 64px;
  position: relative;
  z-index: 1;}
body.home-page .why-header .section-label {color: rgba(255,255,255,0.65); justify-content: center; margin-bottom: 16px;}
body.home-page .why-header .section-label::before {background: rgba(255,255,255,0.65); display: none;}
body.home-page .why-header .section-headline {color: #fff;}
body.home-page .why-header .section-sub {color: rgba(255,255,255,0.70); margin: 16px auto 0;}
body.home-page .why-pillars {display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-bottom: 64px;
  position: relative;
  z-index: 1;}
@media (max-width: 1000px) {body.home-page .why-pillars {grid-template-columns: repeat(3, 1fr);}}
@media (max-width: 600px) {body.home-page .why-pillars {grid-template-columns: repeat(2, 1fr);}}
body.home-page .why-pillar {background: rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--radius-xl);
  padding: 28px 20px;
  text-align: center;
  transition: all var(--transition);
  cursor: default;}
body.home-page .why-pillar:hover {background: rgba(255,255,255,0.14);
  transform: translateY(-4px);
  border-color: rgba(255,255,255,0.25);}
body.home-page .why-pillar-icon {width: 52px;
  height: 52px;
  background: rgba(255,255,255,0.12);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  transition: background var(--transition);}
body.home-page .why-pillar:hover .why-pillar-icon {background: rgba(255,255,255,0.20);}
body.home-page .why-pillar-icon svg {width: 24px; height: 24px; color: #fff;}
body.home-page .why-pillar-title {font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
  line-height: 1.2;}
body.home-page .why-pillar-desc {font-size: 12px;
  color: rgba(255,255,255,0.65);
  line-height: 1.5;}
body.home-page .why-metrics {display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  position: relative;
  z-index: 1;}
@media (max-width: 768px) {body.home-page .why-metrics {grid-template-columns: repeat(2, 1fr);}}
body.home-page .why-metric {text-align: center;
  padding: 24px;
  border-top: 1px solid rgba(255,255,255,0.12);}
body.home-page .why-metric-num {font-family: var(--font-display);
  font-size: 40px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin-bottom: 8px;}
body.home-page .why-metric-label {font-size: 13px;
  color: rgba(255,255,255,0.65);}
/* ─────────────────────────────────────────
   13 — CTA
───────────────────────────────────────── */
body.home-page #cta {background: var(--navy-900);
  padding: 112px 0;
  position: relative;
  overflow: hidden;}
body.home-page .cta-bg {position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 800px 500px at 50% 50%, rgba(0,102,255,0.10) 0%, transparent 70%);
  pointer-events: none;
  animation: cta-pulse 8s ease-in-out infinite;}
@keyframes cta-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(1.05); }
}
@media (prefers-reduced-motion: reduce) {body.home-page .cta-bg {animation: none;}}
body.home-page .cta-inner {text-align: center;
  position: relative;
  z-index: 1;}
body.home-page .cta-headline {font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 800;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -0.04em;
  margin-bottom: 20px;}
body.home-page .cta-sub {font-size: 17px;
  font-weight: 300;
  color: var(--navy-200);
  margin-bottom: 40px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.65;}
body.home-page .cta-buttons {display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 32px;}
body.home-page .cta-reassurance {font-size: 13px;
  color: var(--navy-400);
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: center;}
body.home-page .cta-reassurance svg {width: 14px; height: 14px; color: var(--teal-400);}
/* ─────────────────────────────────────────
   14 — FOOTER
───────────────────────────────────────── */
#footer {background: var(--navy-850);
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 72px 0 32px;}
.footer-top {display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 56px;}
@media (max-width: 1000px) {.footer-top {grid-template-columns: 1fr 1fr 1fr;}
.footer-brand {grid-column: 1 / -1;}}
@media (max-width: 600px) {.footer-top {grid-template-columns: 1fr 1fr;}}
.footer-brand-logo {display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;}
.footer-brand-desc {font-size: 14px;
  color: var(--navy-300);
  line-height: 1.7;
  margin-bottom: 24px;
  max-width: 280px;}
.footer-socials {display: flex;
  gap: 10px;}
.footer-social {width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--navy-300);
  transition: all var(--transition);
  cursor: pointer;}
.footer-social:hover {background: rgba(0,102,255,0.20);
  color: var(--electric-300);
  border-color: rgba(0,102,255,0.30);}
.footer-social svg {width: 15px; height: 15px;}
.footer-col-title {font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.40);
  margin-bottom: 18px;}
.footer-links {display: flex; flex-direction: column; gap: 10px;}
.footer-link {font-size: 14px;
  color: var(--navy-300);
  transition: color var(--transition);
  cursor: pointer;}
.footer-link:hover {color: #fff;}
.footer-divider {border: none;
  border-top: 1px solid rgba(255,255,255,0.06);
  margin-bottom: 28px;}
.footer-bottom {display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;}
.footer-copy {font-size: 13px;
  color: var(--navy-400);}
.footer-certs {display: flex;
  align-items: center;
  gap: 12px;}
body.home-page .cert-badge {padding: 4px 10px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-sm);
  font-size: 11px;
  font-weight: 600;
  color: var(--navy-300);}
.footer-legal-links {display: flex;
  gap: 20px;}
.footer-legal-link {font-size: 13px;
  color: var(--navy-400);
  cursor: pointer;
  transition: color var(--transition);}
.footer-legal-link:hover {color: var(--navy-200);}
/* ─────────────────────────────────────────
   HERO SVG VISUAL
───────────────────────────────────────── */
@keyframes float-1 {
  0%,100%{ transform: translateY(0px); }
  50%    { transform: translateY(-12px); }
}
@keyframes float-2 {
  0%,100%{ transform: translateY(0px); }
  50%    { transform: translateY(-8px); }
}
@keyframes glow-pulse {
  0%,100%{ opacity:0.5; }
  50%    { opacity:1; }
}
@keyframes data-flow {
  0%   { stroke-dashoffset: 120; }
  100% { stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: reduce) {body.home-page [style*="animation"], body.home-page .brands-marquee, body.home-page .cta-bg {animation: none !important;}}
/* ─────────────────────────────────────────
───────────────────────────────────────── */
#navbar,
#navbar .nav-link,
#navbar .nav-links,
#navbar .mega-menu,
#navbar .mega-item,
#navbar .mega-item-title,
#navbar .mega-item-desc,
#navbar .nav-ctas,
#navbar .btn,
#navbar .nav-menu-btn,
#navbar .nav-logo-text {
}

body :not(#navbar):not(#navbar *) {
  font-family: var(--font-body);
}

/* ─────────────────────────────────────────
   MOBILE NAVIGATION DRAWER
───────────────────────────────────────── */
#mobile-nav-drawer {
  display: none;
  position: fixed;
  top: var(--navbar-h);
  left: 0;
  right: 0;
  z-index: 999;
  background: var(--navy-850);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 16px 40px rgba(0,0,0,0.4);
  max-height: calc(100vh - var(--navbar-h));
  overflow-y: auto;
  transform: translateY(-8px);
  opacity: 0;
  transition: opacity var(--transition), transform var(--transition);
  pointer-events: none;
}
#mobile-nav-drawer.open {
  display: flex;
  flex-direction: column;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.mobile-drawer-inner {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px 20px 24px;
}
.drawer-link {
  display: block;
  padding: 13px 16px;
  border-radius: var(--radius-md);
  font-size: 15px;
  font-weight: 500;
  color: var(--navy-100);
  transition: background var(--transition), color var(--transition);
}
.drawer-link:hover { background: rgba(255,255,255,0.07); color: #fff; }
.drawer-link.active { color: var(--electric-300); }
.drawer-divider {
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 10px 0;
}

/* Show hamburger on mobile, hide desktop nav */
@media (max-width: 960px) {
  .nav-menu-btn { display: flex !important; }
}

/* Prevent body scroll when drawer is open */
body.drawer-open { overflow: hidden; }

/* ═══════════════════════════════════════════════════
   PHASE 1 — NEW COMPONENTS
═══════════════════════════════════════════════════ */

/* ── HERO SEARCH BAR ── */
body.home-page .hero-search {margin-top: 32px; max-width: 600px;}
body.home-page .hero-search-inner {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.07);
  border: 1.5px solid rgba(255,255,255,0.18);
  border-radius: var(--radius-pill);
  padding: 6px 6px 6px 20px;
  gap: 10px;
  backdrop-filter: blur(12px);
  transition: border-color var(--transition), background var(--transition);
}
body.home-page .hero-search-inner:focus-within {
  border-color: var(--electric-400);
  background: rgba(255,255,255,0.10);
}
body.home-page .hero-search-icon {color: var(--navy-300); flex-shrink:0;}
body.home-page .hero-search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-family: var(--font-body);
  font-size: 14px;
  color: #fff;
}
body.home-page .hero-search-input::placeholder {color: var(--navy-300);}
body.home-page .hero-search-btn {
  padding: 10px 22px;
  background: var(--electric-500);
  color: #fff;
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: background var(--transition), transform var(--transition);
  white-space: nowrap;
  flex-shrink:0;
}
body.home-page .hero-search-btn:hover {background:var(--electric-600); transform:scale(1.03);}
body.home-page .hero-search-hints {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  flex-wrap: wrap;
}
body.home-page .search-hint-label {font-size:12px; color:var(--navy-400);}
body.home-page .search-hint {
  font-size: 12px;
  font-weight: 500;
  color: var(--navy-300);
  padding: 3px 10px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-pill);
  transition: all var(--transition);
  text-decoration: none;
}
body.home-page .search-hint:hover {background:rgba(0,102,255,0.15); color:var(--electric-300); border-color:rgba(0,102,255,0.25);}

/* ── ENHANCED CATEGORY GRID ── */
body.home-page #categories {padding: 80px 0; background: var(--surface-0);}
body.home-page .categories-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 40px;
  flex-wrap: wrap;
  gap: 16px;
}
body.home-page .cat-grid-enhanced {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: 16px;
}
@media(max-width:1100px){body.home-page .cat-grid-enhanced{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px) {body.home-page .cat-grid-enhanced{grid-template-columns:repeat(2,1fr);}}

body.home-page .cat-card-enh {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 28px 16px 22px;
  background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  gap: 12px;
  cursor: pointer;
  text-decoration: none;
  transition: all var(--transition);
  position: relative;
  overflow: hidden;
}
body.home-page .cat-card-enh::after {
  content:'';
  position: absolute;
  bottom:0; left:0; right:0;
  height: 3px;
  background: var(--cat-color, var(--electric-500));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition);
}
body.home-page .cat-card-enh:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
  border-color: var(--border-medium);
  background: var(--surface-0);
}
body.home-page .cat-card-enh:hover::after {transform: scaleX(1);}
body.home-page .cat-icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
  background: var(--cat-bg, rgba(0,102,255,0.10));
  color: var(--cat-color, var(--electric-500));
}
body.home-page .cat-card-enh:hover .cat-icon-wrap {transform: scale(1.12) rotate(-3deg);}
body.home-page .cat-icon-wrap svg {width:26px;height:26px;}
body.home-page .cat-card-name {font-family:var(--font-display); font-size:13px; font-weight:700; color:var(--text-primary); line-height:1.25;}
body.home-page .cat-card-count {
  font-size: 11px;
  color: var(--text-muted);
  background: var(--surface-2);
  padding: 2px 8px;
  border-radius: var(--radius-pill);
}
body.home-page .cat-card-enh:hover .cat-card-count {background:var(--cat-bg,rgba(0,102,255,0.08)); color:var(--cat-color,var(--electric-500));}
body.home-page .cat-card-arrow {
  font-size: 12px;
  font-weight: 600;
  color: var(--cat-color, var(--electric-500));
  opacity: 0;
  transform: translateY(4px);
  transition: opacity var(--transition), transform var(--transition);
}
body.home-page .cat-card-enh:hover .cat-card-arrow {opacity:1; transform:translateY(0);}

/* ── PARTNER SHOWCASE ── */
body.home-page .partners-showcase {
  background: var(--navy-900);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
body.home-page .partners-showcase::before {
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(ellipse 600px 300px at 60% 50%, rgba(0,102,255,0.07) 0%, transparent 60%);
  pointer-events:none;
}
body.home-page .partner-stats-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 56px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-xl);
  padding: 28px 40px;
  flex-wrap: wrap;
}
body.home-page .partner-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 40px;
  gap: 4px;
}
body.home-page .partner-stat-divider {
  width: 1px;
  height: 48px;
  background: rgba(255,255,255,0.10);
}
body.home-page .partner-stat-num {
  font-family: var(--font-display);
  font-size: 36px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  display: inline;
}
body.home-page .partner-stat-label {
  font-size: 12px;
  color: var(--navy-300);
  text-align: center;
  margin-top: 4px;
}
@media(max-width:768px){
  body.home-page .partner-stats-row{padding:20px;}
  body.home-page .partner-stat{padding:12px 20px;}
  body.home-page .partner-stat-divider{width:40px;height:1px;}
}

body.home-page .partner-showcase-header {margin-bottom: 36px;}
body.home-page .partner-showcase-header .section-label {color:var(--electric-300);}
body.home-page .partner-showcase-header .section-label::before {background:var(--electric-300);}
body.home-page .partner-showcase-header .section-headline {color:#fff;}
body.home-page .partner-showcase-header .section-sub {color:var(--navy-200);}

body.home-page .partner-logo-grid {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: 16px;
  margin-bottom: 32px;
}
@media(max-width:1100px){body.home-page .partner-logo-grid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:768px) {body.home-page .partner-logo-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:480px) {body.home-page .partner-logo-grid{grid-template-columns:repeat(2,1fr);}}

body.home-page .partner-logo-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 12px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg);
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.16,1,0.3,1);
  overflow: hidden;
}
body.home-page .partner-logo-card::before {
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(255,255,255,0.02), transparent);
  opacity:0;
  transition: opacity var(--transition);
}
body.home-page .partner-logo-card:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.4);
}
body.home-page .partner-logo-card:hover::before {opacity:1;}

body.home-page .partner-logo-inner {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.home-page .partner-logo-text {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.04em;
  transition: filter var(--transition), opacity var(--transition);
  filter: saturate(0) brightness(1.6);
  opacity: 0.55;
}
body.home-page .partner-logo-text--sm {font-size: 15px;}
body.home-page .partner-logo-card:hover .partner-logo-text {
  filter: saturate(1) brightness(1);
  opacity: 1;
}
body.home-page .partner-tier-pill {
  display: inline-block;
  padding: 2px 9px;
  border-radius: var(--radius-pill);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
body.home-page .partner-tier--premier  {background:rgba(0,102,255,0.15); color:var(--electric-300); border:1px solid rgba(0,102,255,0.25);}
body.home-page .partner-tier--platinum {background:rgba(148,163,184,0.15); color:#94a3b8; border:1px solid rgba(148,163,184,0.25);}
body.home-page .partner-tier--gold     {background:rgba(245,158,11,0.12); color:var(--amber-400); border:1px solid rgba(245,158,11,0.22);}
body.home-page .partner-tier--silver   {background:rgba(255,255,255,0.06); color:var(--navy-200); border:1px solid rgba(255,255,255,0.12);}
body.home-page .partner-tier--select   {background:rgba(0,191,165,0.10); color:var(--teal-400); border:1px solid rgba(0,191,165,0.20);}

body.home-page .partner-showcase-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.07);
}
body.home-page .partner-assurance {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: var(--navy-400);
}
body.home-page .partner-assurance svg {color:var(--teal-500); flex-shrink:0;}

/* ── MARKETPLACE CTA SECTION ── */
body.home-page .mp-cta-section {
  background: linear-gradient(135deg, var(--navy-800) 0%, var(--navy-900) 100%);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
body.home-page .mp-cta-section::before {
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(ellipse 500px 400px at 80% 50%, rgba(0,191,165,0.07) 0%, transparent 60%);
  pointer-events:none;
}
body.home-page .mp-cta-inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 64px;
  align-items: center;
  position: relative;
  z-index: 1;
}
@media(max-width:900px){body.home-page .mp-cta-inner{grid-template-columns:1fr; gap:40px;}}
body.home-page .mp-cta-headline {
  font-family: var(--font-display);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 14px;
}
body.home-page .mp-cta-sub {
  font-size: 16px;
  font-weight: 300;
  color: var(--navy-200);
  line-height: 1.7;
  margin-bottom: 28px;
  max-width: 520px;
}
body.home-page .mp-cta-actions {display:flex; gap:12px; flex-wrap:wrap;}
body.home-page .mp-cta-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
body.home-page .mp-cta-feature {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 500;
  color: var(--navy-100);
  transition: all var(--transition);
}
body.home-page .mp-cta-feature:hover {background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.14);}
body.home-page .mp-cta-feature-icon {
  width: 32px;
  height: 32px;
  background: rgba(0,102,255,0.15);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--electric-300);
}
body.home-page .mp-cta-feature-icon svg {width:15px;height:15px;}

/* nav-link active state for new megas */
body.home-page .nav-link.active {color: var(--electric-300);}


/* ═══════════════════════════════════════════════════
   PHASE 2 — RFQ EXPERIENCE
═══════════════════════════════════════════════════ */

/* ── RFQ FLOATING ACTION BUTTON ── */
.rfq-fab {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 1500;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 13px 20px 13px 16px;
  background: var(--electric-500);
  color: #fff;
  border: none;
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 8px 32px rgba(0,102,255,0.40), 0 2px 8px rgba(0,0,0,0.20);
  transition: transform 0.25s cubic-bezier(0.34,1.56,0.64,1), box-shadow var(--transition), background var(--transition);
  outline: none;
}
.rfq-fab:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 14px 40px rgba(0,102,255,0.50), 0 4px 12px rgba(0,0,0,0.25);
  background: var(--electric-600);
}
.rfq-fab:active { transform: scale(0.97); }
.rfq-fab svg { flex-shrink: 0; }
.rfq-fab-label { letter-spacing: 0.02em; }
.rfq-fab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  background: #fff;
  color: var(--electric-600);
  font-size: 12px;
  font-weight: 800;
  border-radius: var(--radius-pill);
  line-height: 1;
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
.rfq-fab-count.bump { transform: scale(1.35); }
.rfq-fab.has-items { background: var(--electric-500); }
.rfq-fab.panel-open { opacity: 0; pointer-events: none; transform: scale(0.85); }

@media (max-width: 480px) {
  .rfq-fab { bottom: 20px; right: 16px; padding: 12px 16px 12px 14px; font-size: 13px; }
}

/* ── RFQ OVERLAY ── */
.rfq-overlay {
  position: fixed;
  inset: 0;
  background: rgba(7, 15, 28, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 1800;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.rfq-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

/* ── RFQ SIDE PANEL ── */
.rfq-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 420px;
  max-width: 100vw;
  z-index: 1900;
  background: var(--surface-0);
  display: flex;
  flex-direction: column;
  box-shadow: -8px 0 48px rgba(0,0,0,0.18), -2px 0 8px rgba(0,0,0,0.08);
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1);
  will-change: transform;
}
.rfq-panel.open {
  transform: translateX(0);
}
@media (max-width: 480px) {
  .rfq-panel { width: 100%; }
}

/* Panel header */
.rfq-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 20px 18px;
  border-bottom: 1px solid var(--border-light);
  background: var(--navy-900);
  flex-shrink: 0;
}
.rfq-panel-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: #fff;
}
.rfq-panel-title svg { color: var(--electric-300); }
.rfq-panel-count {
  font-size: 11px;
  font-weight: 600;
  color: var(--electric-300);
  background: rgba(0,102,255,0.18);
  padding: 2px 9px;
  border-radius: var(--radius-pill);
  letter-spacing: 0.04em;
}
.rfq-panel-header-actions { display: flex; align-items: center; gap: 8px; }
.rfq-clear-all {
  font-size: 12px;
  font-weight: 500;
  color: var(--navy-300);
  padding: 5px 10px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255,255,255,0.10);
  background: transparent;
  cursor: pointer;
  transition: all var(--transition);
  font-family: var(--font-body);
}
.rfq-clear-all:hover { color: #ff6b6b; border-color: rgba(255,100,100,0.30); background: rgba(255,100,100,0.08); }
.rfq-panel-close {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  color: var(--navy-300);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  cursor: pointer;
  transition: all var(--transition);
}
.rfq-panel-close:hover { background: rgba(255,255,255,0.12); color: #fff; }

/* Panel body */
.rfq-panel-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  scrollbar-width: thin;
  scrollbar-color: var(--border-medium) transparent;
}
.rfq-panel-body::-webkit-scrollbar { width: 4px; }
.rfq-panel-body::-webkit-scrollbar-thumb { background: var(--border-medium); border-radius: 4px; }

/* Empty state */
.rfq-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 48px 24px;
  gap: 12px;
}
.rfq-empty-icon {
  width: 72px;
  height: 72px;
  background: var(--electric-50);
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--electric-400);
  margin-bottom: 4px;
}
.rfq-empty-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}
.rfq-empty-sub { font-size: 13px; color: var(--text-muted); line-height: 1.5; margin-bottom: 4px; }
.rfq-empty { display: flex; }
.rfq-empty.hidden { display: none; }

/* RFQ Items list */
.rfq-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.rfq-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  background: var(--surface-1);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  transition: all var(--transition);
  animation: rfqItemIn 0.28s cubic-bezier(0.16,1,0.3,1) forwards;
}
.rfq-item:hover { border-color: var(--border-medium); background: var(--surface-0); box-shadow: var(--shadow-sm); }
@keyframes rfqItemIn {
  from { opacity: 0; transform: translateX(16px); }
  to   { opacity: 1; transform: translateX(0); }
}
.rfq-item.removing {
  animation: rfqItemOut 0.22s ease forwards;
}
@keyframes rfqItemOut {
  to { opacity: 0; transform: translateX(16px); max-height: 0; padding: 0; margin: 0; border-width: 0; }
}
.rfq-item-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: rgba(255,255,255,0.85);
}
.rfq-item-icon svg { width: 22px; height: 22px; }
.rfq-item-info { flex: 1; min-width: 0; }
.rfq-item-vendor {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 3px;
}
.rfq-item-name {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.3;
  margin-bottom: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rfq-item-price {
  font-size: 11px;
  color: var(--text-muted);
  margin-bottom: 8px;
}
.rfq-item-controls { display: flex; align-items: center; gap: 8px; }

/* Quantity stepper */
.rfq-qty {
  display: flex;
  align-items: center;
  gap: 0;
  background: var(--surface-0);
  border: 1px solid var(--border-medium);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.rfq-qty-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  transition: background var(--transition), color var(--transition);
  line-height: 1;
}
.rfq-qty-btn:hover { background: var(--surface-2); color: var(--text-primary); }
.rfq-qty-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.rfq-qty-val {
  min-width: 28px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  padding: 0 2px;
  border-left: 1px solid var(--border-light);
  border-right: 1px solid var(--border-light);
  line-height: 28px;
}

/* Remove button */
.rfq-item-remove {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  color: var(--text-muted);
  cursor: pointer;
  transition: all var(--transition);
  flex-shrink: 0;
}
.rfq-item-remove:hover { background: rgba(239,68,68,0.08); border-color: rgba(239,68,68,0.30); color: #ef4444; }
.rfq-item-remove svg { width: 13px; height: 13px; }

/* Panel footer */
.rfq-panel-footer {
  padding: 16px 20px 20px;
  border-top: 1px solid var(--border-light);
  background: var(--surface-0);
  flex-shrink: 0;
}
.rfq-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 10px 14px;
  background: var(--surface-1);
  border-radius: var(--radius-md);
  border: 1px solid var(--border-light);
}
.rfq-summary-label { font-size: 13px; color: var(--text-secondary); font-weight: 500; }
.rfq-summary-count {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  color: var(--electric-500);
}
.rfq-panel-ctas { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.rfq-submit-btn { justify-content: center; }
.rfq-expert-btn { justify-content: center; }
.rfq-panel-note { font-size: 11px; color: var(--text-muted); text-align: center; line-height: 1.5; }

/* ── HOME PAGE: ADD-TO-RFQ ON PRODUCT CARDS ── */
body.home-page .prod-actions { display: flex; gap: 8px; }
body.home-page .prod-rfq-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 12px;
  background: var(--electric-50);
  color: var(--electric-500);
  border: 1px solid var(--electric-200);
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition);
  font-family: var(--font-body);
}
body.home-page .prod-rfq-btn:hover { background: var(--electric-500); color: #fff; border-color: var(--electric-500); }
body.home-page .prod-rfq-btn.added { background: var(--teal-500); color: #fff; border-color: var(--teal-500); cursor: default; }
body.home-page .prod-rfq-btn svg { width: 13px; height: 13px; flex-shrink: 0; }
body.home-page .prod-view-btn {
  padding: 9px 12px;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  font-size: 12px;
  color: var(--text-muted);
  cursor: pointer;
  transition: all var(--transition);
  background: transparent;
  font-family: var(--font-body);
}
body.home-page .prod-view-btn:hover { border-color: var(--border-medium); color: var(--text-primary); }

/* mp-card RFQ button enhancement */
body.home-page .mp-card-rfq,
.marketplace-page .mp-card-rfq {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  background: transparent;
  border: 1px solid var(--electric-200);
  color: var(--electric-500);
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  transition: all var(--transition);
  font-family: var(--font-body);
}
body.home-page .mp-card-rfq:hover,
.marketplace-page .mp-card-rfq:hover { background: var(--electric-500); color: #fff; border-color: var(--electric-500); }
body.home-page .mp-card-rfq.added,
.marketplace-page .mp-card-rfq.added { background: var(--teal-500); color: #fff; border-color: var(--teal-500); cursor: default; }

/* Card success pulse */
@keyframes rfqSuccessPulse {
  0%   { box-shadow: 0 0 0 0 rgba(0,191,165,0.5); }
  70%  { box-shadow: 0 0 0 10px rgba(0,191,165,0); }
  100% { box-shadow: 0 0 0 0 rgba(0,191,165,0); }
}
.rfq-success-pulse { animation: rfqSuccessPulse 0.5s ease-out; }


/* ═══════════════════════════════════════════════════════
   PHASE 3 — PRODUCT CARD & COMPARE EXPERIENCE
═══════════════════════════════════════════════════════ */

/* ── ENHANCED PRODUCT CARD ── */
.prod-card {
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.25s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.25s cubic-bezier(0.16,1,0.3,1),
              border-color 0.2s ease;
}
.prod-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(10,30,60,0.13), 0 4px 12px rgba(10,30,60,0.08);
  border-color: var(--electric-200);
}
.prod-card.in-compare {
  border-color: var(--electric-400);
  box-shadow: 0 0 0 2px rgba(0,102,255,0.18);
}

/* Card badges row */
.prod-card-badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  z-index: 2;
}
.prod-badge {
  padding: 3px 9px;
  border-radius: var(--radius-pill);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.4;
}
.badge-new      { background: rgba(0,191,165,0.12); color: var(--teal-500); border: 1px solid rgba(0,191,165,0.25); }
.badge-featured { background: rgba(0,102,255,0.10); color: var(--electric-500); border: 1px solid rgba(0,102,255,0.22); }
.badge-instock  { background: rgba(0,191,165,0.10); color: var(--teal-500); }
.badge-promo    { background: rgba(245,158,11,0.12); color: var(--amber-500); border: 1px solid rgba(245,158,11,0.25); }
.badge-recommended { background: rgba(139,92,246,0.12); color: #8b5cf6; border: 1px solid rgba(139,92,246,0.25); }
.badge-order    { background: rgba(100,116,139,0.10); color: #64748b; }
.badge-hot      { background: rgba(239,68,68,0.10); color: #ef4444; border: 1px solid rgba(239,68,68,0.22); }
.badge-sale     { background: rgba(245,158,11,0.12); color: var(--amber-500); }

/* Compare checkbox */
.compare-check-wrap {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
}
.compare-check {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 1.5px solid var(--border-medium);
  border-radius: 5px;
  background: rgba(255,255,255,0.9);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition);
  position: relative;
  backdrop-filter: blur(4px);
}
.compare-check::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: 0;
  transition: opacity var(--transition);
}
.compare-check:checked {
  background: var(--electric-500);
  border-color: var(--electric-500);
}
.compare-check:checked::after { opacity: 1; }
.compare-check:hover:not(:checked) {
  border-color: var(--electric-400);
  background: var(--electric-50);
}

/* Product image area */
.prod-card-img {
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.prod-card-img-inner {
  width: 88px;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
.prod-card:hover .prod-card-img-inner { transform: scale(1.08); }

/* Vendor logo strip */
.prod-card-vendor-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px 0;
}
.prod-card-vendor-name {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.prod-certified-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  background: rgba(0,191,165,0.08);
  border: 1px solid rgba(0,191,165,0.20);
  border-radius: var(--radius-pill);
  font-size: 9px;
  font-weight: 700;
  color: var(--teal-500);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.prod-certified-badge svg { width: 9px; height: 9px; }

/* Availability indicator */
.prod-avail-dot {
  position: absolute;
  bottom: 8px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 600;
  color: var(--teal-500);
  background: rgba(0,191,165,0.10);
  padding: 2px 8px;
  border-radius: var(--radius-pill);
}
.prod-avail-dot::before {
  content: '';
  width: 6px;
  height: 6px;
  background: var(--teal-500);
  border-radius: 50%;
  animation: pulse-dot 2s ease-in-out infinite;
}
.prod-avail-dot.order {
  color: #64748b;
  background: rgba(100,116,139,0.08);
}
.prod-avail-dot.order::before {
  background: #94a3b8;
  animation: none;
}

/* Card body */
.prod-card-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0;
}
.prod-card-vendor { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.prod-card-name {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
  margin-bottom: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.prod-card-desc {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.5;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Specs grid */
.prod-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 8px;
  margin-bottom: 10px;
  padding: 8px 10px;
  background: var(--surface-1);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-light);
}
.prod-spec {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.prod-spec-key {
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  line-height: 1.2;
}
.prod-spec-val {
  font-family: var(--font-display);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Tags */
.prod-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 12px;
}
.prod-tag {
  padding: 2px 8px;
  background: var(--surface-2);
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 500;
  color: var(--text-muted);
  white-space: nowrap;
}

/* Card actions */
.prod-card-actions {
  display: flex;
  gap: 7px;
  margin-top: auto;
}
.btn-rfq {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 14px;
  background: var(--electric-50);
  color: var(--electric-500);
  border: 1px solid var(--electric-200);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
}
.btn-rfq:hover:not(:disabled) {
  background: var(--electric-500);
  color: #fff;
  border-color: var(--electric-500);
  transform: translateY(-1px);
}
.btn-rfq.added {
  background: var(--teal-500);
  color: #fff;
  border-color: var(--teal-500);
  cursor: default;
}
.btn-rfq svg { width: 13px; height: 13px; flex-shrink: 0; }

.btn-view-details, .btn-quickview {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  color: var(--text-muted);
  cursor: pointer;
  transition: all var(--transition);
  flex-shrink: 0;
}
.btn-view-details:hover, .btn-quickview:hover {
  background: var(--surface-1);
  border-color: var(--border-medium);
  color: var(--text-primary);
}
.btn-view-details svg, .btn-quickview svg { width: 14px; height: 14px; }

/* List view overrides */
.product-grid.list-view .prod-card {
  flex-direction: row;
  align-items: stretch;
}
.product-grid.list-view .compare-check-wrap { top: 14px; right: 14px; }
.product-grid.list-view .prod-card-badges { top: 14px; left: 14px; }
.product-grid.list-view .prod-card-img { width: 160px; height: auto; flex-shrink: 0; }
.product-grid.list-view .prod-card-body { flex-direction: row; align-items: flex-start; flex: 1; gap: 16px; padding: 16px; }
.product-grid.list-view .prod-card-vendor-strip { display: none; }
.product-grid.list-view .prod-card-name { font-size: 15px; -webkit-line-clamp: 1; }
.product-grid.list-view .prod-card-desc { -webkit-line-clamp: 2; }
.product-grid.list-view .prod-specs { grid-template-columns: repeat(4,1fr); min-width: 240px; }
.product-grid.list-view .prod-card-actions { flex-direction: column; min-width: 140px; margin-top: 0; }
.product-grid.list-view .btn-view-details { width: auto; padding: 9px 12px; }

/* ── COMPARE DRAWER (sticky bar) ── */
.compare-drawer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 900;
  background: var(--navy-900);
  border-top: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 -8px 32px rgba(0,0,0,0.30);
  padding: 14px 0;
  animation: compareBarIn 0.3s cubic-bezier(0.16,1,0.3,1);
}
.compare-drawer[hidden] { display: none !important; }
@keyframes compareBarIn { from { transform: translateY(100%); } to { transform: translateY(0); } }

.compare-drawer-inner {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 48px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
@media(max-width:768px) { .compare-drawer-inner { padding: 0 20px; } }

.compare-drawer-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--navy-300);
  white-space: nowrap;
  flex-shrink: 0;
}
.compare-slots {
  display: flex;
  gap: 8px;
  flex: 1;
  flex-wrap: wrap;
}
.compare-slot {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: rgba(255,255,255,0.06);
  border: 1px dashed rgba(255,255,255,0.15);
  border-radius: var(--radius-md);
  font-size: 12px;
  color: var(--navy-400);
  min-width: 130px;
  flex: 1;
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all var(--transition);
}
.compare-slot.filled {
  background: rgba(0,102,255,0.12);
  border-color: rgba(0,102,255,0.30);
  border-style: solid;
  color: var(--electric-200);
}
.compare-slot.filled::before {
  content: '';
  width: 6px;
  height: 6px;
  background: var(--electric-400);
  border-radius: 50%;
  flex-shrink: 0;
}
.compare-drawer-actions { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
.btn-ghost-sm {
  font-size: 12px;
  font-weight: 500;
  color: var(--navy-400);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  transition: color var(--transition);
  font-family: var(--font-body);
}
.btn-ghost-sm:hover { color: #fff; }

/* ── COMPARE MODAL ── */
.compare-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(7,15,28,0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: fadeIn 0.2s ease;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.compare-modal {
  background: var(--surface-0);
  border-radius: var(--radius-xl);
  box-shadow: 0 32px 80px rgba(0,0,0,0.45);
  width: 100%;
  max-width: 1100px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: modalIn 0.3s cubic-bezier(0.16,1,0.3,1);
}
@keyframes modalIn { from { opacity:0; transform:scale(0.95) translateY(12px); } to { opacity:1; transform:scale(1) translateY(0); } }

.compare-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-light);
  background: var(--navy-900);
  flex-shrink: 0;
}
.compare-modal-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: #fff;
}
.compare-modal-title svg { color: var(--electric-300); }
.compare-modal-count {
  font-size: 11px;
  font-weight: 600;
  color: var(--electric-300);
  background: rgba(0,102,255,0.18);
  padding: 2px 9px;
  border-radius: var(--radius-pill);
}
.compare-modal-close {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-md);
  color: var(--navy-200);
  cursor: pointer;
  transition: all var(--transition);
}
.compare-modal-close:hover { background: rgba(255,255,255,0.14); color: #fff; }

.compare-modal-body {
  flex: 1;
  overflow: auto;
  padding: 0;
}
.compare-table-wrap { overflow-x: auto; min-width: 100%; }

.compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.compare-table th, .compare-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--border-light);
  vertical-align: top;
}
.compare-table thead th {
  background: var(--surface-1);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  color: var(--text-primary);
  position: sticky;
  top: 0;
  z-index: 1;
  white-space: nowrap;
}
.compare-table thead th:first-child {
  background: var(--navy-900);
  color: var(--navy-300);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  width: 140px;
  min-width: 140px;
}
.compare-table thead .cmp-product-header {
  text-align: center;
  min-width: 200px;
}
.cmp-product-img {
  width: 60px;
  height: 60px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8px;
}
.cmp-product-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
  text-align: center;
  margin-bottom: 4px;
}
.cmp-product-vendor {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-align: center;
  margin-bottom: 10px;
}
.cmp-add-rfq {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px 14px;
  background: var(--electric-50);
  color: var(--electric-500);
  border: 1px solid var(--electric-200);
  border-radius: var(--radius-sm);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition);
  margin: 0 auto;
  font-family: var(--font-body);
  white-space: nowrap;
}
.cmp-add-rfq:hover { background: var(--electric-500); color: #fff; border-color: var(--electric-500); }
.cmp-add-rfq.added { background: var(--teal-500); color: #fff; border-color: var(--teal-500); cursor: default; }

.compare-table tbody tr:hover td { background: var(--surface-1); }
.compare-table .cmp-row-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: var(--surface-1);
  white-space: nowrap;
}
.compare-table td.cmp-val { text-align: center; color: var(--text-primary); font-size: 13px; }
.compare-table td.cmp-avail-yes { color: var(--teal-500); font-weight: 600; }
.compare-table td.cmp-avail-no  { color: #64748b; }
.compare-table .cmp-section-header td {
  background: var(--navy-900);
  color: var(--navy-300);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 8px 16px;
}
.compare-table .cmp-highlight td { background: rgba(0,102,255,0.03); }

.compare-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 24px;
  border-top: 1px solid var(--border-light);
  background: var(--surface-1);
  flex-shrink: 0;
  flex-wrap: wrap;
  gap: 12px;
}
.compare-modal-note { font-size: 12px; color: var(--text-muted); }

/* ── QUICK VIEW MODAL ── */
.quickview-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(7,15,28,0.70);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: fadeIn 0.2s ease;
}
.quickview-modal {
  background: var(--surface-0);
  border-radius: var(--radius-xl);
  box-shadow: 0 32px 80px rgba(0,0,0,0.40);
  width: 100%;
  max-width: 680px;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  animation: modalIn 0.3s cubic-bezier(0.16,1,0.3,1);
}
.quickview-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.9);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  color: var(--text-primary);
  cursor: pointer;
  z-index: 1;
  transition: all var(--transition);
  backdrop-filter: blur(4px);
}
.quickview-close:hover { background: #fff; box-shadow: var(--shadow-sm); }
.quickview-body { padding: 28px; }
.qv-header { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 20px; }
.qv-img {
  width: 100px;
  height: 100px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.qv-titles { flex: 1; }
.qv-vendor { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.qv-name { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: var(--text-primary); line-height: 1.25; margin-bottom: 8px; }
.qv-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.qv-desc { font-size: 14px; color: var(--text-secondary); line-height: 1.65; margin-bottom: 20px; }
.qv-specs-title { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; }
.qv-specs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 20px; }
.qv-spec { padding: 10px 12px; background: var(--surface-1); border-radius: var(--radius-md); border: 1px solid var(--border-light); }
.qv-spec-key { font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 3px; }
.qv-spec-val { font-family: var(--font-display); font-size: 13px; font-weight: 600; color: var(--text-primary); }
.qv-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 20px; }
.qv-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.qv-avail {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 16px;
}
.qv-avail.instock { background: rgba(0,191,165,0.10); color: var(--teal-500); }
.qv-avail.order   { background: rgba(100,116,139,0.10); color: #64748b; }
.qv-avail::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

/* Empty state */
.prod-empty {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 64px 24px;
  gap: 12px;
}
.prod-empty-icon {
  width: 64px;
  height: 64px;
  background: var(--surface-2);
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  margin-bottom: 4px;
}
.prod-empty-title { font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--text-primary); }
.prod-empty-sub { font-size: 14px; color: var(--text-muted); max-width: 400px; }


/* ═══════════════════════════════════════════════════════
   PHASE 4 — SEARCH & DISCOVERY
═══════════════════════════════════════════════════════ */

/* ── KEYWORD HIGHLIGHT ── */
mark.search-highlight {
  background: rgba(245,158,11,0.22);
  color: var(--amber-500);
  border-radius: 2px;
  padding: 0 1px;
  font-weight: 700;
}

/* ── DISCOVERY SECTIONS ── */
.discovery-sections {
  margin-bottom: 24px;
}
.disc-block {
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: 16px;
  margin-bottom: 12px;
}
.disc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.disc-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  gap: 6px;
}
.disc-title svg { flex-shrink: 0; }
.disc-count {
  font-size: 11px;
  color: var(--text-muted);
  background: var(--surface-2);
  padding: 2px 8px;
  border-radius: var(--radius-pill);
}
.disc-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.disc-pill {
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 500;
  background: var(--surface-2);
  color: var(--text-secondary);
  border: 1px solid var(--border-light);
  cursor: pointer;
  transition: all var(--transition);
  font-family: var(--font-body);
}
.disc-pill:hover { background: var(--electric-50); color: var(--electric-500); border-color: var(--electric-200); }
.disc-pill.active { background: var(--electric-500); color: #fff; border-color: var(--electric-500); }

.disc-chips { display: flex; flex-direction: column; gap: 6px; }
.disc-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  background: var(--surface-1);
  border: 1px solid var(--border-light);
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
  transition: all var(--transition);
  text-align: left;
  font-family: var(--font-body);
}
.disc-chip:hover { background: var(--electric-50); border-color: var(--electric-200); color: var(--electric-500); }
.disc-chip-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.disc-chip-name { flex: 1; }
.disc-chip-badge {
  padding: 1px 6px;
  background: var(--teal-50);
  color: var(--teal-500);
  border-radius: var(--radius-pill);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.disc-chip--new .disc-chip-dot { animation: pulse-dot 2s ease-in-out infinite; }

.disc-cat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.disc-cat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 12px 8px;
  border-radius: var(--radius-md);
  background: var(--surface-1);
  border: 1px solid var(--border-light);
  cursor: pointer;
  transition: all var(--transition);
  font-family: var(--font-body);
}
.disc-cat-card:hover {
  background: var(--cat-bg, var(--electric-50));
  border-color: var(--cat-c, var(--electric-200));
  transform: translateY(-2px);
}
.disc-cat-icon {
  width: 36px; height: 36px;
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  background: var(--cat-bg, rgba(0,102,255,0.10));
  color: var(--cat-c, var(--electric-500));
}
.disc-cat-name { font-size: 12px; font-weight: 600; color: var(--text-primary); }
.disc-cat-count { font-size: 10px; color: var(--text-muted); }

/* No-results recommendation label */
.prod-recs-label {
  grid-column: 1/-1;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 8px 0 4px;
  border-top: 1px solid var(--border-light);
  margin-top: 4px;
}

/* ── GLOBAL SEARCH OVERLAY ── */
.gsearch-overlay {
  position: fixed;
  inset: 0;
  z-index: 3000;
  background: rgba(7,15,28,0.70);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 80px 24px 24px;
  animation: fadeIn 0.15s ease;
}
.gsearch-modal {
  background: var(--surface-0);
  border-radius: var(--radius-xl);
  box-shadow: 0 32px 80px rgba(0,0,0,0.40);
  width: 100%;
  max-width: 680px;
  overflow: hidden;
  animation: modalIn 0.2s cubic-bezier(0.16,1,0.3,1);
}
.gsearch-input-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--border-light);
}
.gsearch-icon { color: var(--text-muted); flex-shrink: 0; }
.gsearch-input {
  flex: 1;
  border: none;
  outline: none;
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: 400;
  color: var(--text-primary);
  background: transparent;
}
.gsearch-input::placeholder { color: var(--text-muted); }
.gsearch-esc {
  padding: 3px 7px;
  background: var(--surface-2);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  font-family: var(--font-body);
  cursor: pointer;
  flex-shrink: 0;
}
.gsearch-body {
  max-height: 480px;
  overflow-y: auto;
  padding: 8px 0 16px;
  scrollbar-width: thin;
}
.gs-section { padding: 12px 20px 4px; }
.gs-section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.gs-section-title { font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--text-muted); }
.gs-section-count { font-size: 11px; color: var(--text-muted); }
.gs-clear-recent { font-size: 11px; color: var(--electric-500); background: none; border: none; cursor: pointer; font-family: var(--font-body); }
.gs-clear-recent:hover { text-decoration: underline; }

.gs-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gs-chip {
  padding: 5px 12px;
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition);
  font-family: var(--font-body);
  border: none;
}
.gs-chip--recent { background: var(--surface-2); color: var(--text-secondary); display: flex; align-items: center; gap: 5px; }
.gs-chip--popular { background: var(--electric-50); color: var(--electric-500); border: 1px solid var(--electric-100); }
.gs-chip:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); }

.gs-suggestions { display: flex; flex-direction: column; gap: 2px; }
.gs-suggestion {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: var(--radius-md);
  text-decoration: none;
  color: var(--text-primary);
  transition: background var(--transition);
  font-size: 13px;
}
.gs-suggestion:hover { background: var(--surface-1); }
.gs-suggestion-icon {
  width: 28px; height: 28px;
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.gs-icon--cat   { background: rgba(0,102,255,0.10); color: var(--electric-500); }
.gs-icon--brand { background: rgba(0,191,165,0.10); color: var(--teal-500); }
.gs-arrow { color: var(--text-muted); margin-left: auto; flex-shrink: 0; }
.gs-type-pill {
  margin-left: auto;
  padding: 2px 7px;
  background: var(--surface-2);
  border-radius: var(--radius-pill);
  font-size: 9.5px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.gs-products { display: flex; flex-direction: column; gap: 2px; }
.gs-product {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border-radius: var(--radius-md);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background var(--transition);
  font-family: var(--font-body);
}
.gs-product:hover { background: var(--surface-1); }
.gs-product-img {
  width: 40px; height: 40px;
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.gs-product-info { flex: 1; min-width: 0; }
.gs-product-vendor { font-size: 10px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 2px; }
.gs-product-name { font-size: 13px; font-weight: 600; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-product-avail { font-size: 10px; font-weight: 600; flex-shrink: 0; padding: 2px 7px; border-radius: var(--radius-pill); }
.avail-yes { background: rgba(0,191,165,0.10); color: var(--teal-500); }
.avail-no  { background: rgba(100,116,139,0.08); color: #64748b; }

.gs-view-all {
  display: block;
  text-align: center;
  margin: 12px 12px 0;
  padding: 10px;
  background: var(--electric-50);
  color: var(--electric-500);
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all var(--transition);
}
.gs-view-all:hover { background: var(--electric-500); color: #fff; }

.gs-no-results {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 32px 20px;
  gap: 8px;
  color: var(--text-muted);
}
.gs-no-results-title { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--text-primary); margin-top: 4px; }
.gs-no-results-sub { font-size: 13px; color: var(--text-muted); }

/* Search trigger button in toolbar */
.gsearch-trigger-btn {
  width: 24px; height: 24px;
  display: flex; align-items: center; justify-content: center;
  background: none; border: none; cursor: pointer;
  color: var(--text-muted);
  border-left: 1px solid var(--border-light);
  padding-left: 8px;
  transition: color var(--transition);
  flex-shrink: 0;
}
.gsearch-trigger-btn:hover { color: var(--electric-500); }

/* Ctrl+K shortcut hint */
.toolbar-search { position: relative; }
.toolbar-search input:focus ~ .gsearch-trigger-btn { color: var(--electric-400); }


/* ═══════════════════════════════════════════════════════
   PHASE 5 — VENDOR ECOSYSTEM, SOLUTION FINDER, INDUSTRY HUB, ENTERPRISE FORMS
═══════════════════════════════════════════════════════ */

/* ── VENDOR ECOSYSTEM HUB ── */
#vendor-hub { padding: 96px 0; background: var(--surface-1); }
.vendor-hub-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; flex-wrap: wrap; gap: 20px; }
.vendor-hub-filter { display: flex; gap: 6px; flex-wrap: wrap; }
.vhf-btn { padding: 7px 16px; border-radius: var(--radius-pill); font-size: 12px; font-weight: 600; background: var(--surface-0); border: 1px solid var(--border-light); color: var(--text-muted); cursor: pointer; transition: all var(--transition); font-family: var(--font-body); }
.vhf-btn:hover { color: var(--text-primary); border-color: var(--border-medium); }
.vhf-btn.active { background: var(--electric-500); color: #fff; border-color: var(--electric-500); }

.vendor-hub-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
@media(max-width:1100px){.vendor-hub-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px) {.vendor-hub-grid{grid-template-columns:1fr;}}

.vh-card {
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: 24px;
  display: flex; flex-direction: column; gap: 14px;
  transition: all 0.25s cubic-bezier(0.16,1,0.3,1);
  position: relative; overflow: hidden;
}
.vh-card::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background: var(--v-color, var(--electric-500));
  border-radius: 3px 0 0 3px;
  transition: width var(--transition);
}
.vh-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: rgba(0,0,0,0.10); }
.vh-card:hover::before { width:4px; }
.vh-card-top { display: flex; align-items: center; gap: 12px; }
.vh-logo { width:50px; height:50px; border-radius:var(--radius-md); display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--transition); }
.vh-card:hover .vh-logo { transform: scale(1.08); }
.vh-name { font-family:var(--font-display); font-size:17px; font-weight:700; color:var(--text-primary); margin-bottom:4px; }
.vh-tier { display:inline-flex;align-items:center;gap:4px;padding:2px 9px;background:rgba(0,102,255,.08);color:var(--electric-500);border-radius:var(--radius-pill);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase; }
.vh-cert { display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--teal-500);font-weight:500; }
.vh-cert svg { flex-shrink:0; }
.vh-specialties { display:flex;flex-wrap:wrap;gap:5px; }
.vh-tag { padding:3px 9px;background:var(--surface-2);border-radius:var(--radius-pill);font-size:10.5px;color:var(--text-muted);font-weight:500; }
.vh-tag--more { background:rgba(0,102,255,.08);color:var(--electric-500); }
.vh-footer { display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border-light);margin-top:auto; }
.vh-count { font-size:11px;color:var(--text-muted); }
.vh-link { font-size:12px;font-weight:600;color:var(--electric-500);transition:gap var(--transition); }
.vh-link:hover { text-decoration:underline; }

/* ── SOLUTION FINDER ── */
#solution-finder { background: var(--navy-900); padding: 96px 0; }
.sf-wrapper { position: relative; }
.sf-header { margin-bottom: 40px; }
.sf-headline { font-family:var(--font-display);font-size:clamp(28px,3.5vw,44px);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:#fff;margin-bottom:14px; }
.sf-sub { font-size:16px;color:var(--navy-200);line-height:1.65;max-width:560px; }

.sf-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-xl);
  max-width: 680px;
  overflow: hidden;
}
.sf-progress-bar { height:3px;background:rgba(255,255,255,0.10); }
.sf-progress-fill { height:100%;background:linear-gradient(90deg,var(--electric-400),var(--teal-400));transition:width 0.4s ease; }

.sf-steps, .sf-results { padding: 28px; }
.sf-step-header { margin-bottom: 20px; }
.sf-step-num { font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-400);margin-bottom:8px; }
.sf-step-question { font-family:var(--font-display);font-size:20px;font-weight:700;color:#fff;line-height:1.3; }

.sf-options { display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:24px; }
@media(max-width:600px){.sf-options{grid-template-columns:1fr;}}
.sf-option {
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);
  border-radius:var(--radius-md);
  cursor:pointer;text-align:left;color:var(--navy-100);
  transition:all var(--transition);font-family:var(--font-body);
  position:relative;
}
.sf-option:hover { background:rgba(0,102,255,0.15);border-color:rgba(0,102,255,0.30); }
.sf-option.selected { background:rgba(0,102,255,0.18);border-color:var(--electric-400);color:#fff; }
.sf-option-icon { font-size:18px;flex-shrink:0; }
.sf-option-label { font-size:13px;font-weight:500;flex:1; }
.sf-check { color:var(--electric-300);opacity:0;flex-shrink:0;transition:opacity var(--transition); }
.sf-option.selected .sf-check { opacity:1; }

.sf-nav { display:flex;align-items:center;justify-content:space-between; }
.sf-back-btn { color:var(--navy-300);background:none;border:none;cursor:pointer;font-size:13px;font-family:var(--font-body);padding:8px 0;transition:color var(--transition); }
.sf-back-btn:hover { color:#fff; }
.sf-next-btn { padding:11px 24px;background:var(--electric-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition);font-family:var(--font-body); }
.sf-next-btn:hover { background:var(--electric-600); }
.sf-next-btn.disabled { opacity:0.45;cursor:not-allowed; }

/* Results */
.sf-results-header { display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,0.08); }
.sf-results-title { font-family:var(--font-display);font-size:18px;font-weight:700;color:#fff;margin-bottom:4px; }
.sf-results-sub { font-size:13px;color:var(--navy-300); }
.sf-rec-block { margin-bottom:16px; }
.sf-rec-label { font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-400);margin-bottom:8px; }
.sf-rec-items { display:flex;flex-direction:column;gap:6px; }
.sf-rec-item { display:flex;align-items:center;gap:8px;font-size:13px;color:var(--navy-100); }
.sf-rec-vendors { display:flex;flex-wrap:wrap;gap:6px; }
.sf-rec-vendor { padding:4px 12px;background:rgba(0,102,255,0.12);color:var(--electric-300);border:1px solid rgba(0,102,255,0.22);border-radius:var(--radius-pill);font-size:12px;font-weight:600; }
.sf-results-actions { display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.08); }
.btn-teal { background:var(--teal-500);color:#fff;border:none;box-shadow:0 4px 16px rgba(0,191,165,0.25); }
.btn-teal:hover { background:var(--teal-400);transform:translateY(-1px); }

/* ── INDUSTRY SOLUTIONS HUB ── */
#industry-solutions { padding: 96px 0; background: var(--surface-0); }
.is-header { margin-bottom: 40px; }
.is-tabs { display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:var(--radius-lg);margin-bottom:24px;overflow-x:auto;scrollbar-width:none;flex-wrap:wrap; }
.is-tabs::-webkit-scrollbar{display:none;}
.is-tab { display:flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;background:transparent;border:none;transition:all var(--transition);white-space:nowrap;font-family:var(--font-body); }
.is-tab:hover { color:var(--text-primary);background:rgba(255,255,255,0.6); }
.is-tab.active { background:var(--surface-0);color:var(--electric-500);box-shadow:var(--shadow-sm); }
.is-tab-icon { font-size:16px; }
.is-tab-label { font-weight:600; }
.is-panel { display:grid;grid-template-columns:1.4fr 1fr;gap:48px;padding:36px;background:var(--surface-0);border:1px solid var(--border-light);border-radius:var(--radius-xl); }
@media(max-width:900px){.is-panel{grid-template-columns:1fr;gap:28px;}}
.is-panel-headline { font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:10px;line-height:1.3; }
.is-panel-desc { font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:20px; }
.is-solutions-label { font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px; }
.is-solutions { display:flex;flex-direction:column;gap:8px; }
.is-solution-item { display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-primary); }
.is-block-label { font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px; }
.is-tech-block,.is-vendor-block,.is-case-stub { margin-bottom:20px; }
.is-tech-list { display:flex;flex-direction:column;gap:6px; }
.is-tech-item { padding:7px 12px;background:var(--surface-1);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;color:var(--text-primary); }
.is-vendor-chips { display:flex;flex-wrap:wrap;gap:6px; }
.is-vendor-chip { padding:5px 14px;background:var(--electric-50);color:var(--electric-500);border:1px solid var(--electric-100);border-radius:var(--radius-pill);font-size:12px;font-weight:600;text-decoration:none;transition:all var(--transition); }
.is-vendor-chip:hover { background:var(--electric-500);color:#fff;border-color:var(--electric-500); }
.is-case-stub { padding:16px;background:linear-gradient(135deg,rgba(0,102,255,0.06),rgba(0,191,165,0.04));border:1px solid rgba(0,102,255,0.12);border-radius:var(--radius-lg); }
.is-case-label { font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--electric-500);margin-bottom:6px; }
.is-case-title { font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.4;margin-bottom:8px; }
.is-case-link { font-size:12px;font-weight:600;color:var(--electric-500); }

/* ── ENTERPRISE CTA UPGRADED ── */
body.home-page #cta { padding: 96px 0; background: var(--navy-900); position: relative; overflow: hidden; }
.cta-enterprise-inner { display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start; }
@media(max-width:1000px){.cta-enterprise-inner{grid-template-columns:1fr;gap:40px;}}
.cta-left { color:#fff; }
.cta-left .cta-headline { color:#fff; }
.cta-left .cta-sub { color:var(--navy-200); }
.cta-lead-options { display:flex;flex-direction:column;gap:8px;margin-top:24px; }
.cta-lead-btn {
  display:flex;align-items:center;gap:12px;padding:14px 16px;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);
  border-radius:var(--radius-lg);cursor:pointer;text-align:left;color:#fff;
  transition:all var(--transition);font-family:var(--font-body);width:100%;
}
.cta-lead-btn:hover { background:rgba(255,255,255,0.10);border-color:rgba(255,255,255,0.20);transform:translateX(4px); }
.cta-lead-btn.active { background:rgba(0,102,255,0.15);border-color:rgba(0,102,255,0.35); }
.cta-lead-icon { width:38px;height:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.cta-lead-title { font-size:14px;font-weight:700;color:#fff;line-height:1.2;margin-bottom:2px; }
.cta-lead-desc { font-size:11.5px;color:var(--navy-300); }
.cta-lead-arrow { color:var(--navy-400);margin-left:auto;flex-shrink:0;transition:transform var(--transition); }
.cta-lead-btn:hover .cta-lead-arrow,.cta-lead-btn.active .cta-lead-arrow { transform:translateX(4px);color:var(--electric-300); }

/* Enterprise Form Card */
.enterprise-form-card {
  background: var(--surface-0);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,0.35);
}
.ef-header { padding:24px 24px 16px;border-bottom:1px solid var(--border-light);background:var(--surface-1); }
.ef-badge { display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px; }
.ef-title { font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:3px; }
.ef-subtitle { font-size:12px;color:var(--text-muted); }
.ef-progress { padding:16px 24px 0;display:flex;align-items:center;justify-content:space-between; }
.ef-progress-steps { display:flex;gap:6px; }
.ef-step-dot { width:8px;height:8px;border-radius:50%;background:var(--border-medium);transition:all var(--transition); }
.ef-step-dot.done,.ef-step-dot.active { background:var(--electric-500); }
.ef-step-dot.active { box-shadow:0 0 0 3px rgba(0,102,255,0.20); }
.ef-step-label { font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em; }
.ef-body { padding:16px 24px; }
.ef-field { margin-bottom:14px; }
.ef-label { display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:5px; }
.ef-req { color:var(--electric-500);margin-left:2px; }
.ef-input,.ef-select,.ef-textarea {
  width:100%;padding:10px 12px;
  background:var(--surface-1);border:1px solid var(--border-medium);border-radius:var(--radius-md);
  font-family:var(--font-body);font-size:13px;color:var(--text-primary);
  transition:border-color var(--transition),box-shadow var(--transition);
  outline:none;
}
.ef-input:focus,.ef-select:focus,.ef-textarea:focus { border-color:var(--electric-400);box-shadow:0 0 0 3px rgba(0,102,255,0.10); }
.ef-textarea { resize:vertical;min-height:80px; }
.ef-footer { display:flex;align-items:center;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--border-light); }
.ef-btn-back { padding:10px 16px;background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:13px;color:var(--text-muted);cursor:pointer;font-family:var(--font-body);transition:all var(--transition); }
.ef-btn-back:hover { border-color:var(--border-medium);color:var(--text-primary); }
.ef-summary { padding:4px 0; }
.ef-summary-check { width:44px;height:44px;background:var(--teal-50);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:10px; }
.ef-summary-note { font-size:12px;color:var(--text-muted);margin-bottom:12px; }
.ef-summary-rows { display:flex;flex-direction:column;gap:6px; }
.ef-summary-row { display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border-light);font-size:12px; }
.ef-summary-key { color:var(--text-muted);text-transform:capitalize;flex-shrink:0; }
.ef-summary-val { color:var(--text-primary);font-weight:500;text-align:right; }
.ef-success { display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 24px;gap:12px; }
.ef-success-icon { width:60px;height:60px;background:var(--teal-50);border-radius:50%;display:flex;align-items:center;justify-content:center; }
.ef-success-title { font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--text-primary); }
.ef-success-desc { font-size:13px;color:var(--text-secondary);line-height:1.6;max-width:320px; }
.ef-success-actions { display:flex;gap:10px;flex-wrap:wrap;justify-content:center; }
.ef-summary-empty { font-size:13px;color:var(--text-muted);padding:12px 0; }

/* ── RELATED PRODUCTS CONTEXTUAL CTA ── */
.related-products-block { margin-top: 28px; }
.rp-inner { display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;background:var(--surface-1);border:1px solid var(--border-light);border-radius:var(--radius-lg); }
.rp-label { font-size:12px;font-weight:600;color:var(--text-muted); }
.rp-chip { padding:5px 14px;background:var(--electric-50);color:var(--electric-500);border:1px solid var(--electric-100);border-radius:var(--radius-pill);font-size:12px;font-weight:600;text-decoration:none;transition:all var(--transition); }
.rp-chip:hover { background:var(--electric-500);color:#fff;border-color:var(--electric-500); }
.rp-chip:last-child { background:var(--surface-0);color:var(--text-muted);border-color:var(--border-medium); }
.rp-chip:last-child:hover { background:var(--text-primary);color:#fff;border-color:var(--text-primary); }


/* ═══════════════════════════════════════════════════════
   PHASE 6 — KNOWLEDGE HUB, RESEARCH CENTER & THOUGHT LEADERSHIP
═══════════════════════════════════════════════════════ */

/* ── SHARED KNOWLEDGE HUB UTILS ── */
.kh-type-pill   { display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:var(--radius-pill);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase; }
.kh-cat-pill    { padding:2px 9px;background:var(--surface-2);color:var(--text-muted);border-radius:var(--radius-pill);font-size:10px;font-weight:600;letter-spacing:.04em; }
.kh-gated-pill  { display:inline-flex;align-items:center;gap:3px;padding:2px 8px;background:rgba(245,158,11,0.10);color:var(--amber-500);border-radius:var(--radius-pill);font-size:10px;font-weight:700; }
.kh-tag         { padding:2px 9px;background:var(--surface-2);border-radius:var(--radius-pill);font-size:10.5px;color:var(--text-muted);font-weight:500; }
.kh-avatar      { width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0; }
.kh-meta-item   { display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted); }
.kh-meta-item svg { flex-shrink:0; }
.kh-meta-author { display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);font-weight:500; }
.kh-block-label { font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px; }
.kh-section-header { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:16px; }

/* ── TYPE FILTER ── */
.kh-type-filter { display:flex;gap:6px;flex-wrap:wrap; }
.kh-filter-btn { padding:7px 16px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;background:var(--surface-0);border:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;transition:all var(--transition);font-family:var(--font-body); }
.kh-filter-btn:hover { color:var(--text-primary);border-color:var(--border-medium); }
.kh-filter-btn.active { background:var(--electric-500);color:#fff;border-color:var(--electric-500); }

/* ── FEATURED SECTION ── */
.kh-featured-section { background:var(--surface-1);padding:80px 0; }

.kh-featured-grid { display:grid;grid-template-columns:1.5fr 1fr;gap:20px; }
@media(max-width:1000px){ .kh-featured-grid{grid-template-columns:1fr;} }

.kh-hero-card { display:flex;flex-direction:column;background:var(--surface-0);border:1px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:box-shadow var(--transition),transform var(--transition); }
.kh-hero-card:hover { transform:translateY(-3px);box-shadow:var(--shadow-lg); }
.kh-hero-img { height:180px;display:flex;align-items:center;justify-content:center;position:relative; }
.kh-hero-icon { opacity:0.9; }
.kh-hero-body { padding:24px;display:flex;flex-direction:column;gap:12px;flex:1; }
.kh-hero-badges { display:flex;flex-wrap:wrap;gap:6px; }
.kh-hero-title { font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.3; }
.kh-hero-excerpt { font-size:14px;color:var(--text-secondary);line-height:1.65; }
.kh-hero-meta { display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border-light); }
.kh-hero-actions { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.kh-tags { display:flex;gap:5px;flex-wrap:wrap; }

.kh-cards-column { display:flex;flex-direction:column;gap:10px; }
.kh-content-card { display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--surface-0);border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition); }
.kh-content-card:hover { box-shadow:var(--shadow-md);border-color:var(--electric-200);transform:translateX(3px); }
.kh-card-icon { width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.kh-card-body { flex:1;min-width:0; }
.kh-card-badges { display:flex;gap:5px;margin-bottom:6px;flex-wrap:wrap; }
.kh-card-title { font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.35;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.kh-card-meta { font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:4px; }
.kh-dl-btn { width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--surface-1);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:all var(--transition); }
.kh-dl-btn:hover { background:var(--electric-50);border-color:var(--electric-200);color:var(--electric-500); }
.kh-see-all-btn { display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;border:1px dashed var(--border-light);border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--electric-500);background:transparent;cursor:pointer;transition:all var(--transition);text-decoration:none;font-family:var(--font-body); }
.kh-see-all-btn:hover { background:var(--electric-50);border-color:var(--electric-200); }

/* ── RESEARCH CENTER ── */
.kh-research-section { background:var(--navy-900);padding:80px 0; }
.kh-research-header { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;flex-wrap:wrap;gap:16px; }
.kh-research-cats { display:flex;gap:6px;flex-wrap:wrap; }
.kh-rcat { padding:6px 14px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:600;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.10);color:var(--navy-200);cursor:pointer;transition:all var(--transition);font-family:var(--font-body); }
.kh-rcat:hover { background:rgba(255,255,255,0.12);color:#fff; }
.kh-rcat.active { background:var(--electric-500);color:#fff;border-color:var(--electric-500); }

.kh-research-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:18px; }
@media(max-width:1100px){ .kh-research-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px)  { .kh-research-grid{grid-template-columns:1fr;} }
.kh-research-card { background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);border-radius:var(--radius-xl);padding:22px;display:flex;flex-direction:column;gap:10px;transition:all var(--transition); }
.kh-research-card:hover { background:rgba(255,255,255,0.09);border-color:rgba(255,255,255,0.16);transform:translateY(-3px); }
.kh-research-card-top { display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px; }
.kh-research-icon { width:52px;height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.kh-research-badges { display:flex;flex-direction:column;gap:4px;align-items:flex-end; }
.kh-research-title { font-family:var(--font-display);font-size:14px;font-weight:700;color:#fff;line-height:1.35; }
.kh-research-excerpt { font-size:12.5px;color:var(--navy-200);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.kh-research-meta { font-size:11px;color:var(--navy-400);display:flex;align-items:center;gap:4px; }
.kh-research-tags { display:flex;flex-wrap:wrap;gap:5px; }
.kh-research-tags .kh-tag { background:rgba(255,255,255,0.07);color:var(--navy-200); }

/* ── BUYING GUIDES ── */
.kh-guides-section { background:var(--surface-0);padding:80px 0; }
.kh-guides-header  { margin-bottom:40px; }
.kh-guides-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:18px; }
@media(max-width:1100px){ .kh-guides-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px)  { .kh-guides-grid{grid-template-columns:1fr;} }

.kh-guide-card { background:var(--surface-0);border:1px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;transition:all var(--transition); }
.kh-guide-card:hover { transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--electric-200); }
.kh-guide-header { height:100px;display:flex;align-items:center;justify-content:center;position:relative; }
.kh-guide-icon { opacity:0.85; }
.kh-guide-gated { position:absolute;bottom:8px;right:10px;display:inline-flex;align-items:center;gap:3px;padding:2px 8px;background:rgba(0,0,0,0.3);backdrop-filter:blur(4px);color:#fff;border-radius:var(--radius-pill);font-size:10px;font-weight:700; }
.kh-guide-body { padding:18px;display:flex;flex-direction:column;gap:10px;flex:1; }
.kh-guide-title { font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.3; }
.kh-guide-excerpt { font-size:12.5px;color:var(--text-secondary);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1; }
.kh-guide-meta { display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-muted); }
.kh-guide-author { display:flex;align-items:center;gap:5px; }

/* ── CASE STUDIES ── */
.kh-cases-section { background:var(--navy-900);padding:80px 0; }
.kh-cases-header { margin-bottom:40px; }
.kh-cases-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
@media(max-width:900px){ .kh-cases-grid{grid-template-columns:1fr;} }

.kh-case-card { background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);border-radius:var(--radius-xl);padding:26px;display:flex;flex-direction:column;gap:14px;transition:all var(--transition); }
.kh-case-card:hover { background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.15);transform:translateY(-3px); }
.kh-case-header { display:flex;align-items:center;justify-content:space-between; }
.kh-case-industry { padding:3px 10px;background:rgba(0,191,165,0.12);color:var(--teal-400);border-radius:var(--radius-pill);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em; }
.kh-case-date { font-size:11px;color:var(--navy-400); }
.kh-case-title { font-family:var(--font-display);font-size:16px;font-weight:700;color:#fff;line-height:1.35; }
.kh-case-blocks { display:flex;flex-direction:column;gap:10px; }
.kh-case-block { padding:10px 12px;background:rgba(255,255,255,0.04);border-left:3px solid rgba(0,102,255,0.40);border-radius:0 var(--radius-sm) var(--radius-sm) 0; }
.kh-case-block-label { font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-400);margin-bottom:4px; }
.kh-case-block-text { font-size:12.5px;color:var(--navy-100);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.kh-case-results-label { font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-400);margin-bottom:8px;display:flex;align-items:center;gap:5px; }
.kh-case-results-list { display:flex;flex-direction:column;gap:5px; }
.kh-case-result { display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--navy-100); }
.kh-case-result svg { flex-shrink:0;color:var(--teal-400);margin-top:1px; }
.kh-case-tech { display:flex;flex-wrap:wrap;gap:5px; }
.kh-case-tech .kh-tag { background:rgba(255,255,255,0.07);color:var(--navy-200); }
.kh-case-footer { display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(255,255,255,0.07); }

/* ── WEBINARS ── */
.kh-webinars-section { background:var(--surface-1);padding:80px 0; }
.kh-webinars-header { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;flex-wrap:wrap;gap:12px; }
.kh-webinar-tabs { display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:var(--radius-md); }
.kh-wtab { padding:7px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;background:transparent;border:none;transition:all var(--transition);font-family:var(--font-body); }
.kh-wtab:hover { color:var(--text-primary); }
.kh-wtab.active { background:var(--surface-0);color:var(--electric-500);box-shadow:var(--shadow-sm); }

.kh-webinars-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:18px; }
@media(max-width:1100px){ .kh-webinars-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px)  { .kh-webinars-grid{grid-template-columns:1fr;} }

.kh-webinar-card { background:var(--surface-0);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:20px;display:flex;flex-direction:column;gap:10px;transition:all var(--transition); }
.kh-webinar-card:hover { transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--electric-200); }
.kh-webinar-status { font-size:10.5px;font-weight:700;letter-spacing:.04em; }
.kh-webinar-status.upcoming { color:var(--electric-500); }
.kh-webinar-status.recorded { color:var(--teal-500); }
.kh-webinar-icon { width:52px;height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center; }
.kh-webinar-cat { font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted); }
.kh-webinar-title { font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.35; }
.kh-webinar-desc { font-size:12px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1; }
.kh-webinar-meta { display:flex;flex-direction:column;gap:4px; }
.kh-webinar-meta-row { display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted); }
.kh-webinar-speakers { display:flex;flex-direction:column;gap:4px; }
.kh-webinar-speaker { display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted); }

/* ── EXPERT PROFILES ── */
.kh-experts-section { background:var(--surface-0);padding:80px 0; }
.kh-experts-header  { margin-bottom:40px; }
.kh-experts-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:18px; }
@media(max-width:1100px){ .kh-experts-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px)  { .kh-experts-grid{grid-template-columns:1fr;} }

.kh-expert-card { background:var(--surface-1);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;transition:all var(--transition); }
.kh-expert-card:hover { transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--electric-200);background:var(--surface-0); }
.kh-expert-avatar { width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:20px;font-weight:700;color:#fff; }
.kh-expert-name { font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-primary); }
.kh-expert-title { font-size:12px;color:var(--text-muted);line-height:1.4; }
.kh-expert-stats { display:flex;gap:12px; }
.kh-expert-stat { display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);font-weight:500; }
.kh-expert-expertise { display:flex;flex-wrap:wrap;gap:5px;justify-content:center; }
.kh-expert-certs { display:flex;flex-direction:column;gap:4px;align-self:stretch; }
.kh-cert-badge { display:flex;align-items:center;gap:5px;padding:5px 10px;background:var(--teal-50);border-radius:var(--radius-sm);font-size:10.5px;font-weight:600;color:var(--teal-500);border:1px solid rgba(0,191,165,0.18); }
.kh-cert-badge svg { flex-shrink:0; }

/* ── DISCOVERY SECTION ── */
.kh-discovery-section { background:var(--surface-1);padding:60px 0; }
.kh-discovery-inner { display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:32px;align-items:start; }
@media(max-width:1000px){ .kh-discovery-inner{grid-template-columns:1fr;} }

.kh-topic-pills { display:flex;flex-wrap:wrap;gap:7px; }
.kh-topic-pill { padding:6px 14px;background:var(--surface-0);border:1px solid var(--border-light);border-radius:var(--radius-pill);font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);font-family:var(--font-body); }
.kh-topic-pill:hover { background:var(--electric-50);border-color:var(--electric-200);color:var(--electric-500); }

.kh-trending-list { display:flex;flex-direction:column;gap:10px; }
.kh-trending-item { display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-0);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition);cursor:pointer; }
.kh-trending-item:hover { box-shadow:var(--shadow-sm);border-color:var(--border-medium); }
.kh-trending-item > svg { color:var(--teal-500);flex-shrink:0;margin-left:auto; }
.kh-trending-rank { font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--electric-200);min-width:18px; }
.kh-trending-info { flex:1;min-width:0; }
.kh-trending-title { font-size:12.5px;font-weight:600;color:var(--text-primary);line-height:1.3;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.kh-trending-meta { font-size:11px;color:var(--text-muted); }

.kh-newsletter-desc { font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:14px; }
.kh-newsletter-form { display:flex;gap:6px;margin-bottom:8px; }
.kh-newsletter-input { flex:1;padding:10px 14px;background:var(--surface-0);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-family:var(--font-body);font-size:13px;color:var(--text-primary);outline:none;transition:border-color var(--transition); }
.kh-newsletter-input:focus { border-color:var(--electric-400); }
.kh-newsletter-btn { padding:10px 18px;background:var(--electric-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--transition);font-family:var(--font-body);white-space:nowrap; }
.kh-newsletter-btn:hover { background:var(--electric-600); }
.kh-newsletter-note { font-size:11px;color:var(--text-muted); }

/* ── GATED CONTENT MODAL ── */
.kh-gated-overlay { position:fixed;inset:0;z-index:3000;background:rgba(7,15,28,0.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn 0.2s ease; }
.kh-gated-dialog { background:var(--surface-0);border-radius:var(--radius-xl);box-shadow:0 32px 80px rgba(0,0,0,0.40);width:100%;max-width:520px;padding:28px;position:relative;animation:modalIn 0.3s cubic-bezier(0.16,1,0.3,1); }
.kh-gated-close { position:absolute;top:16px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);transition:all var(--transition); }
.kh-gated-close:hover { background:var(--surface-3); }
.kh-gated-header { display:flex;gap:16px;align-items:flex-start;margin-bottom:16px; }
.kh-gated-icon { width:52px;height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.kh-gated-type { font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px; }
.kh-gated-title { font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.3;margin-bottom:4px; }
.kh-gated-meta { font-size:11px;color:var(--text-muted); }
.kh-gated-desc { font-size:13px;color:var(--text-secondary);margin-bottom:16px; }
.kh-gated-form { display:flex;flex-direction:column;gap:8px; }
.kh-gated-row { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
@media(max-width:480px){ .kh-gated-row{grid-template-columns:1fr;} }
.kh-gated-input { width:100%;padding:10px 12px;background:var(--surface-1);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-family:var(--font-body);font-size:13px;color:var(--text-primary);outline:none;transition:border-color var(--transition); }
.kh-gated-input:focus { border-color:var(--electric-400); }
.kh-gated-success { flex-direction:column;align-items:center;text-align:center;gap:12px;padding:12px 0; }
.kh-gated-success-icon { width:60px;height:60px;background:var(--teal-50);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--teal-500); }
.kh-gated-success-title { font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary); }
.kh-gated-success-desc { font-size:13px;color:var(--text-secondary);line-height:1.6;max-width:320px; }


/* ═══════════════════════════════════════════════════════
   SUB-PAGES — Shared Layout, Page Heroes, and Components
═══════════════════════════════════════════════════════ */

/* ── PAGE HERO ── */
.page-hero {
  padding: calc(var(--navbar-h) + 56px) 0 64px;
  background: var(--surface-1);
  border-bottom: 1px solid var(--border-light);
}
.page-hero--dark {
  background: var(--navy-900);
  position: relative;
  overflow: hidden;
}
.page-hero--dark::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse 600px 400px at 70% 50%, rgba(0,102,255,0.09) 0%, transparent 60%);
  pointer-events:none;
}
.page-hero-content { position:relative; z-index:1; max-width: 720px; }
.page-hero-headline { font-family:var(--font-display); font-size:clamp(32px,4vw,52px); font-weight:800; line-height:1.1; letter-spacing:-.04em; color:#fff; margin-bottom:16px; }
.page-hero-headline--dark { color:var(--text-primary); }
.page-hero-sub { font-size:17px; font-weight:300; color:var(--navy-200); line-height:1.7; }
.page-hero-sub--dark { color:var(--text-secondary); }

.page-hero-stats { display:flex; gap:0; margin-top:36px; border-top:1px solid rgba(255,255,255,0.10); padding-top:28px; }
.ph-stat { padding:0 32px; border-right:1px solid rgba(255,255,255,0.10); }
.ph-stat:first-child { padding-left:0; }
.ph-stat:last-child { border-right:none; }
.ph-stat-num { font-family:var(--font-display); font-size:28px; font-weight:800; color:#fff; line-height:1; margin-bottom:4px; }
.ph-stat-label { font-size:12px; color:var(--navy-300); }
@media(max-width:600px){ .page-hero-stats{flex-wrap:wrap;} .ph-stat{padding:12px 20px;border-right:none;border-bottom:1px solid rgba(255,255,255,0.08);} }

/* ── PAGE SECTIONS ── */
.page-section { padding: 72px 0; background: var(--surface-0); }
.page-section--alt { background: var(--surface-1); }

/* ── BREADCRUMB ── */
.breadcrumb-bar { background: var(--surface-1); border-bottom:1px solid var(--border-light); padding-top: var(--navbar-h); }
.breadcrumb { display:flex; align-items:center; gap:6px; padding:12px 0; list-style:none; flex-wrap:wrap; }
.breadcrumb a { font-size:13px; color:var(--text-muted); transition:color var(--transition); }
.breadcrumb a:hover { color:var(--electric-500); }
.breadcrumb-current { font-size:13px; font-weight:600; color:var(--text-primary); }
.breadcrumb-sep { color:var(--border-medium); display:flex; align-items:center; }

/* ── PAGE CTA STRIP ── */
.page-cta-strip { background: var(--navy-900); padding: 56px 0; }
.page-cta-strip-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.page-cta-strip-headline { font-family:var(--font-display); font-size:clamp(20px,2.5vw,28px); font-weight:700; color:#fff; margin-bottom:6px; }
.page-cta-strip-sub { font-size:14px; color:var(--navy-200); }
.page-cta-strip-actions { display:flex; gap:10px; flex-shrink:0; flex-wrap:wrap; }
.nl-form { display:flex; gap:8px; }
.nl-input { flex:1; padding:10px 14px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); border-radius:var(--radius-md); font-family:var(--font-body); font-size:13px; color:#fff; outline:none; min-width:200px; }
.nl-input::placeholder { color:var(--navy-400); }
.nl-input:focus { border-color:var(--electric-400); }

/* ── PARTNERS PAGE ── */
.partners-page .page-hero { padding-top: calc(var(--navbar-h) + 56px); }
.partners-page-filter { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:28px; }
.ppf-btn { padding:7px 16px; border-radius:var(--radius-pill); font-size:12px; font-weight:600; background:var(--surface-0); border:1px solid var(--border-light); color:var(--text-muted); cursor:pointer; transition:all var(--transition); font-family:var(--font-body); }
.ppf-btn:hover { color:var(--text-primary); border-color:var(--border-medium); }
.ppf-btn.active { background:var(--electric-500); color:#fff; border-color:var(--electric-500); }
.partners-page-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:32px; }
@media(max-width:1100px){ .partners-page-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px) { .partners-page-grid{grid-template-columns:1fr;} }
.partners-page-note { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--text-muted); padding-top:24px; border-top:1px solid var(--border-light); }

.assurance-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media(max-width:1000px){ .assurance-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:500px)  { .assurance-grid{grid-template-columns:1fr;} }
.assurance-card { padding:28px 22px; background:var(--surface-0); border:1px solid var(--border-light); border-radius:var(--radius-xl); text-align:center; transition:all var(--transition); }
.assurance-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:var(--electric-200); }
.assurance-icon { width:52px; height:52px; background:var(--electric-50); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; color:var(--electric-500); }
.assurance-card h3 { font-family:var(--font-display); font-size:15px; font-weight:700; color:var(--text-primary); margin-bottom:8px; }
.assurance-card p { font-size:13px; color:var(--text-secondary); line-height:1.6; }

/* ── BLOG PAGE ── */
.blog-controls { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.blog-cat-filter { display:flex; gap:6px; flex-wrap:wrap; }
.bcf-btn { padding:6px 14px; border-radius:var(--radius-pill); font-size:12px; font-weight:600; background:var(--surface-0); border:1px solid var(--border-light); color:var(--text-muted); cursor:pointer; transition:all var(--transition); font-family:var(--font-body); }
.bcf-btn:hover { color:var(--text-primary); border-color:var(--border-medium); }
.bcf-btn.active { background:var(--electric-500); color:#fff; border-color:var(--electric-500); }
.blog-search-wrap { display:flex; align-items:center; gap:8px; padding:8px 14px; background:var(--surface-1); border:1px solid var(--border-light); border-radius:var(--radius-pill); color:var(--text-muted); }
.blog-search { border:none; background:transparent; font-family:var(--font-body); font-size:13px; color:var(--text-primary); outline:none; }
.blog-search::placeholder { color:var(--text-muted); }

.blog-featured { margin-bottom:28px; }
.blog-hero-card { display:grid; grid-template-columns:280px 1fr; gap:0; background:var(--surface-0); border:1px solid var(--border-light); border-radius:var(--radius-xl); overflow:hidden; transition:box-shadow var(--transition); }
.blog-hero-card:hover { box-shadow:var(--shadow-lg); }
@media(max-width:768px){ .blog-hero-card{grid-template-columns:1fr;} }
.blog-hero-img { min-height:200px; display:flex; align-items:center; justify-content:center; background:var(--surface-2); }
.blog-hero-body { padding:28px; display:flex; flex-direction:column; gap:12px; }
.blog-hero-badges { display:flex; gap:6px; }
.blog-hero-title { font-family:var(--font-display); font-size:20px; font-weight:700; color:var(--text-primary); line-height:1.3; }
.blog-hero-excerpt { font-size:14px; color:var(--text-secondary); line-height:1.65; flex:1; }
.blog-hero-meta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:12px; color:var(--text-muted); }
.blog-hero-author { font-weight:600; color:var(--text-secondary); }

.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:28px; }
@media(max-width:900px){ .blog-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:500px) { .blog-grid{grid-template-columns:1fr;} }
.blog-card { background:var(--surface-0); border:1px solid var(--border-light); border-radius:var(--radius-xl); overflow:hidden; display:flex; flex-direction:column; transition:all var(--transition); cursor:pointer; }
.blog-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--electric-200); }
.blog-card-img { height:110px; display:flex; align-items:center; justify-content:center; }
.blog-card-body { padding:18px; display:flex; flex-direction:column; gap:8px; flex:1; }
.blog-card-badges { display:flex; gap:5px; }
.blog-card-title { font-family:var(--font-display); font-size:14px; font-weight:700; color:var(--text-primary); line-height:1.35; }
.blog-card-excerpt { font-size:12.5px; color:var(--text-secondary); line-height:1.55; flex:1; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.blog-card-meta { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--text-muted); }
.blog-card-read { font-size:12px; font-weight:600; color:var(--electric-500); display:flex; align-items:center; gap:4px; margin-top:4px; }
.blog-load-more { text-align:center; padding-top:8px; }

.pop-topics-header { margin-bottom:28px; }
.pop-topics-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media(max-width:900px){ .pop-topics-grid{grid-template-columns:repeat(2,1fr);} }
.pop-topic-card { display:flex; flex-direction:column; align-items:center; gap:10px; padding:24px 16px; background:var(--surface-0); border:1px solid var(--border-light); border-radius:var(--radius-xl); text-decoration:none; color:var(--text-primary); font-weight:600; font-size:14px; transition:all var(--transition); }
.pop-topic-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--electric-200); color:var(--electric-500); }
.pop-topic-card svg { color:var(--electric-400); }

/* ── WHITEPAPERS PAGE ── */
.wp-controls { margin-bottom:28px; }
.wp-cat-filter { display:flex; gap:6px; flex-wrap:wrap; }
.wpcf-btn { padding:7px 16px; border-radius:var(--radius-pill); font-size:12px; font-weight:600; background:var(--surface-0); border:1px solid var(--border-light); color:var(--text-muted); cursor:pointer; transition:all var(--transition); font-family:var(--font-body); }
.wpcf-btn:hover { color:var(--text-primary); border-color:var(--border-medium); }
.wpcf-btn.active { background:var(--electric-500); color:#fff; border-color:var(--electric-500); }
.wp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:900px){ .wp-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:500px) { .wp-grid{grid-template-columns:1fr;} }

/* ── WEBINARS PAGE ── */
.wb-section-header { margin-bottom:28px; }
.wb-cat-filter { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:24px; }
.wbcf-btn { padding:6px 14px; border-radius:var(--radius-pill); font-size:12px; font-weight:600; background:var(--surface-0); border:1px solid var(--border-light); color:var(--text-muted); cursor:pointer; transition:all var(--transition); font-family:var(--font-body); }
.wbcf-btn:hover { color:var(--text-primary); border-color:var(--border-medium); }
.wbcf-btn.active { background:var(--electric-500); color:#fff; border-color:var(--electric-500); }
.wb-upcoming-grid, .wb-recorded-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
@media(max-width:768px){ .wb-upcoming-grid,.wb-recorded-grid{grid-template-columns:1fr;} }

.wb-card { background:var(--surface-0); border:1px solid var(--border-light); border-radius:var(--radius-xl); padding:24px; display:flex; flex-direction:column; gap:10px; transition:all var(--transition); }
.wb-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--electric-200); }
.wb-card--upcoming { border-color:rgba(0,102,255,0.25); background:rgba(0,102,255,0.03); }
.wb-live-badge { font-size:11px; font-weight:700; color:var(--electric-500); letter-spacing:.04em; }
.wb-rec-badge  { font-size:11px; font-weight:700; color:var(--teal-500); }
.wb-icon { width:56px; height:56px; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; }
.wb-cat { font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--text-muted); }
.wb-title { font-family:var(--font-display); font-size:15px; font-weight:700; color:var(--text-primary); line-height:1.35; }
.wb-desc { font-size:12.5px; color:var(--text-secondary); line-height:1.55; flex:1; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.wb-detail-row { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-muted); }
.wb-speakers { display:flex; flex-direction:column; gap:4px; }
.wb-speaker { display:flex; align-items:center; gap:5px; font-size:11px; color:var(--text-muted); }

/* ── CONTACT PAGE ── */
.contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start; }
@media(max-width:1000px){ .contact-grid{grid-template-columns:1fr; gap:36px;} }
.contact-options-title { font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--text-primary); margin-bottom:20px; }
.contact-option-cards { display:flex; flex-direction:column; gap:8px; margin-bottom:28px; }
.contact-opt-card { display:flex; align-items:center; gap:12px; padding:14px 16px; background:var(--surface-1); border:1px solid var(--border-light); border-radius:var(--radius-lg); cursor:pointer; transition:all var(--transition); text-align:left; font-family:var(--font-body); width:100%; }
.contact-opt-card:hover { background:var(--surface-0); border-color:var(--border-medium); transform:translateX(3px); }
.contact-opt-card.active { background:var(--electric-50); border-color:var(--electric-300); }
.coc-icon { width:40px; height:40px; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.coc-title { font-size:14px; font-weight:700; color:var(--text-primary); margin-bottom:2px; }
.coc-desc { font-size:12px; color:var(--text-muted); }
.contact-direct { display:flex; flex-direction:column; gap:14px; padding-top:20px; border-top:1px solid var(--border-light); }
.contact-direct-item { display:flex; align-items:flex-start; gap:12px; }
.cdi-icon { width:36px; height:36px; background:var(--surface-2); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--electric-500); }
.cdi-label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-bottom:2px; }
.cdi-value { font-size:14px; font-weight:500; color:var(--text-primary); }
a.cdi-value:hover { color:var(--electric-500); }
.contact-form-panel { position: sticky; top: calc(var(--navbar-h) + 24px); }
.contact-form-card { background:var(--surface-0); border:1px solid var(--border-light); border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-md); }

.reassurance-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media(max-width:900px){ .reassurance-strip{grid-template-columns:repeat(2,1fr);} }
.reassurance-item { display:flex; align-items:flex-start; gap:12px; }
.reassurance-item svg { color:var(--teal-500); flex-shrink:0; margin-top:2px; }
.reassurance-item strong { display:block; font-size:14px; font-weight:700; color:var(--text-primary); margin-bottom:2px; }
.reassurance-item span { font-size:12px; color:var(--text-muted); }


/* ═══════════════════════════════════════════════════════
   RFQ FAB REDESIGN — Premium Enterprise Version
═══════════════════════════════════════════════════════ */

/* Remove old FAB styles */
.rfq-fab {
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 1500;
  display: flex;
  align-items: center;
  gap: 0;
  background: var(--navy-850, #0a1628);
  border: 1px solid rgba(0,102,255,0.35);
  border-radius: 50px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.40), 0 0 0 1px rgba(0,102,255,0.15), inset 0 1px 0 rgba(255,255,255,0.06);
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.25s ease, border-color 0.2s ease;
  overflow: hidden;
  color: #fff;
  padding: 0;
}
.rfq-fab:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 16px 48px rgba(0,0,0,0.45), 0 0 0 1px rgba(0,102,255,0.30), 0 0 32px rgba(0,102,255,0.15), inset 0 1px 0 rgba(255,255,255,0.08);
  border-color: rgba(0,102,255,0.55);
}
.rfq-fab:active { transform: scale(0.98); }
.rfq-fab.panel-open { opacity: 0; pointer-events: none; transform: scale(0.85) translateY(8px); }

/* Icon zone */
.rfq-fab-icon-zone {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--electric-600, #0055dd), var(--electric-500, #0066ff));
  flex-shrink: 0;
  position: relative;
}
.rfq-fab-icon-zone svg { width: 20px; height: 20px; }

/* Label zone */
.rfq-fab-text-zone {
  display: flex;
  flex-direction: column;
  padding: 0 14px 0 12px;
  gap: 1px;
}
.rfq-fab-label {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1;
}
.rfq-fab-sublabel {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 400;
  color: rgba(255,255,255,0.55);
  line-height: 1;
  white-space: nowrap;
}

/* Count badge */
.rfq-fab-count {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  background: var(--amber-500, #f59e0b);
  color: var(--navy-900);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 800;
  border-radius: var(--radius-pill);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin-right: 14px;
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), background 0.2s ease;
  flex-shrink: 0;
}
.rfq-fab-count.bump { transform: scale(1.4); }
.rfq-fab:not(.has-items) .rfq-fab-count {
  background: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.8);
}

/* Mobile: shrink to icon-only */
@media (max-width: 600px) {
  .rfq-fab {
    bottom: 20px;
    right: 20px;
    border-radius: 50%;
    width: 52px;
    height: 52px;
  }
  .rfq-fab-text-zone,
  .rfq-fab-count { display: none; }
  .rfq-fab-icon-zone {
    width: 100%;
    height: 100%;
    border-radius: 50%;
  }
}

/* Pulse ring when items added */
.rfq-fab.has-items::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 54px;
  border: 1.5px solid rgba(0,102,255,0.35);
  animation: rfq-ring 2.5s ease-out infinite;
  pointer-events: none;
}
@keyframes rfq-ring {
  0%   { opacity: 0.8; transform: scale(1); }
  70%  { opacity: 0; transform: scale(1.08); }
  100% { opacity: 0; }
}
@media (max-width: 600px) {
  .rfq-fab.has-items::before { border-radius: 50%; inset: -3px; }
}


/* ═══════════════════════════════════════════════════════
   HERO SECTION ENHANCEMENTS
═══════════════════════════════════════════════════════ */

/* Proof points row */
body.home-page .hero-proof {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  margin-top: -16px;
}
body.home-page .hero-proof-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--navy-200);
}
body.home-page .hero-proof-item svg {
  color: var(--teal-400);
  flex-shrink: 0;
}

/* Primary CTA upgrade — slightly larger, stronger glow */
body.home-page .hero-cta-primary {
  background: var(--electric-500);
  box-shadow: 0 4px 24px rgba(0,102,255,0.35);
  position: relative;
  overflow: hidden;
}
body.home-page .hero-cta-primary::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.10) 0%, transparent 60%);
  pointer-events: none;
}
body.home-page .hero-cta-primary:hover {
  box-shadow: 0 8px 32px rgba(0,102,255,0.45);
  transform: translateY(-2px);
}

/* Headline improvements — tighten tracking at mobile */
@media (max-width: 640px) {
  body.home-page .hero-headline { letter-spacing: -0.03em; }
  body.home-page .hero-proof { gap: 12px; }
  body.home-page .hero-proof-item { font-size: 12px; }
}

/* Hero grid — better vertical rhythm at medium breakpoint */
@media (min-width: 1100px) {
  body.home-page .hero-grid { grid-template-columns: 1fr 420px; }
}

/* Hero badge — upgrade pill */
body.home-page .hero-badge {
  background: rgba(0,102,255,0.10);
  border: 1px solid rgba(0,102,255,0.28);
}
body.home-page .hero-badge-text {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Hero sub — better color contrast */
body.home-page .hero-sub {
  color: rgba(255,255,255,0.72);
}

/* Hero mesh — slightly more visible */
body.home-page .hero-mesh { opacity: 0.15; }

/* Hero glow — more diffuse, premium */
body.home-page .hero-glow-1 {
  background: radial-gradient(circle, rgba(0,102,255,0.22) 0%, transparent 65%);
}

/* Trust bar — improve spacing */
body.home-page .hero-trust-bar {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.10);
}


/* ═══════════════════════════════════════════════════════
   FULL QA FIXES — Spacing, Typography, Hover States,
   Accessibility, Layout Consistency
═══════════════════════════════════════════════════════ */

/* ── 1. BUTTON BASE — ensure all btns have font-family & no wrapping ── */
.btn {
  font-family: var(--font-body);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* ── 2. FOCUS STATES — keyboard accessibility ── */
:focus-visible {
  outline: 2px solid var(--electric-400);
  outline-offset: 3px;
  border-radius: 4px;
}
button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--electric-400);
  outline-offset: 3px;
}

/* ── 3. FORM INPUTS — consistent across pages ── */
.ef-input:focus,
.ef-select:focus,
.ef-textarea:focus,
.kh-newsletter-input:focus,
.kh-gated-input:focus,
.blog-search:focus {
  box-shadow: 0 0 0 3px rgba(0,102,255,0.12);
}

/* ── 4. SECTION LABEL — ensure consistent sizing ── */
.section-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--electric-500);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

/* ── 5. BREADCRUMB spacing fix — prevent overlap with fixed navbar ── */
.breadcrumb-bar {
  padding-top: var(--navbar-h);
}

/* ── 6. MOBILE DRAWER — ensure consistent on sub-pages ── */
#mobile-nav-drawer .drawer-link {
  display: block;
  padding: 13px 20px;
  font-size: 15px;
  font-weight: 500;
  color: var(--navy-100);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: background var(--transition), color var(--transition);
}
#mobile-nav-drawer .drawer-link:hover,
#mobile-nav-drawer .drawer-link.active {
  background: rgba(0,102,255,0.10);
  color: var(--electric-300);
}
#mobile-nav-drawer .drawer-divider {
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 8px 20px;
}
#mobile-nav-drawer .mobile-drawer-inner {
  padding: 8px 0 20px;
}

/* ── 7. FOOTER — ensure consistent minimum height & padding ── */
#footer {
  margin-top: auto;
}
.footer-top {
  padding-bottom: 48px;
}

/* ── 8. PAGE HERO — prevent content hiding behind breadcrumb on sub-pages ── */
.page-hero {
  padding-top: 0;
}
.breadcrumb-bar + .page-hero,
.breadcrumb-bar + * .page-hero {
  padding-top: 0;
}

/* ── 9. RFQ PANEL — improved shadow & border ── */
.rfq-panel {
  box-shadow: -12px 0 64px rgba(0,0,0,0.25), -2px 0 8px rgba(0,0,0,0.12);
}
.rfq-panel-header {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* ── 10. COMPARE DRAWER — ensure z-index above content ── */
.compare-drawer {
  z-index: 900;
}

/* ── 11. PRODUCT CARDS — consistent min-height ── */
.prod-card {
  min-height: 420px;
}

/* ── 12. MEGA MENU — prevent clipping on narrower widths ── */
@media (max-width: 1280px) {
  body.home-page .mega-menu--medium,
  body.marketplace-page .mega-menu--medium,
  body.partners-page .mega-menu--medium,
  body.blog-page .mega-menu--medium,
  body.whitepapers-page .mega-menu--medium,
  body.webinars-page .mega-menu--medium,
  body.contact-page .mega-menu--medium,
body.solutions-page .mega-menu--medium,
body.services-page .mega-menu--medium,
body.industries-page .mega-menu--medium { min-width: 480px; }
}
@media (max-width: 1200px) {
  body.home-page .mega-menu--wide,
  body.marketplace-page .mega-menu--wide,
  body.partners-page .mega-menu--wide,
  body.blog-page .mega-menu--wide,
  body.whitepapers-page .mega-menu--wide,
  body.webinars-page .mega-menu--wide,
  body.contact-page .mega-menu--wide,
body.solutions-page .mega-menu--wide,
body.services-page .mega-menu--wide,
body.industries-page .mega-menu--wide { min-width: 600px; }
}

/* ── 13. VENDOR/PARTNER CARDS — consistent hover ── */
.vh-card:hover .vh-logo { transform: scale(1.05); }

/* ── 14. SOLUTION FINDER — ensure touch targets are 44px min ── */
.sf-option { min-height: 52px; }
.sf-next-btn,
.sf-back-btn { min-height: 44px; }

/* ── 15. CONTACT FORM — label spacing ── */
.ef-field { margin-bottom: 16px; }
.ef-label { margin-bottom: 6px; }

/* ── 16. WHITEPAPERS GRID — fix at mobile ── */
@media (max-width: 640px) {
  .wp-grid { grid-template-columns: 1fr; }
  .kh-research-grid { grid-template-columns: 1fr; }
  .kh-guides-grid { grid-template-columns: 1fr; }
  .kh-webinars-grid { grid-template-columns: 1fr; }
  .kh-experts-grid { grid-template-columns: 1fr 1fr; }
}

/* ── 17. BLOG HERO CARD — mobile stack ── */
@media (max-width: 600px) {
  .blog-hero-card { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-hero-img { min-height: 140px; }
}

/* ── 18. PAGE SECTION padding — tighter on mobile ── */
@media (max-width: 768px) {
  .page-section { padding: 48px 0; }
  .page-cta-strip { padding: 40px 0; }
  .page-cta-strip-inner { flex-direction: column; align-items: flex-start; }
  .nl-form { flex-direction: column; }
  .nl-input { min-width: unset; }
}

/* ── 19. CONTAINER — correct max-width padding on small screens ── */
@media (max-width: 480px) {
  .container { padding: 0 16px; }
}

/* ── 20. NAV-LINK active style — remove double selector ── */
.nav-link:hover, .nav-link.active {
  color: #fff;
  background: rgba(255,255,255,0.07);
}


/* ═══════════════════════════════════════════════════════
   HOMEPAGE PREVIEW COMPONENTS
   (Compact teasers that point to dedicated pages)
═══════════════════════════════════════════════════════ */

/* ── INSIGHTS PREVIEW ── */
body.home-page #insights { padding: 80px 0; background: var(--surface-0); }
body.home-page .insights-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:36px; gap:20px; flex-wrap:wrap; }
body.home-page .insights-preview-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px; }
@media(max-width:1100px){ body.home-page .insights-preview-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ body.home-page .insights-preview-grid{ grid-template-columns:1fr; } }

.insight-preview-card {
  display:flex; flex-direction:column; gap:12px;
  padding:20px; background:var(--surface-0);
  border:1px solid var(--border-light); border-radius:var(--radius-xl);
  text-decoration:none; color:inherit;
  transition: transform 0.22s cubic-bezier(0.16,1,0.3,1), box-shadow 0.22s ease, border-color 0.2s ease;
}
.insight-preview-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--electric-200); }
.ipc-icon { width:48px; height:48px; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ipc-cat { font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--text-muted); }
.ipc-title { font-family:var(--font-display); font-size:14px; font-weight:700; color:var(--text-primary); line-height:1.35; margin:4px 0; }
.ipc-meta { font-size:12px; color:var(--text-muted); }

/* Resource type links row */
body.home-page .insights-resource-links { display:flex; gap:12px; flex-wrap:wrap; }
.irl-item {
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px;
  background:var(--surface-1); border:1px solid var(--border-light);
  border-radius:var(--radius-md); text-decoration:none;
  font-size:13px; font-weight:600; color:var(--text-secondary);
  transition:all var(--transition);
}
.irl-item:hover { background:var(--electric-50); border-color:var(--electric-200); color:var(--electric-500); }
.irl-item svg:first-child { color:var(--electric-400); }
.irl-arrow { color:var(--text-muted); transition:transform var(--transition); }
.irl-item:hover .irl-arrow { transform:translateX(3px); color:var(--electric-500); }

/* ── CTA PREVIEW (replaces full form) ── */
body.home-page #cta { padding:80px 0; background:var(--navy-900); position:relative; overflow:hidden; }
.cta-preview-inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
@media(max-width:900px){ .cta-preview-inner{ grid-template-columns:1fr; gap:36px; } }
.cta-preview-left .cta-headline { color:#fff; }
.cta-preview-left .cta-sub { color:var(--navy-200); }
.cta-preview-proof { display:flex; flex-direction:column; gap:8px; margin-top:20px; }
.cta-preview-proof span { display:flex; align-items:center; gap:7px; font-size:13px; color:var(--navy-200); }
.cta-option-btn {
  display:flex; align-items:center; gap:12px;
  padding:14px 16px; background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.10); border-radius:var(--radius-lg);
  text-decoration:none; color:#fff; margin-bottom:8px;
  transition:all var(--transition);
}
.cta-option-btn:hover { background:rgba(255,255,255,0.10); border-color:rgba(255,255,255,0.22); transform:translateX(4px); }
.cta-option-icon { width:38px; height:38px; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cta-option-title { font-size:14px; font-weight:700; color:#fff; line-height:1.2; margin-bottom:2px; }
.cta-option-desc { font-size:12px; color:var(--navy-300); }
.cta-option-btn > svg:last-child { color:var(--navy-400); margin-left:auto; flex-shrink:0; transition:transform var(--transition), color var(--transition); }
.cta-option-btn:hover > svg:last-child { transform:translateX(4px); color:var(--electric-300); }

/* ═══════════════════════════════════════════════════════
   SUB-PAGE SHARED COMPONENTS
═══════════════════════════════════════════════════════ */

/* ── ASSURANCE GRID (partners page) ── */
.assurance-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media(max-width:1000px){ .assurance-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:500px){ .assurance-grid{ grid-template-columns:1fr; } }
.assurance-card { padding:28px 22px; background:var(--surface-0); border:1px solid var(--border-light); border-radius:var(--radius-xl); text-align:center; transition:all var(--transition); }
.assurance-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:var(--electric-200); }
.assurance-icon { width:52px; height:52px; background:var(--electric-50); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; color:var(--electric-500); }
.assurance-card h3 { font-family:var(--font-display); font-size:15px; font-weight:700; color:var(--text-primary); margin-bottom:8px; }
.assurance-card p { font-size:13px; color:var(--text-secondary); line-height:1.6; }

/* ── BLOG CONTROLS ── */
.blog-controls { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.blog-cat-filter { display:flex; gap:6px; flex-wrap:wrap; }
.bcf-btn { padding:6px 14px; border-radius:var(--radius-pill); font-size:12px; font-weight:600; background:var(--surface-0); border:1px solid var(--border-light); color:var(--text-muted); cursor:pointer; transition:all var(--transition); font-family:var(--font-body); }
.bcf-btn:hover { color:var(--text-primary); border-color:var(--border-medium); }
.bcf-btn.active { background:var(--electric-500); color:#fff; border-color:var(--electric-500); }
.blog-search-wrap { display:flex; align-items:center; gap:8px; padding:8px 14px; background:var(--surface-1); border:1px solid var(--border-light); border-radius:var(--radius-pill); color:var(--text-muted); }
.blog-search { border:none; background:transparent; font-family:var(--font-body); font-size:13px; color:var(--text-primary); outline:none; }
.blog-search::placeholder { color:var(--text-muted); }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:28px; }
@media(max-width:900px){ .blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:500px){ .blog-grid{ grid-template-columns:1fr; } }
.blog-card { background:var(--surface-0); border:1px solid var(--border-light); border-radius:var(--radius-xl); overflow:hidden; display:flex; flex-direction:column; transition:all var(--transition); cursor:pointer; }
.blog-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--electric-200); }
.blog-card-img { height:110px; display:flex; align-items:center; justify-content:center; }
.blog-card-body { padding:18px; display:flex; flex-direction:column; gap:8px; flex:1; }
.blog-card-title { font-family:var(--font-display); font-size:14px; font-weight:700; color:var(--text-primary); line-height:1.35; }
.blog-card-excerpt { font-size:12.5px; color:var(--text-secondary); line-height:1.55; flex:1; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.blog-card-meta { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--text-muted); }
.blog-card-read { font-size:12px; font-weight:600; color:var(--electric-500); display:flex; align-items:center; gap:4px; margin-top:4px; }
.blog-hero-card { display:grid; grid-template-columns:280px 1fr; gap:0; background:var(--surface-0); border:1px solid var(--border-light); border-radius:var(--radius-xl); overflow:hidden; margin-bottom:28px; }
@media(max-width:768px){ .blog-hero-card{ grid-template-columns:1fr; } }
.blog-hero-img { min-height:200px; display:flex; align-items:center; justify-content:center; background:var(--surface-2); }
.blog-hero-body { padding:28px; display:flex; flex-direction:column; gap:12px; }
.blog-hero-title { font-family:var(--font-display); font-size:20px; font-weight:700; color:var(--text-primary); line-height:1.3; }
.blog-hero-excerpt { font-size:14px; color:var(--text-secondary); line-height:1.65; flex:1; }
.blog-hero-meta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:12px; color:var(--text-muted); }

/* ── CONTACT PAGE ── */
.contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start; }
@media(max-width:1000px){ .contact-grid{ grid-template-columns:1fr; gap:36px; } }
.contact-options-title { font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--text-primary); margin-bottom:20px; }
.contact-option-cards { display:flex; flex-direction:column; gap:8px; margin-bottom:28px; }
.contact-opt-card { display:flex; align-items:center; gap:12px; padding:14px 16px; background:var(--surface-1); border:1px solid var(--border-light); border-radius:var(--radius-lg); cursor:pointer; transition:all var(--transition); text-align:left; font-family:var(--font-body); width:100%; }
.contact-opt-card:hover { background:var(--surface-0); border-color:var(--border-medium); transform:translateX(3px); }
.contact-opt-card.active { background:var(--electric-50); border-color:var(--electric-300); }
.coc-icon { width:40px; height:40px; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.coc-title { font-size:14px; font-weight:700; color:var(--text-primary); margin-bottom:2px; }
.coc-desc { font-size:12px; color:var(--text-muted); }
.contact-direct { display:flex; flex-direction:column; gap:14px; padding-top:20px; border-top:1px solid var(--border-light); }
.contact-direct-item { display:flex; align-items:flex-start; gap:12px; }
.cdi-icon { width:36px; height:36px; background:var(--surface-2); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--electric-500); }
.cdi-label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-bottom:2px; }
.cdi-value { font-size:14px; font-weight:500; color:var(--text-primary); }
a.cdi-value:hover { color:var(--electric-500); }
.contact-form-panel { position:sticky; top:calc(var(--navbar-h) + 24px); }
.contact-form-card { background:var(--surface-0); border:1px solid var(--border-light); border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-md); }
.reassurance-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media(max-width:900px){ .reassurance-strip{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .reassurance-strip{ grid-template-columns:1fr; } }
.reassurance-item { display:flex; align-items:flex-start; gap:12px; }
.reassurance-item svg { color:var(--teal-500); flex-shrink:0; margin-top:2px; }
.reassurance-item strong { display:block; font-size:14px; font-weight:700; color:var(--text-primary); margin-bottom:2px; }
.reassurance-item span { font-size:12px; color:var(--text-muted); }

/* ── NEWSLETTER FORM (webinars page) ── */
.nl-form { display:flex; gap:8px; }
.nl-input { flex:1; padding:10px 14px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); border-radius:var(--radius-md); font-family:var(--font-body); font-size:13px; color:#fff; outline:none; min-width:200px; }
.nl-input::placeholder { color:var(--navy-400); }
.nl-input:focus { border-color:var(--electric-400); }
@media(max-width:500px){ .nl-form{ flex-direction:column; } .nl-input{ min-width:unset; } }


/* ═══════════════════════════════════════════════════════
   SOLUTIONS / SERVICES / INDUSTRIES PAGES
═══════════════════════════════════════════════════════ */

/* ── SOLUTION DETAIL GRID ── */
.sol-detail-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
}
.sol-detail-grid--reverse { grid-template-columns: 1fr 1.1fr; }
@media(max-width: 960px) {
  .sol-detail-grid,
  .sol-detail-grid--reverse { grid-template-columns: 1fr; gap: 36px; }
  .sol-detail-grid--reverse .sol-detail-visual { order: -1; }
}

.sol-detail-content .section-label { margin-bottom: 10px; }
.sol-capabilities { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.sol-cap-item {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 14px; color: var(--text-secondary); line-height: 1.5;
}
.sol-cap-item svg { color: var(--teal-500); flex-shrink: 0; margin-top: 3px; }

.sol-visual-card {
  border: 1px solid; border-radius: var(--radius-xl);
  padding: 32px; display: flex; flex-direction: column; gap: 20px;
}
.sol-visual-icon { margin-bottom: 4px; }
.sol-visual-stat { display: flex; flex-direction: column; gap: 4px; }
.sol-vs-num { font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--text-primary); }
.sol-vs-label { font-size: 13px; color: var(--text-muted); }

/* ── HOW WE WORK STEPS ── */
.how-steps {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 0;
  align-items: start;
}
@media(max-width: 960px) {
  .how-steps { grid-template-columns: 1fr; gap: 24px; }
  .how-step-arrow { display: none; }
}
.how-step { padding: 24px; }
.how-step-num {
  font-family: var(--font-display); font-size: 36px; font-weight: 800;
  color: var(--electric-400); opacity: 0.5; line-height: 1; margin-bottom: 12px;
}
.how-step-title { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 8px; }
.how-step-desc { font-size: 13.5px; color: var(--navy-200); line-height: 1.6; }
.how-step-arrow { display: flex; align-items: center; padding-top: 40px; color: rgba(255,255,255,0.25); }

/* ── page-section--dark (services/solutions dark sections) ── */
.page-section--dark { background: var(--navy-900); padding: 80px 0; position: relative; overflow: hidden; }
.page-section--dark .section-headline { color: #fff; }
.page-section--dark .section-sub { color: var(--navy-200); }

/* ── SLA TABLE ── */
.sla-table-wrap { overflow-x: auto; border-radius: var(--radius-xl); box-shadow: var(--shadow-md); }
.sla-table { width: 100%; border-collapse: collapse; min-width: 620px; }
.sla-th-label, .sla-th { padding: 16px 20px; text-align: left; background: var(--navy-900); color: #fff; font-family: var(--font-display); font-size: 14px; font-weight: 700; border-bottom: 2px solid rgba(255,255,255,0.08); }
.sla-th { text-align: center; }
.sla-th span { display: block; font-family: var(--font-body); font-size: 11px; font-weight: 400; color: var(--navy-300); margin-top: 2px; }
.sla-th--highlight { background: rgba(0,102,255,0.20); color: var(--electric-200); }
.sla-td-label { padding: 13px 20px; font-size: 13px; font-weight: 600; color: var(--text-primary); background: var(--surface-1); border-bottom: 1px solid var(--border-light); }
.sla-td { padding: 13px 20px; font-size: 13px; color: var(--text-secondary); text-align: center; background: var(--surface-0); border-bottom: 1px solid var(--border-light); }
.sla-hl { background: var(--electric-50); color: var(--electric-600); font-weight: 600; }
.sla-table tr:last-child td { border-bottom: none; }

/* ── INDUSTRY DETAIL BLOCKS ── */
.ind-details { display: flex; flex-direction: column; gap: 20px; margin-top: 20px; }
.ind-detail-block { }
.ind-detail-label {
  font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: 10px;
}
.ind-detail-list { list-style: none; display: flex; flex-direction: column; gap: 7px; }
.ind-detail-list li {
  padding-left: 18px; position: relative;
  font-size: 14px; color: var(--text-secondary); line-height: 1.5;
}
.ind-detail-list li::before {
  content: '→'; position: absolute; left: 0; color: var(--electric-400); font-weight: 700;
}
.ind-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ind-chip {
  padding: 5px 14px; background: var(--electric-50); color: var(--electric-500);
  border: 1px solid var(--electric-100); border-radius: var(--radius-pill);
  font-size: 12px; font-weight: 600; text-decoration: none; transition: all var(--transition);
}
.ind-chip:hover { background: var(--electric-500); color: #fff; border-color: var(--electric-500); }


/* ═══════════════════════════════════════════════════════
   SOLUTIONS / SERVICES / INDUSTRIES PAGE GRID OVERRIDES
   Extend home-page grid rules to new pages
═══════════════════════════════════════════════════════ */

/* Solutions grid */
body.solutions-page .solutions-grid,
body.services-page .solutions-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media(max-width: 900px) {
  body.solutions-page .solutions-grid,
  body.services-page .solutions-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 500px) {
  body.solutions-page .solutions-grid,
  body.services-page .solutions-grid { grid-template-columns: 1fr; }
}

/* Industries grid */
body.industries-page .industries-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media(max-width: 900px) { body.industries-page .industries-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width: 500px) { body.industries-page .industries-grid { grid-template-columns: 1fr; } }

/* Managed grid */
body.services-page .managed-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media(max-width: 1000px) { body.services-page .managed-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width: 500px)  { body.services-page .managed-grid { grid-template-columns: 1fr; } }

/* Testimonials grid */
body.industries-page .testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media(max-width: 900px) { body.industries-page .testimonials-grid { grid-template-columns: 1fr; } }

/* Why pillars + metrics */
body.services-page .why-pillars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}
body.services-page .why-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media(max-width: 900px) {
  body.services-page .why-pillars { grid-template-columns: repeat(2, 1fr); }
  body.services-page .why-metrics { grid-template-columns: repeat(2, 1fr); }
}

/* solutions-header on solutions page */
body.solutions-page .solutions-header,
body.industries-page .industries-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 48px;
}

/* success-bg-quote on industries page */
body.industries-page .success-bg-quote {
  position: absolute;
  font-size: 600px;
  line-height: 0.7;
  color: rgba(255,255,255,0.02);
  top: 0;
  left: -40px;
  pointer-events: none;
  font-family: Georgia, serif;
  overflow: hidden;
}


/* ═══════════════════════════════════════════════════════
   BENCHMARK UPGRADE — Sub-pages match marketplace quality
═══════════════════════════════════════════════════════ */

/* ── UPGRADED PAGE HERO (cat-hero quality) ── */
.page-hero {
  background: var(--navy-900);
  padding: 0;
  position: relative;
  overflow: hidden;
}
.page-hero-bg {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 700px 400px at 75% 50%, rgba(0,102,255,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 350px 300px at 10% 80%, rgba(0,191,165,0.08) 0%, transparent 60%);
}
.page-hero-grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.04) 1px, transparent 0);
  background-size: 28px 28px;
}
.page-hero-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
  position: relative;
  z-index: 1;
  padding: calc(var(--navbar-h) + 52px) 0 64px;
}
@media(max-width: 960px) {
  .page-hero-inner { grid-template-columns: 1fr; padding-bottom: 48px; }
  .page-hero-stat-cards { display: none; }
}
.page-hero-body { max-width: 600px; }
.page-hero-headline {
  font-family: var(--font-display);
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.04em;
  color: #fff;
  margin-bottom: 16px;
}
.page-hero-sub {
  font-size: 16px;
  font-weight: 300;
  color: var(--navy-200);
  line-height: 1.7;
  max-width: 520px;
  margin-bottom: 24px;
}
.page-hero-chips {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.page-hero-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 14px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-pill);
  font-size: 12px; font-weight: 500; color: var(--navy-100);
}
.page-hero-chip svg { color: var(--navy-300); }
.page-hero-chip--green {
  background: rgba(0,191,165,0.12); border-color: rgba(0,191,165,0.25); color: var(--teal-200);
}
.page-hero-chip--green svg { color: var(--teal-400); }
.page-hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.page-hero-stat-cards {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; flex-shrink: 0;
}

/* ── UPGRADED CTA SECTION (expert-section quality) ── */
.page-expert-section {
  background: var(--navy-900);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
.page-expert-section::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 600px 400px at 20% 50%, rgba(0,102,255,0.08) 0%, transparent 60%),
    radial-gradient(ellipse 400px 300px at 80% 60%, rgba(0,191,165,0.06) 0%, transparent 60%);
}
.page-expert-header { text-align: center; max-width: 600px; margin: 0 auto 48px; position: relative; z-index: 1; }
.page-expert-header .section-label { color: var(--electric-300); justify-content: center; }
.page-expert-header .section-label::before { background: var(--electric-300); }
.page-expert-header .section-headline { color: #fff; }
.page-expert-header .section-sub { color: var(--navy-200); margin-top: 12px; }
.page-expert-cards {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;
  position: relative; z-index: 1;
}
@media(max-width: 900px) { .page-expert-cards { grid-template-columns: 1fr; } }
.page-expert-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: var(--radius-xl);
  padding: 28px;
  display: flex; flex-direction: column; gap: 14px;
  transition: background var(--transition), border-color var(--transition), transform 0.22s cubic-bezier(.16,1,.3,1);
}
.page-expert-card:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.16);
  transform: translateY(-4px);
}
.page-expert-card-icon {
  width: 52px; height: 52px; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.page-expert-card-title {
  font-family: var(--font-display); font-size: 17px; font-weight: 700; color: #fff; line-height: 1.3;
}
.page-expert-card-desc { font-size: 13.5px; color: var(--navy-200); line-height: 1.65; flex: 1; }
.page-expert-card-features {
  list-style: none; display: flex; flex-direction: column; gap: 6px;
  padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.08);
}
.page-expert-card-features li {
  display: flex; align-items: center; gap: 8px;
  font-size: 12.5px; color: var(--navy-200);
}
.page-expert-card-features li svg { color: var(--teal-400); flex-shrink: 0; }
.page-expert-card .btn { margin-top: 4px; justify-content: center; }

/* ── SECTION RHYTHM IMPROVEMENTS ── */
.section-intro { max-width: 640px; margin-bottom: 48px; }
.section-intro .section-label { margin-bottom: 10px; }
.section-intro .section-sub { color: var(--text-secondary); margin-top: 12px; line-height: 1.7; }

/* ── SOL-CARD (solutions page) quality upgrade ── */
.sol-card {
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: 28px 24px;
  display: flex; flex-direction: column; gap: 12px;
  position: relative; overflow: hidden;
  transition: transform 0.22s cubic-bezier(.16,1,.3,1), box-shadow 0.22s ease, border-color 0.2s;
}
.sol-card::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--card-accent, var(--electric-500)); border-radius: 3px 0 0 3px;
  transition: width var(--transition);
}
.sol-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: rgba(0,102,255,0.18); }
.sol-card:hover::before { width: 4px; }
.sol-icon { width: 52px; height: 52px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; }
.sol-card-name { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--text-primary); line-height: 1.3; }
.sol-card-desc { font-size: 13.5px; color: var(--text-secondary); line-height: 1.65; flex: 1; }
.sol-benefits { display: flex; flex-direction: column; gap: 6px; }
.sol-benefit { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--text-muted); }
.sol-benefit svg { color: var(--teal-500); flex-shrink: 0; }
.sol-card-cta {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600; color: var(--electric-500);
  margin-top: 4px; transition: gap var(--transition);
}
.sol-card:hover .sol-card-cta { gap: 10px; }

/* ── MANAGED-CARD quality upgrade ── */
.managed-card {
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: 28px 24px;
  display: flex; flex-direction: column; gap: 10px;
  transition: transform 0.22s cubic-bezier(.16,1,.3,1), box-shadow 0.22s ease, border-color 0.2s;
}
.managed-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: rgba(0,102,255,0.18); }
.managed-icon { width: 48px; height: 48px; background: rgba(0,102,255,0.10); color: var(--electric-500); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; }
.managed-name { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--text-primary); }
.managed-desc { font-size: 13.5px; color: var(--text-secondary); line-height: 1.65; flex: 1; }
.managed-includes { display: flex; flex-direction: column; gap: 6px; padding-top: 12px; border-top: 1px solid var(--border-light); margin-top: auto; }
.managed-include-item { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--text-muted); }
.managed-include-item svg { color: var(--teal-500); flex-shrink: 0; }

/* ── IND-CARD quality upgrade ── */
.ind-card {
  position: relative; overflow: hidden; border-radius: var(--radius-xl);
  height: 200px; cursor: pointer;
  transition: transform 0.22s cubic-bezier(.16,1,.3,1), box-shadow 0.22s ease;
}
.ind-card:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(0,0,0,0.30); }
.ind-bg { position: absolute; inset: 0; }
.ind-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.05) 100%); }
.ind-icon { position: absolute; top: 20px; left: 20px; color: rgba(255,255,255,0.70); }
.ind-content { position: absolute; bottom: 20px; left: 20px; right: 20px; }
.ind-name { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.ind-stat { font-size: 12px; color: rgba(255,255,255,0.65); }
.ind-arrow { position: absolute; top: 20px; right: 20px; color: rgba(255,255,255,0.50); transition: transform var(--transition), color var(--transition); }
.ind-card:hover .ind-arrow { transform: translateX(4px); color: #fff; }

/* ── TESTI-CARD quality upgrade ── */
.testi-card {
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: 28px 24px;
  display: flex; flex-direction: column; gap: 14px;
  transition: transform 0.22s cubic-bezier(.16,1,.3,1), box-shadow 0.22s ease, border-color 0.2s;
}
.testi-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--electric-200); }
.testi-verified { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--teal-500); }
.testi-verified svg { color: var(--testi-verified); }
.testi-quote { font-family: var(--font-display); font-size: 15px; line-height: 1.65; color: var(--text-primary); flex: 1; }
.testi-stars { display: flex; gap: 2px; color: var(--amber-400); }
.testi-meta { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--border-light); }
.testi-avatar { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 14px; font-weight: 700; color: #fff; flex-shrink: 0; }
.testi-name { font-size: 14px; font-weight: 700; color: var(--text-primary); }
.testi-role { font-size: 12px; color: var(--text-muted); }
.testi-company-logo { margin-left: auto; font-size: 11px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .06em; padding: 3px 8px; background: var(--surface-2); border-radius: var(--radius-sm); }

/* ── WHY PILLARS quality upgrade ── */
.why-pillar {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-xl);
  padding: 24px;
  display: flex; flex-direction: column; gap: 10px;
  transition: background var(--transition), border-color var(--transition), transform 0.22s cubic-bezier(.16,1,.3,1);
}
.why-pillar:hover { background: rgba(255,255,255,0.08); border-color: rgba(0,102,255,0.25); transform: translateY(-3px); }
.why-pillar-icon { width: 44px; height: 44px; background: rgba(0,102,255,0.15); color: var(--electric-300); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; }
.why-pillar-title { font-family: var(--font-display); font-size: 15px; font-weight: 700; color: #fff; }
.why-pillar-desc { font-size: 13px; color: var(--navy-200); line-height: 1.6; }

/* ── WHY METRICS quality upgrade ── */
.why-metric {
  text-align: center;
  padding: 24px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-xl);
  transition: background var(--transition), transform 0.22s cubic-bezier(.16,1,.3,1);
}
.why-metric:hover { background: rgba(255,255,255,0.08); transform: translateY(-3px); }
.why-metric-num { font-family: var(--font-display); font-size: 36px; font-weight: 800; color: #fff; line-height: 1; margin-bottom: 6px; background: linear-gradient(135deg,var(--electric-300),var(--teal-300)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.why-metric-label { font-size: 12px; color: var(--navy-300); font-weight: 500; }

/* ── PARTNERS TIER quality upgrade ── */
.partner-card {
  background: var(--surface-0);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: 24px 20px;
  display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center;
  transition: transform 0.22s cubic-bezier(.16,1,.3,1), box-shadow 0.22s ease, border-color 0.2s;
}
.partner-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--electric-200); }
.partner-logo-area { height: 44px; display: flex; align-items: center; justify-content: center; }
.partner-logo-text { font-family: var(--font-display); font-size: 20px; font-weight: 800; color: var(--text-primary); }
.partner-tier-badge {
  padding: 3px 12px; border-radius: var(--radius-pill);
  font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}

/* ── VENDOR-HUB CARD quality (already good, minor refinement) ── */
.vh-card { transition: transform 0.22s cubic-bezier(.16,1,.3,1), box-shadow 0.22s ease, border-color 0.2s; }

/* ── ASSURANCE CARD icon color ── */
.assurance-icon svg { stroke-width: 1.8; }

/* ── PAGE SECTION padding - tighten consistency ── */
.page-section { padding: 80px 0; }
.page-section--alt { padding: 80px 0; background: var(--surface-1); }

/* ── DARK SECTION label fix ── */
.page-section--dark .section-label { color: rgba(255,255,255,0.55); }
.page-section--dark .section-label::before { background: rgba(255,255,255,0.55); }
.page-section--dark .section-headline { color: #fff; }
.page-section--dark .section-sub { color: var(--navy-200); }

/* ── INDEX hero tweaks to match benchmark ── */
body.home-page .hero-sub { font-weight: 300; }

/* ── CONTACT FORM CARD visual ── */
.contact-form-card .ef-header {
  background: var(--navy-900);
  padding: 20px 24px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.contact-form-card .ef-title { color: #fff; }
.contact-form-card .ef-subtitle { color: var(--navy-300); }

/* ── SLA TABLE headings ── */
.sla-table { border-radius: var(--radius-xl); overflow: hidden; }
.sla-th-label { background: var(--navy-850, #0d1f38); }
.sla-th { background: var(--navy-850, #0d1f38); }
.sla-th--highlight { background: rgba(0,102,255,0.25) !important; }

/* ── WEBINAR UPCOMING GRID ── */
.wb-upcoming-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
@media(max-width: 768px) { .wb-upcoming-grid { grid-template-columns: 1fr; } }

/* ── Blog hero card ── */
.blog-hero-card {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
  transition: box-shadow 0.22s ease, transform 0.22s cubic-bezier(.16,1,.3,1);
}
.blog-hero-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }

/* ── KH research card dark override ── */
body.whitepapers-page .kh-research-card:hover { border-color: rgba(0,102,255,0.35); }
body.whitepapers-page .kh-research-title { font-size: 15px; }

/* ── Breadcrumb padding for new pages ── */
body.solutions-page .breadcrumb-bar,
body.services-page .breadcrumb-bar,
body.industries-page .breadcrumb-bar { padding-top: 0; }

/* ── Page hero no top padding (nav pushes it) ── */
body.solutions-page .page-hero-inner,
body.services-page .page-hero-inner,
body.industries-page .page-hero-inner,
body.partners-page .page-hero-inner,
body.blog-page .page-hero-inner,
body.whitepapers-page .page-hero-inner,
body.webinars-page .page-hero-inner,
body.contact-page .page-hero-inner { padding-top: calc(var(--navbar-h) + 52px); }

