    :root {
      --navy: #060e0a;
      --navy-light: #091510;
      --white: #f0f2ef;
      --white-90: rgba(240,242,239,0.9);
      --white-60: rgba(240,242,239,0.6);
      --white-40: rgba(240,242,239,0.4);
      --white-20: rgba(240,242,239,0.2);
      --white-10: rgba(240,242,239,0.1);
      --white-05: rgba(240,242,239,0.05);
      --accent: #c4856a;
      --accent-glow: rgba(196,133,106,0.14);
      --sage: #1a2e22;
      --sand: #f0ebe4;
      --sand-dark: #e4ddd4;
      --border: rgba(240,242,239,0.10);
      --serif: 'DM Serif Display', Georgia, serif;
      --sans: 'Inter', system-ui, -apple-system, sans-serif;
      --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', monospace;
      --sidebar-w: 200px;
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }
    body {
      font-family: var(--sans);
      background: var(--navy);
      color: var(--white-90);
      line-height: 1.65;
      font-size: 15px;
      -webkit-font-smoothing: antialiased;
      position: relative;
    }
    body::before {
      content: '';
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
      background-repeat: repeat;
      background-size: 256px 256px;
      pointer-events: none;
      z-index: 9999;
    }
    ::selection { background: var(--white); color: var(--navy); }

    /* ============================== */
    /* PAGE FRAME */
    /* ============================== */
    .page-frame {
      max-width: 1400px;
      margin: 0 auto;
      border-left: 1px solid var(--border);
      border-right: 1px solid var(--border);
      min-height: 100vh;
    }

    /* NAV */
    .nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 16px 32px;
      border-bottom: 1px solid var(--border);
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(4,10,7,0.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .nav-brand { font-family: 'Outfit', sans-serif; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.14em; color: var(--white); text-decoration: none; display: flex; align-items: center; gap: 10px; }
    .nav-icon { width: 24px; height: 24px; flex-shrink: 0; color: #fff; }
    .nav-links { display: flex; gap: 28px; align-items: center; }
    .nav a { text-decoration: none; color: var(--white-40); font-size: 0.82rem; transition: color 0.2s; }
    .nav a:hover { color: var(--white); }
    .nav-cta { background: linear-gradient(135deg, #d4976a, #c4856a); color: #fff !important; padding: 7px 18px; border-radius: 4px; font-weight: 500; font-size: 0.8rem; transition: all 0.25s; box-shadow: 0 2px 12px rgba(196,133,106,0.35), 0 0 20px rgba(196,133,106,0.15); }
    .nav-cta:hover { background: linear-gradient(135deg, #c4856a, #b0755c); opacity: 1; box-shadow: 0 4px 18px rgba(196,133,106,0.5), 0 0 30px rgba(196,133,106,0.2); }

    /* ============================== */
    /* LAYOUT: SIDEBAR + CONTENT */
    /* ============================== */
    .page-body {
      display: flex;
      position: relative;
    }

    /* SIDEBAR TOC */
    .sidebar {
      width: var(--sidebar-w);
      flex-shrink: 0;
      border-right: 1px solid var(--border);
      position: relative;
    }
    .sidebar-inner {
      position: sticky;
      top: 56px;
      padding: 40px 0;
      max-height: calc(100vh - 56px);
      overflow-y: auto;
      overflow-x: hidden;
      scrollbar-width: none;
    }
    .sidebar-inner::-webkit-scrollbar { display: none; }
    .sidebar-inner a {
      display: block;
      padding: 10px 24px;
      font-family: var(--mono);
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--white-20);
      text-decoration: none;
      transition: color 0.2s;
      line-height: 1.4;
    }
    .sidebar-inner a:hover,
    .sidebar-inner a.active {
      color: var(--white-60);
    }
    .sidebar-inner a .num {
      color: var(--white-10);
      margin-right: 6px;
    }
    .sidebar-inner a.active .num {
      color: var(--accent);
    }

    /* MAIN CONTENT */
    .main {
      flex: 1;
      min-width: 0;
    }

    /* ============================== */
    /* SECTION STRUCTURE */
    /* ============================== */
    .section {
      border-bottom: 1px solid var(--border);
      padding: 72px 48px;
    }
    .section:last-child { border-bottom: none; }

    .section-alt { background: var(--navy-light); }
    #platform > * { position: relative; z-index: 1; }
    .tf-alt { background: var(--navy-light); }
    /* Light section variant */
    .section-light { background: var(--sand); }
    .section-light .section-label { color: rgba(6,14,10,0.3); }
    .section-light.in-view .section-label { color: rgba(6,14,10,0.5); }
    .section-light .section-label::after { background: rgba(6,14,10,0.08); }
    .section-light.in-view .section-label::after { background: var(--accent); box-shadow: 0 0 8px rgba(196,133,106,0.25); }
    .section-light .section-label::before { background: var(--accent); }
    .section-light { border-bottom-color: rgba(6,14,10,0.06); }
    .section-light .sources-header { color: var(--navy); }
    .section-light .sources-sub,
    .section-light .personas-sub { color: rgba(6,14,10,0.5); }
    .section-light .step-content strong { color: var(--navy); }
    .section-light .step-content span { color: rgba(6,14,10,0.55); }
    .section-light .steps li { border-bottom-color: rgba(6,14,10,0.06); }
    .section-alt .section-label::before {
      content: '';
      width: 3px;
      height: 3px;
      border-radius: 50%;
      background: var(--accent);
      flex-shrink: 0;
    }

    .section-label {
      font-family: var(--mono);
      font-size: 0.65rem;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--white-20);
      margin-bottom: 32px;
      display: flex;
      align-items: center;
      gap: 12px;
      transition: color 0.3s ease;
    }
    /* Text lights up while section is in view */
    .section.in-view .section-label,
    .cta.in-view .section-label {
      color: var(--white-60);
    }

    .section-label::after {
      content: '';
      flex: 1;
      height: 1px;
      background: var(--border);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.15s,
                  background 0.5s ease,
                  box-shadow 0.5s ease;
    }
    /* Once revealed, line stays extended permanently */
    .section.revealed .section-label::after,
    .cta.revealed .section-label::after {
      transform: scaleX(1);
    }
    /* While in view, copper + glow */
    .section.in-view .section-label::after,
    .cta.in-view .section-label::after {
      background: var(--accent);
      box-shadow: 0 0 8px rgba(196,133,106,0.35);
    }

    /* ============================== */
    /* HERO */
    /* ============================== */
    .hero {
      padding: 72px 48px 0;
      background: radial-gradient(ellipse 70% 60% at 50% 40%, rgba(196,133,106,0.03) 0%, transparent 70%);
      position: relative;
      overflow: visible;
    }
    .hero > * { position: relative; z-index: 1; }
    #hero-rocket { position: absolute; z-index: 0; left: 0; pointer-events: none; opacity: 0.5; }
    .hero-tag {
      font-family: var(--mono);
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--accent);
      margin-bottom: 20px;
      font-weight: 500;
    }
    .hero h1 {
      font-family: var(--serif);
      font-size: 3.8rem;
      line-height: 1.06;
      margin-bottom: 48px;
      font-weight: 400;
      letter-spacing: -0.025em;
      color: var(--white);
    }
    .hero-lower {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-end;
      gap: 40px;
    }
    .hero-body {
      font-size: 0.88rem;
      color: var(--white-40);
      line-height: 1.7;
      text-align: right;
      margin-left: auto;
      order: 2;
      font-weight: 400;
    }
    .hero-ask-ai {
      display: flex;
      align-items: center;
      gap: 12px;
      order: 3;
      margin-top: 4px;
      width: 100%;
    }
    .hero-ask-ai-label {
      font-family: var(--mono);
      font-size: 0.65rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--white-20);
      white-space: nowrap;
    }
    .hero-ask-ai-links {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .hero-ai-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--white-40);
      text-decoration: none;
      transition: color 0.2s;
    }
    .hero-ai-link svg {
      width: 18px;
      height: 18px;
    }
    .hero-ai-link:hover {
      color: var(--accent);
    }
    .hero-actions {
      display: flex;
      align-items: center;
      gap: 24px;
      order: 1;
      flex-shrink: 0;
    }
    .hero-cta {
      display: inline-block;
      background: linear-gradient(135deg, #d4976a, #c4856a);
      color: #fff;
      text-decoration: none;
      padding: 12px 28px;
      font-size: 0.88rem;
      font-weight: 500;
      border-radius: 4px;
      transition: all 0.25s;
      border: none;
      cursor: pointer;
      font-family: var(--sans);
      box-shadow: 0 2px 12px rgba(196,133,106,0.35), 0 0 20px rgba(196,133,106,0.15);
    }
    .hero-cta:hover { background: linear-gradient(135deg, #c4856a, #b0755c); opacity: 1; color: #fff; box-shadow: 0 4px 18px rgba(196,133,106,0.5), 0 0 30px rgba(196,133,106,0.2); }
    /* Hero inline email form */
    .hero-email-form {
      display: flex;
      align-items: center;
      gap: 0;
      border-radius: 6px;
      overflow: hidden;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(240,242,239,0.12);
      max-width: 420px;
    }
    .hero-email-form input {
      background: transparent;
      border: none;
      outline: none;
      color: var(--white);
      font-size: 0.88rem;
      font-family: var(--sans);
      padding: 13px 18px;
      width: 240px;
      flex-shrink: 0;
    }
    .hero-email-form input::placeholder {
      color: rgba(240,242,239,0.35);
    }
    .hero-email-form .hero-cta {
      border-radius: 0;
      white-space: nowrap;
      flex-shrink: 0;
    }
    /* Hero name step (hidden by default) */
    .hero-name-step {
      display: none;
      align-items: center;
      gap: 0;
      border-radius: 6px;
      overflow: hidden;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(240,242,239,0.12);
      max-width: 480px;
    }
    .hero-name-step.active { display: flex; }
    .hero-name-step input {
      background: transparent;
      border: none;
      border-right: 1px solid rgba(240,242,239,0.1);
      outline: none;
      color: var(--white);
      font-size: 0.88rem;
      font-family: var(--sans);
      padding: 13px 16px;
      flex: 1;
      min-width: 0;
    }
    .hero-name-step input:last-of-type { border-right: none; }
    .hero-name-step input::placeholder {
      color: rgba(240,242,239,0.35);
    }
    .hero-name-step .hero-cta {
      border-radius: 0;
      white-space: nowrap;
      flex-shrink: 0;
    }
    .hero-success-msg {
      display: none;
      color: var(--accent);
      font-size: 0.88rem;
      font-weight: 500;
      font-family: var(--sans);
    }
    .hero-success-msg.active { display: block; }
    .hero-secondary {
      color: var(--white-40);
      font-size: 0.85rem;
      text-decoration: none;
      transition: color 0.2s;
    }
    .hero-secondary:hover { color: var(--white); }

    /* ============================== */
    /* SOURCE CAROUSEL + HIGHLIGHT (Section 02) */
    /* ============================== */
    .src-carousel-viewport {
      height: 500px;
      overflow: hidden;
      position: relative;
      border-radius: 8px;
      border: none;
      background: transparent;
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.3) 15px, rgba(0,0,0,0.7) 28px, black 40px, black calc(100% - 40px), rgba(0,0,0,0.7) calc(100% - 28px), rgba(0,0,0,0.3) calc(100% - 15px), transparent 100%);
      mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.3) 15px, rgba(0,0,0,0.7) 28px, black 40px, black calc(100% - 40px), rgba(0,0,0,0.7) calc(100% - 28px), rgba(0,0,0,0.3) calc(100% - 15px), transparent 100%);
    }
    .src-carousel-track {
      display: flex;
      flex-direction: column;
      gap: 22px;
      will-change: transform;
    }
    .src-card {
      height: 160px;
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-radius: 10px;
      background: rgba(240,242,239,0.035);
      border: 1px solid rgba(240,242,239,0.06);
      box-shadow: 0 1px 2px rgba(0,0,0,0.25), 0 4px 16px rgba(0,0,0,0.12), inset 0 0.5px 0 rgba(240,242,239,0.08);
      transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.45s ease, box-shadow 0.45s ease;
      will-change: transform;
      position: relative;
    }
    /* Active card: subtle physical lift — spatial emphasis */
    .src-card.src-card-active {
      transform: translateY(-2px) scale(1.012);
      border-color: rgba(240,242,239,0.14);
      box-shadow: 0 2px 4px rgba(0,0,0,0.3), 0 8px 28px rgba(0,0,0,0.18), inset 0 0.5px 0 rgba(240,242,239,0.10);
    }

    /* LEFT: element-level highlight — loading bar fill from left to right */
    .src-hl {
      border-radius: 3px;
      padding: 1px 4px;
      background-image: linear-gradient(90deg, rgba(212,165,116,0.30), rgba(212,165,116,0.30));
      background-size: 0% 100%;
      background-position: left;
      background-repeat: no-repeat;
      box-shadow: none;
      transition: background-size 0.35s cubic-bezier(0.25, 0, 0.3, 1),
                  box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    }

    /* LEFT: active — warm gold bar fills left→right with underline */
    .src-card-active .src-hl {
      background-size: 100% 100%;
      box-shadow: inset 0 -2px 0 rgba(212,165,116,0.55);
      transition-delay: calc(var(--i, 0) * 0.15s);
    }

    /* Per-source highlight colors — LEFT (unified green for all) */
    .src-card-active { --hl-bg: rgba(34,197,94,0.20); --hl-border: rgba(34,197,94,0.40); --hl-glow: rgba(34,197,94,0.15); }
    .src-card-header {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      padding: 6px 14px;
      min-height: 28px;
      flex-shrink: 0;
      border-bottom: none;
      position: relative;
    }
    .src-card-header::after {
      content: '';
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 1px;
      background: rgba(240,242,239,0.04);
    }
    .src-card-name {
      font-family: var(--sans);
      font-size: 0.68rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.95);
    }
    .src-card-body {
      flex: 1;
      padding: 8px 14px 8px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3px 12px;
      align-content: start;
      overflow: hidden;
    }
    .src-card-field {
      display: flex;
      align-items: baseline;
      gap: 6px;
    }
    .src-card-field-label {
      font-family: var(--mono);
      font-size: 0.46rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--white-20);
      flex-shrink: 0;
    }
    .src-card-field-value {
      font-family: var(--sans);
      font-size: 0.66rem;
      line-height: 1.3;
      color: var(--white-60);
    }
    .src-card-coverage {
      grid-column: 1 / -1;
      margin-top: auto;
      font-family: var(--mono);
      font-size: 0.4rem;
      letter-spacing: 0.02em;
      color: var(--white-10);
      font-style: italic;
    }

    /* === PREQIN: Navy — compact profile top + prominent allocation chart === */
    .src-card-preqin .src-card-header { background: #0e2547; }
    .src-card-preqin .src-card-body { display: flex; flex-direction: column; gap: 0; padding: 0; justify-content: stretch; }
    /* Preqin: compact profile strip */
    .src-pq-profile { padding: 6px 14px 5px; border-bottom: 1px solid rgba(240,242,239,0.04); }
    .src-pq-profile-name { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; color: var(--white-60); }
    .src-pq-profile-meta { display: flex; gap: 8px; margin-top: 2px; flex-wrap: wrap; }
    .src-pq-profile-tag { font-family: var(--mono); font-size: 0.40rem; color: var(--white-25); }
    /* Preqin: allocation chart — the hero element */
    .src-pq-alloc { padding: 6px 14px 4px; flex: 1; display: flex; flex-direction: column; }
    .src-pq-alloc-label { font-family: var(--mono); font-size: 0.48rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--white-30); margin-bottom: 5px; font-weight: 600; }
    .src-pq-alloc-bars { display: flex; flex-direction: column; gap: 0; flex: 1; justify-content: space-evenly; }
    .src-pq-alloc-row { display: flex; align-items: center; gap: 6px; }
    .src-pq-alloc-row-label { font-family: var(--mono); font-size: 0.40rem; color: var(--white-25); width: 28px; flex-shrink: 0; }
    .src-pq-alloc-row-bar { flex: 1; height: 10px; border-radius: 3px; overflow: hidden; background: rgba(240,242,239,0.12); }
    .src-pq-alloc-row-fill { height: 100%; border-radius: 3px; }
    .src-pq-alloc-row-val { font-family: var(--mono); font-size: 0.44rem; color: var(--white-50); width: 28px; text-align: right; flex-shrink: 0; font-weight: 600; }
    .src-card-preqin .src-card-coverage { padding: 2px 14px 4px; }

    /* === PITCHBOOK: Navy-blue — tabbed chip interface === */
    .src-card-pitchbook .src-card-header { background: #1e3a5f; }
    .src-card-pitchbook .src-card-body { display: flex; flex-direction: column; gap: 4px; padding: 7px 14px 8px; }
    .src-pb-tabs { display: flex; gap: 0; border-bottom: 1px solid rgba(240,242,239,0.06); margin-bottom: 1px; }
    .src-pb-tab { font-family: var(--sans); font-size: 0.36rem; font-weight: 500; padding: 2px 5px; color: var(--white-20); border-bottom: 1.5px solid transparent; }
    .src-pb-tab-active { color: var(--white-60); border-bottom-color: rgba(30,58,95,0.8); }
    .src-pb-tags { display: flex; flex-wrap: wrap; gap: 2px 3px; }
    .src-pb-tag { font-family: var(--sans); font-size: 0.48rem; font-weight: 500; color: var(--white-60); background: rgba(30,58,95,0.25); border: 1px solid rgba(30,58,95,0.35); padding: 2px 7px; border-radius: 10px; white-space: nowrap; }
    .src-pb-tag-accent { background: rgba(30,58,95,0.45); color: var(--white-70); font-weight: 600; }
    .src-pb-metrics { display: flex; gap: 6px; padding-top: 3px; border-top: 1px solid rgba(240,242,239,0.04); margin-top: auto; }
    .src-pb-metric { font-family: var(--mono); font-size: 0.38rem; color: var(--white-25); }
    .src-pb-metric strong { color: var(--white-55); font-weight: 600; }
    /* PitchBook deal activity bar chart — prominent visual */
    .src-pb-chart-wrap { padding: 2px 0 4px; border-bottom: 1px solid rgba(240,242,239,0.04); flex: 1; display: flex; flex-direction: column; }
    .src-pb-chart-title { font-family: var(--mono); font-size: 0.38rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--white-25); margin-bottom: 4px; font-weight: 600; }
    .src-pb-chart { display: flex; align-items: flex-end; gap: 4px; flex: 1; min-height: 38px; padding: 0; }
    .src-pb-chart-col { display: flex; flex-direction: column; align-items: center; gap: 2px; flex: 1; }
    .src-pb-chart-bar { width: 100%; border-radius: 2px 2px 0 0; background: rgba(30,58,95,0.4); min-height: 2px; }
    .src-pb-chart-bar-accent { background: rgba(59,130,246,0.55); }
    .src-pb-chart-yr { font-family: var(--mono); font-size: 0.34rem; color: var(--white-20); }
    .src-pb-chart-val { font-family: var(--mono); font-size: 0.36rem; color: var(--white-40); margin-bottom: 1px; font-weight: 600; }

    /* === LINKEDIN: Signature blue — social profile card === */
    .src-card-linkedin .src-card-header { background: #0077B5; }
    .src-card-linkedin .src-card-body { display: flex; flex-direction: column; gap: 5px; padding: 7px 14px 7px; }
    .src-li-profile {
      display: flex; align-items: center; gap: 8px;
      padding: 4px 6px; background: rgba(240,242,239,0.04);
      border-radius: 4px; border: 1px solid rgba(240,242,239,0.06);
    }
    .src-li-avatar {
      width: 40px; height: 40px; border-radius: 50%;
      background: linear-gradient(135deg, rgba(0,119,181,0.7), rgba(0,160,220,0.7));
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,0.95); font-size: 0.62rem; font-weight: 700; flex-shrink: 0;
    }
    .src-li-name { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; color: var(--white-70); }
    .src-li-title { font-family: var(--sans); font-size: 0.44rem; color: var(--white-30); margin-top: 1px; }
    .src-li-meta-row { display: flex; gap: 8px; align-items: center; }
    .src-li-meta-item { font-family: var(--sans); font-size: 0.48rem; color: var(--white-30); }
    .src-li-meta-item strong { color: var(--white-55); font-weight: 600; }
    .src-li-status-dot { width: 5px; height: 5px; border-radius: 50%; background: #34d399; display: inline-block; margin-right: 3px; }
    .src-li-actions { display: flex; gap: 4px; margin-top: auto; padding-top: 2px; }
    .src-li-btn { font-family: var(--sans); font-size: 0.44rem; font-weight: 600; padding: 3px 10px; border-radius: 14px; }
    .src-li-btn-primary { background: #0077B5; color: rgba(255,255,255,0.95); }
    .src-li-btn-secondary { background: transparent; color: rgba(0,160,220,0.85); border: 1.5px solid rgba(0,119,181,0.5); }

    /* === SEC EDGAR: Dark slate — government filing table === */
    .src-card-sec .src-card-header { background: #1c2530; }
    .src-card-sec .src-card-name { letter-spacing: 0.08em; font-size: 0.56rem; }
    .src-card-sec .src-card-body { display: flex; flex-direction: column; gap: 0; padding: 5px 14px 6px; justify-content: stretch; }
    .src-sec-thead { display: flex; padding: 3px 8px; background: rgba(240,242,239,0.03); border-bottom: 1px solid rgba(240,242,239,0.06); }
    .src-sec-th { font-family: var(--mono); font-size: 0.36rem; text-transform: uppercase; color: var(--white-15); letter-spacing: 0.04em; }
    .src-sec-th:first-child { width: 38%; }
    .src-sec-th:nth-child(2) { width: 32%; }
    .src-sec-th:last-child { width: 30%; text-align: right; }
    .src-sec-row { display: flex; padding: 3px 8px; border-bottom: 1px solid rgba(240,242,239,0.03); }
    .src-sec-td { font-family: var(--mono); font-size: 0.46rem; line-height: 1.3; color: var(--white-45); }
    .src-sec-td:first-child { width: 38%; }
    .src-sec-td:nth-child(2) { width: 32%; font-family: var(--mono); }
    .src-sec-td:last-child { width: 30%; text-align: right; font-family: var(--mono); color: var(--white-25); font-size: 0.42rem; }
    .src-sec-link { font-family: var(--mono); font-size: 0.50rem; color: rgba(100,160,255,0.9); text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }
    .src-sec-cik { font-family: var(--mono); font-size: 0.36rem; color: var(--white-10); padding: 2px 8px; margin-top: auto; }

    /* === DAKOTA: Teal — status + pipeline progress === */
    .src-card-dakota .src-card-header { background: #006B5E; }
    .src-card-dakota .src-card-body { display: flex; flex-direction: column; gap: 5px; padding: 7px 14px 7px; }
    .src-dk-badge { display: inline-flex; align-items: center; gap: 4px; font-family: var(--mono); font-size: 0.44rem; font-weight: 700; padding: 3px 10px; border-radius: 3px; border-left: 2.5px solid #34d399; background: rgba(5,150,105,0.15); color: #34d399; }
    .src-dk-pipeline { display: flex; gap: 2px; align-items: center; padding: 2px 0; }
    .src-dk-stage { flex: 1; text-align: center; font-family: var(--mono); font-size: 0.40rem; text-transform: uppercase; letter-spacing: 0.03em; color: var(--white-15); padding: 3px 2px; background: rgba(240,242,239,0.04); border-radius: 2px; }
    .src-dk-stage-done { color: var(--white-35); background: rgba(240,242,239,0.08); }
    .src-dk-stage-active { color: #34d399; background: rgba(5,150,105,0.18); font-weight: 700; }
    .src-dk-arrow { font-size: 0.30rem; color: var(--white-10); flex-shrink: 0; }
    .src-dk-details { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; flex: 1; align-content: space-evenly; }
    .src-dk-detail { font-family: var(--mono); font-size: 0.44rem; color: var(--white-35); }
    .src-dk-detail strong { color: var(--white-60); font-weight: 600; }

    /* === BLOOMBERG: Black terminal — full amber monospace === */
    .src-card-bloomberg .src-card-header { background: #0a0a0a; border-bottom: 1px solid rgba(255,140,0,0.15); }
    .src-card-bloomberg .src-card-name { color: #ff8c00; font-family: var(--mono); font-size: 0.56rem; }
    .src-card-bloomberg .src-card-body { display: flex; flex-direction: column; gap: 0; background: #000; padding: 5px 14px 6px; justify-content: stretch; }
    .src-bb-fkeys { display: flex; gap: 2px; border-bottom: 1px solid rgba(255,140,0,0.08); padding-bottom: 2px; margin-bottom: 1px; }
    .src-bb-fkey { font-family: var(--mono); font-size: 0.42rem; color: rgba(255,140,0,0.35); padding: 2px 5px; background: rgba(255,140,0,0.06); border-radius: 1px; }
    .src-bb-line { font-family: var(--mono); font-size: 0.48rem; color: #ff8c00; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .src-bb-dim { color: rgba(255,140,0,0.30); }
    .src-bb-green { color: rgba(0,255,0,0.7); }
    .src-card-bloomberg .src-card-body > .src-bb-line:last-child { margin-top: auto; }
    .src-bb-cursor { display: inline-block; width: 2px; height: 10px; background: rgba(255,140,0,0.7); animation: bbBlink 1s step-end infinite; vertical-align: middle; margin-left: 2px; }
    @keyframes bbBlink { 50% { opacity: 0; } }

    /* === EVESTMENT: Deep navy — horizontal bar meter dashboard === */
    .src-card-evestment .src-card-header { background: #1B2A4A; }
    .src-card-evestment .src-card-body { display: flex; flex-direction: column; gap: 0; padding: 7px 14px 8px; justify-content: space-between; }
    .src-ev-header-row { display: flex; justify-content: space-between; align-items: center; padding: 1px 0 2px; border-bottom: 1px solid rgba(240,242,239,0.04); margin-bottom: 1px; }
    .src-ev-header-title { font-family: var(--sans); font-size: 0.50rem; font-weight: 700; color: var(--white-50); }
    .src-ev-meter { display: flex; align-items: center; gap: 5px; padding: 1px 0; }
    .src-ev-meter-label { font-family: var(--mono); font-size: 0.44rem; text-transform: uppercase; color: var(--white-30); width: 48px; flex-shrink: 0; letter-spacing: 0.03em; font-weight: 500; }
    .src-ev-meter-bar { flex: 1; height: 8px; background: rgba(27,42,74,0.35); border-radius: 3px; overflow: hidden; }
    .src-ev-meter-fill { height: 100%; border-radius: 2px; }
    .src-ev-fill-blue { background: linear-gradient(90deg, rgba(59,130,246,0.4), rgba(59,130,246,0.75)); }
    .src-ev-fill-green { background: linear-gradient(90deg, rgba(52,211,153,0.4), rgba(52,211,153,0.75)); }
    .src-ev-fill-amber { background: linear-gradient(90deg, rgba(251,191,36,0.4), rgba(251,191,36,0.75)); }
    .src-ev-meter-val { font-family: var(--mono); font-size: 0.46rem; color: var(--white-50); width: 52px; text-align: right; flex-shrink: 0; font-weight: 600; }
    .src-ev-status { display: inline-flex; align-items: center; gap: 4px; font-family: var(--mono); font-size: 0.38rem; font-weight: 600; padding: 1px 6px; border-radius: 3px; }
    .src-ev-status-active { color: #34d399; background: rgba(5,150,105,0.15); }

    /* === RIGHT: .hl text-box highlights — element-level, scattered across card === */
    /* RIGHT: element-level highlight — loading bar fill from left to right */
    .hl {
      display: inline-block;
      border-radius: 4px;
      padding: 2px 6px;
      width: fit-content;
      max-width: 100%;
      background-color: transparent;
      box-shadow: none;
      transform: scale(1);
      font-weight: inherit;
      color: inherit;
      transition: background-color 0.4s cubic-bezier(0.25, 0, 0.3, 1),
                  box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                  transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
                  color 0.3s ease-out;
    }
    .hl.hl-active {
      background-color: rgba(180,120,60,0.28);
      box-shadow: inset 0 -2px 0 rgba(180,120,60,0.50);
      transform: scale(1.04);
      color: #5c3310;
      font-weight: 600;
      transition-delay: calc(var(--i, 0) * 0.15s);
      animation: hlFlash 0.6s ease-out calc(var(--i, 0) * 0.15s) both;
    }
    @keyframes hlFlash {
      0% { background-color: rgba(180,120,60,0.55); transform: scale(1.07); }
      40% { background-color: rgba(180,120,60,0.35); }
      100% { background-color: rgba(180,120,60,0.28); transform: scale(1.04); }
    }

    /* Data stream lines — hidden */
    .ds-particle {
      display: none;
    }



    /* --- Source logo marquee --- */
    .sl-marquee-section { margin-top: 64px; }
    .sl-marquee-head { text-align: center; margin-bottom: 32px; }
    .sl-marquee-label {
      display: block;
      font-family: var(--mono);
      font-size: 0.55rem;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--white);
      opacity: 0.25;
      font-weight: 500;
      margin-bottom: 12px;
    }
    .sl-marquee-cats {
      display: flex;
      justify-content: center;
      gap: 32px;
      flex-wrap: wrap;
    }
    .sl-marquee-cat {
      font-family: var(--mono);
      font-size: 0.6rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--accent);
      opacity: 0.6;
      font-weight: 500;
      position: relative;
      padding: 4px 0;
    }
    .sl-marquee-cat::before {
      content: '';
      display: inline-block;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: var(--accent);
      opacity: 0.5;
      margin-right: 8px;
      vertical-align: middle;
    }
    .sl-marquee-wrap {
      position: relative;
      overflow: hidden;
      /* Fade edges */
      -webkit-mask-image: linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
      mask-image: linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
    }
    .sl-marquee-track {
      display: flex;
      width: max-content;
      padding: 12px 0;
    }
    .sl-marquee-left { animation: sl-scroll-left 35s linear infinite; }
    .sl-marquee-right { animation: sl-scroll-right 40s linear infinite; }
    .sl-marquee-set {
      display: flex;
      align-items: center;
      gap: 48px;
      padding: 0 24px;
    }
    @keyframes sl-scroll-left {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    @keyframes sl-scroll-right {
      0% { transform: translateX(-50%); }
      100% { transform: translateX(0); }
    }
    .sl-logo {
      height: 16px;
      width: auto;
      opacity: 0.25;
      transition: opacity 0.4s ease;
      filter: grayscale(1) brightness(2);
      flex-shrink: 0;
    }
    .sl-logo:hover { opacity: 0.6; }
    .wf-all-row {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 20px 36px;
    }
    .wf-all-more {
      font-family: var(--mono);
      font-size: 0.65rem;
      color: var(--accent);
      opacity: 0.5;
      letter-spacing: 0.04em;
    }
    .sl-mark {
      display: inline-flex;
      align-items: center;
      font-family: var(--sans);
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--white);
      opacity: 0.08;
      white-space: nowrap;
      letter-spacing: -0.01em;
      line-height: 1;
      transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .sl-mark:hover { opacity: 0.45; }
    .section.in-view .sl-mark { opacity: 0.5; }

    /* ============================== */
    /* COMPARE CARDS */
    /* ============================== */
    .approach-header {
      font-family: var(--serif);
      font-size: 1.8rem;
      font-weight: 400;
      color: var(--white);
      margin: 0 0 16px;
      line-height: 1.3;
    }
    .approach-sub {
      font-size: 0.92rem;
      color: var(--white-40);
      margin-bottom: 44px;
      max-width: 620px;
      line-height: 1.7;
    }
    .compare-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
    }
    .compare-card {
      border-radius: 10px;
      padding: 36px 32px;
      display: flex;
      flex-direction: column;
    }
    .compare-card.cc-old {
      background: rgba(240,242,239,0.02);
      border: 1px solid var(--border);
    }
    .compare-card.cc-new {
      background: rgba(240,242,239,0.03);
      border: 1px solid rgba(240,242,239,0.14);
    }
    .cc-header {
      font-family: var(--mono);
      font-size: 0.62rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      margin-bottom: 28px;
      padding-bottom: 16px;
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .cc-header svg { width: 16px; height: 16px; flex-shrink: 0; }
    .cc-old .cc-header { color: var(--white-20); }
    .cc-new .cc-header { color: var(--accent); }
    .cc-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .cc-list li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 0.95rem;
      line-height: 1.55;
    }
    .cc-old .cc-list li { color: var(--white-40); }
    .cc-new .cc-list li { color: var(--white-90); }
    .cc-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      flex-shrink: 0;
      margin-top: 7px;
    }
    .cc-old .cc-dot { background: var(--white-10); }
    .cc-new .cc-dot { background: var(--accent); }
    .cc-check {
      width: 14px;
      height: 14px;
      flex-shrink: 0;
      margin-top: 3px;
    }
    .cc-check svg {
      width: 100%;
      height: 100%;
    }
    .cc-price {
      margin-top: 32px;
      padding-top: 20px;
      border-top: 1px solid var(--border);
      font-size: 0.95rem;
      font-weight: 500;
      line-height: 1.6;
    }
    .cc-old .cc-price { color: var(--white-40); }
    .cc-new .cc-price { color: var(--white); }
    .cc-price small {
      display: block;
      font-weight: 400;
      font-size: 0.7rem;
      color: var(--white-20);
      margin-top: 2px;
    }

    /* ============================== */
    /* PLATFORM */
    /* ============================== */
    .platform-intro {
      font-family: var(--serif);
      font-size: 1.8rem;
      font-weight: 400;
      color: var(--white);
      margin: 0 0 16px;
      line-height: 1.3;
    }
    .platform-sub {
      font-size: 0.92rem;
      color: var(--white-40);
      margin-bottom: 32px;
      max-width: 620px;
      line-height: 1.7;
    }
    /* Platform sticky-scroll */
    .pf-scroll-wrap {
      display: flex; gap: 48px; position: relative;
    }
    .pf-sticky {
      width: 280px; flex-shrink: 0;
      position: sticky; top: 120px; align-self: flex-start;
      height: fit-content;
    }
    .pf-sticky-nav {
      display: flex; flex-direction: column; gap: 0; margin-top: 32px;
    }
    .pf-sticky-item {
      padding: 14px 0; border-bottom: 1px solid var(--border);
      cursor: default; transition: all 0.4s;
    }
    .pf-sticky-item:last-child { border-bottom: none; }
    .pf-sticky-num {
      font-family: var(--mono); font-size: 0.55rem; color: var(--white-10);
      text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 4px;
      transition: color 0.4s;
    }
    .pf-sticky-name {
      font-size: 0.88rem; font-weight: 500; color: var(--white-20);
      transition: color 0.4s;
    }
    .pf-sticky-item.active .pf-sticky-num { color: var(--accent); }
    .pf-sticky-item.active .pf-sticky-name { color: var(--white); }
    .pf-scroll-panels { flex: 1; overflow: hidden; }
    .pf-panel {
      border-bottom: 1px solid var(--border);
      padding: 48px 0;
      position: relative;
    }
    .pf-panel:last-child { border-bottom: none; }
    .pf-panel-head {
      margin-bottom: 24px;
    }
    .pf-panel-title {
      font-family: var(--serif); font-size: 1.3rem; font-weight: 400;
      color: var(--white); margin: 0 0 8px; line-height: 1.25;
    }
    .pf-panel-desc {
      font-size: 0.84rem; color: var(--white-40); line-height: 1.7;
      max-width: 520px;
    }
    .pf-panel-content {
      overflow: hidden;
      box-sizing: border-box;
    }
    .pf-panel-visual {
      background: rgba(240,242,239,0.02);
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
    }
    .pf-panel-visual.pf-light {
      background: #fff;
      border-color: #e5e5ea;
      border-radius: 10px;
    }
    .pf-panel-visual .dash-bar {
      background: #ecedef; padding: 8px 12px;
      display: flex; align-items: center; gap: 6px;
      border-bottom: 1px solid rgba(0,0,0,0.06);
    }

    /* ——— #platform: light paper background + dark text ——— */
    #platform { border-bottom-color: rgba(6,14,10,0.06); }
    #platform .section-label { color: rgba(6,14,10,0.3); }
    #platform.in-view .section-label { color: rgba(6,14,10,0.5); }
    #platform .section-label::before { background: rgba(6,14,10,0.25); }
    #platform .section-label::after { background: rgba(6,14,10,0.08); }
    #platform.in-view .section-label::after { background: var(--accent); box-shadow: 0 0 8px rgba(196,133,106,0.25); }
    #platform .platform-intro { color: rgba(6,14,10,0.85); }
    #platform .pf-sticky-num { color: rgba(6,14,10,0.25); }
    #platform .pf-sticky-name { color: rgba(6,14,10,0.35); }
    #platform .pf-sticky-item { border-bottom-color: rgba(6,14,10,0.06); }
    #platform .pf-sticky-item.active .pf-sticky-num { color: var(--accent); }
    #platform .pf-sticky-item.active .pf-sticky-name { color: rgba(6,14,10,0.85); }
    #platform .pf-panel { border-bottom-color: rgba(6,14,10,0.06); }
    #platform .pf-panel-title { color: rgba(6,14,10,0.85); }
    #platform .pf-panel-desc { color: rgba(6,14,10,0.5); }
    #platform .pf-panel-visual {
      background: rgba(6,14,10,0.02);
      border-color: rgba(6,14,10,0.08);
    }
    #platform .pf-panel-visual.pf-light {
      background: #fff;
      border-color: rgba(6,14,10,0.08);
      box-shadow: 0 2px 20px rgba(6,14,10,0.06), 0 0 0 1px rgba(6,14,10,0.04);
    }
    /* Soeren panel signals — dark text on light bg */
    #platform .soeren-signal {
      background: rgba(6,14,10,0.02);
      border-color: rgba(6,14,10,0.06);
    }
    #platform .soeren-signal-text { color: rgba(6,14,10,0.5); }
    #platform .soeren-signal-text strong { color: rgba(6,14,10,0.8); }
    /* Soeren agent header + feed */
    #platform .s3-header-name { color: rgba(6,14,10,0.8) !important; }
    #platform .s3-header-sub { color: rgba(6,14,10,0.4) !important; }
    #platform .s3-stat-val { color: rgba(6,14,10,0.75) !important; }
    #platform .s3-stat-label { color: rgba(6,14,10,0.3) !important; }
    #platform .s3-stat { border-color: rgba(6,14,10,0.06) !important; }
    #platform .s3-feed-item { color: rgba(6,14,10,0.45) !important; border-bottom-color: rgba(6,14,10,0.04) !important; }
    #platform .s3-feed-item strong { color: rgba(6,14,10,0.7) !important; }
    #platform .s3-feed-ts { color: rgba(6,14,10,0.2) !important; }
    #platform .s3-feed-icon { background: rgba(6,14,10,0.04) !important; color: rgba(6,14,10,0.35) !important; }
    /* Panel 4 calendar */
    #platform .p4-day-header { color: rgba(6,14,10,0.3) !important; }
    #platform .p4-time-label { color: rgba(6,14,10,0.2) !important; }
    #platform .p4-cell { border-color: rgba(6,14,10,0.04) !important; }
    #platform .p4-week-label { color: rgba(6,14,10,0.3) !important; }

    /* Soeren panel */
    .soeren-badge {
      font-family: var(--mono); font-size: 0.6rem; text-transform: uppercase;
      letter-spacing: 0.1em; color: var(--accent); background: rgba(196,133,106,0.08);
      padding: 4px 10px; border-radius: 4px; display: inline-block;
      margin-bottom: 8px;
    }
    .soeren-signals {
      display: flex; flex-direction: column; gap: 12px;
      padding: 24px;
    }
    .soeren-signal {
      display: flex; align-items: center; gap: 12px;
      padding: 14px 18px; background: rgba(240,242,239,0.03);
      border: 1px solid var(--border); border-radius: 6px;
    }
    .soeren-signal-dot {
      width: 8px; height: 8px; border-radius: 50%; background: var(--accent);
      animation: soeren-pulse 2s ease-in-out infinite;
      flex-shrink: 0;
    }
    .soeren-signal:nth-child(2) .soeren-signal-dot { animation-delay: 0.5s; }
    .soeren-signal:nth-child(3) .soeren-signal-dot { animation-delay: 1s; }
    @keyframes soeren-pulse {
      0%, 100% { opacity: 0.4; transform: scale(1); }
      50% { opacity: 1; transform: scale(1.3); }
    }
    .soeren-signal-text {
      font-size: 0.78rem; color: var(--white-60); line-height: 1.4;
    }
    .soeren-signal-text strong { color: var(--white); font-weight: 500; }
    /* Intelligence view */
    .intel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .intel-card {
      padding: 18px; border: 1px solid rgba(0,0,0,0.06); border-radius: 8px; background: #fff;
    }
    .intel-card-label { font-family: var(--mono); font-size: 0.55rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(26,26,46,0.3); margin-bottom: 8px; }
    .intel-card-name { font-size: 0.82rem; font-weight: 600; color: #1a1a2e; margin-bottom: 4px; }
    .intel-card-org { font-size: 0.7rem; color: rgba(26,26,46,0.4); margin-bottom: 12px; }
    .intel-bar-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
    .intel-bar-label { font-family: var(--mono); font-size: 0.52rem; color: rgba(26,26,46,0.35); width: 60px; }
    .intel-bar { flex: 1; height: 4px; background: rgba(0,0,0,0.04); border-radius: 2px; overflow: hidden; }
    .intel-bar-fill { height: 100%; border-radius: 2px; background: var(--accent); }
    /* Analytics view */
    .analytics-row { display: flex; gap: 16px; margin-bottom: 20px; }
    .analytics-stat {
      flex: 1; padding: 18px; border: 1px solid rgba(0,0,0,0.06); border-radius: 8px; background: #fff;
    }
    .analytics-stat-label { font-family: var(--mono); font-size: 0.52rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(26,26,46,0.3); margin-bottom: 6px; }
    .analytics-stat-num { font-size: 1.6rem; font-weight: 600; color: #1a1a2e; }
    .analytics-stat-delta { font-family: var(--mono); font-size: 0.6rem; color: #28a745; margin-left: 6px; }
    .analytics-chart {
      padding: 20px; border: 1px solid rgba(0,0,0,0.06); border-radius: 8px; background: #fff;
      min-height: 180px; display: flex; align-items: flex-end; gap: 8px; padding-top: 40px;
    }
    .analytics-chart-bar {
      flex: 1; background: rgba(196,133,106,0.15); border-radius: 3px 3px 0 0;
      animation: chart-grow 1.5s ease both; transform-origin: bottom;
    }
    .analytics-chart-bar:nth-child(odd) { background: rgba(196,133,106,0.3); }
    @keyframes chart-grow {
      from { transform: scaleY(0); }
    }

    /* ---- Hero Dashboard Container ---- */
    /* Outer: transparent transform-only wrapper. No visuals. */
    .hero-dash {
      width: 100%;
      margin-top: 118px;
      transform-origin: 50% 100%;
      will-change: transform;
      transform: perspective(1200px) rotateX(8deg);
    }
    /* Inner: fixed 960×560, owns ALL visuals. Centered on desktop, JS-scaled on mobile. */
    .hero-dash-inner {
      width: 960px;
      height: 560px;
      margin: 0 auto;
      display: flex;
      background: #fff;
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 8px 40px rgba(0,0,0,0.45), 0 0 0 1px rgba(240,242,239,0.04), 0 0 140px 60px rgba(196,133,106,0.05), 0 0 260px 120px rgba(196,133,106,0.03);
      outline: 1px solid rgba(240,242,239,0.03);
      outline-offset: -1px;
    }
    .hero-dash-inner::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 12px;
      background: linear-gradient(180deg, rgba(240,242,239,0.06) 0%, rgba(240,242,239,0.02) 30%, transparent 60%);
      pointer-events: none;
      z-index: 1;
    }

    /* ---- Collapsed Sidebar ---- */
    .ha-sidebar {
      width: 44px;
      background: #28282e;
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 10px 0 8px;
      flex-shrink: 0;
      border-right: 1px solid rgba(255,255,255,0.06);
      overflow: hidden;
    }
    .ha-sidebar-brand {
      width: 24px; height: 24px; border-radius: 6px;
      background: linear-gradient(135deg, #d4976a, #c4856a);
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 12px; flex-shrink: 0;
    }
    .ha-sidebar-brand svg { width: 14px; height: 14px; display: block; }
    .ha-sidebar-spacer { flex: 1; }
    .ha-sidebar-icon {
      width: 16px; height: 16px; color: rgba(255,255,255,0.3);
      margin-bottom: 8px; cursor: default;
    }
    .ha-sidebar-icon svg { width: 16px; height: 16px; display: block; }
    .ha-sidebar-avatar {
      width: 24px; height: 24px; border-radius: 50%;
      background: linear-gradient(135deg, #d4976a, #c4856a);
      display: flex; align-items: center; justify-content: center;
      font-size: 0.36rem; font-weight: 600; color: #fff;
      font-family: var(--sans); letter-spacing: 0.02em;
      margin-top: 4px; flex-shrink: 0;
    }
    .ha-sidebar-divider {
      width: 20px; height: 1px;
      background: rgba(255,255,255,0.08);
      margin: 4px 0 8px;
    }
    .ha-tab {
      width: 36px; height: 36px;
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,0.3);
      cursor: default; position: relative;
      margin-bottom: 4px;
      transition: color 0.3s ease;
    }
    .ha-tab svg { width: 18px; height: 18px; display: block; }
    .ha-tab.ha-active {
      color: var(--accent);
    }
    .ha-tab.ha-active::before {
      content: '';
      position: absolute;
      left: 0; top: 6px; bottom: 6px;
      width: 2px;
      background: var(--accent);
      border-radius: 0 1px 1px 0;
    }

    /* ---- Main Content Area ---- */
    .ha-main {
      flex: 1;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }

    /* ---- Global Top Bar ---- */
    .ha-global-topbar {
      display: flex; align-items: center; justify-content: space-between;
      padding: 5px 14px; background: #fff;
      border-bottom: 1px solid #e5e5ea; flex-shrink: 0;
    }
    .ha-gtb-left { display: flex; align-items: center; gap: 4px; }
    .ha-gtb-breadcrumb {
      font-family: var(--sans); font-size: 0.40rem;
      color: #aeaeb2; font-weight: 500;
    }
    .ha-gtb-breadcrumb.ha-gtb-active { color: #1a1a2e; }
    .ha-gtb-chevron { font-size: 0.36rem; color: #d1d1d6; }
    .ha-gtb-right { display: flex; align-items: center; gap: 8px; }
    .ha-gtb-icon {
      width: 16px; height: 16px; color: #aeaeb2;
      display: flex; align-items: center; justify-content: center;
    }
    .ha-gtb-icon svg { width: 12px; height: 12px; display: block; }
    .ha-gtb-notif { position: relative; }
    .ha-gtb-badge {
      position: absolute; top: -2px; right: -4px;
      background: #ff3b30; color: #fff;
      font-size: 0.20rem; font-weight: 700;
      width: 9px; height: 9px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
    }
    .ha-gtb-status {
      font-family: var(--mono); font-size: 0.28rem;
      text-transform: uppercase; letter-spacing: 0.06em;
      color: #34c759; font-weight: 600;
      background: rgba(52,199,89,0.1);
      padding: 1px 6px; border-radius: 3px;
      margin-left: 6px;
    }
    .ha-gtb-cmdk {
      display: flex; align-items: center; gap: 4px;
      padding: 2px 8px; border-radius: 4px;
      background: #f2f2f7; border: 1px solid #e5e5ea;
      font-family: var(--sans); font-size: 0.34rem;
      color: #aeaeb2; cursor: default;
    }
    .ha-gtb-cmdk svg { color: #aeaeb2; flex-shrink: 0; }
    .ha-gtb-kbd {
      font-family: var(--mono); font-size: 0.28rem;
      color: #c7c7cc; margin-left: 4px;
    }
    .ha-main-content {
      flex: 1; position: relative; overflow: hidden;
    }

    /* ---- Scene Navigation Dots (outside .hero-dash, below the 3D UI) ---- */
    .ha-nav-dots {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 10px 0;
      margin-top: -40px;
      margin-bottom: 60px;
      position: relative;
      z-index: 100;
    }
    .ha-nav-dot {
      width: 8px; height: 8px;
      border-radius: 50%;
      background: rgba(240,242,239,0.18);
      border: none;
      padding: 0;
      cursor: pointer;
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
    }
    .ha-nav-dot:hover {
      background: rgba(240,242,239,0.4);
      transform: scale(1.3);
    }
    .ha-nav-dot.ha-dot-active {
      background: rgba(240,242,239,0.15);
      width: 24px;
      border-radius: 4px;
    }
    /* Loading fill bar inside active dot */
    .ha-dot-fill {
      position: absolute; top: 0; left: 0;
      height: 100%; width: 0%;
      background: var(--accent);
      border-radius: 3px;
    }
    .ha-dot-label {
      position: absolute;
      bottom: calc(100% + 10px);
      left: 50%;
      transform: translateX(-50%);
      font-family: var(--sans);
      text-align: center;
      color: var(--white-80);
      background: rgba(6,14,10,0.92);
      border: 1px solid rgba(240,242,239,0.1);
      padding: 8px 12px;
      border-radius: 6px;
      white-space: nowrap;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.2s;
      box-shadow: 0 4px 12px rgba(0,0,0,0.3);
      backdrop-filter: blur(8px);
      min-width: 100px;
    }
    .ha-dot-title {
      display: block;
      font-size: 0.7rem; font-weight: 600;
      color: var(--white);
      margin-bottom: 2px;
    }
    .ha-dot-blurb {
      display: block;
      font-size: 0.58rem; font-weight: 400;
      color: var(--white-50);
      line-height: 1.3;
    }
    .ha-nav-dot:hover .ha-dot-label,
    .ha-nav-dot.ha-dot-active .ha-dot-label {
      opacity: 1;
    }

    /* ---- Scene Containers ---- */
    .ha-scene {
      position: absolute; inset: 0;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity 0.4s ease, transform 0.4s ease;
      will-change: opacity, transform;
      pointer-events: none;
      display: flex; flex-direction: column;
    }
    .ha-scene.ha-active {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }

    /* ---- Scene 1: Targeting ---- */
    .ha-topbar {
      display: flex; align-items: center; justify-content: space-between;
      padding: 8px 16px;
      border-bottom: 1px solid #e5e5ea;
      background: #fff;
      flex-shrink: 0;
    }
    .ha-topbar-left {
      display: flex; align-items: center; gap: 10px;
    }
    .ha-topbar-label {
      font-family: var(--mono); font-size: 0.52rem; text-transform: uppercase;
      letter-spacing: 0.1em; color: #636366; font-weight: 500;
    }
    .ha-topbar-count {
      font-family: var(--mono); font-size: 0.5rem; font-weight: 600;
      color: #fff; background: #28282e;
      padding: 2px 8px; border-radius: 4px;
      opacity: 0; transition: opacity 0.3s ease;
    }
    .ha-topbar-count.ha-visible { opacity: 1; }
    .ha-launch-btn {
      background: linear-gradient(135deg, #d4976a, #c4856a);
      color: #fff; padding: 4px 12px; font-size: 0.44rem; font-weight: 600;
      font-family: var(--sans); border: none; cursor: default;
      text-align: center; border-radius: 4px;
      opacity: 1; transform: scale(1);
      transition: opacity 0.4s ease, transform 0.15s ease;
    }
    .ha-launch-btn.ha-pressed { transform: scale(0.96); }
    @keyframes haPulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(196,133,106,0.4); }
      50% { box-shadow: 0 0 12px 4px rgba(196,133,106,0.25); }
    }
    .ha-launch-btn.ha-glow { animation: haPulse 1.2s ease infinite; }

    .ha-s1-body {
      display: grid; grid-template-columns: 210px 1fr;
      flex: 1; overflow: hidden;
    }

    /* Filter panel — Sales Navigator style */
    .ha-s1-filter-search {
      display: flex; align-items: center; gap: 5px;
      padding: 4px 14px;
      background: #f2f2f7; border: 1px solid #e5e5ea; border-radius: 6px;
      font-size: 0.42rem; color: #aeaeb2; font-family: var(--sans);
      flex: 1; max-width: 280px; margin: 0 16px;
    }
    .ha-s1-filter-search svg { width: 9px; height: 9px; flex-shrink: 0; color: #c7c7cc; }
    .ha-s1-filters {
      padding: 4px 12px 8px; border-right: 1px solid #e5e5ea;
      display: flex; flex-direction: column; gap: 0;
      overflow-y: auto; overflow-x: hidden;
      background: #fafafa;
    }
    .ha-filter-section {
      padding: 5px 0; border-bottom: 1px solid #f0f0f2;
    }
    .ha-filter-section:last-child { border-bottom: none; }
    .ha-filter-section-header {
      font-family: var(--sans); font-size: 0.40rem; text-transform: uppercase;
      letter-spacing: 0.06em; color: #636366; font-weight: 600;
      display: flex; justify-content: space-between; align-items: center;
      cursor: default; padding: 0 0 4px;
      user-select: none;
    }
    .ha-filter-section-header .ha-chevron {
      font-size: 0.36rem; color: #aeaeb2; transition: transform 0.2s ease;
    }
    .ha-filter-section.ha-collapsed .ha-chevron { transform: rotate(-90deg); }
    .ha-filter-section.ha-collapsed .ha-filter-options { display: none; }
    .ha-filter-options { display: flex; flex-direction: column; gap: 0; }
    .ha-filter-option {
      font-family: var(--sans); font-size: 0.46rem; color: #636366;
      display: flex; align-items: center; gap: 6px;
      padding: 2px 0; cursor: default;
      transition: color 0.2s ease, font-weight 0.2s ease;
    }
    .ha-filter-checkbox {
      width: 10px; height: 10px; border-radius: 2px; flex-shrink: 0;
      border: 1.2px solid #e5e5ea; background: #fff;
      display: flex; align-items: center; justify-content: center;
      transition: background 0.2s ease, border-color 0.2s ease;
    }
    .ha-filter-checkbox svg { width: 7px; height: 7px; opacity: 0; transition: opacity 0.2s ease; }
    .ha-filter-option.ha-checked .ha-filter-checkbox {
      background: var(--accent); border-color: var(--accent);
    }
    .ha-filter-option.ha-checked .ha-filter-checkbox svg { opacity: 1; }
    .ha-filter-option.ha-checked {
      color: #1a1a2e; font-weight: 500;
    }
    .ha-filter-more {
      font-size: 0.42rem; color: var(--accent); font-weight: 500;
      padding: 3px 0 1px; cursor: default;
      font-family: var(--sans); letter-spacing: 0.01em;
    }

    /* Results panel */
    .ha-s1-results {
      padding: 10px 14px; overflow: hidden;
      display: flex; flex-direction: column;
    }
    .ha-s1-results-header {
      display: flex; align-items: center; justify-content: space-between;
      padding-bottom: 8px; margin-bottom: 4px; border-bottom: 1px solid #e5e5ea;
    }
    .ha-s1-results-header span {
      font-size: 0.58rem; color: #636366; font-family: var(--sans);
    }
    #ha-s1-results-num {
      color: #1a1a2e; font-weight: 600;
    }
    .ha-s1-sort {
      font-size: 0.48rem !important; color: #aeaeb2 !important;
      font-family: var(--mono) !important;
    }
    .ha-s1-sort strong { color: var(--accent); font-weight: 500; }
    .ha-s1-rows {
      flex: 1; overflow-y: auto; overflow-x: hidden;
    }
    .ha-s1-rows::-webkit-scrollbar { width: 3px; }
    .ha-s1-rows::-webkit-scrollbar-thumb { background: #d1d1d6; border-radius: 3px; }
    .ha-s1-rows::-webkit-scrollbar-track { background: transparent; }
    .ha-contact-row {
      display: flex; align-items: flex-start; gap: 10px;
      padding: 8px 0; border-bottom: 1px solid #f2f2f7;
      opacity: 0; transform: translateY(6px);
      transition: opacity 0.3s ease, transform 0.3s ease;
    }
    .ha-contact-row.ha-visible {
      opacity: 1; transform: translateY(0);
    }
    .ha-contact-avatar {
      width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
      font-size: 0.42rem; font-weight: 600; color: rgba(255,255,255,0.85);
      overflow: hidden;
    }
    img.ha-contact-photo {
      width: 24px; height: 24px; border-radius: 50%; object-fit: cover;
      border: 1.5px solid #e5e5ea;
      margin-top: 1px;
    }
    .ha-contact-info { flex: 1; min-width: 0; }
    .ha-contact-name-row {
      display: flex; align-items: center; gap: 8px;
    }
    .ha-contact-name {
      font-size: 0.7rem; font-weight: 600; color: #1a1a2e;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .ha-contact-match {
      font-size: 0.46rem; font-weight: 700;
      padding: 1px 6px; border-radius: 10px;
      background: linear-gradient(135deg, rgba(196,133,106,0.14), rgba(196,133,106,0.10));
      color: #a06a4e;
      flex-shrink: 0;
      font-family: var(--sans);
      line-height: 1.4;
    }
    .ha-contact-meta {
      font-size: 0.52rem; color: #636366; margin-top: 1px;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .ha-contact-email {
      font-size: 0.46rem; color: #8e8e93; margin-top: 1px;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .ha-contact-tags {
      display: flex; flex-wrap: wrap; gap: 3px; margin-top: 4px;
    }
    .ha-contact-tag {
      font-size: 0.44rem; padding: 2px 6px; border-radius: 3px;
      font-family: var(--sans); font-weight: 500;
    }

    /* ---- Fake cursor ---- */
    .ha-cursor {
      position: absolute;
      width: 18px; height: 24px;
      z-index: 50;
      pointer-events: none;
      opacity: 0;
      filter: drop-shadow(0 1px 3px rgba(0,0,0,0.3));
      transition: left 0.9s cubic-bezier(0.4, 0, 0.2, 1), top 0.9s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    }
    .ha-cursor.ha-visible { opacity: 1; }
    .ha-cursor.ha-clicking { transform: scale(0.82); filter: drop-shadow(0 1px 6px rgba(59,130,246,0.4)); }

    /* ---- Scene 2: Outreach ---- */
    .ha-sub {
      position: absolute; inset: 0;
      display: flex; flex-direction: column;
      transition: opacity 0.4s ease;
    }

    /* Sub-scene 2a: Channel Picker */
    .ha-channels-wrap {
      display: flex; flex-direction: column; align-items: center;
      justify-content: center; flex: 1; padding: 24px;
    }
    .ha-channels-label {
      font-family: var(--sans); font-size: 0.56rem;
      letter-spacing: 0.02em; color: #636366; font-weight: 500;
      margin-bottom: 16px;
    }
    .ha-channels-grid {
      display: flex; gap: 8px; margin-bottom: 18px;
    }
    .ha-channel-card {
      width: 82px; padding: 12px 6px;
      background: #f8f8fa; border: 1px solid #e5e5ea; border-radius: 4px;
      display: flex; flex-direction: column; align-items: center; gap: 5px;
      cursor: default;
      transition: border-color 0.3s ease, background 0.3s ease;
    }
    .ha-channel-icon {
      width: 20px; height: 20px; color: #636366;
    }
    .ha-channel-icon svg { width: 20px; height: 20px; display: block; }
    .ha-channel-card.ha-checked .ha-channel-icon { color: var(--accent); }
    .ha-channel-name {
      font-size: 0.5rem; color: #1a1a2e; font-weight: 500; font-family: var(--sans);
      text-align: center; white-space: nowrap;
    }
    .ha-channel-off .ha-channel-name { color: #aeaeb2; }
    .ha-channel-check {
      font-size: 0.62rem; color: var(--accent); font-weight: 600;
      opacity: 0; transition: opacity 0.3s ease;
    }
    .ha-channel-card.ha-checked .ha-channel-check { opacity: 1; }
    .ha-channel-card.ha-checked {
      border-color: var(--accent);
      background: rgba(196,133,106,0.08);
      box-shadow: 0 0 8px rgba(196,133,106,0.2);
    }
    .ha-next-btn {
      background: linear-gradient(135deg, #d4976a, #c4856a);
      color: #fff; padding: 7px 28px; font-size: 0.64rem; font-weight: 600;
      font-family: var(--sans); border: none; border-radius: 4px; cursor: default;
    }

    /* Sub-scene 2a: Signal Builder */
    .ha-signals-wrap {
      display: flex; flex-direction: column; align-items: center;
      justify-content: center; flex: 1; padding: 24px;
    }
    .ha-signals-label {
      font-family: var(--serif); font-size: 0.72rem;
      color: #1a1a2e; font-weight: 400;
      margin-bottom: 4px;
    }
    .ha-signals-helper {
      font-size: 0.40rem; color: #8e8e93; margin-bottom: 14px;
      font-family: var(--sans);
    }
    .ha-signals-input-wrap {
      width: 100%; max-width: 440px; margin-bottom: 10px;
    }
    .ha-signals-search-bar {
      display: flex; align-items: flex-start; gap: 8px;
      padding: 10px 14px;
      background: #fff;
      border: 1.5px solid #e5e5ea; border-radius: 12px;
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
      min-height: 38px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.05);
      position: relative;
    }
    .ha-signals-search-bar.ha-focused,
    .ha-signals-search-bar:has(.ha-typing) {
      border-color: transparent;
      background: #fff;
      box-shadow: 0 2px 12px rgba(0,0,0,0.06), 0 0 0 1.5px rgba(196,133,106,0.35);
    }
    .ha-signals-ai-icon {
      width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px;
      display: flex; align-items: center; justify-content: center;
    }
    .ha-signals-ai-icon svg {
      width: 14px; height: 14px;
    }
    .ha-signals-mag { display: none; }
    .ha-signals-input {
      width: 100%;
      font-size: 0.50rem; color: #1a1a2e; font-family: var(--sans);
      line-height: 1.5;
      display: flex; align-items: center;
      min-height: 0;
    }
    .ha-signals-input.ha-typing { }
    .ha-signals-input .ha-sig-cursor {
      display: inline-block; width: 1.5px; height: 0.54rem;
      background: var(--accent); margin-left: 1px;
      animation: ha-blink 0.8s step-end infinite;
      border-radius: 1px;
    }
    .ha-signals-send-btn {
      width: 24px; height: 24px; border-radius: 6px;
      background: #e5e5ea; border: none; cursor: default;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0; margin-top: 0px;
      transition: background 0.3s ease, transform 0.15s ease;
      opacity: 0.4;
    }
    .ha-signals-send-btn.ha-active {
      background: linear-gradient(135deg, #d4976a, #c4856a);
      opacity: 1;
    }
    .ha-signals-send-btn svg {
      width: 12px; height: 12px; color: #fff;
    }
    .ha-signals-chips {
      display: flex; gap: 5px; flex-wrap: wrap; justify-content: center;
      margin-bottom: 14px; width: 100%; max-width: 440px;
    }
    .ha-signals-chip {
      font-family: var(--sans); font-size: 0.36rem; color: #636366;
      padding: 3px 10px; border-radius: 20px;
      background: #f2f2f7; border: 1px solid #e5e5ea;
      white-space: nowrap;
      opacity: 0; transform: translateY(4px);
      transition: opacity 0.3s ease, transform 0.3s ease;
    }
    .ha-signals-chip.ha-visible { opacity: 1; transform: translateY(0); }
    .ha-signals-processing {
      display: flex; align-items: center; gap: 6px;
      font-family: var(--mono); font-size: 0.42rem; text-transform: uppercase;
      letter-spacing: 0.08em; color: var(--accent); font-weight: 500;
      margin-bottom: 14px; opacity: 0;
      transition: opacity 0.3s ease;
    }
    .ha-signals-processing.ha-visible { opacity: 1; }
    .ha-signals-processing .ha-sig-sparkle {
      width: 14px; height: 14px; border-radius: 50%;
      background: linear-gradient(135deg, #d4976a, #c4856a);
      display: flex; align-items: center; justify-content: center;
      animation: ha-pulse 1s ease-in-out infinite;
    }
    @keyframes ha-pulse {
      0%, 100% { transform: scale(1); opacity: 1; }
      50% { transform: scale(1.15); opacity: 0.8; }
    }
    .ha-signal-rules {
      width: 100%; max-width: 420px;
      display: flex; flex-direction: column; gap: 4px;
      margin-bottom: 14px;
    }
    .ha-signal-rule {
      display: flex; align-items: center; justify-content: space-between;
      padding: 8px 12px;
      background: #fff; border: 1px solid #ececf0; border-radius: 8px;
      border-left: 3px solid #d1d1d6;
      box-shadow: 0 1px 3px rgba(0,0,0,0.04);
      opacity: 0; transform: translateY(4px);
      transition: opacity 0.35s ease, transform 0.35s ease, border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
    }
    .ha-signal-rule.ha-rule-visible {
      opacity: 1; transform: translateY(0);
    }
    .ha-signal-rule[data-rule="0"] { border-left-color: #6b8cae; }
    .ha-signal-rule[data-rule="0"].ha-rule-visible { background: rgba(107,140,174,0.05); }
    .ha-signal-rule[data-rule="1"] { border-left-color: #8b7ea8; }
    .ha-signal-rule[data-rule="1"].ha-rule-visible { background: rgba(139,126,168,0.05); }
    .ha-signal-rule[data-rule="2"] { border-left-color: var(--accent); }
    .ha-signal-rule[data-rule="2"].ha-rule-visible { background: rgba(196,133,106,0.05); }
    .ha-signal-rule[data-rule="3"] { border-left-color: #6b9e8a; }
    .ha-signal-rule[data-rule="3"].ha-rule-visible { background: rgba(107,158,138,0.05); }
    .ha-signal-rule[data-rule="4"] { border-left-color: #b07a6e; }
    .ha-signal-rule[data-rule="4"].ha-rule-visible { background: rgba(176,122,110,0.05); }
    .ha-signal-rule.ha-rule-active {
      border-color: var(--accent);
      background: rgba(196,133,106,0.06);
    }
    .ha-signal-rule-icon {
      font-size: 0.42rem; flex-shrink: 0; margin-right: 2px;
    }
    .ha-signal-rule-name {
      font-size: 0.46rem; color: #1a1a2e; font-weight: 500; font-family: var(--sans);
      flex: 1; min-width: 0;
    }
    .ha-signals-summary {
      font-family: var(--mono); font-size: 0.40rem; color: var(--accent);
      text-transform: uppercase; letter-spacing: 0.06em;
      margin-bottom: 12px; opacity: 0;
      transition: opacity 0.4s ease;
    }
    .ha-signals-summary.ha-visible { opacity: 1; }
    .ha-signal-rule-sources {
      display: flex; gap: 4px;
    }
    .ha-signal-rule-src {
      font-family: var(--mono); font-size: 0.34rem; text-transform: uppercase;
      letter-spacing: 0.04em; color: #636366; background: #ececee;
      padding: 2px 6px; border-radius: 3px; white-space: nowrap;
    }
    .ha-signal-rule[data-rule="0"] .ha-signal-rule-src { background: rgba(107,140,174,0.1); color: #5a7a96; }
    .ha-signal-rule[data-rule="1"] .ha-signal-rule-src { background: rgba(139,126,168,0.1); color: #736693; }
    .ha-signal-rule[data-rule="2"] .ha-signal-rule-src { background: rgba(196,133,106,0.1); color: #a06a4e; }
    .ha-signal-rule[data-rule="3"] .ha-signal-rule-src { background: rgba(107,158,138,0.1); color: #5a8a76; }
    .ha-signal-rule[data-rule="4"] .ha-signal-rule-src { background: rgba(176,122,110,0.1); color: #96645a; }
    .ha-confirm-btn {
      background: linear-gradient(135deg, #d4976a, #c4856a);
      color: #fff; padding: 7px 28px; font-size: 0.64rem; font-weight: 600;
      font-family: var(--sans); border: none; border-radius: 4px; cursor: default;
      opacity: 0; transition: opacity 0.3s ease;
    }
    .ha-confirm-btn.ha-visible { opacity: 1; }

    /* Sub-scene 2b: Channel Picker — renamed from 2a */

    /* Sub-scene 2c: Sequence Generation */
    .ha-seq-wrap {
      display: flex; flex-direction: column; align-items: center;
      justify-content: center; flex: 1; padding: 24px;
    }
    .ha-seq-label {
      display: flex; align-items: center; gap: 8px;
      font-family: var(--sans); font-size: 0.56rem;
      letter-spacing: 0.02em; color: #636366; font-weight: 500;
      margin-bottom: 20px;
      padding: 6px 14px; border-radius: 20px;
      background: rgba(196,133,106,0.06);
      border: 1px solid rgba(196,133,106,0.12);
    }
    .ha-seq-sparkle {
      width: 16px; height: 16px; border-radius: 50%;
      background: linear-gradient(135deg, #d4976a, #c4856a);
      display: flex; align-items: center; justify-content: center;
      animation: ha-seq-breathe 2s ease-in-out infinite;
    }
    @keyframes ha-seq-breathe {
      0%, 100% { transform: scale(1); opacity: 1; box-shadow: 0 0 0 0 rgba(196,133,106,0.3); }
      50% { transform: scale(1.1); opacity: 0.85; box-shadow: 0 0 8px 3px rgba(196,133,106,0.15); }
    }
    .ha-seq-label-dots {
      display: inline-flex; gap: 3px; margin-left: 2px;
    }
    .ha-seq-label-dots span {
      width: 3px; height: 3px; border-radius: 50%;
      background: #aeaeb2;
      animation: ha-seq-dot-pulse 1.4s ease-in-out infinite;
    }
    .ha-seq-label-dots span:nth-child(2) { animation-delay: 0.2s; }
    .ha-seq-label-dots span:nth-child(3) { animation-delay: 0.4s; }
    @keyframes ha-seq-dot-pulse {
      0%, 60%, 100% { opacity: 0.3; transform: translateY(0); }
      30% { opacity: 1; transform: translateY(-2px); }
    }
    .ha-seq-timeline {
      display: flex; align-items: center; gap: 0;
      width: 100%; max-width: 480px; justify-content: center;
    }
    .ha-seq-step {
      display: flex; flex-direction: column; align-items: center;
      opacity: 0; transform: scale(0.85);
      transition: opacity 0.4s ease, transform 0.4s ease;
    }
    .ha-seq-step.ha-seq-active {
      opacity: 1; transform: scale(1);
    }
    .ha-seq-dot {
      width: 28px; height: 28px; border-radius: 50%;
      background: #f8f8fa; border: 2px solid #e5e5ea;
      display: flex; align-items: center; justify-content: center;
      font-size: 0.5rem; color: #636366; margin-bottom: 4px;
      transition: border-color 0.3s ease, background 0.3s ease;
    }
    .ha-seq-step.ha-seq-active .ha-seq-dot {
      border-color: var(--accent); background: rgba(196,133,106,0.08);
    }
    .ha-seq-dot svg { width: 12px; height: 12px; display: block; }
    .ha-seq-day {
      font-family: var(--mono); font-size: 0.4rem; color: #aeaeb2;
      text-transform: uppercase; letter-spacing: 0.06em;
    }
    .ha-seq-type {
      font-size: 0.44rem; color: #636366; font-family: var(--sans); font-weight: 500;
    }
    .ha-seq-line {
      width: 28px; height: 2px; background: #e5e5ea;
      margin: 0 2px; margin-bottom: 18px;
      transition: background 0.3s ease;
    }
    .ha-seq-line.ha-seq-active { background: rgba(196,133,106,0.4); }

    /* Sub-scene 2c: Live Dashboard */
    /* ====== Dashboard 2-panel layout (left: email+card, right: metrics+feed+cal) ====== */
    .ha-dash-layout {
      display: grid;
      grid-template-columns: 240px 1fr;
      height: 100%;
      overflow: hidden;
    }

    /* Left panel: email + contact card side by side */
    .ha-dash-left {
      display: flex; flex-direction: column;
      overflow: hidden;
    }
    .ha-dash-left-inner {
      display: grid;
      grid-template-columns: 58% 42%;
      flex: 1; overflow: hidden;
    }

    /* Left > Col 1: Sequence bar + Email */
    .ha-dash-col-email {
      display: flex; flex-direction: column;
      border-right: 1px solid #e5e5ea;
      overflow: hidden;
    }

    /* Sequence bar */
    .ha-dash-sequence {
      padding: 4px 10px;
      background: #f8f8fa;
      border-bottom: 1px solid #e5e5ea;
      flex-shrink: 0;
    }
    .ha-dash-seq-header {
      display: flex; align-items: center; justify-content: space-between;
      margin-bottom: 3px;
    }
    .ha-dash-seq-left {
      display: flex; align-items: center; gap: 4px;
      font-size: 0.42rem; font-weight: 600; color: #1a1a2e;
    }
    .ha-dash-seq-sparkle {
      width: 11px; height: 11px; border-radius: 50%;
      background: linear-gradient(135deg, var(--accent), #d4a08a);
      display: flex; align-items: center; justify-content: center;
      animation: ha-seq-breathe 2s ease-in-out infinite;
      flex-shrink: 0;
    }
    .ha-dash-seq-meta { font-size: 0.36rem; color: #8e8e93; }
    .ha-dash-seq-steps {
      display: flex; align-items: center; gap: 0;
    }
    .ha-dash-seq-step {
      display: flex; flex-direction: column; align-items: center; flex: 1; z-index: 1;
    }
    .ha-dash-seq-dot {
      width: 16px; height: 16px; border-radius: 50%;
      background: #f0f0f2; border: 1.5px solid #e5e5ea;
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 1px;
      transition: background 0.3s ease, border-color 0.3s ease;
    }
    .ha-dash-seq-step.ha-seq-active .ha-dash-seq-dot {
      background: rgba(196,133,106,0.15); border-color: var(--accent);
    }
    .ha-dash-seq-step span {
      font-size: 0.34rem; color: #636366; font-weight: 500;
    }
    .ha-dash-seq-step small {
      font-size: 0.30rem; color: #aeaeb2;
    }
    .ha-dash-seq-line {
      flex: 1; height: 2px; background: #e5e5ea;
      margin: 0 -4px; position: relative; top: -10px;
      transition: background 0.3s ease;
    }
    .ha-dash-seq-line.ha-seq-active { background: rgba(196,133,106,0.4); }

    /* Signal monitoring bar (above sequence in dashboard) */
    .ha-dash-signal-monitor {
      padding: 6px 10px 5px;
      background: #fff;
      border-bottom: 1px solid #e5e5ea;
      flex-shrink: 0;
    }
    .ha-dash-signal-header {
      display: flex; align-items: center; gap: 5px;
      margin-bottom: 3px;
    }
    .ha-dash-signal-pulse {
      width: 6px; height: 6px; border-radius: 50%;
      background: #6b9e8a;
      animation: ha-signal-pulse 2s ease-in-out infinite;
    }
    @keyframes ha-signal-pulse {
      0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(107,158,138,0.5); }
      50% { opacity: 0.7; box-shadow: 0 0 0 4px rgba(107,158,138,0); }
    }
    .ha-dash-signal-title {
      font-family: var(--sans); font-size: 0.38rem; text-transform: uppercase;
      letter-spacing: 0.06em; color: #1a1a2e; font-weight: 600;
    }
    .ha-dash-signal-counter {
      font-family: var(--mono); font-size: 0.28rem; color: #aeaeb2;
      margin-left: auto;
      background: #f2f2f4; padding: 1px 5px; border-radius: 8px;
    }
    .ha-dash-signal-items {
      display: flex; flex-direction: column; gap: 1px;
    }
    .ha-dash-signal-item {
      display: flex; align-items: center; gap: 5px;
      font-size: 0.34rem; color: #8e8e93; font-family: var(--sans);
      padding: 2px 4px; border-radius: 4px;
      transition: color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
    }
    .ha-dash-signal-item.ha-signal-fired {
      color: #1a1a2e; font-weight: 500;
      background: rgba(196,133,106,0.08);
      box-shadow: 0 0 8px rgba(196,133,106,0.1);
    }
    .ha-dash-signal-item .ha-sig-dot {
      width: 4px; height: 4px; border-radius: 50%;
      background: #d1d1d6; flex-shrink: 0;
      transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
    }
    .ha-dash-signal-item.ha-signal-fired .ha-sig-dot {
      background: var(--accent);
      box-shadow: 0 0 6px rgba(196,133,106,0.5);
      transform: scale(1.3);
    }
    .ha-sig-name { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ha-sig-src {
      font-family: var(--mono); font-size: 0.24rem; text-transform: uppercase;
      letter-spacing: 0.03em; color: #c7c7cc; white-space: nowrap; flex-shrink: 0;
    }

    /* Email compose */
    .ha-dash-email {
      padding: 10px 12px; display: flex; flex-direction: column;
      flex: 1; overflow: hidden;
    }
    .ha-email-field {
      display: flex; align-items: center; gap: 6px;
      padding: 3px 0; border-bottom: 1px solid rgba(0,0,0,0.04);
      flex-shrink: 0; min-height: 20px;
    }
    .ha-email-from { color: #636366; font-size: 0.48rem; }
    .ha-email-label {
      font-family: var(--mono); font-size: 0.4rem; text-transform: uppercase;
      letter-spacing: 0.08em; color: #aeaeb2; width: 26px; flex-shrink: 0;
    }
    .ha-email-value {
      font-size: 0.54rem; color: #1a1a2e;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .ha-email-subject { font-weight: 500; min-height: 14px; }
    .ha-email-body {
      margin-top: 10px;
      font-size: 0.52rem; color: #636366; line-height: 1.6;
      opacity: 0; overflow: hidden;
      height: 55px;
      transition: opacity 0.2s ease;
    }
    .ha-email-body.ha-visible { opacity: 1; }
    .ha-s2-cursor {
      display: inline-block; width: 1px; height: 0.58rem;
      background: var(--accent); animation: haBlink 0.7s step-end infinite;
      vertical-align: text-bottom; margin-left: 1px;
    }
    @keyframes haBlink { 0%,50%{opacity:1} 51%,100%{opacity:0} }
    .ha-email-signature {
      margin-top: 6px; padding: 0;
      flex-shrink: 0;
    }
    .ha-sig-divider {
      width: 40px; height: 1px; background: #e5e5ea;
      margin-bottom: 4px;
    }
    .ha-sig-name-line {
      font-size: 0.42rem; font-weight: 600; color: #1a1a2e;
    }
    .ha-sig-title-line {
      font-size: 0.36rem; color: #8e8e93;
    }
    .ha-sig-contact-line {
      font-size: 0.34rem; color: #aeaeb2;
      font-family: var(--mono);
    }
    .ha-email-sent {
      padding: 7px 14px;
      background: rgba(26,46,34,0.12); color: #2d4a38;
      font-size: 0.52rem; font-weight: 600;
      text-align: center; margin-top: auto;
      border-radius: 4px; flex-shrink: 0;
      opacity: 0; transition: opacity 0.3s ease;
    }
    .ha-email-sent.ha-visible { opacity: 1; }

    /* Thinking dots (match Panel 2 pattern) */
    .ha-thinking-dots {
      display: flex; align-items: center; justify-content: center; gap: 6px;
      padding: 30px 0 6px;
    }
    .ha-thinking-dots span {
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--accent); opacity: 0.3;
      animation: ha-dot-pulse 1.2s ease-in-out infinite;
    }
    .ha-thinking-dots span:nth-child(2) { animation-delay: 0.2s; }
    .ha-thinking-dots span:nth-child(3) { animation-delay: 0.4s; }
    @keyframes ha-dot-pulse {
      0%, 100% { opacity: 0.2; transform: scale(0.85); }
      50% { opacity: 1; transform: scale(1.15); }
    }
    .ha-thinking-label {
      text-align: center; font-size: 0.42rem; color: #8e8e93;
      font-family: var(--sans); letter-spacing: 0.04em;
      padding-bottom: 6px;
    }

    /* Signal glow flash on card signal when referenced in email */
    .ha-signal-glow {
      animation: ha-signal-flash 0.8s ease-out;
    }
    @keyframes ha-signal-flash {
      0% { background: rgba(59,130,246,0.3); box-shadow: 0 0 10px rgba(59,130,246,0.25); }
      100% { background: rgba(59,130,246,0.08); box-shadow: none; }
    }

    /* Inline signal text styling in email body */
    .ha-email-signal-text {
      background: rgba(59,130,246,0.1);
      padding: 1px 4px; border-radius: 3px;
      font-weight: 500; color: #1a1a2e;
      border-bottom: 1.5px solid rgba(59,130,246,0.35);
    }

    /* Left > Col 2: Contact card (detailed) */
    .ha-dash-col-card {
      display: flex; flex-direction: column;
      background: #f8f8fa;
      padding: 10px 10px;
      overflow-y: auto; overflow-x: hidden;
    }
    .ha-card-header-row {
      display: flex; align-items: center; gap: 8px;
      margin-bottom: 8px; flex-shrink: 0;
    }
    .ha-card-avatar {
      width: 36px; height: 36px; border-radius: 50%;
      border: 2px solid #e5e5ea;
      display: flex; align-items: center; justify-content: center;
      font-size: 0.48rem; font-weight: 600; color: rgba(255,255,255,0.9);
      flex-shrink: 0; overflow: hidden;
    }
    .ha-card-header-info {
      flex: 1; min-width: 0;
    }
    .ha-card-name {
      font-size: 0.54rem; font-weight: 600; color: #1a1a2e;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .ha-card-title {
      font-size: 0.38rem; color: #8e8e93;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .ha-card-company {
      display: flex; align-items: center; gap: 4px;
      margin-top: 1px;
    }
    .ha-card-logo {
      width: 16px; height: 16px; border-radius: 4px;
      color: #fff; font-size: 0.36rem; font-weight: 700;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .ha-card-company-name {
      font-size: 0.40rem; color: #636366; font-weight: 500;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .ha-card-match-badge {
      width: 34px; height: 34px; border-radius: 50%;
      background: linear-gradient(135deg, var(--accent), #d4a08a);
      color: #fff; font-size: 0.44rem; font-weight: 700;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      box-shadow: 0 2px 8px rgba(196,133,106,0.3);
    }
    .ha-card-meta-row {
      display: flex; flex-wrap: wrap; gap: 4px;
      margin-bottom: 8px; flex-shrink: 0;
    }
    .ha-card-meta-pill {
      font-size: 0.34rem; color: #636366; font-family: var(--sans);
      padding: 2px 6px; background: #fff; border-radius: 10px;
      border: 1px solid #e5e5ea; white-space: nowrap;
    }
    /* Relationship callout */
    .ha-card-relationship {
      flex-shrink: 0;
    }
    .ha-card-rel-box {
      margin: 6px 0 2px;
      padding: 7px 8px 6px;
      background: linear-gradient(135deg, rgba(78,205,196,0.10) 0%, rgba(78,205,196,0.04) 100%);
      border: 1px solid rgba(78,205,196,0.25);
      border-radius: 6px;
      position: relative;
      overflow: hidden;
    }
    .ha-card-rel-box::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, #4ecdc4, transparent);
      opacity: 0.8;
    }
    .ha-card-rel-header {
      font-family: var(--sans);
      font-size: 0.36rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: #4ecdc4;
      margin-bottom: 3px;
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .ha-card-rel-icon {
      display: inline-flex;
      width: 10px; height: 10px;
      align-items: center;
      justify-content: center;
    }
    .ha-card-rel-icon svg {
      width: 10px; height: 10px;
    }
    .ha-card-rel-line {
      font-family: var(--sans);
      font-size: 0.36rem;
      color: #636366;
      line-height: 1.5;
      padding-left: 10px;
      position: relative;
    }
    .ha-card-rel-line::before {
      content: '';
      position: absolute;
      left: 3px; top: 50%;
      width: 3px; height: 3px;
      border-radius: 50%;
      background: var(--accent);
      transform: translateY(-50%);
    }
    .ha-card-divider {
      width: 100%; height: 1px;
      background: linear-gradient(90deg, transparent, #e5e5ea 15%, #e5e5ea 85%, transparent);
      margin: 8px 0; flex-shrink: 0;
    }
    .ha-card-signals-label {
      font-size: 0.36rem; text-transform: uppercase;
      letter-spacing: 0.1em; color: var(--accent); font-weight: 600;
      margin-bottom: 4px; flex-shrink: 0;
      display: flex; align-items: center; gap: 6px;
    }
    .ha-card-signal-count {
      display: inline-flex; align-items: center; justify-content: center;
      width: 16px; height: 16px; border-radius: 50%;
      background: rgba(196,133,106,0.15); color: var(--accent);
      font-size: 0.34rem; font-weight: 700;
    }
    .ha-card-signals {
      display: flex; flex-direction: column; gap: 3px;
      width: 100%; flex-shrink: 0;
    }
    .ha-card-signal-tag {
      display: flex; align-items: flex-start; gap: 4px;
      font-size: 0.36rem; color: #636366; font-family: var(--sans);
      padding: 2px 5px;
      background: rgba(196,133,106,0.06);
      border-radius: 3px;
      border-left: 2px solid var(--accent);
      opacity: 0;
      transition: opacity 0.3s ease, box-shadow 0.3s ease, background 0.4s ease;
    }
    .ha-card-signal-tag.ha-visible {
      opacity: 1;
      animation: ha-signal-tag-in 0.35s ease-out;
    }
    @keyframes ha-signal-tag-in {
      from { opacity: 0; transform: translateX(-6px); }
      to { opacity: 1; transform: translateX(0); }
    }
    .ha-card-signal-tag.ha-signal-highlighted {
      background: rgba(59,130,246,0.12);
      box-shadow: 0 0 10px rgba(59,130,246,0.3);
      border-color: rgba(59,130,246,0.35);
    }
    .ha-card-signal-idx {
      display: inline-flex; align-items: center; justify-content: center;
      width: 14px; height: 14px; border-radius: 50%;
      background: rgba(196,133,106,0.12); color: var(--accent);
      font-size: 0.30rem; font-weight: 700; flex-shrink: 0;
      margin-top: 1px;
    }
    .ha-card-signal-idx.ha-signal-ref {
      background: var(--accent); color: #fff;
    }
    .ha-signal-icon {
      font-size: 0.34rem;
      line-height: 1;
      flex-shrink: 0;
      margin-top: 1px;
    }
    .ha-card-activity-label {
      font-size: 0.36rem; text-transform: uppercase;
      letter-spacing: 0.1em; color: #8e8e93; font-weight: 600;
      margin-bottom: 4px; flex-shrink: 0;
    }
    .ha-card-activity {
      display: flex; flex-direction: column; gap: 3px;
      width: 100%;
    }
    .ha-card-activity-item {
      display: flex; align-items: center; gap: 5px;
      font-size: 0.36rem; color: #636366;
    }
    .ha-activity-icon {
      width: 14px; height: 14px; border-radius: 50%; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
    }
    .ha-activity-icon svg { width: 8px; height: 8px; display: block; }
    .ha-activity-icon.ha-ai-eye { background: rgba(37,99,235,0.1); color: #2563eb; }
    .ha-activity-icon.ha-ai-download { background: rgba(40,200,64,0.1); color: #28c840; }
    .ha-activity-icon.ha-ai-calendar { background: rgba(196,133,106,0.12); color: var(--accent); }
    .ha-activity-icon.ha-ai-handshake { background: rgba(124,58,237,0.1); color: #7c3aed; }
    .ha-activity-icon.ha-ai-email { background: rgba(37,99,235,0.08); color: #60a5fa; }
    .ha-activity-text { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ha-activity-time {
      font-family: var(--mono); font-size: 0.30rem; color: #c7c7cc;
      margin-left: auto; white-space: nowrap; flex-shrink: 0;
    }
    .ha-card-profile-label {
      font-size: 0.36rem; text-transform: uppercase;
      letter-spacing: 0.1em; color: #8e8e93; font-weight: 600;
      margin-bottom: 6px; flex-shrink: 0;
    }
    .ha-card-profile {
      display: flex; flex-direction: column; gap: 0;
      width: 100%;
      background: #f8f8fa; border-radius: 6px;
      border: 1px solid #ececf0;
      overflow: hidden;
    }
    .ha-card-profile-row {
      display: flex; align-items: center;
      padding: 4px 8px;
      border-bottom: 1px solid #ececf0;
      font-size: 0.36rem;
    }
    .ha-card-profile-row:last-child { border-bottom: none; }
    .ha-profile-label {
      width: 58px; flex-shrink: 0;
      font-family: var(--mono); font-size: 0.30rem;
      color: #8e8e93; text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .ha-profile-value {
      flex: 1; min-width: 0; color: #1a1a2e;
      font-size: 0.36rem; line-height: 1.4;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .ha-profile-value a { color: #0a66c2; text-decoration: none; }
    .ha-profile-value .ha-pv-tag {
      display: inline-block;
      font-size: 0.30rem; font-family: var(--mono);
      padding: 1px 4px; border-radius: 3px;
      background: rgba(124,58,237,0.08); color: #7c3aed;
    }
    .ha-profile-value .ha-pv-tag-green {
      background: rgba(5,150,105,0.08); color: #059669;
    }

    /* Left sidebar panel: metrics + feed + calendar (swapped to left) */
    .ha-dash-right {
      display: flex; flex-direction: column;
      border-right: 1px solid #e5e5ea;
      border-left: none;
      overflow: hidden;
      order: -1;
      background: #fafafa;
    }
    .ha-dash-sidebar-header {
      display: flex; align-items: center; justify-content: space-between;
      padding: 6px 10px;
      border-bottom: 1px solid #e5e5ea;
      background: #fff;
      flex-shrink: 0;
    }
    .ha-dash-sidebar-title {
      font-family: var(--sans); font-size: 0.44rem; font-weight: 700;
      color: #1a1a2e; letter-spacing: -0.01em;
    }
    .ha-dash-sidebar-status {
      display: flex; align-items: center; gap: 3px;
      font-family: var(--mono); font-size: 0.28rem; color: #6b9e8a;
      text-transform: uppercase; letter-spacing: 0.04em; font-weight: 600;
    }
    .ha-dash-sidebar-status::before {
      content: ''; width: 5px; height: 5px; border-radius: 50%;
      background: #6b9e8a; animation: ha-signal-pulse 2s ease-in-out infinite;
    }
    .ha-dash-metrics-bar {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 4px 6px; padding: 8px 10px;
      background: #fff;
      border-bottom: 1px solid #e5e5ea;
      flex-shrink: 0;
    }
    .ha-dash-sep { display: none; }
    .ha-dash-metric {
      font-family: var(--sans); font-size: 0.30rem; color: #8e8e93;
      white-space: nowrap;
      display: flex; flex-direction: column; gap: 1px;
      padding: 3px 5px;
      background: #f8f8fa; border-radius: 4px;
      border: 1px solid #ececf0;
    }
    .ha-dash-metric strong {
      font-weight: 700; color: #1a1a2e; font-size: 0.52rem;
      font-family: var(--mono);
    }
    .ha-metric-accent { border-color: rgba(196,133,106,0.25); background: rgba(196,133,106,0.04); }
    .ha-metric-accent strong { color: var(--accent); }

    /* Feed section */
    .ha-dash-feed-section {
      flex: 1; padding: 5px 8px 2px;
      border-bottom: 1px solid #e5e5ea;
      overflow: hidden;
      display: flex; flex-direction: column;
      background: #fff;
    }
    .ha-feed-label {
      font-family: var(--sans); font-size: 0.34rem; text-transform: uppercase;
      letter-spacing: 0.08em; color: #8e8e93; margin-bottom: 4px; font-weight: 600;
      flex-shrink: 0;
    }
    .ha-dash-feed {
      display: flex; flex-direction: column; gap: 0;
      flex: 1; overflow: hidden;
    }
    .ha-feed-item {
      display: flex; align-items: center; gap: 5px;
      padding: 2px 0; border-bottom: 1px solid rgba(0,0,0,0.03);
      flex-shrink: 0;
    }
    .ha-feed-icon {
      width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
      font-size: 0.30rem;
    }
    .ha-feed-icon.sent-icon { background: rgba(107,140,174,0.1); color: #6b8cae; }
    .ha-feed-icon.open-icon { background: rgba(107,140,174,0.07); color: #8ba4ba; }
    .ha-feed-icon.reply-icon { background: rgba(107,158,138,0.1); color: #6b9e8a; }
    .ha-feed-icon.calendar-icon { background: rgba(196,133,106,0.1); color: var(--accent); }
    .ha-feed-icon.forward-icon { background: rgba(139,126,168,0.1); color: #8b7ea8; }
    .ha-feed-icon.click-icon { background: rgba(196,133,106,0.07); color: #c4856a; }
    .ha-feed-icon.linkedin-icon { background: rgba(107,140,174,0.07); color: #6b8cae; }
    .ha-feed-text {
      flex: 1; font-size: 0.38rem; color: #636366;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .ha-feed-text strong { color: #1a1a2e; font-weight: 500; }
    .ha-feed-time {
      font-family: var(--mono); font-size: 0.26rem; color: #c7c7cc;
      margin-left: auto; white-space: nowrap; flex-shrink: 0;
    }

    /* Calendar section */
    .ha-dash-cal-section {
      flex: 1; padding: 6px 8px;
      display: flex; flex-direction: column;
      background: #fff;
    }
    .ha-cal-header {
      display: flex; align-items: center; justify-content: space-between;
      margin-bottom: 4px; flex-shrink: 0;
    }
    .ha-cal-header-left {
      display: flex; align-items: baseline; gap: 6px;
    }
    .ha-cal-section-title {
      font-size: 0.42rem; font-weight: 700; color: #1a1a2e;
      font-family: var(--sans);
    }
    .ha-cal-month-sub {
      font-size: 0.32rem; color: #8e8e93; font-weight: 500;
      font-family: var(--sans);
    }
    .ha-cal-nav {
      display: flex; gap: 4px;
    }
    .ha-cal-nav-btn {
      width: 15px; height: 15px; border-radius: 50%;
      background: #f2f2f7; color: #8e8e93;
      display: flex; align-items: center; justify-content: center;
      font-size: 0.5rem; line-height: 1; cursor: default;
    }
    .ha-cal-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      grid-template-rows: auto repeat(5, 1fr);
      gap: 0; flex: 1;
    }
    .ha-cal-day-header {
      font-family: var(--sans); font-size: 0.30rem; color: #8e8e93;
      text-align: center; padding: 2px 0 3px;
      font-weight: 500;
    }
    .ha-cal-cell {
      position: relative;
      display: flex; flex-direction: column; align-items: center;
      padding: 1px 1px 2px;
      min-height: 0;
    }
    .ha-cal-day-num {
      font-size: 0.32rem; color: #636366; font-weight: 500;
      width: 14px; height: 14px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      position: static; margin-bottom: 1px;
    }
    .ha-cal-today .ha-cal-day-num {
      background: #007aff; color: #fff; font-weight: 600;
    }
    .ha-cal-cell.ha-cal-outside .ha-cal-day-num {
      color: #c7c7cc;
    }
    .ha-cal-meeting {
      width: calc(100% - 2px); border-radius: 2px;
      padding: 0px 2px;
      font-size: 0.26rem; font-weight: 500; font-family: var(--sans);
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
      opacity: 0;
      transition: opacity 0.3s ease;
      position: static;
      transform: none;
    }
    .ha-cal-meeting.ha-visible { opacity: 1; }
    .ha-cal-meeting-time {
      font-family: var(--mono); font-weight: 600; font-size: 0.22rem;
      opacity: 0.7;
    }
    .ha-cal-meeting.meeting-accent {
      background: rgba(196,133,106,0.18); color: #8a5d4a;
      border-left: 2px solid var(--accent);
    }
    .ha-cal-meeting.meeting-blue {
      background: rgba(0,122,255,0.1); color: #007aff;
      border-left: 2px solid #007aff;
    }
    .ha-cal-meeting.meeting-green {
      background: rgba(52,199,89,0.1); color: #30b04d;
      border-left: 2px solid #34c759;
    }
    .ha-cal-meeting.meeting-purple {
      background: rgba(175,82,222,0.1); color: #af52de;
      border-left: 2px solid #af52de;
    }
    .ha-cal-meeting.meeting-red {
      background: rgba(255,59,48,0.1); color: #ff3b30;
      border-left: 2px solid #ff3b30;
    }

    /* ============================== */
    /* PLATFORM PIPELINE — LIGHT MODE */
    /* ============================== */
    .pipe-mock {
      margin: 28px 0 0; border-radius: 12px; overflow: hidden; background: #f8f9fa;
      box-shadow: 0 8px 30px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.04);
    }
    .pipe-body { display: grid; grid-template-columns: repeat(4, 1fr); min-height: 500px; }
    .pipe-col { padding: 18px 14px; border-right: 1px solid rgba(0,0,0,0.06); }
    .pipe-col:last-child { border-right: none; }
    .pipe-col-header {
      display: flex; justify-content: space-between; align-items: center;
      margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid rgba(0,0,0,0.04);
    }
    .pipe-col-name { font-family: var(--mono); font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(26,26,46,0.45); }
    .pipe-col-count { font-family: var(--mono); font-size: 0.6rem; color: rgba(26,26,46,0.25); }
    .pipe-cards { display: flex; flex-direction: column; gap: 6px; }
    .pipe-card {
      display: flex; align-items: center; gap: 10px;
      padding: 10px 12px; border-radius: 6px; background: #fff; border: 1px solid rgba(0,0,0,0.06);
    }
    .pipe-avatar { width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; overflow: hidden; }
    .pipe-avatar svg { width: 100%; height: 100%; display: block; }
    .pipe-card-name { font-size: 0.72rem; color: rgba(26,26,46,0.6); font-weight: 500; }
    .pipe-card-score { font-family: var(--mono); font-size: 0.6rem; color: var(--accent); margin-left: auto; }

    /* ============================== */
    /* MATCHING STORY */
    /* ============================== */
    /* (match-story styles removed — section 06 now uses fig-section layout) */

    /* ============================== */
    /* CINEMA — unified image treatment */
    /* ============================== */
    .cinema { position: relative; overflow: hidden; }
    .cinema img {
      width: 100%; height: 100%; object-fit: cover; display: block;
      filter: brightness(0.38) saturate(0.35) contrast(1.15) sepia(0.25);
      transition: filter 0.8s;
    }
    .cinema:hover img { filter: brightness(0.45) saturate(0.4) contrast(1.1) sepia(0.2); }
    /* Vignette + copper warmth */
    .cinema::after {
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background:
        radial-gradient(ellipse at center, transparent 25%, rgba(4,10,7,0.65) 100%),
        linear-gradient(180deg, rgba(196,133,106,0.06) 0%, transparent 40%);
    }
    .photo-label {
      position: absolute; z-index: 1;
      font-family: var(--mono); font-size: 0.56rem; text-transform: uppercase;
      letter-spacing: 0.14em; color: rgba(255,255,255,0.25);
    }

    /* Layout A: Side-by-side split */
    .photo-split {
      display: flex; border-bottom: 1px solid var(--border); min-height: 320px;
    }
    .photo-split-img { flex: 1.1; position: relative; overflow: hidden; }
    .photo-split-img img {
      width: 100%; height: 100%; object-fit: cover; display: block;
      filter: brightness(0.38) saturate(0.35) contrast(1.15) sepia(0.25);
      transition: filter 0.8s;
    }
    .photo-split:hover .photo-split-img img {
      filter: brightness(0.45) saturate(0.4) contrast(1.1) sepia(0.2);
    }
    .photo-split-img::after {
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background: radial-gradient(ellipse at center, transparent 25%, rgba(4,10,7,0.6) 100%);
    }
    .photo-split-content {
      flex: 0.9; display: flex; flex-direction: column; justify-content: center;
      padding: 48px; border-left: 1px solid var(--border);
    }
    .photo-split-quote {
      font-family: var(--serif); font-size: 1.25rem; color: var(--white);
      line-height: 1.4; font-weight: 400; margin-bottom: 16px;
    }
    .photo-split-attr {
      font-family: var(--mono); font-size: 0.58rem; color: var(--accent);
      text-transform: uppercase; letter-spacing: 0.12em;
    }

    /* Layout B: Narrow inset with offset */
    .photo-inset {
      margin: 32px 0 0; border-radius: 6px; overflow: hidden;
      position: relative; height: 200px;
    }
    .photo-inset img {
      width: 100%; height: 100%; object-fit: cover; object-position: center 35%; display: block;
      filter: brightness(0.38) saturate(0.35) contrast(1.15) sepia(0.25);
    }
    .photo-inset::after {
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background:
        radial-gradient(ellipse at center, transparent 25%, rgba(4,10,7,0.7) 100%),
        linear-gradient(90deg, rgba(4,10,7,0.5) 0%, transparent 30%, transparent 70%, rgba(4,10,7,0.5) 100%);
    }
    .photo-inset .photo-label { bottom: 12px; right: 16px; }

    /* Layout C: Full strip with overlay quote */
    .photo-strip {
      border-bottom: 1px solid var(--border); position: relative;
      overflow: hidden; min-height: 280px;
    }
    .photo-strip img {
      width: 100%; height: 280px; object-fit: cover; display: block;
      filter: brightness(0.32) saturate(0.3) contrast(1.2) sepia(0.3);
      transition: filter 0.8s;
    }
    .photo-strip:hover img {
      filter: brightness(0.4) saturate(0.35) contrast(1.15) sepia(0.25);
    }
    .photo-strip::after {
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background:
        radial-gradient(ellipse at center, transparent 20%, rgba(4,10,7,0.7) 100%),
        linear-gradient(180deg, rgba(4,10,7,0.3) 0%, rgba(4,10,7,0.5) 100%);
    }
    .photo-strip-text {
      position: absolute; z-index: 1; bottom: 0; left: 0; right: 0;
      padding: 32px 48px; display: flex; justify-content: space-between; align-items: flex-end;
    }
    .photo-strip-stat {
      font-family: var(--serif); font-size: 2.4rem; color: var(--white);
      font-weight: 400; letter-spacing: -0.02em; line-height: 1;
    }
    .photo-strip-desc {
      font-family: var(--mono); font-size: 0.6rem; color: rgba(255,255,255,0.35);
      text-transform: uppercase; letter-spacing: 0.12em; text-align: right;
      max-width: 200px; line-height: 1.5;
    }

    /* ============================== */
    /* GEO SUMMARY — AI-citable paragraph, subtle below trust bar */
    .geo-summary {
      position: absolute;
      width: 1px; height: 1px;
      padding: 0; margin: -1px;
      overflow: hidden;
      clip: rect(0,0,0,0);
      white-space: nowrap;
      border: 0;
    }

    /* STAT CITATIONS */
    .stat-cite {
      display: block;
      font-size: 0.55rem;
      color: var(--white-20);
      margin-top: 4px;
      font-style: italic;
    }

    /* STATS ROW */
    /* ============================== */
    .stats-row {
      display: flex;
      border-bottom: 1px solid var(--border);
    }
    .stat {
      flex: 1;
      padding: 32px;
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .stat + .stat { border-left: 1px solid var(--border); }
    .stat .n {
      font-family: var(--mono);
      font-size: 2rem;
      font-weight: 700;
      color: var(--white);
      line-height: 1;
      flex-shrink: 0;
      white-space: nowrap;
    }
    .stat .l {
      font-family: var(--sans);
      font-size: 0.78rem;
      color: var(--white-40);
      line-height: 1.35;
    }

    /* ============================== */
    /* TRUST BAR */
    /* ============================== */
    .trust-bar {
      padding: 0;
      border-bottom: 1px solid var(--border);
      border-top: 1px solid var(--border);
      overflow: hidden;
    }
    .trust-logos {
      display: flex;
      gap: 0;
      align-items: center;
      width: max-content;
      animation: trust-scroll 80s linear infinite;
    }
    @keyframes trust-scroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    .trust-logo {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      width: 120px;
      height: 52px;
      border-right: 1px solid var(--border);
      opacity: 0.5;
      transition: opacity 0.3s;
    }
    .trust-logo:hover { opacity: 0.8; }
    .trust-logo img {
      max-height: 16px;
      max-width: 80px;
      width: auto;
      height: auto;
      object-fit: contain;
      filter: brightness(0) invert(1);
      opacity: 0.7;
    }

    /* Enhanced attribution */
    .photo-split-name {
      font-size: 0.82rem;
      font-weight: 600;
      color: var(--white);
      margin-bottom: 2px;
    }

    /* Inline testimonial card */
    .inline-testimonial {
      margin: 32px 0 0;
      padding: 28px 32px;
      border: 1px solid var(--border);
      background: var(--white-05);
    }
    .inline-testimonial-quote {
      font-family: var(--serif);
      font-size: 1.1rem;
      color: var(--white);
      line-height: 1.5;
      font-weight: 400;
      margin-bottom: 12px;
    }
    .inline-testimonial-attr {
      font-family: var(--mono);
      font-size: 0.58rem;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.12em;
    }

    /* (testimonial grid removed — replaced by testimonial-feature sections) */

    /* FIG mock labels */
    .fig-mock-label {
      margin-left: auto;
      font-family: var(--mono);
      font-size: 0.5rem;
      letter-spacing: 0.12em;
      color: rgba(0,0,0,0.15);
      text-transform: uppercase;
    }

    /* ============================== */
    /* FIG ILLUSTRATION SECTION */
    /* ============================== */
    .fig-section {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-bottom: 1px solid var(--border);
      background: var(--navy-light);
    }
    .fig-box {
      border-right: 1px solid var(--border);
    }
    .fig-box:last-child { border-right: none; }
    .fig-visual {
      padding: 48px 32px;
      min-height: 280px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      background: var(--white-05);
      overflow: hidden;
    }
    .fig-visual svg { width: 200px; height: 170px; }
    .fig-label {
      position: absolute;
      top: 12px;
      left: 14px;
      font-family: var(--mono);
      font-size: 0.5rem;
      letter-spacing: 0.12em;
      color: var(--white-20);
    }
    /* FIG SVG animations — traveling dot motion is primary; CSS only for center node pulse */
    .fig-box .fig-visual svg circle:first-child {
      animation: fig-gentle-pulse 4s ease-in-out infinite;
    }
    .fig-box:nth-child(2) .fig-visual svg rect:nth-child(5) {
      animation: fig-gentle-pulse 3.5s ease-in-out infinite;
    }
    @keyframes fig-gentle-pulse {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.65; }
    }



    .fig-info {
      padding: 16px 20px;
      border-top: 1px solid var(--border);
    }
    .fig-title {
      font-size: 0.86rem;
      font-weight: 600;
      color: var(--white);
      margin-bottom: 4px;
    }
    .fig-desc {
      font-size: 0.78rem;
      color: var(--white-40);
      line-height: 1.55;
    }

    /* ============================== */
    /* TESTIMONIAL FEATURE — full section */
    /* ============================== */
    .testimonial-feature {
      display: flex;
      min-height: 420px;
      border-bottom: 1px solid var(--border);
    }
    .testimonial-feature.reversed { flex-direction: row-reverse; }
    .tf-photo {
      flex: 0 0 42%;
      position: relative;
      overflow: hidden;
    }
    .tf-photo img, .tf-photo video {
      width: 100%; height: 100%; object-fit: cover; display: block;
      filter: brightness(0.38) saturate(0.35) contrast(1.15) sepia(0.25);
      transition: filter 1.2s cubic-bezier(0.16, 1, 0.3, 1),
                  transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
      transform: scale(1.08);
    }
    .testimonial-feature.in-view .tf-photo img,
    .testimonial-feature.in-view .tf-photo video {
      filter: brightness(1) saturate(1) contrast(1) sepia(0);
      transform: scale(1);
    }
    .tf-photo::after {
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background: radial-gradient(ellipse at center, transparent 25%, rgba(4,10,7,0.6) 100%);
      opacity: 1;
      transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .testimonial-feature.in-view .tf-photo::after {
      opacity: 0;
    }
    .tf-content {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 56px 52px;
    }
    .testimonial-feature.reversed .tf-content {
      border-right: 1px solid var(--border);
    }
    .testimonial-feature:not(.reversed) .tf-content {
      border-left: 1px solid var(--border);
    }
    .tf-label {
      font-family: var(--mono);
      font-size: 0.56rem;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--white-20);
      margin-bottom: 24px;
    }
    .tf-quote {
      font-family: var(--serif);
      font-size: 1.5rem;
      color: var(--white);
      line-height: 1.38;
      font-weight: 400;
      margin-bottom: 36px;
    }
    .tf-quote::before {
      content: '\201C';
      display: block;
      font-family: var(--serif);
      font-size: 3.5rem;
      color: var(--accent);
      opacity: 0.35;
      line-height: 0.6;
      margin-bottom: 16px;
    }
    .tf-name {
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--white);
      margin-bottom: 4px;
    }
    .tf-role {
      font-family: var(--mono);
      font-size: 0.6rem;
      color: var(--accent);
      text-transform: uppercase;
      letter-spacing: 0.12em;
    }
    .tf-attribution {
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .tf-company-logo {
      display: block;
      height: 22px;
      width: auto;
      opacity: 0.35;
      filter: grayscale(0.2);
      transition: opacity 0.3s;
      flex-shrink: 0;
    }
    .testimonial-feature:hover .tf-company-logo { opacity: 0.55; }
    .tf-attribution .tf-company-logo {
      padding-right: 16px;
      border-right: 1px solid rgba(240,242,239,0.1);
    }

    /* ============================== */
    /* SEO FOOTER */
    /* ============================== */
    .site-footer {
      border-top: 1px solid var(--border);
      padding: 64px 48px 32px;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.8fr repeat(5, 1fr);
      gap: 40px;
      margin-bottom: 48px;
    }
    .footer-brand {
      font-family: 'Outfit', sans-serif;
      font-size: 0.8rem;
      font-weight: 500;
      letter-spacing: 0.14em;
      color: var(--white);
      margin-bottom: 12px;
      display: flex; align-items: center; gap: 10px;
    }
    .footer-icon { width: 22px; height: 22px; flex-shrink: 0; }
    .footer-tagline {
      font-size: 0.84rem;
      color: var(--white-40);
      line-height: 1.6;
      max-width: 280px;
    }
    .footer-col-title {
      font-family: var(--mono);
      font-size: 0.6rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--white-20);
      margin-bottom: 16px;
    }
    .footer-links {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .footer-links a {
      font-size: 0.82rem;
      color: var(--white-40);
      text-decoration: none;
      transition: color 0.2s;
    }
    .footer-links a:hover { color: var(--white); }
    .footer-bottom {
      border-top: 1px solid var(--border);
      padding-top: 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .footer-copy {
      font-family: var(--mono);
      font-size: 0.6rem;
      color: var(--white-10);
      letter-spacing: 0.05em;
    }
    .footer-legal {
      display: flex;
      gap: 24px;
    }
    .footer-legal a {
      font-family: var(--mono);
      font-size: 0.6rem;
      color: var(--white-20);
      text-decoration: none;
      transition: color 0.2s;
      letter-spacing: 0.02em;
    }
    .footer-legal a:hover { color: var(--white-60); }
    /* Newsletter */
    .footer-newsletter {
      grid-column: 1 / -1;
      border-top: 1px solid var(--border);
      padding-top: 36px;
      margin-top: 12px;
      display: flex; align-items: flex-start; justify-content: space-between; gap: 40px;
    }
    .footer-nl-text {
      max-width: 360px;
    }
    .footer-nl-title {
      font-family: var(--serif); font-size: 1.1rem; color: var(--white);
      margin-bottom: 6px; font-weight: 400;
    }
    .footer-nl-sub {
      font-size: 0.78rem; color: var(--white-40); line-height: 1.5;
    }
    .footer-nl-form {
      display: flex; gap: 8px; align-items: center;
    }
    .footer-nl-input {
      padding: 9px 14px; width: 260px;
      background: rgba(240,242,239,0.04);
      border: 1px solid var(--border); border-radius: 5px;
      color: var(--white); font-family: var(--sans); font-size: 0.82rem;
      outline: none; transition: border-color 0.2s;
    }
    .footer-nl-input::placeholder { color: var(--white-10); }
    .footer-nl-input:focus { border-color: var(--accent); }
    .footer-nl-btn {
      padding: 9px 20px;
      background: linear-gradient(135deg, #d4976a, #c4856a); color: #fff;
      border: none; border-radius: 5px;
      font-family: var(--sans); font-size: 0.82rem; font-weight: 500;
      cursor: pointer; transition: all 0.25s; white-space: nowrap;
      box-shadow: 0 2px 12px rgba(196,133,106,0.35), 0 0 20px rgba(196,133,106,0.15);
    }
    .footer-nl-btn:hover { background: linear-gradient(135deg, #c4856a, #b0755c); box-shadow: 0 4px 18px rgba(196,133,106,0.5), 0 0 30px rgba(196,133,106,0.2); }

    /* Hero full-width adjustments */
    .hero { border-bottom: 1px solid var(--border); }
    .hero h1 { max-width: 700px; }

    /* Scroll reveal */
    .scroll-reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
    .scroll-reveal.in-view { opacity: 1; transform: translateY(0); }

    /* Text reveal — elegant fade+blur+rise, staggered per element */
    .txt-reveal {
      opacity: 0;
      transform: translateY(20px);
      filter: blur(4px);
      transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
                  transform 0.7s cubic-bezier(0.16, 1, 0.3, 1),
                  filter 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .txt-reveal.txt-in {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
    }
    .txt-reveal[data-d="1"] { transition-delay: 0.08s; }
    .txt-reveal[data-d="2"] { transition-delay: 0.18s; }
    .txt-reveal[data-d="3"] { transition-delay: 0.28s; }

    /* ============================== */
    /* PROCESS — vertical timeline */
    /* ============================== */
    .steps {
      position: relative; margin: 0; padding: 20px 0;
      list-style: none;
    }
    /* Center vertical line — drawn by JS via --line-progress */
    .steps::after {
      content: '';
      position: absolute;
      left: 50%; top: 0; bottom: 0;
      width: 1px;
      background: rgba(196,133,106,0.12);
    }
    /* Progress overlay on the line — fills with accent as you scroll */
    .steps::before {
      content: '';
      position: absolute;
      left: 50%; top: 0;
      width: 1px;
      height: 100%;
      background: var(--accent);
      transform-origin: top;
      transform: scaleY(var(--line-progress, 0));
      z-index: 1;
      opacity: 0.5;
    }
    /* Each step — 3-column grid */
    .steps li {
      display: grid;
      grid-template-columns: 1fr 48px 1fr;
      align-items: start;
      padding: 36px 0;
      position: relative;
    }
    /* Node — center column */
    .step-node {
      grid-column: 2;
      grid-row: 1;
      justify-self: center;
      width: 12px; height: 12px;
      border-radius: 50%;
      border: 1.5px solid rgba(196,133,106,0.25);
      background: transparent;
      position: relative;
      z-index: 2;
      transform: scale(0.6);
      opacity: 0.4;
      transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
                  background 0.4s ease, border-color 0.4s ease,
                  opacity 0.4s ease, box-shadow 0.5s ease;
      margin-top: 4px;
    }
    /* Sonar ring — radiates outward on activation */
    .step-node::after {
      content: '';
      position: absolute;
      inset: -4px;
      border-radius: 50%;
      border: 1px solid var(--accent);
      opacity: 0;
      transform: scale(0.8);
      transition: none;
    }
    .step-visible .step-node {
      transform: scale(1);
      opacity: 1;
      background: var(--accent);
      border-color: var(--accent);
      box-shadow: 0 0 12px rgba(196,133,106,0.35), 0 0 4px rgba(196,133,106,0.2);
    }
    /* Sonar ping plays once on activation */
    .step-visible .step-node::after {
      animation: sonar-ping 0.8s cubic-bezier(0, 0, 0.2, 1) forwards;
    }
    @keyframes sonar-ping {
      0% { transform: scale(0.8); opacity: 0.6; }
      100% { transform: scale(2.4); opacity: 0; }
    }
    /* Subtle breathing pulse after activation */
    .step-visible .step-node {
      animation: node-breathe 3s ease-in-out 0.8s infinite;
    }
    @keyframes node-breathe {
      0%, 100% { box-shadow: 0 0 8px rgba(196,133,106,0.25), 0 0 3px rgba(196,133,106,0.15); }
      50% { box-shadow: 0 0 16px rgba(196,133,106,0.4), 0 0 6px rgba(196,133,106,0.25); }
    }
    /* Spacer — empty column on the opposite side */
    .step-spacer { }
    /* Content — odd steps left, even steps right */
    .steps li:nth-child(odd) .step-content {
      grid-column: 1; grid-row: 1;
      text-align: right; padding-right: 32px;
    }
    .steps li:nth-child(odd) .step-spacer {
      grid-column: 3; grid-row: 1;
    }
    .steps li:nth-child(even) .step-content {
      grid-column: 3; grid-row: 1;
      text-align: left; padding-left: 32px;
    }
    .steps li:nth-child(even) .step-spacer {
      grid-column: 1; grid-row: 1;
    }
    /* Content animation — slide from respective side */
    .step-content {
      opacity: 0;
      transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .steps li:nth-child(odd) .step-content {
      transform: translateX(-30px);
    }
    .steps li:nth-child(even) .step-content {
      transform: translateX(30px);
    }
    .step-visible .step-content {
      opacity: 1;
      transform: translateX(0);
    }
    /* Step number */
    .step-num {
      display: block;
      font-family: var(--mono);
      font-size: 0.65rem;
      font-weight: 500;
      color: var(--accent);
      letter-spacing: 0.08em;
      margin-bottom: 8px;
      opacity: 0;
      transform: translateY(6px);
      transition: opacity 0.4s ease 0.15s, transform 0.4s ease 0.15s;
    }
    .step-visible .step-num {
      opacity: 1;
      transform: translateY(0);
    }
    .step-content strong {
      display: block; margin-bottom: 8px;
      color: var(--white); font-size: 1.05rem; font-weight: 500;
    }
    .step-content span {
      color: var(--white-60); font-size: 0.92rem; line-height: 1.7;
    }
    /* Horizontal connector line from node to card */
    .step-node::before {
      content: '';
      position: absolute;
      top: 50%;
      height: 1px;
      background: rgba(196,133,106,0.15);
      width: 0;
      transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
    }
    .steps li:nth-child(odd) .step-node::before {
      right: 100%;
    }
    .steps li:nth-child(even) .step-node::before {
      left: 100%;
    }
    .step-visible .step-node::before {
      width: 20px;
    }

    /* ============================== */
    /* PERSONAS (kept for sub text) */
    /* ============================== */
    .sources-header {
      font-family: var(--serif);
      font-size: 1.8rem;
      font-weight: 400;
      color: var(--white);
      margin: 0 0 24px;
      line-height: 1.3;
    }
    .sources-sub {
      font-size: 0.92rem;
      color: var(--white-40);
      margin-bottom: 32px;
      max-width: 620px;
      line-height: 1.7;
    }
    .personas-sub {
      font-size: 0.92rem;
      color: var(--white-40);
      margin-bottom: 32px;
      max-width: 620px;
      line-height: 1.7;
    }

    /* ============================== */
    /* SECTION 06: MATCHING COMPARISON */
    /* ============================== */
    .match-compare {
      display: grid; grid-template-columns: 3fr 4fr;
      gap: 64px; margin-top: 64px;
      align-items: stretch;
      position: relative;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto;
    }
    .match-compare-col {
      display: flex;
      flex-direction: column;
      position: relative;
      z-index: 2;
    }
    .match-col-label {
      font-family: var(--mono); font-size: 0.7rem;
      text-transform: uppercase; letter-spacing: 0.1em;
      margin-bottom: 24px; font-weight: 500;
      flex-shrink: 0;
    }
    .match-col-db { padding-left: 48px; }
    .match-col-db .match-col-label { color: var(--white-40); }
    .match-col-pr { padding-right: 48px; }
    .match-col-pr .match-col-label { color: var(--accent); }

    /* UI card mockups — light mode */
    .match-ui-mock {
      border-radius: 12px; overflow: hidden;
      border: none;
      background: #ffffff;
      box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 24px rgba(0,0,0,0.06);
      flex: 1;
    }
    .match-ui-topbar {
      display: flex; align-items: center; justify-content: space-between;
      padding: 6px 14px; border-bottom: 1px solid #f0f0f0;
      background: #fafafa;
    }
    .match-ui-topbar-title {
      font-family: var(--sans); font-size: 0.6rem;
      font-weight: 600; color: #374151;
    }
    .match-ui-topbar-badge {
      font-family: var(--mono); font-size: 0.48rem;
      text-transform: uppercase; letter-spacing: 0.06em;
      color: #9ca3af; background: #f3f4f6;
      padding: 2px 6px; border-radius: 3px;
    }
    .match-ui-topbar-pr {
      background: #28282e;
      border-bottom-color: rgba(255,255,255,0.06);
    }
    .match-ui-topbar-pr .match-ui-topbar-title {
      color: rgba(255,255,255,0.7);
    }
    .match-ui-fit-pill {
      font-family: var(--mono); font-size: 0.52rem;
      font-weight: 600; color: #fff;
      background: linear-gradient(135deg, #d4976a, #c4856a);
      padding: 2px 8px; border-radius: 3px;
    }
    .match-ui-header {
      display: flex; align-items: center; gap: 10px;
      padding: 8px 14px; border-bottom: 1px solid #f0f0f0;
    }
    .match-ui-logo-mark {
      width: 38px; height: 38px; flex-shrink: 0;
    }
    .match-ui-logo-mark svg { width: 100%; height: 100%; display: block; }
    .match-ui-avatar {
      width: 22px; height: 22px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: #fff; font-size: 0.5rem; font-weight: 600;
      font-family: var(--sans); flex-shrink: 0;
    }
    .match-ui-org-name {
      font-family: var(--sans); font-size: 0.72rem;
      font-weight: 600; color: #111827;
    }
    .match-ui-org-type {
      font-family: var(--sans); font-size: 0.54rem;
      color: #6b7280;
    }
    .match-ui-section-label {
      font-family: var(--mono); font-size: 0.48rem;
      text-transform: uppercase; letter-spacing: 0.08em;
      color: #9ca3af; padding: 5px 14px 1px;
      font-weight: 500;
    }
    .match-ui-label-accent { color: var(--accent); }
    .match-ui-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      padding: 0 14px 2px; gap: 0 10px;
    }
    .match-ui-cell {
      padding: 2px 0; border-bottom: 1px solid #f5f5f5;
    }
    .match-ui-cell-label {
      display: block; font-family: var(--mono); font-size: 0.46rem;
      text-transform: uppercase; letter-spacing: 0.04em;
      color: #9ca3af; margin-bottom: 1px;
    }
    .match-ui-cell-value {
      font-family: var(--sans); font-size: 0.64rem;
      color: #374151;
    }
    .match-ui-contact-row {
      display: flex; align-items: center; gap: 6px;
      padding: 3px 12px; border-bottom: 1px solid #f5f5f5;
    }
    .match-ui-contact-name {
      font-family: var(--sans); font-size: 0.64rem;
      color: #374151; font-weight: 500;
    }
    .match-ui-contact-title {
      font-family: var(--mono); font-size: 0.5rem;
      color: #9ca3af;
    }
    .match-ui-verdict {
      font-family: var(--sans); font-size: 0.64rem;
      color: #9ca3af; font-style: italic;
      padding: 8px 12px; border-top: 1px solid #f0f0f0;
      margin-top: 4px;
    }
    .match-ui-rich-row {
      display: flex; align-items: baseline; gap: 6px;
      padding: 3px 12px;
    }
    .match-ui-rich-label {
      font-family: var(--mono); font-size: 0.5rem;
      text-transform: uppercase; letter-spacing: 0.04em;
      color: #9ca3af; min-width: 70px; flex-shrink: 0;
    }
    .match-ui-rich-value {
      font-family: var(--sans); font-size: 0.64rem;
      color: #111827; line-height: 1.4;
    }
    .match-ui-highlight {
      color: var(--accent); font-weight: 500;
    }
    .match-ui-signal {
      display: flex; align-items: center; gap: 5px;
      padding: 2px 14px;
    }
    .match-ui-signal-dot {
      width: 4px; height: 4px; border-radius: 50%;
      background: var(--accent); flex-shrink: 0;
      box-shadow: 0 0 4px rgba(196,133,106,0.5);
    }
    .match-ui-signal-text {
      font-family: var(--sans); font-size: 0.6rem;
      color: #374151; line-height: 1.3;
    }
    .match-ui-split-zones {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      border-top: 1px solid #f0f0f0;
    }
    .match-ui-split-zones > .src-zone {
      border-right: 1px solid #f0f0f0;
      padding: 3px 6px 4px;
    }
    .match-ui-split-zones > .src-zone:nth-child(even) {
      border-right: none;
    }
    .match-ui-split-zones > .src-zone:nth-child(n+3) {
      border-top: 1px solid #f0f0f0;
    }
    .match-ui-pr {
      border: none;
      outline: 1px solid rgba(240,242,239,0.04);
      outline-offset: -1px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 4px 20px rgba(0,0,0,0.10), 0 12px 48px rgba(0,0,0,0.06);
      height: 420px;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      position: relative;
    }
    .match-ui-pr::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 12px;
      background: linear-gradient(180deg, rgba(240,242,239,0.05) 0%, rgba(240,242,239,0.02) 25%, transparent 50%);
      pointer-events: none;
      z-index: 10;
    }
    /* PR card — no glow effect */
    .match-ui-body-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      flex: 1;
      min-height: 0;
      overflow: hidden;
      border-top: 1px solid #f0f0f0;
    }
    .match-ui-body-col {
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    .match-ui-body-col:first-child {
      border-right: 1px solid #f0f0f0;
    }
    .match-ui-header-pr { padding-bottom: 6px; }
    .match-ui-org-meta {
      display: flex; gap: 4px; margin-top: 2px; flex-wrap: wrap;
    }
    .match-ui-meta-tag {
      font-family: var(--mono); font-size: 0.44rem;
      padding: 1px 5px; border-radius: 3px;
      background: #f3f4f6; color: #6b7280;
      letter-spacing: 0.02em;
    }
    .match-ui-meta-accent {
      background: rgba(196,133,106,0.12); color: var(--accent); font-weight: 600;
    }
    .match-ui-thesis-card {
      margin: 2px 14px 1px; padding: 5px 10px;
      background: rgba(196,133,106,0.04);
      border: 1px solid rgba(196,133,106,0.12);
      border-left: 2px solid var(--accent);
      border-radius: 4px;
    }
    .match-ui-thesis-quote {
      font-family: var(--serif); font-size: 0.64rem;
      color: #111827; font-style: italic;
      line-height: 1.35; margin-bottom: 3px;
    }
    .match-ui-thesis-meta {
      display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
    }
    .match-ui-deploy-badge {
      display: inline-flex; align-items: center; gap: 4px;
      font-family: var(--mono); font-size: 0.48rem;
      color: #059669; font-weight: 600;
      background: rgba(5,150,105,0.08);
      padding: 1px 6px; border-radius: 3px;
    }
    .match-ui-deploy-dot {
      width: 4px; height: 4px; border-radius: 50%;
      background: #059669;
      box-shadow: 0 0 4px rgba(5,150,105,0.5);
      animation: ha-pulse 2s ease-in-out infinite;
    }
    .match-ui-thesis-stat {
      font-family: var(--mono); font-size: 0.46rem;
      color: #9ca3af;
    }
    .match-ui-fit-row {
      padding: 2px 14px 4px;
    }
    .match-ui-fit-bar-wrap {
      display: flex; flex-direction: column; gap: 2px;
    }
    .match-ui-fit-item {
      display: flex; align-items: center; gap: 6px;
    }
    .match-ui-fit-name {
      font-family: var(--mono); font-size: 0.44rem;
      color: #9ca3af; min-width: 64px;
      text-transform: uppercase; letter-spacing: 0.04em;
    }
    .match-ui-fit-bar {
      flex: 1; height: 3px; background: #f3f4f6;
      border-radius: 2px; overflow: hidden;
    }
    .match-ui-fit-fill {
      height: 100%; border-radius: 2px;
      background: linear-gradient(90deg, var(--accent), #d4a08a);
    }
    .match-ui-fit-pct {
      font-family: var(--mono); font-size: 0.44rem;
      color: var(--accent); font-weight: 600; min-width: 24px;
      text-align: right;
    }
    .match-ui-signal-count {
      font-size: 0.42rem; color: var(--accent);
      background: rgba(196,133,106,0.1);
      padding: 1px 5px; border-radius: 3px;
      margin-left: 4px; font-weight: 600;
      letter-spacing: normal; text-transform: none;
    }
    .match-ui-signal-src {
      font-family: var(--mono); font-size: 0.42rem;
      color: #9ca3af; background: #f3f4f6;
      padding: 1px 4px; border-radius: 3px;
      margin-left: auto; flex-shrink: 0;
      text-transform: uppercase; letter-spacing: 0.04em;
    }
    .match-ui-signal-time {
      font-family: var(--mono); font-size: 0.4rem;
      color: #b0b7c3; flex-shrink: 0;
    }
    .match-ui-decision-card {
      margin: 2px 14px 1px; padding: 5px 10px;
      background: rgba(196,133,106,0.03);
      border: 1px solid rgba(196,133,106,0.08);
      border-radius: 4px;
      display: flex; flex-direction: column; gap: 3px;
    }
    .match-ui-decision-row {
      display: flex; align-items: flex-start; gap: 6px;
    }
    .match-ui-decision-icon {
      width: 13px; height: 13px; flex-shrink: 0; margin-top: 1px;
    }
    .match-ui-decision-icon svg { width: 100%; height: 100%; }
    .match-ui-decision-label {
      font-family: var(--mono); font-size: 0.42rem;
      text-transform: uppercase; letter-spacing: 0.04em;
      color: #9ca3af;
    }
    .match-ui-decision-value {
      font-family: var(--sans); font-size: 0.58rem;
      color: #374151; line-height: 1.3;
    }
    .match-ui-action-bar {
      display: flex; align-items: center; justify-content: space-between;
      padding: 5px 14px; margin: 2px 0 0;
      background: rgba(196,133,106,0.06);
      border-top: 1px solid rgba(196,133,106,0.1);
    }
    .match-ui-action-text {
      font-family: var(--sans); font-size: 0.52rem;
      color: #6b7280; font-style: italic;
    }
    .match-ui-action-btn {
      font-family: var(--sans); font-size: 0.5rem;
      font-weight: 600; color: var(--accent);
      white-space: nowrap;
    }

    /* ============================== */
    /* BENTO INTELLIGENCE (Section 02-ALT) */
    /* ============================== */
    .bento-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1.6fr 1.6fr 1.6fr 1fr 1fr 1fr;
      grid-template-rows: 48px 66px 1fr 1fr 1fr 1fr 66px 48px;
      gap: 8px;
      margin-top: 56px;
      max-width: 880px;
      height: 650px;
      margin-left: auto;
      margin-right: auto;
      position: relative;
    }
    .bento-fade {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 4;
      background: radial-gradient(ellipse 58% 55% at 50% 50%, transparent 52%, rgba(6,14,10,0.4) 65%, rgba(6,14,10,0.8) 80%, #060e0a 95%);
    }

    /* Center: c4-6, rows 3-6 (4 rows) — true center of universe */
    #bento-center { grid-column: 4 / 7; grid-row: 3 / 7; z-index: 10; }

    /* Row 1 — ghost row, behind gradient */

    /* Row 2 — above center, asymmetric: short Preqin, wider Dakota */
    .bn-card[data-bn="bloomberg"]  { grid-column: 1 / 4; grid-row: 2; }
    .bn-card[data-bn="preqin"]     { grid-column: 4 / 6; grid-row: 2; }
    .bn-card[data-bn="dakota"]     { grid-column: 6 / 10; grid-row: 2; }

    /* Row 3-4 — LinkedIn TALL left, CapIQ short right, then eVestment+MSCI */
    .bn-card[data-bn="linkedin"]   { grid-column: 1 / 4; grid-row: 3 / 5; } /* tall — 2 rows */
    .bn-card[data-bn="capiq"]      { grid-column: 7 / 10; grid-row: 3; }
    .bn-card[data-bn="evestment"]  { grid-column: 7 / 9; grid-row: 4; }
    .bn-card[data-bn="msci"]       { grid-column: 9;     grid-row: 4; }

    /* Row 5-6 — PitchBook+SEC short left, Hamilton TALL right */
    .bn-card[data-bn="pitchbook"]  { grid-column: 1 / 3; grid-row: 5; }
    .bn-card[data-bn="sec"]        { grid-column: 3;     grid-row: 5; }
    .bn-card[data-bn="burgiss"]    { grid-column: 1 / 4; grid-row: 6; }
    .bn-card[data-bn="hamilton"]   { grid-column: 7 / 10; grid-row: 5 / 7; } /* tall — 2 rows */

    /* Row 7 — below center, asymmetric: wider Apollo, short Moody's */
    .bn-card[data-bn="apollo"]     { grid-column: 1 / 5; grid-row: 7; }
    .bn-card[data-bn="moodys"]     { grid-column: 5 / 7; grid-row: 7; }
    .bn-card[data-bn="refinitiv"]  { grid-column: 7 / 10; grid-row: 7; }

    /* Row 8 — ghost row, behind gradient */

    /* Ghost row cards — tighter padding for 48px rows */
    [style*="grid-row:1"] .bn-name,
    [style*="grid-row:8"] .bn-name { font-size: 0.56rem; }
    [style*="grid-row:1"],
    [style*="grid-row:8"] { padding: 6px 9px; gap: 2px; }

    /* Base source card — OPAQUE background so SVG lines never show through */
    .bn-card {
      border-radius: 6px;
      border: 1px solid rgba(240,242,239,0.06);
      background: #0b130f;
      padding: 8px 10px;
      display: flex;
      flex-direction: column;
      gap: 3px;
      overflow: hidden;
      position: relative;
      z-index: 1;
      transition: border-color 0.4s cubic-bezier(0.25,0.1,0.25,1), box-shadow 0.4s cubic-bezier(0.25,0.1,0.25,1), background 0.4s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bn-card.bn-active {
      border-color: rgba(240,242,239,0.65);
      box-shadow: 0 0 24px rgba(240,242,239,0.15), 0 0 48px rgba(240,242,239,0.06), inset 0 0 14px rgba(240,242,239,0.04);
      background: #19211d;
      z-index: 10;
      transition: box-shadow 0.4s cubic-bezier(0.22, 0.68, 0.35, 1), background 0.3s ease;
    }
    .bn-name {
      font-family: var(--sans);
      font-size: 0.62rem;
      font-weight: 600;
      color: var(--white-60);
      transition: color 0.4s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bn-active .bn-name {
      color: #f0f2ef;
    }
    .bn-type {
      font-family: var(--mono);
      font-size: 0.38rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--white-20);
      transition: color 0.4s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bn-line {
      height: 2px;
      border-radius: 1px;
      background: rgba(240,242,239,0.06);
      transition: background 0.4s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bn-active .bn-line {
      background: rgba(240,242,239,0.25);
    }
    .bn-kv {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 6px;
    }
    .bn-k {
      font-family: var(--mono);
      font-size: 0.38rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--white-20);
      flex-shrink: 0;
      transition: color 0.4s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bn-v {
      font-family: var(--sans);
      font-size: 0.52rem;
      color: var(--white-40);
      text-align: right;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      transition: color 0.4s cubic-bezier(0.25,0.1,0.25,1), text-shadow 0.4s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bn-active .bn-k {
      color: rgba(240,242,239,0.5);
    }
    .bn-active .bn-v {
      color: #f0f2ef;
      text-shadow: 0 0 6px rgba(240,242,239,0.3);
    }
    .bn-active .bn-type {
      color: rgba(240,242,239,0.45);
    }

    /* ——— Widget-specific source card styles ——— */

    /* Terminal (Bloomberg) */
    .bnw-terminal { display: flex; flex-direction: column; gap: 1px; margin-top: 1px; }
    .bnw-tl {
      font-family: var(--mono);
      font-size: 0.34rem;
      color: rgba(240,242,239,0.35);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      line-height: 1.3;
    }
    .bnw-tl-dim { color: rgba(240,242,239,0.15); }
    .bnw-cursor {
      display: inline-block;
      width: 5px; height: 8px;
      background: rgba(240,242,239,0.25);
      animation: bnw-blink 1.2s step-end infinite;
      vertical-align: text-bottom;
      margin-left: 1px;
    }
    @keyframes bnw-blink { 0%,100% { opacity: 1; } 50% { opacity: 0; } }
    .bn-active .bnw-tl { color: rgba(240,242,239,0.7); }
    .bn-active .bnw-tl-dim { color: rgba(240,242,239,0.35); }

    /* Allocation bars (Preqin) */
    .bnw-alloc { display: flex; flex-direction: column; gap: 3px; margin-top: 2px; }
    .bnw-alloc-row { display: flex; align-items: center; gap: 4px; }
    .bnw-alloc-l {
      font-family: var(--mono); font-size: 0.30rem;
      color: var(--white-20); width: 22px; flex-shrink: 0;
      text-transform: uppercase; letter-spacing: 0.03em;
    }
    .bnw-alloc-track {
      flex: 1; height: 3px; border-radius: 1.5px;
      background: rgba(240,242,239,0.04); overflow: hidden;
    }
    .bnw-alloc-fill { height: 100%; border-radius: 1.5px; background: rgba(240,242,239,0.2); }
    .bnw-alloc-v {
      font-family: var(--mono); font-size: 0.30rem;
      color: var(--white-30, rgba(240,242,239,0.3));
      width: 18px; text-align: right; flex-shrink: 0;
    }
    .bn-active .bnw-alloc-l { color: rgba(240,242,239,0.5); }
    .bn-active .bnw-alloc-fill { background: rgba(240,242,239,0.45); box-shadow: 0 0 4px rgba(240,242,239,0.15); }
    .bn-active .bnw-alloc-v { color: rgba(240,242,239,0.7); }

    /* Pipeline stages (Dakota) */
    .bnw-pipeline { display: flex; align-items: flex-start; gap: 0; margin-top: 2px; }
    .bnw-pip-step { display: flex; flex-direction: column; align-items: center; gap: 2px; }
    .bnw-pip-dot {
      width: 6px; height: 6px; border-radius: 50%;
      border: 1px solid rgba(240,242,239,0.15); background: transparent;
    }
    .bnw-pip-done .bnw-pip-dot { background: rgba(240,242,239,0.25); border-color: rgba(240,242,239,0.3); }
    .bnw-pip-current .bnw-pip-dot { background: rgba(240,242,239,0.5); border-color: rgba(240,242,239,0.6); box-shadow: 0 0 4px rgba(240,242,239,0.2); }
    .bnw-pip-lbl {
      font-family: var(--mono); font-size: 0.24rem;
      color: var(--white-15, rgba(240,242,239,0.15));
      text-transform: uppercase; letter-spacing: 0.03em;
    }
    .bnw-pip-done .bnw-pip-lbl { color: var(--white-25, rgba(240,242,239,0.25)); }
    .bnw-pip-current .bnw-pip-lbl { color: rgba(240,242,239,0.45); }
    .bnw-pip-line {
      flex: 1; height: 1px; background: rgba(240,242,239,0.08);
      min-width: 10px; margin: 0 2px; margin-top: 3px;
    }
    .bnw-pip-line.bnw-pip-done { background: rgba(240,242,239,0.2); }
    .bn-active .bnw-pip-dot { border-color: rgba(240,242,239,0.3); }
    .bn-active .bnw-pip-done .bnw-pip-dot { background: rgba(240,242,239,0.45); border-color: rgba(240,242,239,0.55); }
    .bn-active .bnw-pip-current .bnw-pip-dot { background: rgba(240,242,239,0.8); box-shadow: 0 0 6px rgba(240,242,239,0.3); }
    .bn-active .bnw-pip-lbl { color: rgba(240,242,239,0.3); }
    .bn-active .bnw-pip-done .bnw-pip-lbl { color: rgba(240,242,239,0.45); }
    .bn-active .bnw-pip-current .bnw-pip-lbl { color: rgba(240,242,239,0.7); }
    .bn-active .bnw-pip-line { background: rgba(240,242,239,0.15); }
    .bn-active .bnw-pip-line.bnw-pip-done { background: rgba(240,242,239,0.35); }

    /* Shared tag (small data pill) */
    .bnw-tag {
      font-family: var(--mono); font-size: 0.30rem;
      color: var(--white-20); margin-top: auto; letter-spacing: 0.02em;
    }
    .bn-active .bnw-tag { color: rgba(240,242,239,0.5); }

    /* Profile card (LinkedIn) */
    .bnw-profile { display: flex; align-items: center; gap: 6px; margin-top: 2px; }
    .bnw-avatar {
      width: 22px; height: 22px; border-radius: 50%;
      background: rgba(240,242,239,0.06); border: 1px solid rgba(240,242,239,0.12);
      display: flex; align-items: center; justify-content: center;
      font-family: var(--sans); font-size: 0.34rem; font-weight: 600;
      color: rgba(240,242,239,0.35); flex-shrink: 0;
    }
    .bnw-prof-name { font-family: var(--sans); font-size: 0.44rem; color: var(--white-40); font-weight: 500; }
    .bnw-prof-title { font-family: var(--sans); font-size: 0.34rem; color: var(--white-20); }
    .bnw-meta-row {
      display: flex; align-items: center; gap: 4px;
      font-family: var(--mono); font-size: 0.32rem; color: var(--white-20);
    }
    .bnw-status-dot {
      width: 5px; height: 5px; border-radius: 50%; background: rgba(240,242,239,0.25);
    }
    .bnw-feed { display: flex; flex-direction: column; gap: 2px; margin-top: 2px; }
    .bnw-feed-item {
      font-family: var(--sans); font-size: 0.34rem;
      color: var(--white-15, rgba(240,242,239,0.15));
      padding-left: 8px; position: relative;
    }
    .bnw-feed-item::before {
      content: ''; position: absolute; left: 0; top: 0.35em;
      width: 3px; height: 3px; border-radius: 50%; background: rgba(240,242,239,0.08);
    }
    .bn-active .bnw-avatar { border-color: rgba(240,242,239,0.3); background: rgba(240,242,239,0.12); color: rgba(240,242,239,0.7); }
    .bn-active .bnw-prof-name { color: #f0f2ef; }
    .bn-active .bnw-prof-title { color: rgba(240,242,239,0.4); }
    .bn-active .bnw-meta-row { color: rgba(240,242,239,0.4); }
    .bn-active .bnw-status-dot { background: rgba(240,242,239,0.55); box-shadow: 0 0 4px rgba(240,242,239,0.2); }
    .bn-active .bnw-feed-item { color: rgba(240,242,239,0.35); }
    .bn-active .bnw-feed-item::before { background: rgba(240,242,239,0.25); }

    /* Data table (Capital IQ, Hamilton Lane) */
    .bnw-table { display: flex; flex-direction: column; gap: 0; margin-top: 2px; }
    .bnw-trow {
      display: flex; justify-content: space-between; align-items: baseline;
      padding: 2px 0; border-bottom: 1px solid rgba(240,242,239,0.03);
    }
    .bnw-trow:last-child { border-bottom: none; }
    .bnw-tk {
      font-family: var(--mono); font-size: 0.32rem;
      text-transform: uppercase; letter-spacing: 0.03em;
      color: var(--white-15, rgba(240,242,239,0.15)); flex-shrink: 0;
    }
    .bnw-tv { font-family: var(--sans); font-size: 0.40rem; color: var(--white-30, rgba(240,242,239,0.3)); text-align: right; }
    .bnw-tv-ok { color: rgba(240,242,239,0.35); }
    .bn-active .bnw-trow { border-color: rgba(240,242,239,0.06); }
    .bn-active .bnw-tk { color: rgba(240,242,239,0.4); }
    .bn-active .bnw-tv { color: #f0f2ef; }
    .bn-active .bnw-tv-ok { color: rgba(240,242,239,0.8); }

    /* Meters (eVestment) */
    .bnw-meters { display: flex; flex-direction: column; gap: 4px; margin-top: 2px; }
    .bnw-meter { display: flex; align-items: center; gap: 4px; }
    .bnw-meter-l {
      font-family: var(--mono); font-size: 0.28rem;
      color: var(--white-15, rgba(240,242,239,0.15));
      width: 28px; flex-shrink: 0; text-transform: uppercase; letter-spacing: 0.03em;
    }
    .bnw-meter-track { flex: 1; height: 4px; border-radius: 2px; background: rgba(240,242,239,0.04); overflow: hidden; }
    .bnw-meter-fill { height: 100%; border-radius: 2px; background: linear-gradient(90deg, rgba(240,242,239,0.12), rgba(240,242,239,0.3)); }
    .bn-active .bnw-meter-l { color: rgba(240,242,239,0.4); }
    .bn-active .bnw-meter-fill { background: linear-gradient(90deg, rgba(240,242,239,0.3), rgba(240,242,239,0.55)); box-shadow: 0 0 4px rgba(240,242,239,0.15); }

    /* Rating badge (MSCI) */
    .bnw-rating { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; gap: 1px; }
    .bnw-rating-grade {
      font-family: var(--sans); font-size: 1rem; font-weight: 700;
      color: var(--white-25, rgba(240,242,239,0.25)); line-height: 1; letter-spacing: -0.02em;
    }
    .bnw-rating-sub {
      font-family: var(--mono); font-size: 0.26rem;
      text-transform: uppercase; letter-spacing: 0.06em;
      color: var(--white-12, rgba(240,242,239,0.12));
    }
    .bn-active .bnw-rating-grade { color: #f0f2ef; text-shadow: 0 0 10px rgba(240,242,239,0.4); }
    .bn-active .bnw-rating-sub { color: rgba(240,242,239,0.4); }

    /* Mini column chart (PitchBook) */
    .bnw-chart { display: flex; align-items: flex-end; gap: 3px; height: 26px; margin-top: 2px; }
    .bnw-col {
      flex: 1; background: rgba(240,242,239,0.06);
      border-radius: 1.5px 1.5px 0 0; position: relative; min-height: 4px;
    }
    .bnw-col-accent { background: rgba(240,242,239,0.15); }
    .bnw-col-yr {
      position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%);
      font-family: var(--mono); font-size: 0.22rem;
      color: var(--white-10, rgba(240,242,239,0.1));
    }
    .bn-active .bnw-col { background: rgba(240,242,239,0.15); }
    .bn-active .bnw-col-accent { background: rgba(240,242,239,0.4); }
    .bn-active .bnw-col-yr { color: rgba(240,242,239,0.3); }

    /* Filing badge (SEC) */
    .bnw-filing { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; gap: 2px; }
    .bnw-filing-form {
      font-family: var(--mono); font-size: 0.68rem; font-weight: 700;
      color: var(--white-22, rgba(240,242,239,0.22)); letter-spacing: 0.02em;
    }
    .bnw-filing-amt { font-family: var(--mono); font-size: 0.30rem; color: var(--white-12, rgba(240,242,239,0.12)); }
    .bn-active .bnw-filing-form { color: #f0f2ef; text-shadow: 0 0 8px rgba(240,242,239,0.3); }
    .bn-active .bnw-filing-amt { color: rgba(240,242,239,0.5); }

    /* Rank badge (Hamilton Lane) */
    .bnw-rank { display: flex; align-items: center; gap: 6px; margin-top: 2px; }
    .bnw-rank-badge {
      font-family: var(--mono); font-size: 0.40rem; font-weight: 700;
      color: rgba(240,242,239,0.4); background: rgba(240,242,239,0.05);
      border: 1px solid rgba(240,242,239,0.1); padding: 1px 6px; border-radius: 3px;
    }
    .bnw-rank-label { font-family: var(--sans); font-size: 0.36rem; color: var(--white-20); }
    .bn-active .bnw-rank-badge { background: rgba(240,242,239,0.1); border-color: rgba(240,242,239,0.25); color: rgba(240,242,239,0.8); }
    .bn-active .bnw-rank-label { color: rgba(240,242,239,0.5); }

    /* Metrics row (Burgiss) */
    .bnw-metrics { display: flex; align-items: center; gap: 0; margin-top: 4px; }
    .bnw-metric { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 1px; }
    .bnw-metric-val {
      font-family: var(--sans); font-size: 0.58rem; font-weight: 600;
      color: var(--white-30, rgba(240,242,239,0.3));
    }
    .bnw-metric-label {
      font-family: var(--mono); font-size: 0.24rem;
      text-transform: uppercase; letter-spacing: 0.04em;
      color: var(--white-12, rgba(240,242,239,0.12));
    }
    .bnw-metric-divider { width: 1px; height: 20px; background: rgba(240,242,239,0.05); }
    .bn-active .bnw-metric-val { color: #f0f2ef; text-shadow: 0 0 6px rgba(240,242,239,0.3); }
    .bn-active .bnw-metric-label { color: rgba(240,242,239,0.35); }
    .bn-active .bnw-metric-divider { background: rgba(240,242,239,0.12); }

    /* Contact card (Apollo.io) */
    .bnw-contact { display: flex; flex-direction: column; gap: 2px; margin-top: 2px; }
    .bnw-contact-row { display: flex; align-items: center; gap: 5px; font-family: var(--mono); font-size: 0.34rem; }
    .bnw-contact-icon {
      color: var(--white-12, rgba(240,242,239,0.12)); width: 10px;
      text-align: center; flex-shrink: 0; font-size: 0.34rem;
    }
    .bnw-contact-val {
      color: var(--white-25, rgba(240,242,239,0.25));
      overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .bnw-contact-ok { color: rgba(240,242,239,0.3); }
    .bn-active .bnw-contact-icon { color: rgba(240,242,239,0.35); }
    .bn-active .bnw-contact-val { color: rgba(240,242,239,0.7); }
    .bn-active .bnw-contact-ok { color: rgba(240,242,239,0.65); }

    /* Credit rating (Moody's) — wide horizontal layout */
    .bnw-credit-wide {
      display: flex; align-items: center; gap: 10px; flex: 1;
    }
    .bnw-credit-left {
      display: flex; flex-direction: column; align-items: center; gap: 1px; flex-shrink: 0;
    }
    .bnw-credit-grade {
      font-family: var(--sans); font-size: 0.85rem; font-weight: 700;
      color: var(--white-25, rgba(240,242,239,0.25)); line-height: 1;
    }
    .bnw-credit-outlook {
      font-family: var(--mono); font-size: 0.26rem;
      text-transform: uppercase; letter-spacing: 0.04em; color: rgba(240,242,239,0.2);
    }
    .bnw-credit-right {
      display: flex; flex-direction: column; gap: 1px; flex: 1;
      border-left: 1px solid rgba(240,242,239,0.04); padding-left: 8px;
    }
    .bnw-credit-row {
      display: flex; justify-content: space-between; align-items: baseline;
    }
    .bnw-credit-k {
      font-family: var(--mono); font-size: 0.24rem;
      text-transform: uppercase; letter-spacing: 0.03em;
      color: var(--white-10, rgba(240,242,239,0.1));
    }
    .bnw-credit-v {
      font-family: var(--sans); font-size: 0.34rem;
      color: var(--white-20, rgba(240,242,239,0.2));
    }
    .bn-active .bnw-credit-grade { color: #f0f2ef; text-shadow: 0 0 10px rgba(240,242,239,0.4); }
    .bn-active .bnw-credit-outlook { color: rgba(240,242,239,0.55); }
    .bn-active .bnw-credit-right { border-color: rgba(240,242,239,0.08); }
    .bn-active .bnw-credit-k { color: rgba(240,242,239,0.3); }
    .bn-active .bnw-credit-v { color: rgba(240,242,239,0.55); }

    /* Segmented bar (Refinitiv) */
    .bnw-segment { margin-top: 2px; }
    .bnw-seg-bar { display: flex; height: 6px; border-radius: 3px; overflow: hidden; gap: 1px; }
    .bnw-seg { height: 100%; }
    .bnw-seg-labels {
      display: flex; justify-content: space-between; margin-top: 3px;
      font-family: var(--mono); font-size: 0.24rem;
      color: var(--white-12, rgba(240,242,239,0.12));
    }
    .bn-active .bnw-seg { filter: brightness(1.6); }
    .bn-active .bnw-seg-labels { color: rgba(240,242,239,0.35); }

    /* Apollo wide layout */
    .bnw-contact-wide {
      display: flex; gap: 10px; flex: 1; align-items: flex-start;
    }
    .bnw-contact-wide .bnw-contact { flex: 1; min-width: 0; }
    .bnw-contact-aside {
      display: flex; flex-direction: column; align-items: flex-end; gap: 2px;
      flex-shrink: 0; border-left: 1px solid rgba(240,242,239,0.04); padding-left: 8px;
    }
    .bnw-contact-stat { display: flex; flex-direction: column; align-items: flex-end; gap: 0; }
    .bnw-contact-stat-v {
      font-family: var(--mono); font-size: 0.34rem; font-weight: 600;
      color: var(--white-25, rgba(240,242,239,0.25));
    }
    .bnw-contact-stat-l {
      font-family: var(--mono); font-size: 0.22rem;
      text-transform: uppercase; letter-spacing: 0.03em;
      color: var(--white-10, rgba(240,242,239,0.1));
    }
    .bnw-enrich-badge {
      font-family: var(--mono); font-size: 0.22rem;
      color: var(--white-08, rgba(240,242,239,0.08));
      letter-spacing: 0.02em; margin-top: auto;
    }
    .bn-active .bnw-contact-aside { border-color: rgba(240,242,239,0.08); }
    .bn-active .bnw-contact-stat-v { color: rgba(240,242,239,0.6); }
    .bn-active .bnw-contact-stat-l { color: rgba(240,242,239,0.3); }
    .bn-active .bnw-enrich-badge { color: rgba(240,242,239,0.25); }

    /* Factiva ticker */
    .bnw-factiva-ticker {
      display: flex; align-items: center; gap: 5px;
      font-family: var(--mono); font-size: 0.28rem;
      color: var(--white-12, rgba(240,242,239,0.12));
      overflow: hidden; white-space: nowrap;
    }
    .bnw-ticker-sep { opacity: 0.3; }
    .bnw-ticker-item { text-overflow: ellipsis; overflow: hidden; }
    .bn-active .bnw-factiva-ticker { color: rgba(240,242,239,0.35); }

    /* Burgiss metrics footer */
    .bnw-metrics-footer {
      display: flex; align-items: center; gap: 4px;
      margin-top: auto;
      font-family: var(--mono); font-size: 0.26rem;
      color: var(--white-10, rgba(240,242,239,0.1));
      letter-spacing: 0.02em;
    }
    .bnw-mf-sep { opacity: 0.4; }
    .bn-active .bnw-metrics-footer { color: rgba(240,242,239,0.3); }

    /* LinkedIn skill tags */
    .bnw-li-skills {
      display: flex; gap: 3px; flex-wrap: wrap; margin-top: auto;
    }
    .bnw-li-tag {
      font-family: var(--mono); font-size: 0.24rem;
      color: var(--white-12, rgba(240,242,239,0.12));
      background: rgba(240,242,239,0.03);
      padding: 1px 5px; border-radius: 2px;
      letter-spacing: 0.02em;
    }
    .bn-active .bnw-li-tag { color: rgba(240,242,239,0.35); background: rgba(240,242,239,0.06); }

    /* Hamilton Lane footer */
    .bnw-hl-footer {
      display: flex; align-items: center; justify-content: space-between;
      margin-top: auto; padding-top: 3px;
      border-top: 1px solid rgba(240,242,239,0.03);
    }
    .bnw-hl-updated {
      font-family: var(--mono); font-size: 0.24rem;
      color: var(--white-10, rgba(240,242,239,0.1));
      letter-spacing: 0.02em;
    }
    .bnw-hl-flag {
      font-family: var(--mono); font-size: 0.22rem;
      color: var(--white-08, rgba(240,242,239,0.08));
      letter-spacing: 0.03em; text-transform: uppercase;
    }
    .bn-active .bnw-hl-updated { color: rgba(240,242,239,0.3); }
    .bn-active .bnw-hl-flag { color: rgba(240,242,239,0.25); }
    .bn-active .bnw-hl-footer { border-color: rgba(240,242,239,0.06); }

    /* SVG network — behind cards so opaque backgrounds hide any overlap */
    .bn-network {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 0;
    }
    .bn-conn {
      stroke: rgba(240,242,239,0.04);
      stroke-width: 1;
      fill: none;
      transition: opacity 0.5s ease-out;
    }
    .bn-conn.bn-conn-active {
      stroke: rgba(240,242,239,0.7);
      stroke-width: 1.5;
      fill: none;
      filter: drop-shadow(0 0 6px rgba(240,242,239,0.35)) drop-shadow(0 0 16px rgba(240,242,239,0.12));
    }

    /* Border sweep — bright arc sweeps around, then fills to uniform glow */
    @property --sweep {
      syntax: '<angle>';
      inherits: false;
      initial-value: 0deg;
    }
    @property --bfill {
      syntax: '<number>';
      inherits: false;
      initial-value: 0;
    }
    @property --csweep {
      syntax: '<angle>';
      inherits: false;
      initial-value: 0deg;
    }
    @property --cfill {
      syntax: '<number>';
      inherits: false;
      initial-value: 0;
    }

    /* Source card: sweep then fill to uniform */
    @keyframes bn-border-spin {
      0%   { --sweep: 0deg;   --bfill: 0; }
      75%  { --sweep: 360deg; --bfill: 0; }
      100% { --sweep: 360deg; --bfill: 1; }
    }
    /* Center card: sweep from entry angle then fill */
    @keyframes bn-center-spin {
      0%   { --csweep: 0deg;   --cfill: 0; }
      70%  { --csweep: 360deg; --cfill: 0; }
      100% { --csweep: 360deg; --cfill: 1; }
    }

    .bn-card.bn-border-sweep::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 6px;
      border: 1.5px solid transparent;
      background: conic-gradient(
        from calc(var(--sweep-start, 0deg) + var(--sweep)),
        rgba(240,242,239, calc(0.9 - var(--bfill) * 0.3)) 0deg,
        rgba(240,242,239, calc(0.15 + var(--bfill) * 0.45)) calc(40deg + var(--bfill) * 140deg),
        rgba(240,242,239, calc(var(--bfill) * 0.6)) 180deg,
        rgba(240,242,239, calc(0.15 + var(--bfill) * 0.45)) calc(320deg - var(--bfill) * 140deg),
        rgba(240,242,239, calc(0.9 - var(--bfill) * 0.3)) 360deg
      ) border-box;
      -webkit-mask:
        linear-gradient(#fff 0 0) padding-box,
        linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
      z-index: 20;
      animation: bn-border-spin 600ms cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
    }

    /* Center card — sweep from entry angle then settle to uniform glow */
    #bento-center.bento-center-glow::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 8px;
      border: 1.5px solid transparent;
      background: conic-gradient(
        from calc(var(--entry-angle, 0deg) + var(--csweep)),
        rgba(240,242,239, calc(0.9 - var(--cfill) * 0.3)) 0deg,
        rgba(240,242,239, calc(0.15 + var(--cfill) * 0.45)) calc(50deg + var(--cfill) * 130deg),
        rgba(240,242,239, calc(var(--cfill) * 0.6)) 180deg,
        rgba(240,242,239, calc(0.15 + var(--cfill) * 0.45)) calc(310deg - var(--cfill) * 130deg),
        rgba(240,242,239, calc(0.9 - var(--cfill) * 0.3)) 360deg
      ) border-box;
      -webkit-mask:
        linear-gradient(#fff 0 0) padding-box,
        linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      pointer-events: none;
      z-index: 20;
      animation: bn-center-spin 700ms cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
    }

    /* ---- CENTER CARD ----
       Type scale: heading 0.64rem, body 0.46rem, caption 0.34rem
       Spacing: 4px base rhythm, sections separated by 8px
    */
    #bento-center {
      border-radius: 8px;
      border: 1px solid rgba(240,242,239,0.08);
      background: #0c1410;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      transition: border-color 0.3s cubic-bezier(0.25,0.1,0.25,1), box-shadow 0.3s cubic-bezier(0.25,0.1,0.25,1), transform 0.3s cubic-bezier(0.25,0.1,0.25,1);
      position: relative;
    }
    #bento-center.bento-center-glow {
      border-color: rgba(240,242,239,0.45);
      box-shadow: 0 0 44px rgba(240,242,239,0.14), 0 0 80px rgba(240,242,239,0.05), inset 0 0 24px rgba(240,242,239,0.04);
    }
    @property --sweep-start {
      syntax: '<angle>';
      inherits: false;
      initial-value: 0deg;
    }
    @property --entry-angle {
      syntax: '<angle>';
      inherits: false;
      initial-value: 0deg;
    }
    .bc-topbar {
      display: flex;
      align-items: center;
      gap: 5px;
      padding: 5px 10px;
      border-bottom: 1px solid rgba(240,242,239,0.05);
    }
    .bc-logo {
      width: 16px;
      height: 16px;
      flex-shrink: 0;
    }
    .bc-title {
      font-family: var(--sans);
      font-size: 0.44rem;
      font-weight: 500;
      color: var(--white-30);
      letter-spacing: 0.02em;
    }
    .bc-fit {
      margin-left: auto;
      font-family: var(--mono);
      font-size: 0.42rem;
      font-weight: 600;
      color: var(--accent);
      background: rgba(196,133,106,0.10);
      padding: 2px 6px;
      border-radius: 3px;
    }
    .bc-body {
      padding: 10px 12px 8px;
      display: flex;
      flex-direction: column;
      flex: 1;
      gap: 3px;
    }
    /* — Header block — */
    .bc-org {
      font-family: var(--sans);
      font-size: 0.64rem;
      font-weight: 600;
      color: var(--white-60);
      line-height: 1.2;
      display: flex;
      align-items: center;
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1), text-shadow 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bc-org-logo { width: 14px; height: 14px; margin-right: 5px; flex-shrink: 0; }
    .bc-meta {
      font-family: var(--sans);
      font-size: 0.42rem;
      color: var(--white-20);
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1), text-shadow 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    /* — 4×2 data grid — */
    .bc-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      gap: 4px 6px;
      margin-top: 6px;
    }
    .bc-cell {
      display: flex;
      flex-direction: column;
      gap: 1px;
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1), text-shadow 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bc-label {
      font-family: var(--mono);
      font-size: 0.34rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--white-20);
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bc-val {
      font-family: var(--sans);
      font-size: 0.46rem;
      color: var(--white-40);
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1), text-shadow 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    /* — Signals section — */
    .bc-section-label {
      font-family: var(--mono);
      font-size: 0.34rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--accent);
      opacity: 0.5;
      margin-top: 4px;
      margin-bottom: 1px;
    }
    .bc-signal {
      font-family: var(--sans);
      font-size: 0.42rem;
      color: var(--white-30, rgba(240,242,239,0.3));
      padding-left: 8px;
      position: relative;
      line-height: 1.35;
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1), text-shadow 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bc-signal::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0.34em;
      width: 3px;
      height: 3px;
      border-radius: 50%;
      background: rgba(196,133,106,0.35);
      transition: background 0.35s cubic-bezier(0.25,0.1,0.25,1), box-shadow 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    /* — Zone divider — */
    .bc-divider {
      height: 1px;
      background: rgba(240,242,239,0.06);
      margin: 4px 0;
    }
    /* — Live intelligence label — */
    .bc-live-label {
      font-family: var(--mono);
      font-size: 0.34rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--accent);
      display: flex;
      align-items: center;
      gap: 5px;
      margin-bottom: 1px;
    }
    .bc-live-dot {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: var(--accent);
      animation: bc-pulse 2s ease-in-out infinite;
    }
    @keyframes bc-pulse {
      0%, 100% { opacity: 0.4; box-shadow: 0 0 0 0 rgba(196,133,106,0); }
      50% { opacity: 1; box-shadow: 0 0 4px 1px rgba(196,133,106,0.3); }
    }
    /* — Signal recency badges — */
    .bc-signal-time {
      font-family: var(--mono);
      font-size: 0.30rem;
      color: var(--accent);
      opacity: 0.6;
      background: rgba(196,133,106,0.08);
      padding: 1px 4px;
      border-radius: 2px;
      margin-right: 4px;
      letter-spacing: 0.02em;
    }
    /* — Why Now callout — */
    .bc-insight {
      display: flex;
      align-items: baseline;
      gap: 6px;
      margin-top: 2px;
      padding: 4px 6px;
      border-radius: 3px;
      background: rgba(196,133,106,0.06);
      border: 1px solid rgba(196,133,106,0.10);
    }
    .bc-insight-label {
      font-family: var(--mono);
      font-size: 0.32rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--accent);
      font-weight: 600;
      flex-shrink: 0;
    }
    .bc-insight-text {
      font-family: var(--sans);
      font-size: 0.40rem;
      color: var(--white-40);
      line-height: 1.3;
    }
    /* — Decision path — */
    .bc-path-row {
      display: flex;
      align-items: center;
      gap: 4px;
      margin-top: 4px;
      font-family: var(--sans);
      font-size: 0.42rem;
      color: var(--white-20);
    }
    .bc-path-arrow {
      color: var(--accent);
      opacity: 0.4;
      font-size: 0.36rem;
    }
    .bc-path-name {
      color: var(--white-40);
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1), text-shadow 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bc-path-role {
      color: var(--white-15, rgba(240,242,239,0.15));
      font-size: 0.34rem;
    }
    /* — Portfolio context — */
    .bc-context {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .bc-context-row {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
    }
    .bc-context-k {
      font-family: var(--mono);
      font-size: 0.34rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--white-20);
      flex-shrink: 0;
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bc-context-v {
      font-family: var(--sans);
      font-size: 0.42rem;
      color: var(--white-30, rgba(240,242,239,0.3));
      text-align: right;
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1), text-shadow 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    /* — Fit bars — */
    .bc-bars {
      display: flex;
      flex-direction: column;
      gap: 3px;
      margin-top: auto;
      padding-top: 4px;
    }
    .bc-bar-row {
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .bc-bar-label {
      font-family: var(--mono);
      font-size: 0.34rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--white-20);
      width: 34px;
      flex-shrink: 0;
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bc-bar-track {
      flex: 1;
      height: 3px;
      border-radius: 1.5px;
      background: rgba(240,242,239,0.04);
      overflow: hidden;
    }
    .bc-bar-fill {
      height: 100%;
      border-radius: 1.5px;
      background: linear-gradient(90deg, rgba(196,133,106,0.25), rgba(196,133,106,0.45));
      transition: background 0.35s cubic-bezier(0.25,0.1,0.25,1), box-shadow 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }
    .bc-bar-pct {
      font-family: var(--mono);
      font-size: 0.34rem;
      color: var(--accent);
      opacity: 0.5;
      width: 20px;
      text-align: right;
      flex-shrink: 0;
      transition: color 0.35s cubic-bezier(0.25,0.1,0.25,1), opacity 0.35s cubic-bezier(0.25,0.1,0.25,1);
    }

    /* — Field glow: text-only, no backgrounds — */
    .bc-field-glow.bc-org,
    .bc-field-glow.bc-meta {
      color: #f0f2ef;
      text-shadow: 0 0 14px rgba(240,242,239,0.6), 0 0 4px rgba(240,242,239,0.3);
    }
    .bc-field-glow .bc-label { color: rgba(240,242,239,0.6); }
    .bc-field-glow .bc-val {
      color: #f0f2ef;
      text-shadow: 0 0 12px rgba(240,242,239,0.55), 0 0 4px rgba(240,242,239,0.25);
    }
    .bc-field-glow.bc-signal {
      color: #f0f2ef;
      text-shadow: 0 0 12px rgba(240,242,239,0.55), 0 0 4px rgba(240,242,239,0.25);
    }
    .bc-field-glow.bc-signal::before {
      background: #f0f2ef;
      box-shadow: 0 0 8px rgba(240,242,239,0.6);
    }
    .bc-field-glow .bc-path-name {
      color: #f0f2ef;
      text-shadow: 0 0 12px rgba(240,242,239,0.55), 0 0 4px rgba(240,242,239,0.25);
    }
    .bc-field-glow .bc-context-k { color: rgba(240,242,239,0.6); }
    .bc-field-glow .bc-context-v {
      color: #f0f2ef;
      text-shadow: 0 0 12px rgba(240,242,239,0.55), 0 0 4px rgba(240,242,239,0.25);
    }
    .bc-field-glow .bc-bar-label { color: rgba(240,242,239,0.6); }
    .bc-field-glow .bc-bar-fill {
      background: linear-gradient(90deg, rgba(240,242,239,0.35), rgba(240,242,239,0.65));
      box-shadow: 0 0 8px rgba(240,242,239,0.3);
    }
    .bc-field-glow .bc-bar-pct { color: #f0f2ef; opacity: 1; }
    .bc-field-glow.bc-insight .bc-insight-text {
      color: #f0f2ef;
      text-shadow: 0 0 12px rgba(240,242,239,0.55), 0 0 4px rgba(240,242,239,0.25);
    }

    /* ============================== */
    /* FAQ */
    /* ============================== */
    .faq-list { list-style: none; }
    .faq-item {
      border-bottom: 1px solid var(--white-05);
    }
    .faq-item:last-child { border-bottom: none; }
    .faq-item summary {
      font-weight: 600;
      font-size: 1rem;
      color: var(--white);
      padding: 22px 0;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      list-style: none;
    }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after {
      content: '+';
      font-family: var(--mono);
      font-size: 1.1rem;
      font-weight: 400;
      color: var(--accent);
      flex-shrink: 0;
      margin-left: 16px;
      transition: transform 0.2s;
    }
    .faq-item[open] summary::after {
      content: '\2212';
    }
    .faq-item .faq-answer {
      color: var(--white-60);
      font-size: 0.95rem;
      line-height: 1.75;
      padding: 0 0 24px;
    }

    /* CTA styles are now in /cta-rocket.css */
    /* Collaboration cursors */
    .collab-cursor {
      position: absolute; display: flex; align-items: flex-start; gap: 2px; z-index: 20;
      pointer-events: none;
    }
    .collab-cursor svg { width: 10px; height: 14px; flex-shrink: 0; }
    .collab-cursor-name {
      font-size: 0.48rem; font-weight: 600; color: #fff;
      padding: 2px 5px; border-radius: 3px; white-space: nowrap; line-height: 1;
    }

    /* Panel 1: Investor Intelligence — JS-driven cursor + filter animation */
    /* ——— Panel 1: Sidebar filter layout ——— */
    .p1-body {
      display: grid; grid-template-columns: 170px 1fr;
      height: 100%; overflow: hidden;
      pointer-events: none; user-select: none;
    }
    .p1-sidebar {
      padding: 6px 8px; border-right: 1px solid #e5e5ea;
      display: flex; flex-direction: column; gap: 0;
      overflow: hidden;
      background: #fafafa;
    }
    /* Fade-out at bottom of results to hint at more content */
    .p1-results::after {
      content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 120px;
      background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0.6) 40%, #fff 100%); pointer-events: none; z-index: 2;
    }
    .p1-results { position: relative; }
    .p1-sidebar-search {
      display: flex; align-items: center; gap: 5px;
      padding: 4px 7px; background: #fff; border: 1px solid #e5e5ea; border-radius: 4px;
      margin-bottom: 4px; font-size: 0.40rem; color: #aeaeb2; font-family: var(--sans);
    }
    .p1-fs {
      padding: 3px 0; border-bottom: 1px solid #f0f0f2;
    }
    .p1-fs:last-of-type { border-bottom: none; }
    .p1-fs-header {
      font-family: var(--sans); font-size: 0.36rem; text-transform: uppercase;
      letter-spacing: 0.06em; color: #636366; font-weight: 600;
      display: flex; justify-content: space-between; align-items: center;
      padding: 0 0 2px; user-select: none;
    }
    .p1-fs-header .p1-chev {
      font-size: 0.32rem; color: #aeaeb2; transition: transform 0.2s ease;
    }
    .p1-fs.p1-collapsed .p1-chev { transform: rotate(-90deg); }
    .p1-fs.p1-collapsed .p1-fs-opts { display: none; }
    .p1-fs-opts { display: flex; flex-direction: column; gap: 0; }
    .p1-fo {
      font-family: var(--sans); font-size: 0.40rem; color: #636366;
      display: flex; align-items: center; gap: 5px;
      padding: 1.5px 0; cursor: default;
      transition: color 0.2s ease;
    }
    .p1-cb {
      width: 9px; height: 9px; border-radius: 2px; flex-shrink: 0;
      border: 1.2px solid #e5e5ea; background: #fff;
      display: flex; align-items: center; justify-content: center;
      transition: background 0.2s ease, border-color 0.2s ease;
    }
    .p1-cb svg { width: 6px; height: 6px; opacity: 0; transition: opacity 0.2s ease; }
    .p1-fo.p1-fo-on .p1-cb { background: var(--accent); border-color: var(--accent); }
    .p1-fo.p1-fo-on .p1-cb svg { opacity: 1; }
    .p1-fo.p1-fo-on { color: #1a1a2e; font-weight: 500; }
    .p1-fo.p1-fo-click .p1-cb {
      transform: scale(1.3); box-shadow: 0 0 6px 2px rgba(196,133,106,0.3);
    }
    .p1-fo-more {
      font-size: 0.36rem; color: var(--accent); font-weight: 500;
      padding: 1px 0 0; font-family: var(--sans);
    }
    .p1-sidebar-reset {
      font-size: 0.38rem; color: var(--accent); font-weight: 500;
      font-family: var(--sans); padding: 4px 0; cursor: pointer;
      margin-top: auto;
    }
    .p1-results {
      padding: 8px 10px; overflow: hidden;
      display: flex; flex-direction: column;
    }
    .p1-results-head {
      display: flex; align-items: center; justify-content: space-between;
      padding-bottom: 5px; margin-bottom: 0; border-bottom: 1px solid #e5e5ea;
      font-size: 0.52rem; color: #636366; font-family: var(--sans);
    }
    .p1-results-head strong { color: #1a1a2e; }
    .p1-sort-label {
      font-size: 0.42rem; color: #aeaeb2; font-family: var(--mono);
    }
    .p1-sort-label strong { color: var(--accent); font-weight: 500; }
    .p1-bottom {
      display: none; /* Hidden — content extends past frame and clips */
      padding: 5px 0 0; border-top: 1px solid #e5e5ea; margin-top: 4px;
      font-size: 0.50rem; color: #8e8e93; font-family: var(--sans);
    }
    .p1-action { font-size: 0.50rem; color: var(--accent); font-weight: 500; font-family: var(--sans); cursor: pointer; }
    #p1-cursor {
      transition: top 0.35s cubic-bezier(0.4,0,0.2,1), left 0.35s cubic-bezier(0.4,0,0.2,1);
    }
    .p1-row-set {
      transition: opacity 0.35s ease;
    }
    .p1-row-set.p1-hidden {
      opacity: 0;
      position: absolute;
      pointer-events: none;
    }
    #p1-rows-wrap {
      position: relative; flex: 1; overflow: hidden;
    }

    /* (Soeren topbar removed — uses inline warm card now) */

    /* Panel 2: Smart Outreach — JS-driven animation loop */
    /* Thinking dots */
    .p2-thinking-dots {
      display: flex; align-items: center; justify-content: center; gap: 6px;
      padding: 40px 0;
    }
    .p2-thinking-dots span {
      width: 7px; height: 7px; border-radius: 50%;
      background: var(--accent); opacity: 0.3;
      animation: p2-dot-pulse 1.2s ease-in-out infinite;
    }
    .p2-thinking-dots span:nth-child(2) { animation-delay: 0.2s; }
    .p2-thinking-dots span:nth-child(3) { animation-delay: 0.4s; }
    @keyframes p2-dot-pulse {
      0%, 100% { opacity: 0.2; transform: scale(0.85); }
      50% { opacity: 1; transform: scale(1.15); }
    }
    .p2-thinking-label {
      text-align: center; font-size: 0.52rem; color: #8e8e93;
      font-family: var(--sans); letter-spacing: 0.04em; margin-top: -28px;
      padding-bottom: 10px;
    }
    /* Typewriter cursor */
    .p2-cursor {
      display: inline-block; width: 1.5px; height: 0.82em;
      background: var(--accent); margin-left: 1px;
      animation: p2-cursor-blink 0.6s step-end infinite; vertical-align: text-bottom;
    }
    @keyframes p2-cursor-blink {
      0%, 100% { opacity: 1; }
      50% { opacity: 0; }
    }
    /* Signal highlight glow on type-in */
    .p2-signal-glow {
      animation: p2-signal-flash 0.6s ease-out;
    }
    @keyframes p2-signal-flash {
      0% { background: rgba(196,133,106,0.35); box-shadow: 0 0 8px rgba(196,133,106,0.3); }
      100% { background: rgba(196,133,106,0.12); box-shadow: none; }
    }
    /* Fade transitions for email/linkedin swap */
    .p2-email-window, .p2-linkedin-window {
      transition: opacity 0.5s ease, transform 0.5s ease;
      display: flex; flex-direction: column; flex: 1;
    }
    .p2-email-window.p2-hidden {
      opacity: 0; transform: translateY(-8px); pointer-events: none; position: absolute; width: 100%;
    }
    .p2-linkedin-window {
      opacity: 0; transform: translateY(8px); pointer-events: none; position: absolute; width: 100%;
    }
    .p2-linkedin-window.p2-visible {
      opacity: 1; transform: translateY(0); pointer-events: auto; position: relative;
    }
    .p2-messages-container {
      position: relative; min-height: 160px; flex: 1; display: flex; flex-direction: column;
    }
    /* Sequence step activation */
    .p2-seq-circle {
      transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
    }
    .p2-seq-circle.p2-active {
      box-shadow: 0 0 10px rgba(196,133,106,0.3);
    }
    .p2-seq-label {
      transition: color 0.4s ease, font-weight 0.3s ease;
    }
    /* AI sparkle intense pulse during thinking */
    @keyframes p2-sparkle-intense {
      0%, 100% { transform: scale(1); opacity: 0.85; }
      50% { transform: scale(1.25); opacity: 1; box-shadow: 0 0 12px rgba(196,133,106,0.4); }
    }

    /* Contact Intelligence Card */
    .p2-contact-card {
      width: 172px;
      flex-shrink: 0;
      background: #f8f8fa;
      border: 1px solid #e5e5ea;
      border-radius: 8px;
      padding: 14px 12px;
      display: flex;
      flex-direction: column;
      align-items: center;
      overflow: hidden;
      height: 100%;
    }
    .p2-contact-card-inner {
      width: 100%;
      transition: opacity 0.35s ease, transform 0.35s ease;
      display: flex;
      flex-direction: column;
      flex: 1;
    }
    .p2-contact-card-inner.p2-fading-out {
      opacity: 0;
      transform: translateX(8px);
    }
    .p2-card-photo {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      object-fit: cover;
      border: 2px solid #e5e5ea;
      margin: 0 auto 8px;
      display: block;
    }
    .p2-card-name {
      font-size: 0.7rem;
      font-weight: 600;
      color: #1a1a2e;
      text-align: center;
      font-family: var(--sans);
      line-height: 1.2;
    }
    .p2-card-title {
      font-size: 0.5rem;
      color: #8e8e93;
      text-align: center;
      font-family: var(--sans);
      line-height: 1.3;
      margin-bottom: 4px;
    }
    .p2-card-company {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 5px;
      margin-bottom: 10px;
    }
    .p2-card-logo {
      width: 16px;
      height: 16px;
      border-radius: 3px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.42rem;
      font-weight: 700;
      color: #fff;
      font-family: var(--sans);
      flex-shrink: 0;
    }
    .p2-card-company-name {
      font-size: 0.5rem;
      color: #636366;
      font-family: var(--sans);
      font-weight: 500;
    }
    /* P2 relationship callout */
    .p2-card-rel-box {
      margin: 8px 0;
      padding: 7px 8px 6px;
      background: linear-gradient(135deg, rgba(78,205,196,0.10) 0%, rgba(78,205,196,0.04) 100%);
      border: 1px solid rgba(78,205,196,0.25);
      border-radius: 6px;
      position: relative;
      overflow: hidden;
    }
    .p2-card-rel-box::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, #4ecdc4, transparent);
      opacity: 0.8;
    }
    .p2-card-rel-header {
      font-family: var(--sans);
      font-size: 0.42rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: #4ecdc4;
      margin-bottom: 3px;
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .p2-card-rel-icon {
      display: inline-flex;
      width: 12px; height: 12px;
      align-items: center;
      justify-content: center;
    }
    .p2-card-rel-icon svg {
      width: 12px; height: 12px;
    }
    .p2-card-rel-line {
      font-family: var(--sans);
      font-size: 0.42rem;
      color: #636366;
      line-height: 1.5;
      padding-left: 10px;
      position: relative;
    }
    .p2-card-rel-line::before {
      content: '';
      position: absolute;
      left: 3px; top: 50%;
      width: 3px; height: 3px;
      border-radius: 50%;
      background: var(--accent);
      transform: translateY(-50%);
    }
    .p2-card-divider {
      width: 100%;
      height: 1px;
      background: #e5e5ea;
      margin: 0 0 8px;
    }
    .p2-card-signals-label {
      font-size: 0.42rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--accent);
      font-weight: 600;
      margin-bottom: 6px;
      text-align: left;
      width: 100%;
      font-family: var(--sans);
    }
    .p2-card-signals {
      display: flex;
      flex-direction: column;
      gap: 4px;
      width: 100%;
      flex: 1;
    }
    .p2-card-signal {
      display: flex;
      align-items: flex-start;
      gap: 4px;
      font-size: 0.44rem;
      color: #1a1a2e;
      font-family: var(--sans);
      line-height: 1.3;
      padding: 3px 5px;
      background: rgba(196,133,106,0.06);
      border-radius: 4px;
      border-left: 2px solid var(--accent);
      opacity: 0.4;
      transform: none;
      transition: opacity 0.3s ease, transform 0.3s ease, background 0.4s ease, box-shadow 0.4s ease;
    }
    .p2-card-signal.p2-signal-visible {
      opacity: 1;
      transform: translateY(0);
    }
    .p2-card-signal.p2-signal-highlighted {
      opacity: 1;
      background: rgba(196,133,106,0.18);
      box-shadow: 0 0 8px rgba(196,133,106,0.2);
    }
    .p2-card-signal-icon {
      flex-shrink: 0;
      font-size: 0.42rem;
    }
    .p2-card-counter {
      margin-top: auto;
      padding-top: 8px;
      font-size: 0.42rem;
      color: #8e8e93;
      text-align: center;
      letter-spacing: 0.04em;
      font-family: var(--sans);
    }

    /* Panel 3: Soeren Agent — no cursor, live dots animate via soeren-pulse */

    /* Panel 4: Calendar — JS-driven week cycling */
    .p4-meeting-card {
      border-radius: 3px;
      padding: 3px 5px;
      opacity: 0;
      transform: scale(0.8);
      transition: opacity 0.3s ease, transform 0.3s ease;
    }
    .p4-meeting-card.p4-card-enter {
      opacity: 1;
      transform: scale(1);
    }
    .p4-meeting-card .p4-name {
      font-size: 0.48rem;
      font-weight: 600;
      font-family: var(--sans);
    }
    .p4-meeting-card .p4-org {
      font-size: 0.42rem;
      color: #8e8e93;
      font-family: var(--sans);
    }
    .p4-meeting-card.p4-type-new {
      background: rgba(196,133,106,0.12);
      border-left: 2px solid var(--accent);
    }
    .p4-meeting-card.p4-type-new .p4-name { color: var(--accent); }
    .p4-meeting-card.p4-type-followup {
      background: rgba(196,133,106,0.18);
      border-left: 2px solid var(--accent);
    }
    .p4-meeting-card.p4-type-followup .p4-name { color: var(--accent); }
    .p4-meeting-card.p4-type-closing {
      background: rgba(196,133,106,0.25);
      border-left: 2px solid var(--accent);
    }
    .p4-meeting-card.p4-type-closing .p4-name { color: var(--accent); }

    .footer {
      text-align: center;
      padding: 24px;
      font-family: var(--mono);
      font-size: 0.7rem;
      color: var(--white-10);
      border-top: 1px solid var(--border);
    }

    /* ============================== */
    /* ANIMATION */
    /* ============================== */
    .hero-animate {
      animation: fadeBlurIn 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) forwards;
      opacity: 0; filter: blur(6px);
    }
    .hero-animate:nth-child(2) { animation-delay: 0.1s; }
    .hero-animate:nth-child(3) { animation-delay: 0.2s; }
    .hero-animate:nth-child(4) { animation-delay: 0.3s; }
    .hero-animate:nth-child(5) { animation-delay: 0.4s; }
    @keyframes fadeBlurIn { to { opacity: 1; filter: blur(0); } }

    /* ============================== */
    /* CONVERSION MODAL */
    /* ============================== */
    .modal-overlay {
      position: fixed; inset: 0; z-index: 10000;
      background: rgba(4,10,7,0.85);
      backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
      display: flex; align-items: center; justify-content: center;
      opacity: 0; pointer-events: none;
      transition: opacity 0.25s ease;
    }
    .modal-overlay.open { opacity: 1; pointer-events: all; }
    .modal {
      background: var(--navy-light);
      border: 1px solid var(--border);
      border-radius: 12px;
      width: 780px; max-width: 94vw;
      max-height: 90vh; overflow-y: auto;
      transform: translateY(12px) scale(0.98);
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 24px 80px rgba(0,0,0,0.4);
      display: flex;
    }
    .modal-overlay.open .modal { transform: translateY(0) scale(1); }
    .modal-close {
      position: absolute; top: 16px; right: 16px;
      background: none; border: none; color: var(--white-20);
      font-size: 1.2rem; cursor: pointer; padding: 4px 8px;
      transition: color 0.2s; z-index: 1;
    }
    .modal-close:hover { color: var(--white); }
    /* Left: social proof */
    .modal-left {
      width: 42%; padding: 36px 28px;
      background: rgba(240,242,239,0.02);
      border-right: 1px solid var(--border);
      border-radius: 12px 0 0 12px;
      display: flex; flex-direction: column; justify-content: center;
    }
    .modal-left-photo {
      width: 56px; height: 56px; border-radius: 50%; overflow: hidden;
      margin-bottom: 20px; border: 2px solid var(--border);
    }
    .modal-left-photo img {
      width: 100%; height: 100%; object-fit: cover;
    }
    .modal-left-quote {
      font-family: var(--serif); font-size: 1.05rem;
      color: var(--white-90); line-height: 1.5; margin-bottom: 20px;
      font-style: italic; font-weight: 400;
    }
    .modal-left-name {
      font-size: 0.82rem; font-weight: 600; color: var(--white); margin-bottom: 2px;
    }
    .modal-left-role {
      font-family: var(--mono); font-size: 0.58rem; color: var(--accent);
      text-transform: uppercase; letter-spacing: 0.1em;
    }
    .modal-left-divider {
      width: 100%; height: 1px; background: var(--border); margin: 24px 0;
    }
    .modal-left-stats {
      display: flex; gap: 24px;
    }
    .modal-left-stat-n {
      font-family: var(--serif); font-size: 1.3rem; color: var(--white);
      letter-spacing: -0.02em;
    }
    .modal-left-stat-l {
      font-family: var(--mono); font-size: 0.55rem; color: var(--white-40);
      text-transform: uppercase; letter-spacing: 0.06em; margin-top: 2px;
    }
    /* Right: form */
    .modal-right {
      flex: 1; padding: 36px 32px; position: relative;
    }
    .modal-header {
      margin-bottom: 24px;
    }
    .modal-header h3 {
      font-family: var(--serif); font-size: 1.35rem; color: var(--white);
      line-height: 1.25; margin: 0;
    }
    .modal-header h3 span { color: var(--accent); }
    .modal-body { }
    .modal-field-row {
      display: flex; gap: 12px;
    }
    .modal-field {
      margin-bottom: 12px; flex: 1;
    }
    .modal-field label {
      display: block; font-family: var(--mono); font-size: 0.55rem;
      text-transform: uppercase; letter-spacing: 0.1em;
      color: var(--white-20); margin-bottom: 5px;
    }
    .modal-field input {
      width: 100%; padding: 9px 12px;
      background: rgba(240,242,239,0.04);
      border: 1px solid var(--border);
      border-radius: 5px; color: var(--white);
      font-family: var(--sans); font-size: 0.82rem;
      outline: none; transition: border-color 0.2s;
    }
    .modal-field input::placeholder { color: var(--white-10); }
    .modal-field input:focus { border-color: var(--accent); }
    .modal-submit {
      width: 100%; padding: 11px;
      background: linear-gradient(135deg, #d4976a, #c4856a); color: #fff;
      border: none; border-radius: 5px;
      font-family: var(--sans); font-size: 0.85rem; font-weight: 500;
      cursor: pointer; transition: all 0.25s;
      margin-top: 4px;
      box-shadow: 0 2px 12px rgba(196,133,106,0.35), 0 0 20px rgba(196,133,106,0.15);
    }
    .modal-submit:hover { background: linear-gradient(135deg, #c4856a, #b0755c); opacity: 1; box-shadow: 0 4px 18px rgba(196,133,106,0.5), 0 0 30px rgba(196,133,106,0.2); }
    .modal-trust {
      margin-top: 16px;
      display: flex; flex-direction: column; gap: 8px;
    }
    .modal-trust-item {
      display: flex; align-items: center; gap: 8px;
      font-size: 0.72rem; color: var(--white-40);
    }
    .modal-trust-check {
      width: 14px; height: 14px; border-radius: 50%;
      background: rgba(196,133,106,0.1);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .modal-trust-check svg { width: 9px; height: 9px; }

    /* ============================== */
    /* MODAL + HERO: STEP TRANSITIONS, CALENDAR, CONFETTI */
    /* ============================== */
    /* Step visibility */
    .modal-step { display: none; }
    .modal-step.active { display: block; }
    .hero-cal-step, .hero-done-step { display: none; max-width: 480px; }
    .hero-cal-step.active, .hero-done-step.active { display: block; }

    /* Calendar UI — shared between modal & hero */
    .cal-header { font-family: var(--serif); font-size: 1.15rem; margin-bottom: 2px; }
    .cal-meta { font-family: var(--mono); font-size: 0.62rem; color: var(--white-30); margin-bottom: 14px; letter-spacing: 0.02em; }
    .cal-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
    .cal-nav-label { font-family: var(--sans); font-size: 0.78rem; font-weight: 600; color: var(--white-60); }
    .cal-nav-btn { background: none; border: 1px solid var(--border); color: var(--white-30); width: 28px; height: 28px; border-radius: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
    .cal-nav-btn:hover { border-color: var(--white-20); color: var(--white-60); }
    .cal-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-bottom: 10px; }
    .cal-day { text-align: center; padding: 6px 4px; border-radius: 6px; cursor: pointer; transition: all 0.2s; border: 1px solid transparent; }
    .cal-day:hover { background: rgba(240,242,239,0.04); }
    .cal-day.selected { background: rgba(196,133,106,0.12); border-color: rgba(196,133,106,0.3); }
    .cal-day-name { font-family: var(--mono); font-size: 0.44rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--white-20); margin-bottom: 3px; }
    .cal-day-num { font-family: var(--sans); font-size: 0.82rem; font-weight: 600; color: var(--white-60); }
    .cal-times { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
    .cal-time { padding: 8px 6px; text-align: center; font-family: var(--sans); font-size: 0.72rem; color: var(--white-40); border: 1px solid var(--border); border-radius: 6px; cursor: pointer; transition: all 0.2s; }
    .cal-time:hover { border-color: rgba(196,133,106,0.3); color: var(--white-60); }
    .cal-time.selected { background: linear-gradient(135deg, #d4976a, #c4856a); color: #fff; border-color: transparent; }
    .cal-confirm { width: 100%; padding: 11px; margin-top: 14px; background: linear-gradient(135deg, #d4976a, #c4856a); color: #fff; border: none; border-radius: 6px; font-family: var(--sans); font-size: 0.85rem; font-weight: 500; cursor: pointer; opacity: 0.35; pointer-events: none; transition: all 0.25s; box-shadow: 0 2px 12px rgba(196,133,106,0.35); }
    .cal-confirm.ready { opacity: 1; pointer-events: all; }
    .cal-confirm.ready:hover { background: linear-gradient(135deg, #c4856a, #b0755c); box-shadow: 0 4px 18px rgba(196,133,106,0.5); }

    /* Thank-you / done screen */
    .done-wrap { text-align: center; padding: 32px 20px; }
    .done-check { width: 56px; height: 56px; border-radius: 50%; background: rgba(196,133,106,0.12); margin: 0 auto 16px; display: flex; align-items: center; justify-content: center; }
    .done-check svg { width: 28px; height: 28px; }
    .done-title { font-family: var(--serif); font-size: 1.3rem; color: var(--white-90); margin-bottom: 8px; }
    .done-detail { font-size: 0.82rem; color: var(--white-40); line-height: 1.6; margin-bottom: 6px; }
    .done-time { font-family: var(--mono); font-size: 0.78rem; color: var(--accent); margin-bottom: 20px; }
    .done-close { background: none; border: 1px solid var(--border); color: var(--white-40); padding: 9px 28px; border-radius: 6px; font-family: var(--sans); font-size: 0.82rem; cursor: pointer; transition: all 0.2s; }
    .done-close:hover { border-color: var(--white-20); color: var(--white-60); }

    /* Confetti */
    .confetti-container { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 2; }
    @keyframes confetti-fall {
      0% { transform: translateY(-12px) rotate(0deg) scale(1); opacity: 1; }
      75% { opacity: 1; }
      100% { transform: translateY(320px) rotate(var(--rot, 540deg)) scale(0.7); opacity: 0; }
    }
    .confetti-p {
      position: absolute;
      border-radius: 2px;
      animation: confetti-fall var(--dur, 2.5s) var(--del, 0s) cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
    }

    /* Hero calendar card (dark-themed) */
    .hero-cal-card, .hero-done-card {
      background: rgba(9,21,16,0.9);
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 24px;
      backdrop-filter: blur(12px);
    }

    /* ============================== */
    /* CUSTOM CURSOR */
    /* ============================== */
    .cursor-dot {
      position: fixed;
      top: 0; left: 0;
      width: 8px; height: 8px;
      background: var(--accent);
      border-radius: 50%;
      pointer-events: none;
      z-index: 9999;
      opacity: 0;
      transition: width 0.3s, height 0.3s, margin-left 0.3s, margin-top 0.3s, opacity 0.3s, background 0.3s, box-shadow 0.3s;
      mix-blend-mode: screen;
    }
    .cursor-dot.visible { opacity: 0.7; }
    .cursor-dot.hovering {
      width: 28px; height: 28px;
      margin-left: -10px; margin-top: -10px;
      opacity: 0.15;
      background: var(--accent);
      box-shadow: 0 0 20px rgba(196,133,106,0.3);
    }

    /* ============================== */
    /* RESPONSIVE */
    /* ============================== */
    @media (max-width: 900px) {
      .cursor-dot { display: none !important; }
      .sidebar { display: none; }
      .section { padding: 56px 24px; }
      .hero { padding: 64px 24px 48px; }
      .hero h1 { font-size: 2.2rem; }
      .compare-cards { grid-template-columns: 1fr; }
      .src-carousel-viewport { height: auto; overflow: visible; -webkit-mask-image: none; mask-image: none; }
      .src-carousel-track { transform: none !important; flex-direction: column; gap: 16px; }
      .src-card { height: auto; min-height: 140px; transform: none !important; }
      .hl.hl-active { background: none !important; box-shadow: none !important; transform: none !important; }
      .src-card-active .src-hl { background: none !important; box-shadow: none !important; }
      .sl-marquee-set { gap: 32px; }
      .platform-grid { grid-template-columns: 1fr; }
      .pf { border-right: none; border-bottom: 1px solid var(--border); }
      .pf:last-child { border-bottom: none; }
      .ms-strat-row { flex-wrap: wrap; }
      /* Stats row — tighten on tablet */
      .stat { padding: 24px 16px; gap: 12px; }
      .stat .n { font-size: 1.5rem; }
      .stat .l { font-size: 0.72rem; }
      /* hero-dash height handled by JS scale */
      .ha-s1-body { grid-template-columns: 150px 1fr; }
      .ha-dash-layout { grid-template-columns: 200px 1fr; }
      .ha-dash-metric { font-size: 0.38rem; }
      .pipe-body { grid-template-columns: 1fr 1fr; }
      .pipe-col:nth-child(2) { border-right: none; }
      .pipe-col:nth-child(1), .pipe-col:nth-child(2) { border-bottom: 1px solid var(--border); }
      .ms-allocators { grid-template-columns: repeat(2, 1fr); }
      .ms-thesis-cards { flex-wrap: wrap; }
      .mf-line { width: 1px; height: 20px; }
      .photo-split { flex-direction: column; min-height: auto; }
      .photo-split-img { min-height: 200px; }
      .photo-split-content { padding: 32px 24px; border-left: none; border-top: 1px solid var(--border); }
      .photo-inset { height: 160px; }
      .photo-strip img { height: 220px; }
      .photo-strip-text { padding: 24px; flex-direction: column; align-items: flex-start; gap: 8px; }
      .photo-strip-desc { text-align: left; }
      .trust-bar { padding: 0; }
      .trust-logos { gap: 10px; }
      .trust-logo { height: 46px; padding: 0 22px; }
      .trust-logo img { height: 14px; }
      .inline-testimonial { padding: 24px; }
      .testimonial-feature, .testimonial-feature.reversed { flex-direction: column; }
      .tf-photo { flex: none; min-height: 280px; }
      .tf-content { padding: 40px 24px; border-left: none !important; border-right: none !important; border-top: 1px solid var(--border); }
      .tf-quote { font-size: 1.2rem; }
      /* Platform section 03 — stack, hide sticky TOC on tablet */
      .pf-scroll-wrap { flex-direction: column; gap: 0; }
      .pf-sticky { width: 100%; position: static; }
      .pf-sticky-nav { display: none; }
      .platform-intro { margin-bottom: 24px; }
      .pf-scroll-panels { flex: 1; }
      .fig-section { grid-template-columns: 1fr; }
      .fig-box { border-right: none; border-bottom: 1px solid var(--border); }
      .fig-box:last-child { border-bottom: none; }
      .fig-visual { min-height: 180px; }
      .site-footer { padding: 40px 20px 24px; }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
      .footer-newsletter { flex-direction: column; }
      .footer-nl-input { width: 100%; }
      .footer-nl-form { flex-direction: column; width: 100%; }
      .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
      .match-compare { grid-template-columns: 1fr; }
      .ds-particle { display: none; }
      .match-ui-split-zones { grid-template-columns: 1fr; }
      .match-ui-split-zones > .src-zone { border-right: none; border-bottom: 1px solid #f0f0f0; }
      .match-ui-grid { grid-template-columns: 1fr; }
      .match-ui-rich-label { min-width: 70px; font-size: 0.55rem; }
      .match-ui-thesis-meta { flex-direction: column; gap: 4px; }
      .match-ui-action-bar { flex-direction: column; gap: 6px; text-align: center; }
      .match-ui-fit-name { min-width: 60px; font-size: 0.48rem; }
      /* Timeline — single column on mobile */
      .steps li { grid-template-columns: 48px 1fr; }
      .steps::after, .steps::before { left: 24px; }
      .step-spacer { display: none; }
      .steps li:nth-child(odd) .step-content,
      .steps li:nth-child(even) .step-content {
        grid-column: 2; grid-row: 1;
        text-align: left; padding-left: 16px; padding-right: 0;
        transform: translateX(20px);
      }
      .step-visible .step-content { transform: translateX(0); }
      .step-node { grid-column: 1; }
      .step-node::before { display: none; }
      /* Bento section — override inline padding on tablet */
      #matching-alt { padding: 60px 20px !important; overflow: hidden; }
      /* Bento grid — JS handles scale on mobile, CSS fallback for tablet */
      .bento-grid { min-width: 880px; width: 880px; transform-origin: top center; }
      /* P2 contact card — allow shrink on tablet */
      .p2-contact-card { width: 140px; min-width: 0; }
    }

    @media (max-width: 600px) {
      /* Nav: hide text links, keep CTA */
      .nav-links a:not(.nav-cta) { display: none; }
      .nav { padding: 14px 16px; }
      /* Hero — full mobile redo */
      .hero { padding: 44px 20px 32px; }
      .hero-tag { font-size: 0.6rem; margin-bottom: 16px; letter-spacing: 0.12em; }
      .hero h1 { font-size: 2rem; line-height: 1.12; margin-bottom: 20px; letter-spacing: -0.02em; }
      .hero-lower { flex-direction: column; align-items: stretch; gap: 20px; }
      .hero-body { text-align: left; margin-left: 0; order: 1; font-size: 0.86rem; line-height: 1.6; color: var(--white-60); }
      .hero-actions { order: 2; width: 100%; }
      .hero-ask-ai { order: 3; margin-top: 0; }
      .hero-email-form { max-width: 100%; width: 100%; flex-direction: row; border-radius: 8px; }
      .hero-email-form input { width: auto; flex: 1; flex-shrink: 1; min-width: 0; padding: 14px 16px; font-size: 0.88rem; }
      .hero-email-form .hero-cta { border-radius: 0 8px 8px 0; padding: 14px 18px; font-size: 0.86rem; white-space: nowrap; }
      .hero-name-step { max-width: 100%; width: 100%; flex-direction: column; border-radius: 8px; }
      .hero-name-step input { width: 100%; flex: none; box-sizing: border-box; border-right: none !important; border-bottom: 1px solid rgba(240,242,239,0.1); padding: 14px 16px; font-size: 0.95rem; }
      .hero-name-step input:last-of-type { border-bottom: none; }
      .hero-name-step .hero-cta { width: 100%; text-align: center; padding: 14px; font-size: 0.9rem; border-radius: 0 0 8px 8px; }
      .hero-cal-step { max-width: 100%; }
      .hero-cal-card { max-width: 100%; }
      /* Hero dashboard — tighten on mobile, kill 3D to prevent zoom crash */
      .hero-dash { margin-top: 32px; transform: none; will-change: auto; }
      .hero-dash-inner { border-radius: 12px; }
      /* Stats row — stack vertically */
      .stats-row { flex-direction: column; }
      .stat { padding: 20px 20px; gap: 12px; }
      .stat + .stat { border-left: none; border-top: 1px solid var(--border); }
      .stat .n { font-size: 1.6rem; min-width: 48px; }
      .stat .l { font-size: 0.76rem; }
      /* Sections */
      .section { padding: 40px 16px; }
      .section-label { font-size: 0.58rem; }
      .sources-header, .personas-header { font-size: 1.6rem; }
      /* Footer */
      .footer-grid { grid-template-columns: 1fr; gap: 28px; }
      .footer-legal { flex-wrap: wrap; gap: 12px 20px; justify-content: center; }
      .footer-newsletter { flex-direction: column; }
      .footer-nl-form { flex-direction: column; width: 100%; }
      .footer-nl-input { width: 100%; }
      .site-footer { padding: 36px 16px 20px; }
      /* Compare cards, platform grid */
      .compare-cards { gap: 16px; }
      .platform-grid { gap: 0; }
      .pf { padding: 24px 16px; }
      /* Trust bar */
      .trust-logo { height: 40px; padding: 0 18px; }
      .trust-logo img { height: 12px; }
      /* Photo sections */
      .photo-split-content { padding: 24px 16px; }
      .photo-strip-text { padding: 16px; }
      /* Testimonial — overlay text on image with gradient */
      .testimonial-feature, .testimonial-feature.reversed { position: relative; min-height: 360px; }
      .tf-photo { position: absolute; inset: 0; min-height: 100%; z-index: 0; }
      .tf-photo img, .tf-photo video { filter: brightness(0.5) saturate(0.5); }
      .testimonial-feature.in-view .tf-photo img,
      .testimonial-feature.in-view .tf-photo video { filter: brightness(0.55) saturate(0.6); transform: scale(1); }
      .tf-content {
        position: relative; z-index: 2;
        padding: 0 20px 28px;
        border: none !important;
        background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.65) 55%, transparent 100%);
        display: flex; flex-direction: column; justify-content: flex-end;
        min-height: 360px;
      }
      .tf-quote { font-size: 1.05rem; text-shadow: 0 1px 6px rgba(0,0,0,0.5); }
      .tf-name { text-shadow: 0 1px 4px rgba(0,0,0,0.4); }
      .tf-label { text-shadow: 0 1px 4px rgba(0,0,0,0.4); }
      /* Section 04 Process — fix text bleed and spacing */
      #process { padding: 36px 16px; }
      #process .sources-header { font-size: 1.35rem; }
      .steps li { padding: 20px 0; }
      .steps li { grid-template-columns: 36px 1fr; }
      .steps::after, .steps::before { left: 18px; }
      .step-content strong { font-size: 0.92rem; }
      .step-content span { font-size: 0.8rem; line-height: 1.55; }
      .steps li:nth-child(odd) .step-content,
      .steps li:nth-child(even) .step-content {
        padding-left: 12px; padding-right: 0;
        min-width: 0; overflow-wrap: break-word; word-break: break-word;
      }
      .step-node { width: 10px; height: 10px; margin-top: 3px; }
      .step-num { font-size: 0.58rem; margin-bottom: 5px; }
      /* Platform 03 — panel visual overflow fix */
      .pf-panel-content { height: auto !important; max-height: 380px; overflow: hidden; }
      .pf-panel-visual { overflow: hidden; }
      /* Matching UI */
      .match-ui-rich-label { font-size: 0.5rem; min-width: 56px; }
      .match-ui-fit-name { font-size: 0.44rem; min-width: 50px; }
      /* Pipeline */
      .pipe-body { grid-template-columns: 1fr; }
      .pipe-col { border-right: none; border-bottom: 1px solid var(--border); }
      .pipe-col:last-child { border-bottom: none; }
      /* Allocator grid */
      .ms-allocators { grid-template-columns: 1fr; }
      /* Fig boxes */
      .fig-visual { min-height: 140px; }
      /* Bento section — 10px side padding on mobile */
      #matching-alt { padding: 40px 10px !important; overflow: hidden; }
      /* Bento grid — JS handles dynamic scale, CSS fallback */
      .bento-grid { min-width: 880px; width: 880px; }
      /* P2 contact card — hide on mobile, not enough room */
      .p2-contact-card { display: none; }
      /* Touch targets — enlarge for mobile */
      .nav-cta { padding: 12px 20px; font-size: 0.82rem; }
      .hero-ai-link { padding: 10px; min-width: 44px; min-height: 44px; }
      .hero-ai-link svg { width: 20px; height: 20px; }
      .footer-links a { padding: 6px 0; display: inline-block; min-height: 44px; line-height: 32px; }
      .footer-legal a { padding: 8px 0; display: inline-block; min-height: 44px; line-height: 28px; }
      /* Hero dashboard — inner already has overflow:hidden in base */
      /* Agent chat — tighter for small phones */
      .agent-chat-stage { height: 340px; }
      .agent-chat-window { height: 48px; border-radius: 24px; }
      .agent-chat-window.chat-expanded { height: 320px; }
      .agent-chat-input input { font-size: 0.65rem; }
      .agent-chat-input { padding: 0 10px; gap: 6px; }
      .agent-chat-send { width: 28px; height: 28px; }
    }

    @media (max-width: 390px) {
      .hero h1 { font-size: 1.7rem; }
      .sources-header, .personas-header { font-size: 1.35rem; }
      .section { padding: 36px 14px; }
      .hero { padding: 40px 14px 28px; }
      .hero-email-form .hero-cta { padding: 12px 14px; font-size: 0.82rem; }
      /* Bento grid — JS handles scale at all mobile widths */
      .stat .n { font-size: 1.35rem; }
      .tf-content { min-height: 300px; padding: 0 14px 20px; }
      .tf-quote { font-size: 0.92rem; }
      .pf-panel-content { max-height: 320px !important; }
    }

    /* ============================== */
    /* SCROLL SPY — sliding indicator */
    /* ============================== */
    /* Note: .sidebar-inner uses position:sticky (defined above) which also works as positioning context for the indicator */
    .sidebar-indicator {
      position: absolute;
      left: 0;
      width: 2px;
      background: var(--accent);
      border-radius: 1px;
      transition: top 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                  height 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                  opacity 0.35s ease;
      opacity: 0;
      box-shadow: 0 0 12px rgba(196,133,106,0.3);
    }
    .sidebar-indicator.visible { opacity: 1; }
    .sidebar-inner a {
      transition: color 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                  transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                  opacity 0.4s ease;
      border-left: none;
      opacity: 0.35;
    }
    .sidebar-inner a:hover {
      opacity: 0.6;
      color: var(--white-40);
    }
    .sidebar-inner a.active {
      color: var(--white);
      opacity: 1;
      transform: translateX(4px);
    }
    .sidebar-inner a .num {
      transition: color 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                  text-shadow 0.4s ease;
    }
    .sidebar-inner a.active .num {
      color: var(--accent);
      text-shadow: 0 0 10px rgba(196,133,106,0.4);
    }

    /* ——— Soeren live feed animations ——— */
    #soeren-feed {
      position: relative;
      overflow: hidden;
    }
    .soeren-feed-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 0;
      border-bottom: 1px solid #f2f2f7;
      max-height: 60px;
      opacity: 1;
      overflow: hidden;
    }
    .soeren-feed-item.feed-item-enter {
      animation: soerenSlideIn 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
    .soeren-feed-item.feed-item-exit {
      animation: soerenFadeOut 0.35s ease forwards;
      pointer-events: none;
    }
    @keyframes soerenSlideIn {
      0% {
        opacity: 0;
        transform: translateY(-100%);
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
      }
      40% {
        max-height: 60px;
        padding-top: 8px;
        padding-bottom: 8px;
      }
      100% {
        opacity: 1;
        transform: translateY(0);
        max-height: 60px;
        padding-top: 8px;
        padding-bottom: 8px;
      }
    }
    @keyframes soerenFadeOut {
      0% {
        opacity: 1;
        max-height: 60px;
        padding-top: 8px;
        padding-bottom: 8px;
      }
      100% {
        opacity: 0;
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
        border-bottom-width: 0;
      }
    }
    .soeren-learning-item {
      max-height: 60px;
      opacity: 1;
      overflow: hidden;
    }
    .soeren-learning-item.learning-enter {
      animation: soerenLearnIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
    .soeren-learning-item.learning-exit {
      animation: soerenLearnOut 0.4s ease forwards;
      pointer-events: none;
    }
    @keyframes soerenLearnIn {
      0% {
        opacity: 0;
        transform: translateY(-8px);
        max-height: 0;
      }
      100% {
        opacity: 1;
        transform: translateY(0);
        max-height: 60px;
      }
    }
    @keyframes soerenLearnOut {
      0% { opacity: 1; max-height: 60px; }
      100% { opacity: 0; max-height: 0; }
    }

    /* ====== PROC — sticky rocket + scrolling steps ====== */
    .proc-layout {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 48px;
      max-width: 1100px;
      margin: 0 auto;
    }
    #process { overflow: visible; clip-path: inset(-200vh -100vw 0 -100vw); position: relative; z-index: 1; }
    .proc-rocket-wrap {
      position: sticky;
      top: calc(50vh - 450px + 28px);
      height: 900px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: visible;
    }
    #proc-rocket {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      pointer-events: none;
    }
    .proc-rocket-phase {
      position: absolute;
      bottom: 16px;
      left: 50%;
      transform: translateX(-50%);
      font-family: var(--mono);
      font-size: 0.5rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
      opacity: 0.5;
      white-space: nowrap;
    }
    .proc-steps {
      display: flex;
      flex-direction: column;
      gap: 0;
      padding: 80px 0 60px;
    }
    .proc-step {
      padding: 40px 28px;
      border: 1px solid rgba(240,242,239,0.06);
      border-radius: 14px;
      background: rgba(240,242,239,0.02);
      margin-bottom: 120px;
      opacity: 0;
      transform: translateY(24px);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.32, 0.72, 0, 1),
                  border-color 0.8s ease, background 0.8s ease, box-shadow 0.8s ease;
    }
    .proc-step.proc-step-visible {
      opacity: 0.4;
      transform: translateY(0);
    }
    .proc-step.proc-step-active {
      opacity: 1;
      border-color: rgba(240,242,239,0.12);
      background: rgba(240,242,239,0.05);
      box-shadow: 0 8px 32px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.06);
    }
    .proc-step .proc-num { transition: opacity 0.6s ease; opacity: 0.5; }
    .proc-step.proc-step-active .proc-num { opacity: 1; }
    .proc-step .proc-title { transition: color 0.6s ease; color: var(--white-40); }
    .proc-step.proc-step-active .proc-title { color: var(--white-90); }
    .proc-step .proc-desc { transition: color 0.6s ease; }
    .proc-step.proc-step-active .proc-desc { color: var(--white-60); }
    .proc-num {
      font-family: var(--mono);
      font-size: 0.55rem;
      color: var(--accent);
      letter-spacing: 0.1em;
      margin-bottom: 10px;
    }
    .proc-title {
      font-family: var(--serif);
      font-size: 1.1rem;
      font-weight: 400;
      color: var(--white-90);
      line-height: 1.3;
      margin: 0 0 8px;
    }
    .proc-desc {
      font-size: 0.78rem;
      color: var(--white-40);
      line-height: 1.55;
      margin-bottom: 16px;
    }
    .proc-hood {
      border-top: 1px solid rgba(240,242,239,0.06);
      padding-top: 14px;
    }
    .proc-hood-label {
      font-family: var(--mono);
      font-size: 0.48rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--white-20);
      margin-bottom: 8px;
    }
    .proc-hood-row {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .proc-hood-stage {
      display: flex;
      gap: 8px;
      align-items: baseline;
    }
    .proc-hood-tag {
      font-family: var(--mono);
      font-size: 0.5rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--accent);
      background: rgba(196,133,106,0.1);
      padding: 3px 8px;
      border-radius: 3px;
      white-space: nowrap;
      flex-shrink: 0;
    }
    .proc-hood-detail {
      font-size: 0.65rem;
      color: var(--white-20);
      line-height: 1.5;
    }
    /* Mobile: single column, rocket below cards — sticky canvas, scroll-locked animation */
    @media (max-width: 900px) {
      #process { clip-path: none; overflow: visible; position: relative; }
      .proc-layout {
        grid-template-columns: 1fr;
        gap: 0;
      }
      .proc-steps { padding: 0 0 24px; order: 1; }
      .proc-step { padding: 24px 20px; margin-bottom: 20px; }
      .proc-rocket-wrap {
        order: 2;
        position: relative;
        top: 0;
        height: 250vh;
        overflow: visible;
        margin-bottom: 0;
      }
      .proc-rocket-wrap #proc-rocket {
        position: sticky;
        top: 10vh;
        left: 0;
        width: 100%;
        height: 80vh;
      }
      .sl-marquee-cats { gap: 16px; }
      .sl-marquee-cat { font-size: 0.5rem; letter-spacing: 0.08em; }
    }
    @media (max-width: 600px) {
      .proc-rocket-wrap { height: 200vh; }
      .proc-title { font-size: 1rem; }
      .proc-hood-stage { flex-direction: column; gap: 4px; }
      .proc-step { margin-bottom: 16px; }
      .sl-marquee-cats { gap: 12px; }
      .sl-marquee-cat { font-size: 0.45rem; }
      .sl-marquee-cat::before { width: 3px; height: 3px; margin-right: 5px; }
    }

    /* ====== TECH PIPELINE (legacy, kept for landing pages) ====== */
    .tech-pipeline {
      display: flex;
      align-items: flex-start;
      gap: 0;
      max-width: 1100px;
      margin: 0 auto;
      overflow-x: auto;
      padding-bottom: 8px;
    }
    .tech-stage {
      flex: 1;
      min-width: 150px;
      padding: 20px 16px;
      border: 1px solid rgba(240,242,239,0.08);
      border-radius: 8px;
      background: rgba(240,242,239,0.03);
      position: relative;
    }
    .tech-stage-num {
      font-family: var(--mono);
      font-size: 0.55rem;
      color: var(--accent);
      letter-spacing: 0.1em;
      margin-bottom: 8px;
    }
    .tech-stage-title {
      font-family: 'Outfit', sans-serif;
      font-size: 1rem;
      font-weight: 600;
      color: rgba(240,242,239,0.9);
      margin-bottom: 8px;
    }
    .tech-stage-desc {
      font-size: 0.72rem;
      color: rgba(240,242,239,0.4);
      line-height: 1.5;
      margin-bottom: 12px;
    }
    .tech-stage-tag {
      font-family: var(--mono);
      font-size: 0.48rem;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent);
      background: rgba(196,133,106,0.1);
      padding: 3px 8px;
      border-radius: 3px;
      display: inline-block;
    }
    .tech-connector {
      width: 24px;
      min-width: 24px;
      height: 1px;
      background: rgba(196,133,106,0.3);
      align-self: center;
      margin-top: -20px;
      position: relative;
    }
    .tech-connector::after {
      content: '';
      position: absolute;
      right: -2px;
      top: -3px;
      width: 0;
      height: 0;
      border-left: 5px solid rgba(196,133,106,0.3);
      border-top: 3px solid transparent;
      border-bottom: 3px solid transparent;
    }
    @media (max-width: 900px) {
      .tech-pipeline {
        flex-direction: column;
        gap: 0;
        align-items: stretch;
      }
      .tech-connector {
        width: 1px;
        height: 20px;
        min-width: unset;
        align-self: center;
        margin-top: 0;
      }
      .tech-connector::after {
        right: -3px;
        top: auto;
        bottom: -2px;
        border-left: 3px solid transparent;
        border-right: 3px solid transparent;
        border-top: 5px solid rgba(196,133,106,0.3);
        border-bottom: none;
      }
    }

    /* ====== AGENT CHAT — Search-to-Chat morph ====== */

    /* Stage: fixed height, chat floats inside via absolute positioning */
    .agent-chat-stage {
      position: relative;
      height: 400px;
      margin-top: 48px;
    }

    /* --- Chat window: absolutely positioned, centered in stage --- */
    .agent-chat-window {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      width: 600px;
      max-width: 90%;
      height: 60px;
      border-radius: 32px;
      overflow: hidden;
      border: 1px solid rgba(240,242,239,0.10);
      background: rgba(240,242,239,0.04);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      box-shadow:
        0 0 0 1px rgba(240,242,239,0.04),
        0 4px 24px rgba(0,0,0,0.3),
        inset 0 1px 0 rgba(240,242,239,0.06);
      display: flex;
      flex-direction: column;
      z-index: 10;
      transition:
        width 0.5s cubic-bezier(0.32, 0.72, 0, 1),
        height 0.5s cubic-bezier(0.32, 0.72, 0, 1),
        border-radius 0.5s cubic-bezier(0.32, 0.72, 0, 1),
        box-shadow 0.5s cubic-bezier(0.32, 0.72, 0, 1),
        transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
    }
    .agent-chat-window::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: inherit;
      background: linear-gradient(180deg, rgba(240,242,239,0.05) 0%, transparent 50%);
      pointer-events: none;
      z-index: 0;
    }

    /* Zoom-back: brief shrink before the pop */
    .agent-chat-window.chat-zoom-back {
      transform: translate(-50%, -50%) scale(0.82);
    }

    /* Expanded chat state — pops out from center, grows upward */
    .agent-chat-window.chat-expanded {
      width: 560px;
      height: 380px;
      border-radius: 16px;
      transform: translate(-50%, -50%) scale(1);
      box-shadow:
        0 0 0 1px rgba(240,242,239,0.06),
        0 12px 48px rgba(0,0,0,0.4),
        0 0 80px rgba(196,133,106,0.04),
        inset 0 1px 0 rgba(240,242,239,0.08);
    }

    /* --- Inner content layers --- */
    .agent-chat-header, .agent-chat-body, .agent-chat-input { position: relative; z-index: 1; }

    /* Header — hidden in pill (display:none), shown in chat */
    .agent-chat-header {
      padding: 10px 14px;
      display: none;
      align-items: center;
      gap: 10px;
      border-bottom: 1px solid rgba(240,242,239,0.06);
      flex-shrink: 0;
    }
    .chat-expanded .agent-chat-header {
      display: flex;
    }
    .agent-chat-avatar {
      width: 22px; height: 22px; border-radius: 6px;
      background: linear-gradient(135deg, #d4976a, #c4856a);
      color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .agent-chat-avatar svg { width: 10px; height: 10px; }
    .agent-chat-name {
      font-family: var(--sans); font-size: 0.68rem; font-weight: 600; color: var(--white-60);
    }
    .agent-chat-status {
      font-family: var(--mono); font-size: 0.5rem; text-transform: uppercase;
      letter-spacing: 0.08em; color: var(--white-20);
      display: flex; align-items: center; gap: 5px; margin-left: auto;
    }
    .agent-chat-dot {
      width: 5px; height: 5px; border-radius: 50%; background: #34c759; display: inline-block;
    }

    /* Body — hidden in pill (display:none), flex-grows in chat */
    .agent-chat-body {
      display: none;
      flex-direction: column;
      gap: 10px;
      overflow-y: auto;
      scrollbar-width: thin;
      scrollbar-color: rgba(240,242,239,0.08) transparent;
    }
    .chat-expanded .agent-chat-body {
      display: flex;
      padding: 14px;
      flex: 1;
    }
    .agent-chat-body::-webkit-scrollbar { width: 4px; }
    .agent-chat-body::-webkit-scrollbar-thumb { background: rgba(240,242,239,0.08); border-radius: 2px; }

    /* Input — fills pill height in search, compact in chat */
    .agent-chat-input {
      padding: 0 16px;
      display: flex;
      align-items: center;
      gap: 10px;
      flex: 1;
      border-top: 1px solid transparent;
      transition: padding 0.4s ease, border-color 0.3s ease, flex 0.4s ease;
    }
    .chat-expanded .agent-chat-input {
      padding: 10px 12px;
      flex: 0 0 auto;
      border-top-color: rgba(240,242,239,0.06);
    }
    .agent-chat-input input {
      flex: 1; border: none; background: transparent; outline: none;
      color: var(--white-90); font-family: var(--sans);
      font-size: 0.95rem; padding: 8px 4px;
      transition: font-size 0.4s ease, padding 0.4s ease;
    }
    .chat-expanded .agent-chat-input input {
      font-size: 0.72rem; padding: 7px 12px;
    }
    .agent-chat-input input::placeholder { color: var(--white-20); }
    .agent-chat-send {
      width: 36px; height: 36px; border-radius: 50%;
      background: rgba(196,133,106,0.15); border: 1px solid rgba(196,133,106,0.2);
      color: var(--accent); display: flex; align-items: center; justify-content: center; flex-shrink: 0;
      transition: transform 0.15s ease, box-shadow 0.15s ease, border-radius 0.4s ease, width 0.4s ease, height 0.4s ease;
    }
    .chat-expanded .agent-chat-send { width: 28px; height: 28px; border-radius: 6px; }
    .agent-chat-send svg { width: 14px; height: 14px; }

    /* --- Chat content styles --- */
    .chat-msg { display: flex; }
    .chat-msg.chat-user { justify-content: flex-end; }
    .chat-msg.chat-agent { justify-content: flex-start; }
    .chat-bubble {
      max-width: 82%; padding: 8px 12px; border-radius: 6px;
      font-size: 0.72rem; line-height: 1.5;
    }
    .chat-bubble-user {
      background: rgba(196,133,106,0.15); color: var(--white-90);
      border: 1px solid rgba(196,133,106,0.2);
    }
    .chat-bubble-agent {
      background: rgba(240,242,239,0.03); color: var(--white-60);
      border: 1px solid rgba(240,242,239,0.06);
    }
    .chat-scanning {
      display: flex; align-items: center; gap: 8px;
      font-family: var(--mono); font-size: 0.6rem;
      color: var(--white-20); margin-bottom: 4px;
    }
    .chat-scan-bar {
      width: 14px; height: 14px;
      border: 1.5px solid rgba(240,242,239,0.06); border-top-color: var(--accent);
      border-radius: 50%; animation: chatSpin 0.8s linear infinite;
    }
    .chat-match-count { font-size: 0.72rem; color: var(--white-60); }
    .chat-match-count strong { color: var(--accent); font-weight: 600; }
    .chat-investor-card {
      max-width: 82%; padding: 10px 12px; border-radius: 6px;
      border: 1px solid rgba(240,242,239,0.06); background: rgba(240,242,239,0.03);
    }
    .chat-inv-header { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
    .chat-inv-score {
      width: 30px; height: 30px; border-radius: 6px;
      background: rgba(196,133,106,0.12); color: var(--accent);
      font-family: var(--mono); font-size: 0.65rem; font-weight: 700;
      display: flex; align-items: center; justify-content: center;
    }
    .chat-inv-name { font-family: var(--sans); font-size: 0.72rem; font-weight: 600; color: var(--white-90); }
    .chat-inv-aum { font-family: var(--mono); font-size: 0.55rem; color: var(--white-20); }
    .chat-inv-contact { font-size: 0.6rem; color: var(--white-20); margin-bottom: 6px; }
    .chat-inv-signals { display: flex; flex-wrap: wrap; gap: 4px; }
    .chat-inv-signal {
      font-family: var(--mono); font-size: 0.5rem; padding: 2px 6px;
      border-radius: 3px; background: rgba(196,133,106,0.08);
      color: var(--accent); letter-spacing: 0.02em;
    }
    .chat-draft-tag {
      font-family: var(--mono); font-size: 0.5rem; text-transform: uppercase;
      letter-spacing: 0.1em; color: var(--accent); margin-bottom: 4px;
    }
    .chat-draft-subject { font-weight: 600; font-size: 0.72rem; color: var(--white-90); margin-bottom: 3px; }
    .chat-draft-preview { font-size: 0.65rem; color: var(--white-20); line-height: 1.55; margin-bottom: 8px; }
    .chat-draft-actions { display: flex; gap: 6px; }
    .chat-draft-btn {
      font-family: var(--mono); font-size: 0.5rem; padding: 4px 10px;
      border-radius: 4px; border: 1px solid rgba(240,242,239,0.06);
      color: var(--white-20); cursor: default;
      text-transform: uppercase; letter-spacing: 0.06em;
    }
    .chat-draft-btn-primary {
      background: rgba(196,133,106,0.15); color: var(--accent);
      border-color: rgba(196,133,106,0.2);
    }
    .chat-typing {
      display: flex; gap: 3px; padding: 6px 12px;
      background: rgba(240,242,239,0.03); border: 1px solid rgba(240,242,239,0.06);
      border-radius: 6px; width: fit-content;
    }
    .chat-typing span {
      width: 5px; height: 5px; border-radius: 50%;
      background: var(--white-20); animation: chatTypeDot 1.2s ease-in-out infinite;
    }
    .chat-typing span:nth-child(2) { animation-delay: 0.15s; }
    .chat-typing span:nth-child(3) { animation-delay: 0.3s; }

    /* --- Animation states --- */
    .chat-enter {
      opacity: 0; transform: translateY(8px);
      transition: opacity 0.3s ease, transform 0.3s ease;
    }
    .chat-enter.chat-entered { opacity: 1; transform: translateY(0); }
    .agent-chat-input input.chat-input-active { color: var(--white-90); }
    .agent-chat-send.chat-send-pressed { transform: scale(0.82); }
    .agent-chat-send.chat-send-flash {
      transform: scale(1.1);
      box-shadow: 0 0 12px rgba(196,133,106,0.35);
      background: rgba(196,133,106,0.25);
    }
    @keyframes chatSpin { to { transform: rotate(360deg); } }
    @keyframes chatTypeDot {
      0%, 60%, 100% { transform: translateY(0); opacity: 0.3; }
      30% { transform: translateY(-3px); opacity: 1; }
    }
    @media (max-width: 900px) {
      .agent-chat-stage { height: 360px; }
      .agent-chat-window { width: 95%; height: 54px; border-radius: 28px; }
      .agent-chat-window.chat-expanded { width: 97%; height: 340px; }
      .agent-chat-input input { font-size: 0.72rem; }
      .agent-chat-input { padding: 0 12px; gap: 8px; }
      .agent-chat-send { width: 32px; height: 32px; }
      .chat-bubble, .chat-investor-card { max-width: 90%; }
    }

    /* ================================================
       NETWORK MODE (Scene 3) — Email left + Two cards right
       ================================================ */

    /* Top bar */
    .nm-topbar {
      display: flex; align-items: center; justify-content: space-between;
      padding: 6px 12px; border-bottom: 1px solid #e5e5ea;
      background: #fafafa; flex-shrink: 0;
    }
    .nm-topbar-left {
      display: flex; align-items: center; gap: 6px;
    }
    .nm-topbar-icon {
      width: 14px; height: 14px; color: #8e8e93;
    }
    .nm-topbar-title {
      font-size: 0.42rem; font-weight: 700; color: #1a1a2e;
      font-family: var(--sans);
    }
    .nm-topbar-count {
      font-size: 0.26rem; font-family: var(--mono); font-weight: 600;
      background: rgba(59,130,246,0.08); color: #3b82f6;
      padding: 1px 6px; border-radius: 10px;
    }

    /* Manual/Auto toggle */
    .nm-toggle {
      position: relative; display: flex;
      background: #e5e5ea; border-radius: 8px;
      padding: 1px; gap: 0;
    }
    .nm-toggle-slider {
      position: absolute; top: 1px; left: 1px;
      width: 50%; height: calc(100% - 2px);
      background: #fff; border-radius: 7px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.1);
      transition: left 0.3s cubic-bezier(0.4,0,0.2,1);
    }
    .nm-toggle.nm-auto .nm-toggle-slider {
      left: 50%;
      background: #34c759;
      box-shadow: 0 1px 6px rgba(52,199,89,0.4);
    }
    .nm-toggle-btn {
      position: relative; z-index: 1;
      background: none; border: none; cursor: default;
      font-size: 0.32rem; font-family: var(--sans); font-weight: 500;
      color: #8e8e93; padding: 5px 14px; border-radius: 7px;
      transition: color 0.3s, font-weight 0.3s;
    }
    .nm-toggle-btn.nm-active { color: #1a1a2e; font-weight: 600; }
    .nm-toggle.nm-auto .nm-toggle-btn.nm-active { color: #fff; font-weight: 700; }

    /* Main 40/60 split */
    .nm-main {
      display: grid;
      grid-template-columns: 40% 60%;
      flex: 1; min-height: 0; overflow: hidden;
    }

    /* Email column (left) */
    .nm-col-email {
      display: flex; flex-direction: column;
      border-right: 1px solid #e5e5ea;
      background: #fff; padding: 0;
      overflow: hidden;
    }
    .nm-col-email .nm-email-compose {
      flex: 1; min-height: 0; overflow-y: auto;
      padding: 0 6px 0 10px;
    }
    .nm-col-email .ha-nm-action-btns {
      display: flex; gap: 6px; padding: 6px 10px;
      flex-shrink: 0;
    }
    .ha-nm-send-btn { flex: 1; padding: 6px 14px; font-size: 0.42rem; }
    .ha-nm-skip-btn {
      flex: 1;
      background: #fff; border: 1px solid #e5e5ea;
      color: #8e8e93; font-size: 0.42rem; font-family: var(--sans);
      padding: 6px 14px; border-radius: 4px; cursor: default;
    }
    .nm-col-email .nm-metrics {
      flex-shrink: 0;
      border-top: 1px solid #e5e5ea;
    }

    /* Status bar (above action buttons) */
    .ha-nm-status-bar {
      flex-shrink: 0;
      padding: 0 10px;
    }
    .ha-nm-sent-badge { display: none; }
    .ha-nm-sent-badge.ha-visible {
      display: flex; align-items: center; justify-content: center;
      padding: 4px 10px; margin-bottom: 3px;
      background: rgba(52,199,89,0.1); color: #34c759;
      font-size: 0.3rem; font-weight: 600; font-family: var(--sans);
      border-radius: 4px; border: 1px solid rgba(52,199,89,0.2);
    }
    .ha-nm-skip-badge { display: none; }
    .ha-nm-skip-badge.ha-visible {
      display: flex; align-items: center; justify-content: center;
      padding: 4px 10px; margin-bottom: 3px;
      background: #f0f0f2; color: #8e8e93;
      font-size: 0.3rem; font-weight: 600; font-family: var(--sans);
      border-radius: 4px;
    }

    /* Two cards side-by-side (right) */
    .nm-col-cards {
      display: flex; flex-direction: row;
      gap: 0; overflow: hidden;
    }
    .nm-card-label {
      font-size: 0.26rem; font-family: var(--mono);
      text-transform: uppercase; letter-spacing: 0.1em;
      color: #aeaeb2; margin-bottom: 4px;
    }
    .nm-card-conn .nm-card-label {
      color: #4ecdc4;
    }
    /* Contact details row (LinkedIn, email, phone) */
    .nm-card-contact-row {
      display: flex; flex-direction: column; gap: 2px;
      padding: 3px 0;
    }
    .nm-contact-item {
      display: flex; align-items: center; gap: 4px;
      font-size: 0.24rem; font-family: var(--sans);
      color: #636366;
      overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .nm-contact-item svg { flex-shrink: 0; }
    .ha-dash-col-card.nm-card-target {
      flex: 1; min-width: 0; overflow-y: auto;
      border-radius: 0; background: #fafafa;
    }
    .ha-dash-col-card.nm-card-conn {
      flex: 1; min-width: 0; overflow: hidden;
      overflow-y: auto;
      border-radius: 0; background: #f0faf8;
      position: relative;
      border-left: 2px solid rgba(78,205,196,0.3);
    }
    /* Z-index for conn card children above glow */
    .nm-card-conn > *:not(.nm-conn-glow) { position: relative; z-index: 1; }

    /* Connection glow */
    .nm-conn-glow {
      position: absolute; inset: 0;
      pointer-events: none; z-index: 0;
      transition: box-shadow 0.6s ease, background 0.6s ease;
    }
    .nm-card-conn.nm-glow-inner .nm-conn-glow {
      background: linear-gradient(180deg, rgba(78,205,196,0.08) 0%, rgba(78,205,196,0.02) 50%, transparent 100%);
    }
    .nm-card-conn.nm-glow-ext .nm-conn-glow {
      background: linear-gradient(180deg, rgba(78,205,196,0.05) 0%, rgba(78,205,196,0.01) 50%, transparent 100%);
    }

    /* Tier pill */
    .ha-nm-tier-pill {
      font-size: 0.24rem; font-family: var(--sans); font-weight: 600;
      padding: 2px 7px; border-radius: 10px; flex-shrink: 0;
      text-transform: uppercase; letter-spacing: 0.04em;
      background: rgba(78,205,196,0.12); color: #2db5a8;
      border: 1px solid rgba(78,205,196,0.25);
    }
    .ha-nm-tier-pill.ha-nm-tier-ext {
      background: rgba(78,205,196,0.06); color: #5dbbaf;
      border-color: rgba(78,205,196,0.15);
    }

    /* Connection avatar glow */
    .nm-conn-avatar-glow {
      transition: box-shadow 0.4s;
    }
    .nm-glow-inner .nm-conn-avatar-glow {
      box-shadow: 0 0 10px rgba(78,205,196,0.3), 0 0 20px rgba(78,205,196,0.15);
    }
    .nm-glow-ext .nm-conn-avatar-glow {
      box-shadow: 0 0 8px rgba(78,205,196,0.25), 0 0 16px rgba(78,205,196,0.08);
    }

    /* Warmth bar + lines */
    .nm-warmth-bar {
      height: 3px; background: #e5e5ea; border-radius: 2px;
      overflow: hidden; margin-bottom: 5px;
    }
    .nm-warmth-fill {
      height: 100%; border-radius: 2px;
      background: linear-gradient(90deg, #4ecdc4, #7eddd7);
      width: 85%; transition: width 0.6s ease, background 0.6s ease;
    }
    .nm-glow-ext .nm-warmth-fill {
      background: linear-gradient(90deg, #4ecdc4, #9be8e2);
    }
    .nm-warmth-lines { display: flex; flex-direction: column; gap: 2px; }
    .ha-nm-warmth-line {
      font-size: 0.28rem; color: #636366; font-family: var(--sans);
      padding: 2px 5px; border-radius: 4px;
      transition: background 0.3s, color 0.3s, box-shadow 0.3s;
    }
    .ha-nm-warmth-line.nm-hl {
      background: rgba(59,130,246,0.10);
      color: #1a1a2e; font-weight: 500;
      box-shadow: 0 0 8px rgba(59,130,246,0.15);
    }

    /* BLUE highlight spans in draft body — exact match of ha-email-signal-text */
    .ha-nm-hl {
      background: rgba(59,130,246,0.1);
      padding: 1px 4px; border-radius: 3px;
      font-weight: 500; color: #1a1a2e;
      border-bottom: 1.5px solid rgba(59,130,246,0.35);
      animation: nm-hl-pop 0.5s ease-out;
    }
    @keyframes nm-hl-pop {
      0% { background: rgba(59,130,246,0.3); box-shadow: 0 0 10px rgba(59,130,246,0.25); }
      100% { background: rgba(59,130,246,0.1); box-shadow: none; }
    }

    /* BLUE signal highlight in both cards during typing */
    .ha-card-signal-tag.nm-sig-hl {
      background: rgba(59,130,246,0.12);
      box-shadow: 0 0 10px rgba(59,130,246,0.18);
      border-color: #3b82f6;
    }
    .ha-card-signal-tag.nm-sig-hl .ha-card-signal-idx {
      background: #3b82f6; color: #fff;
    }

    /* Contact queue (inside Scene 3, bottom panel) */
    .nm-queue {
      border-top: 1px solid #e5e5ea;
      background: #fafafa;
      padding: 8px 12px;
      flex-shrink: 0;
    }
    .nm-queue-header {
      display: flex; align-items: center; gap: 6px;
      margin-bottom: 6px;
    }
    .nm-queue-title {
      font-size: 0.28rem; font-family: var(--mono);
      text-transform: uppercase; letter-spacing: 0.1em;
      color: #aeaeb2; font-weight: 600;
    }
    .nm-queue-count {
      font-size: 0.26rem; font-family: var(--mono);
      color: #8e8e93;
    }
    .nm-queue-inner {
      display: flex; gap: 6px;
      overflow-x: auto;
      scrollbar-width: none;
    }
    .nm-queue-inner::-webkit-scrollbar { display: none; }
    .nm-queue-item {
      display: flex; align-items: center; gap: 6px;
      padding: 6px 10px; border-radius: 6px;
      background: #fff;
      border: 1px solid #e5e5ea;
      flex-shrink: 0; min-width: 0;
      transition: all 0.3s ease;
      cursor: default;
    }
    .nm-queue-item.nm-q-active {
      background: rgba(59,130,246,0.06);
      border-color: #3b82f6;
      box-shadow: 0 0 8px rgba(59,130,246,0.1);
    }
    .nm-queue-item.nm-q-done {
      opacity: 0.4;
    }
    .nm-queue-item.nm-q-done.nm-q-sent { border-color: rgba(52,199,89,0.4); }
    .nm-queue-item.nm-q-done.nm-q-skipped { border-color: #e5e5ea; }
    .nm-q-avatar {
      width: 24px; height: 24px; border-radius: 50%;
      flex-shrink: 0; overflow: hidden;
      display: flex; align-items: center; justify-content: center;
      font-size: 0.22rem; font-weight: 600; color: #fff;
    }
    .nm-q-avatar img {
      width: 100%; height: 100%; object-fit: cover; border-radius: 50%;
    }
    .nm-q-info {
      display: flex; flex-direction: column; min-width: 0;
    }
    .nm-q-name {
      font-size: 0.3rem; font-weight: 600; color: #1a1a2e;
      font-family: var(--sans); white-space: nowrap;
      overflow: hidden; text-overflow: ellipsis;
    }
    .nm-q-org {
      font-size: 0.24rem; color: #8e8e93;
      font-family: var(--sans); white-space: nowrap;
      overflow: hidden; text-overflow: ellipsis;
    }
    .nm-q-match {
      font-size: 0.2rem; font-weight: 600; font-family: var(--mono);
      color: #34c759; flex-shrink: 0;
    }
    .nm-q-result {
      font-size: 0.2rem; font-weight: 600; font-family: var(--sans);
      flex-shrink: 0; margin-left: 2px;
    }
    .nm-q-result.nm-q-res-sent { color: #34c759; }
    .nm-q-result.nm-q-res-skipped { color: #8e8e93; }
