/* Dealroom global theme reland c3078d0. */

/* Font tokens — the single source of truth for the site's three type roles.
   Display (headlines, KPI numbers, card titles — was 'Source Sans 3' before
   the 2026-06 serif→sans migration), sans (body/UI), mono (code, tabular
   annotations). Change the face here (plus the Google Fonts <link> pages
   carry) and the whole themed surface follows; built profile pages inherit
   these via the middleware-injected copy of this stylesheet. */
:root {
    --font-display: 'Source Sans 3', system-ui, sans-serif;
    --font-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
}

/* An ABSENT data-theme resolves light, exactly like an explicit light.
   functions/_middleware.js stamps the attribute in production, but it is a
   Cloudflare Function — it does not run on a plain static server, a file://
   open, or any preview without the Functions layer. Without this selector those
   contexts fall through to each page's own dark-first :root and render fully
   dark, which is how dark keeps looking load-bearing to anyone verifying
   locally and keeps getting re-plumbed into new features.

   :not([data-theme]) has the same (0,1,1) specificity as the attribute
   selector, so it still beats a page's own :root at (0,1,0). Do NOT "simplify"
   this pair onto a bare :root — that drops to (0,1,0), ties with every
   dark-first page, and source order (the middleware prepends this sheet) then
   hands the win to the page. That flips them fully dark. */
html[data-theme="light"],
html:not([data-theme]) {
    color-scheme: light;
    --navy: #ffffff;
    --navy-light: #f5f7fb;
    --navy-lighter: #e6edf7;
    /* Canvas behind a standalone chart/market-map artifact — matches the tint
       the chart paints around its own card (light: #F1F4F8, dark: #001234), so
       the resources chart page reads as one continuous surface with no boxed
       iframe band. Keep paired with the dark value below. */
    --chart-canvas: #F1F4F8;
    --blue: #3E64E0;
    --blue-hover: #3154c7;
    --teal: #3E64E0;
    --purple: #6d28d9;
    --amber: #b45309;
    --orange: #b45309;
    --orange-accent: #c2410c;
    /* Contrast-safe accent INK (text-on-surface). Paired across themes: darker
       accent in light mode, lighter accent in dark mode, so the same token
       clears WCAG AA against the page/card surface in both. Reach for these
       instead of a raw accent hex when colouring text/labels. */
    --amber-ink: #B54708;
    --blue-ink: #175CD3;
    /* Spotlight rows — the soft amber wash behind a table row singled out
       from its neighbours (category-leaders geography spotlight). A flat
       value on purpose: html2canvas exports it as-is. Text keeps its own
       ink tokens on top. Paired with the dark block below. */
    --row-spotlight: #FFF4E5;
    /* Eyebrows / kickers — the small section labels above titles. One semantic
       token for the whole site (replaced the old orange family + the B3 gray
       demotion). Paired with #84ADFF in the dark block below: raw brand blue
       on the dark navy canvas is only 3.6:1, the pale blue clears AA. */
    --eyebrow: #3E64E0;
    --white: #101828;
    /* Logo tiles — the rounded square/circle that frames a company/investor
       logo image (profile heroes, backer cards, market-map chips, directory
       cards, sector headliner strips). The rule: tiles are theme-MATCHED — a
       light tile on the light surface, a dark tile on the dark surface. Never
       back a logo with var(--white) (it flips to dark ink in light mode) or a
       literal white. Paired with the dark block below. */
    --logo-tile-bg: #ffffff;
    --logo-tile-border: rgba(16, 24, 40, 0.1);
    /* Card surfaces that sit ON the page background. --navy-light is #f5f7fb
       in light mode, near-identical to the page, so a card using it vanishes;
       the dir-card/profile-card rules further down already force white one
       class at a time. This is the token those rules should have been. Paired
       with the dark block below, where the card IS --navy-light. */
    --surface-card: #ffffff;
    --report-preview-overlay: rgba(20, 27, 45, 0.9);
    --report-preview-border: rgba(255, 255, 255, 0.3);
    --text-light: rgba(16, 24, 40, 0.72);
    --text-lighter: rgba(16, 24, 40, 0.7);
    --text-faint: rgba(16, 24, 40, 0.62);
    /* Standfirst ink: the sentence under a headline. Neutral grey sits ON the
       page; this carries the same blue as the hero wash, so the line settles
       into the surface instead of competing with the headline above it. Low
       chroma on purpose — it must not read as a link or an eyebrow. Paired
       with the dark block below; both clear AA at 18px. */
    --text-cool: #54648A;
    --border-light: rgba(16, 24, 40, 0.11);
    --border-mid: rgba(16, 24, 40, 0.2);
    --blue-light: rgba(37, 99, 235, 0.1);
    --mint: #3E64E0;
    --mint-soft: rgba(62, 100, 224, 0.12);
    --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.06);
    --shadow-md: 0 8px 20px rgba(16, 24, 40, 0.08);
    --shadow-lg: 0 18px 44px rgba(16, 24, 40, 0.1);
    --shadow-xl: 0 28px 70px rgba(16, 24, 40, 0.14);
    /* Homepage news-card category tags. One rgb triplet per kind, contrast-safe
       against the card surface in this mode; the chip uses rgba(...,0.14) tint +
       rgb(...) text. Paired with lighter values in the dark block below. */
    --tag-jf: 6, 118, 71;            /* emerald — "Just founded" */
    --tag-fundraise: 23, 92, 211;    /* blue — fundraises */
    --tag-acquisition: 105, 65, 198; /* purple — M&A / control deals */
    --tag-launch: 181, 71, 8;        /* amber — launches */
    --tag-news: 71, 84, 103;         /* slate — everything else */
    /* A second accent for marking one item out of a set of the first — the
       Dealroom-on-stage pins on /events. It exists because --blue, --teal and
       --eyebrow ALL resolve to #3E64E0 in this mode, so there is otherwise no
       colour on the page that reads as "not the default one". Emerald, matching
       the --tag-jf pair. */
    --marker-alt: #067647;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --navy: #141B2D;
    --navy-light: #1E2A45;
    --navy-lighter: #2A3A5A;
    /* Chart-page canvas — the deep navy charts paint around their card in dark
       mode (#001234 is the dominant convention across /charts/*.html). See the
       light block above. */
    --chart-canvas: #001234;
    --white: #FFFFFF;
    /* Logo tiles — dark companion of the light block pair: a dark elevated
       tile on the dark surface. */
    --logo-tile-bg: var(--navy-light);
    --logo-tile-border: rgba(255, 255, 255, 0.1);
    /* Dark companion of the light card surface — see the light block. */
    --surface-card: var(--navy-light);
    --text-light: rgba(255, 255, 255, 0.7);
    --text-lighter: rgba(255, 255, 255, 0.5);
    --text-faint: rgba(255, 255, 255, 0.35);
    /* Standfirst ink — dark companion of the light block pair. Off-white with
       the navy's own blue in it rather than dimmed pure white, so it reads as
       one temperature with the surface instead of a grey layer on top. */
    --text-cool: #AFBEDD;
    --border-light: rgba(255, 255, 255, 0.1);
    --border-mid: rgba(255, 255, 255, 0.2);
    /* Contrast-safe accent ink — lighter on the dark surface. See light block. */
    --amber-ink: #F4CE7C;
    --blue-ink: #7CC8F4;
    /* Spotlight rows — soft amber over the navy surface. See light block. */
    --row-spotlight: rgba(244, 206, 124, 0.14);
    /* Eyebrow blue, dark companion — 8.3:1 on the navy canvas and already the
       dark-mode "fundraise" tag blue, so it's an existing pairing. See light block. */
    --eyebrow: #84ADFF;
    /* News-card category tags — lighter accents on the dark surface. See light block. */
    --tag-jf: 108, 233, 166;
    --tag-fundraise: 132, 173, 255;
    --tag-acquisition: 195, 166, 255;
    --tag-launch: 244, 206, 124;
    --tag-news: 203, 213, 225;
    --marker-alt: #6CE9A6;           /* see light block */
}

nav.hero-breadcrumb {
    position: static;
    inset: auto;
    z-index: auto;
    padding: 0;
    height: auto;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

html,
body {
    overflow-x: clip;
}

html[data-theme="light"] body {
    background: #ffffff;
    color: #101828;
}

html[data-theme="light"] .announcement-banner {
    background: #3E64E0;
    border-bottom-color: rgba(255, 255, 255, 0.2);
}

html[data-theme="light"] .announcement-banner .announcement-eyebrow,
html[data-theme="light"] .announcement-banner .announcement-arrow {
    color: #ffffff !important;
}

html[data-theme="light"] body > nav,
html[data-theme="light"] nav.site-nav {
    background: rgba(255, 255, 255, 0.92) !important;
    border-bottom-color: rgba(16, 24, 40, 0.11) !important;
    box-shadow: 0 1px 0 rgba(16, 24, 40, 0.02), 0 12px 30px rgba(16, 24, 40, 0.04);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

html[data-theme="light"] .nav-link:hover,
html[data-theme="light"] .nav-link.active,
html[data-theme="light"] .btn-ghost:hover {
    color: #101828;
    background: rgba(16, 24, 40, 0.055);
}

html[data-theme="light"] .btn-primary,
html[data-theme="light"] body > nav .nav-right .btn-primary,
html[data-theme="light"] nav.site-nav .nav-right .btn-primary,
html[data-theme="light"] .nav-right .btn-primary,
html[data-theme="light"] .mobile-nav-cta,
html[data-theme="light"] body > nav .mobile-nav-cta,
html[data-theme="light"] nav.site-nav .mobile-nav-cta,
html[data-theme="light"] .submit-mm-btn-primary,
html[data-theme="light"] .announcement-banner a,
html[data-theme="light"] button[type="submit"].btn-primary {
    color: #ffffff !important;
    background: #3E64E0 !important;
    border-color: #3E64E0 !important;
    box-shadow: 0 10px 24px rgba(62, 100, 224, 0.2);
}

html[data-theme="light"] .btn-primary:hover,
html[data-theme="light"] body > nav .nav-right .btn-primary:hover,
html[data-theme="light"] nav.site-nav .nav-right .btn-primary:hover,
html[data-theme="light"] .nav-right .btn-primary:hover,
html[data-theme="light"] .mobile-nav-cta:hover,
html[data-theme="light"] body > nav .mobile-nav-cta:hover,
html[data-theme="light"] nav.site-nav .mobile-nav-cta:hover,
html[data-theme="light"] .submit-mm-btn-primary:hover,
html[data-theme="light"] .announcement-banner a:hover,
html[data-theme="light"] button[type="submit"].btn-primary:hover {
    background: #3154c7 !important;
    border-color: #3154c7 !important;
}

html[data-theme="light"] .btn-outline {
    border-color: rgba(16, 24, 40, 0.16);
}

/* Ghost button (the nav "Login") — borderless and transparent by design, in
   both themes. This lives in the shared layer because every page carries its
   own inlined copy of the `.btn` base rule and they disagree: some declare
   `border: none`, others `border: 1px solid transparent`, and the profile
   stylesheet paints a border outright. Colouring the border here — the way the
   outline/secondary group used to — meant identical markup rendered as a plain
   text link on dealroom.co and as an outlined pill on /resources/<chart>/.
   Force the colour, not the width: the border stays invisible whatever the
   page declares, and the button keeps the same box as the primary button
   beside it. `.btn-outline` remains the bordered variant. */
html[data-theme="light"] .btn-ghost,
html[data-theme="dark"] .btn-ghost {
    border-color: transparent;
    background: transparent;
}

html[data-theme="light"] .btn-white {
    background: #101828;
    color: #ffffff;
}

html[data-theme="light"] footer {
    background: #f7f9fc;
    border-top-color: rgba(16, 24, 40, 0.1);
}

html[data-theme="light"] .cta-form {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65);
}

html[data-theme="light"] .cta-form input {
    color: #101828;
}

html[data-theme="light"] .nav-dropdown-panel,
html[data-theme="light"] .nav-dropdown-menu,
html[data-theme="light"] .nav-mega-menu,
html[data-theme="light"] .dropdown-menu,
html[data-theme="light"] .mobile-nav {
    background: rgba(255, 255, 255, 0.97) !important;
    border-color: rgba(16, 24, 40, 0.12) !important;
    box-shadow: 0 24px 60px rgba(16, 24, 40, 0.14);
}

html[data-theme="light"] .nav-dropdown-item,
html[data-theme="light"] .nav-dropdown-link,
html[data-theme="light"] .dropdown-item,
html[data-theme="light"] .nav-profile-link,
html[data-theme="light"] .nav-profile-link-wide {
    color: #101828;
}

html[data-theme="light"] .nav-dropdown-item:hover,
html[data-theme="light"] .nav-dropdown-link:hover,
html[data-theme="light"] .dropdown-item:hover {
    background: rgba(16, 24, 40, 0.055);
}

html[data-theme="light"] .nav-dropdown-description,
html[data-theme="light"] .nav-dropdown-subtitle,
html[data-theme="light"] .dropdown-description {
    color: #667085;
}

html[data-theme="light"] .nav-dropdown-icon,
html[data-theme="light"] .dropdown-icon {
    background: #eef2f7;
    color: #2563eb;
}

html[data-theme="light"] .nav-profile-link-wide {
    background: rgba(16, 24, 40, 0.035);
}

html[data-theme="light"] .nav-profile-icon {
    background: rgba(16, 24, 40, 0.065);
}

html[data-theme="light"] .mobile-menu-toggle span {
    background: #101828;
}

html[data-theme="light"] .hero,
html[data-theme="light"] .hero.is-entity {
    background:
        radial-gradient(ellipse at 50% 0%, rgba(37, 99, 235, 0.11) 0%, rgba(255, 255, 255, 0) 58%),
        #ffffff;
}

html[data-theme="light"] .ranking-strip,
html[data-theme="light"] section.body-section.alt,
html[data-theme="light"] .resources-section,
html[data-theme="light"] .cta-section {
    background-color: #f7f9fc;
}

html[data-theme="light"] .hero-map {
    background: #eaf0f8;
}

html[data-theme="light"] .hero-map .lm-c {
    fill: #cbd5e1;
    stroke: #f8fafc;
}

html[data-theme="light"] .hero-map .lm-c.is-focus {
    fill: var(--hero-accent, #3B82F6);
    stroke: color-mix(in srgb, var(--hero-accent, #3B82F6) 45%, white 55%);
}

html[data-theme="light"] .hero-map-caption {
    background: rgba(255, 255, 255, 0.78);
    color: #101828;
}

html[data-theme="light"] .nc-col {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(16, 24, 40, 0.11);
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.07);
}

html[data-theme="light"] .nc-col-tier {
    color: #101828;
}

html[data-theme="light"] .nc-col-sub,
html[data-theme="light"] .nc-more {
    color: #667085;
}

html[data-theme="light"] .nc-pill {
    color: #344054;
    background: #f8fafc;
    border-color: rgba(16, 24, 40, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

html[data-theme="light"] .kpi-card,
html[data-theme="light"] .hero-stat,
html[data-theme="light"] .alumni-stat,
html[data-theme="light"] .alumni-card,
html[data-theme="light"] .backer-card,
html[data-theme="light"] .resource-card,
html[data-theme="light"] .report-card,
html[data-theme="light"] .pricing-card,
html[data-theme="light"] .solution-card,
html[data-theme="light"] .feature-card,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .metric-card,
html[data-theme="light"] .card {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.11);
    box-shadow: 0 12px 34px rgba(16, 24, 40, 0.06);
}

html[data-theme="light"] .pricing-card.popular {
    background: #ffffff;
    border: 1px solid rgba(62, 100, 224, 0.28);
    transform: none;
    box-shadow: 0 18px 48px rgba(62, 100, 224, 0.12), 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

html[data-theme="light"] .pricing-card.popular:hover {
    transform: translateY(-4px);
    border-color: rgba(62, 100, 224, 0.42);
    box-shadow: 0 22px 54px rgba(62, 100, 224, 0.16);
}

html[data-theme="light"] .popular-badge {
    top: 1.35rem;
    right: 1.5rem;
    left: auto;
    transform: none;
    background: #3E64E0;
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(62, 100, 224, 0.2);
}

html[data-theme="light"] .pricing-card.popular .card-icon {
    background: #eef3ff;
}

html[data-theme="light"] .pricing-card.popular .card-icon svg,
html[data-theme="light"] .pricing-card.popular .features-list li svg {
    color: #3E64E0;
}

html[data-theme="light"] .pricing-card.popular .plan-desc,
html[data-theme="light"] .pricing-card.popular .price-period,
html[data-theme="light"] .pricing-card.popular .features-list li {
    color: rgba(16, 24, 40, 0.72);
}

html[data-theme="light"] .pricing-card.popular .card-btn {
    background: #101828;
    color: #ffffff;
}

html[data-theme="light"] .pricing-card.popular .card-btn:hover {
    background: #1f2937;
}

html[data-theme="light"] .pl-card {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.11);
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.06);
}

html[data-theme="light"] .pl-card:hover {
    background: #ffffff;
    border-color: rgba(180, 83, 9, 0.28);
    box-shadow: 0 18px 44px rgba(16, 24, 40, 0.09);
}

html[data-theme="light"] .pl-card h3 {
    color: #101828;
}

html[data-theme="light"] .pl-card p,
html[data-theme="light"] .pl-card-stat {
    color: rgba(16, 24, 40, 0.66);
}

html[data-theme="light"] .pl-card-badge {
    color: #3154c7;
    background: #eef3ff;
    border-color: rgba(62, 100, 224, 0.24);
    box-shadow: none;
}

html[data-theme="light"] .pl-card-visual {
    color: rgba(180, 83, 9, 0.72);
}

html[data-theme="light"] .cta-band {
    background: linear-gradient(165deg, rgba(37, 99, 235, 0.09), rgba(180, 83, 9, 0.06));
    border-color: rgba(16, 24, 40, 0.11);
}

html[data-theme="light"] .cta-band h2 {
    color: #101828;
}

html[data-theme="light"] .cta-band p {
    color: rgba(16, 24, 40, 0.66);
}

html[data-theme="light"] .comparison-section {
    background: #f6f8fb;
}

html[data-theme="light"] .comparison-table {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
    box-shadow: 0 18px 48px rgba(16, 24, 40, 0.075);
}

html[data-theme="light"] .table-header {
    background: #f8fafc;
    border-bottom-color: rgba(16, 24, 40, 0.11);
}

html[data-theme="light"] .table-header-cell {
    color: #101828;
}

html[data-theme="light"] .table-header-cell.highlight {
    background: #182235;
    color: #ffffff;
    box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.08), inset -1px 0 0 rgba(255, 255, 255, 0.08);
}

html[data-theme="light"] .table-row {
    border-bottom-color: rgba(16, 24, 40, 0.09);
}

html[data-theme="light"] .table-row:hover {
    background: rgba(16, 24, 40, 0.025);
}

html[data-theme="light"] .table-cell:first-child {
    color: #475467;
}

html[data-theme="light"] .table-cell.highlight {
    background: #f3f6fb;
    box-shadow: inset 1px 0 0 rgba(16, 24, 40, 0.045), inset -1px 0 0 rgba(16, 24, 40, 0.045);
}

html[data-theme="light"] .check-icon {
    background: #182235;
    box-shadow: 0 6px 14px rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] .check-icon svg {
    color: #ffffff;
}

html[data-theme="light"] .dash {
    background: #667085;
}

html[data-theme="light"] .cell-value {
    color: #101828;
}

html[data-theme="light"] .map-city-pill,
html[data-theme="light"] .map-city-pill strong {
    color: #101828;
}

html[data-theme="light"] .backer-card:hover,
html[data-theme="light"] .alumni-card:hover,
html[data-theme="light"] .resource-card:hover,
html[data-theme="light"] .report-card:hover,
html[data-theme="light"] .solution-card:hover {
    background: #ffffff;
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 16px 42px rgba(16, 24, 40, 0.09);
}

html[data-theme="light"] .report-date-badge {
    color: #ffffff;
    background: rgba(16, 24, 40, 0.82);
    border-color: rgba(255, 255, 255, 0.18);
}

html[data-theme="light"] .report-date-badge svg {
    color: #ffffff;
}

html[data-theme="light"] .backer-stage-header {
    border-bottom-color: rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] .backer-stage-chip {
    font-weight: 700;
    color: #344054;
    background: #ffffff;
    border: 1px solid rgba(16, 24, 40, 0.14);
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

html[data-theme="light"] .backer-stage-chip.stage-Seed {
    color: #3154c7;
    background: #eef3ff;
    border-color: #b7c6ff;
}

html[data-theme="light"] .backer-stage-chip.stage-SeriesA {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #93c5fd;
}

html[data-theme="light"] .backer-stage-chip.stage-SeriesB,
html[data-theme="light"] .backer-stage-chip.stage-SeriesBp,
html[data-theme="light"] .backer-stage-chip.stage-SeriesCp,
html[data-theme="light"] .backer-stage-chip.stage-Late {
    color: #6d28d9;
    background: #f5f3ff;
    border-color: #c4b5fd;
}

html[data-theme="light"] .backer-stage-count {
    color: #667085;
}

html[data-theme="light"] .backer-card {
    gap: 0.95rem;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.045);
}

html[data-theme="light"] .backer-card.is-static:hover {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.11);
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.045);
}

html[data-theme="light"] .backer-logo {
    width: 38px;
    height: 38px;
    padding: 5px;
    border-radius: 9px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-color: rgba(16, 24, 40, 0.12);
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.08),
        0 0 0 1px rgba(255, 255, 255, 0.82) inset;
}

html[data-theme="light"] .backer-logo img {
    width: 100%;
    height: 100%;
    padding: 0;
    border-radius: 5px;
    object-fit: contain;
    filter: contrast(0.9) saturate(0.96);
}

html[data-theme="light"] .backer-logo .backer-mono {
    border-radius: 5px;
    background: #f8fafc;
    color: #344054;
    border: 1px solid rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] .backer-show-more {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #93c5fd;
}

html[data-theme="light"] .backer-show-more:hover {
    color: #1e40af;
    background: #dbeafe;
    border-color: #60a5fa;
}

html[data-theme="light"] .hero-eyebrow,
html[data-theme="light"] .section-eyebrow {
    color: var(--eyebrow);
}

html[data-theme="light"] .hero-subtitle .pill {
    color: #5b21b6;
    background: #f5f3ff;
    border-color: #c4b5fd;
}

html[data-theme="light"] .kpi-label,
html[data-theme="light"] .hero-stat-label,
html[data-theme="light"] .ranking-strip-label,
html[data-theme="light"] .sparkcard-label,
html[data-theme="light"] .dir-section-meta,
html[data-theme="light"] .dir-tab,
html[data-theme="light"] .dir-tab-count,
html[data-theme="light"] .breadcrumbs,
html[data-theme="light"] .hero-breadcrumb {
    color: rgba(16, 24, 40, 0.68);
}

html[data-theme="light"] .breadcrumbs a,
html[data-theme="light"] .hero-breadcrumb a {
    color: rgba(16, 24, 40, 0.72);
}

html[data-theme="light"] .breadcrumbs a:hover,
html[data-theme="light"] .hero-breadcrumb a:hover {
    color: #101828;
}

html[data-theme="light"] .breadcrumbs [aria-current="page"],
html[data-theme="light"] .hero-breadcrumb .current {
    color: #101828;
}

html[data-theme="light"] .kpi-range-caption,
html[data-theme="light"] .sparkcard-foot,
html[data-theme="light"] .head-kicker {
    color: rgba(16, 24, 40, 0.7);
}

html[data-theme="light"] .kpi-yoy.up,
html[data-theme="light"] .delta,
html[data-theme="light"] .rank-chip .rank-num,
html[data-theme="light"] .rank-pct,
html[data-theme="light"] .feedback-cta-eyebrow {
    color: #3154c7;
}

html[data-theme="light"] .mm-pill.active {
    background: #3E64E0;
    border-color: #3E64E0;
    color: #ffffff;
}

html[data-theme="light"] .mm-pill.active .mm-pill-count {
    color: rgba(255, 255, 255, 0.92);
}

html[data-theme="light"] .mm-pill .mm-pill-count {
    color: rgba(16, 24, 40, 0.66);
}

html[data-theme="light"] .dir-hero-banner {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #93c5fd;
}

html[data-theme="light"] .profile-search-input {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(16, 24, 40, 0.14);
    color: #101828;
}

html[data-theme="light"] .entity-index-hero {
    background:
        radial-gradient(ellipse at 50% -24%, rgba(37, 99, 235, 0.12), rgba(255, 255, 255, 0) 60%),
        #ffffff;
}

html[data-theme="light"] .entity-search-input {
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(16, 24, 40, 0.14);
    color: #101828;
    box-shadow: 0 14px 32px rgba(16, 24, 40, 0.08), 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

html[data-theme="light"] .entity-search-input::placeholder {
    color: rgba(16, 24, 40, 0.58);
}

html[data-theme="light"] .entity-search-input:focus {
    outline-color: #2563eb;
    border-color: rgba(37, 99, 235, 0.45);
    box-shadow: 0 16px 38px rgba(37, 99, 235, 0.13), 0 0 0 3px rgba(37, 99, 235, 0.12);
}

html[data-theme="light"] .entity-card {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.11);
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.07);
}

html[data-theme="light"] .entity-card:hover {
    background: #ffffff;
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: 0 18px 44px rgba(16, 24, 40, 0.1);
}

html[data-theme="light"] .entity-card-name,
html[data-theme="light"] .entity-card-stat .num {
    color: #101828;
}

html[data-theme="light"] .entity-card-rank,
html[data-theme="light"] .entity-card-stat .label {
    color: rgba(16, 24, 40, 0.6);
}

html[data-theme="light"] .entity-card-stat .label[title] {
    text-decoration-color: rgba(16, 24, 40, 0.42);
}

html[data-theme="light"] .entity-index-note {
    color: rgba(16, 24, 40, 0.58);
}

html[data-theme="light"] .entity-card-tag {
    background: #f8fafc;
    border-color: rgba(16, 24, 40, 0.1);
    color: rgba(16, 24, 40, 0.66);
}

html[data-theme="light"] .entity-platform-pill,
html[data-theme="light"] .entity-card-platform {
    color: #3154c7;
    background: #eef3ff;
    border-color: rgba(62, 100, 224, 0.24);
}

html[data-theme="light"] .entity-tab {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.12);
    color: rgba(16, 24, 40, 0.72);
}

html[data-theme="light"] .entity-tab:hover {
    background: #f8fafc;
    border-color: rgba(16, 24, 40, 0.18);
    color: #101828;
}

html[data-theme="light"] .entity-tab.is-active {
    background: #eff6ff;
    border-color: rgba(37, 99, 235, 0.45);
    color: #101828;
}

html[data-theme="light"] .sparkcard,
html[data-theme="light"] .origin-col,
html[data-theme="light"] .feat-card {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.11);
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.055);
}

html[data-theme="light"] .sparkcard:hover,
html[data-theme="light"] .origin-col:hover,
html[data-theme="light"] .feat-card:hover {
    background: #ffffff;
    border-color: rgba(37, 99, 235, 0.22);
    box-shadow: 0 18px 44px rgba(16, 24, 40, 0.085);
}

html[data-theme="light"] .sparkpoint-tooltip {
    border-color: rgba(79, 70, 229, 0.18);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 30px rgba(30, 41, 59, 0.16);
    color: #111827;
}

html[data-theme="light"] .sparkcard-num,
html[data-theme="light"] .origin-row .origin-count,
html[data-theme="light"] .feat-card-name,
html[data-theme="light"] .feat-card-meta strong {
    color: #101828;
}

html[data-theme="light"] .sparkcard-label,
html[data-theme="light"] .origin-col-eyebrow {
    color: rgba(16, 24, 40, 0.62);
}

html[data-theme="light"] .sparkcard-foot,
html[data-theme="light"] .origin-rank,
html[data-theme="light"] .feat-card-meta {
    color: rgba(16, 24, 40, 0.64);
}

html[data-theme="light"] .origin-row .origin-name,
html[data-theme="light"] .origin-row .origin-name a {
    color: rgba(16, 24, 40, 0.72);
}

html[data-theme="light"] .origin-row .origin-name a:hover {
    color: #101828;
}

html[data-theme="light"] .origin-row .origin-bar {
    background: #edf1f6;
}

html[data-theme="light"] .origin-row .origin-bar-fill {
    background: linear-gradient(90deg, #5276c9, #7a6bb8);
}

html[data-theme="light"] .sparkcard-spark path:first-of-type {
    fill: rgba(82, 118, 201, 0.09);
}

html[data-theme="light"] .sparkcard-spark path[stroke] {
    stroke: rgba(82, 118, 201, 0.62);
}

html[data-theme="light"] .feat-card-logo {
    background: #ffffff;
    border: 1px solid rgba(16, 24, 40, 0.12);
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .feat-card-tier.tier-titan {
    color: #991b1b;
    background: #fee2e2;
    border-color: #fecaca;
}

html[data-theme="light"] .feat-card-tier.tier-decacorn,
html[data-theme="light"] .feat-card-tier.tier-unicorn {
    color: #5b21b6;
    background: #f5f3ff;
    border-color: #c4b5fd;
}

html[data-theme="light"] .feat-card-tier.tier-thoroughbred {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #93c5fd;
}

html[data-theme="light"] .feat-card-tier.tier-colt {
    color: #3154c7;
    background: #eef3ff;
    border-color: #b7c6ff;
}

html[data-theme="light"] .hot-row {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.11);
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.045);
}

html[data-theme="light"] a.hot-row:hover {
    background: #ffffff;
    border-color: rgba(180, 83, 9, 0.24);
    box-shadow: 0 14px 36px rgba(16, 24, 40, 0.075);
}

html[data-theme="light"] .hot-name {
    color: #101828;
}

html[data-theme="light"] .hot-rank {
    color: #b45309;
}

html[data-theme="light"] .hot-chip.is-up {
    color: #3154c7;
    background: #eef3ff;
    border-color: rgba(62, 100, 224, 0.22);
}

html[data-theme="light"] .hot-chip.is-down {
    color: #b42318;
    background: #fef3f2;
    border-color: rgba(180, 35, 24, 0.22);
}

html[data-theme="light"] .hot-bar-track {
    background: #edf1f6;
}

html[data-theme="light"] .hot-bar-fill {
    background: linear-gradient(90deg, #c97732, #b45309);
}

html[data-theme="light"] .hot-arrow,
html[data-theme="light"] .hot-foot {
    color: rgba(16, 24, 40, 0.56);
}

html[data-theme="light"] .teaser-card {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.11);
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.055);
}

html[data-theme="light"] .teaser-eyebrow,
html[data-theme="light"] .teaser-label {
    color: rgba(16, 24, 40, 0.62);
}

html[data-theme="light"] .teaser-title {
    color: #101828;
}

html[data-theme="light"] .teaser-row {
    border-top-color: rgba(16, 24, 40, 0.07);
}

html[data-theme="light"] .teaser-bar {
    background: linear-gradient(90deg, rgba(82, 118, 201, 0.34), rgba(122, 107, 184, 0.24));
    opacity: 0.7;
}

html[data-theme="light"] .teaser-fade {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff 88%);
}

html[data-theme="light"] .teaser-cta {
    color: #1d4ed8;
}

html[data-theme="light"] .teaser-cta:hover {
    color: #1e40af;
}

html[data-theme="light"] .profile-search-input::placeholder,
html[data-theme="light"] .profile-search-icon {
    color: rgba(16, 24, 40, 0.62);
}

html[data-theme="light"] .profile-search-pop {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.12);
    box-shadow: 0 20px 50px rgba(16, 24, 40, 0.14);
}

html[data-theme="light"] .profile-search-row:hover,
html[data-theme="light"] .profile-search-row.is-active {
    background: rgba(37, 99, 235, 0.07);
}

html[data-theme="light"] .role-badge.role-angel {
    color: #92400e;
    background: #fffbeb;
    border-color: #f59e0b;
}

html[data-theme="light"] .role-badge.role-founder {
    color: #1e40af;
    background: #eff6ff;
    border-color: #93c5fd;
}

html[data-theme="light"] .pinned-badge,
html[data-theme="light"] .feat-card-tier.tier-decacorn {
    color: #5b21b6;
    background: #f5f3ff;
    border-color: #c4b5fd;
}

html[data-theme="light"] .pinned-card {
    color: #101828 !important;
    background: #ffffff !important;
    border-color: #e4e7ec !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06) !important;
}

html[data-theme="light"] a.pinned-card:hover {
    color: #101828 !important;
    background: #ffffff !important;
    border-color: rgba(37, 99, 235, 0.28) !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 8px 24px rgba(16, 24, 40, 0.08) !important;
}

html[data-theme="light"] .pinned-card.is-coming-soon,
html[data-theme="light"] .pinned-card.is-coming-soon:hover {
    background: #ffffff !important;
    border-color: #e4e7ec !important;
}

html[data-theme="light"] .pinned-sub {
    color: #667085;
}

html[data-theme="light"] .academia-panel,
html[data-theme="light"] .peer-scatter-wrap,
html[data-theme="light"] .oi-panel {
    background: #ffffff !important;
    border: 1px solid #e4e7ec !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 16px 42px rgba(16, 24, 40, 0.07) !important;
}

html[data-theme="light"] .academia-panel {
    padding: 1.35rem 1.45rem !important;
}

html[data-theme="light"] .ac-head,
html[data-theme="light"] .ac-unis-head,
html[data-theme="light"] .patent-eyebrow,
html[data-theme="light"] .origin-col-eyebrow {
    color: #667085 !important;
}

html[data-theme="light"] .ac-unis-head {
    border-top-color: #e4e7ec !important;
}

html[data-theme="light"] .ac-stat,
html[data-theme="light"] .ac-uni {
    background: #f8fafc !important;
    border: 1px solid #e4e7ec !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.035) !important;
}

html[data-theme="light"] .ac-stat {
    border-left: 2px solid #3B82F6 !important;
}

html[data-theme="light"] .ac-stat-val,
html[data-theme="light"] .ac-uni-name,
html[data-theme="light"] .patent-headline-num,
html[data-theme="light"] .patent-status-chip strong,
html[data-theme="light"] .oi-name,
html[data-theme="light"] .oi-multiplier {
    color: #101828 !important;
}

html[data-theme="light"] .ac-stat-label,
html[data-theme="light"] .ac-uni-sub,
html[data-theme="light"] .ac-uni-pills-label,
html[data-theme="light"] .patent-headline-sub,
html[data-theme="light"] .oi-meta {
    color: #667085 !important;
}

html[data-theme="light"] .ac-uni-name {
    border-bottom-color: rgba(16, 24, 40, 0.16) !important;
}

html[data-theme="light"] .ac-uni-name:hover {
    border-bottom-color: #101828 !important;
}

html[data-theme="light"] .ac-uni-pill,
html[data-theme="light"] .patent-status-chip {
    color: #344054 !important;
    background: #ffffff !important;
    border-color: rgba(16, 24, 40, 0.12) !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
}

html[data-theme="light"] .patent-summary,
html[data-theme="light"] .patent-breakdown {
    background: #ffffff !important;
    border-color: #e4e7ec !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 14px 36px rgba(16, 24, 40, 0.065) !important;
}

html[data-theme="light"] .patent-status-chip.granted strong {
    color: #059669 !important;
}

html[data-theme="light"] .patent-status-chip.pending strong {
    color: #2563eb !important;
}

html[data-theme="light"] .patent-empty {
    color: #667085 !important;
    background: #f8fafc !important;
    border-color: #d0d5dd !important;
}

html[data-theme="light"] .patent-empty strong {
    color: #101828 !important;
}

/* ── Company profile · global footprint cards ───────────────────────
   Base styles use dark-only fills (rgba(0,0,0,.22) cards, rgba(255,255,255,*)
   bar tracks/segments) that turn muddy-gray or vanish on white. Re-skin them
   to the same white-card + visible-track treatment used by the patent cards. */
html[data-theme="light"] .footprint-card {
    background: #ffffff !important;
    border-color: #e4e7ec !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 14px 36px rgba(16, 24, 40, 0.065) !important;
}
html[data-theme="light"] .ai-talent-bar {
    background: rgba(16, 24, 40, 0.06) !important;
}
html[data-theme="light"] .ai-talent-bar .seg-non {
    background: rgba(16, 24, 40, 0.12) !important;
}
/* The Non-AI legend swatch carries an inline rgba(255,255,255,.18) fill that
   disappears on white — target it by its inline value (Core/Other use gradients). */
html[data-theme="light"] .ai-talent-dot[style*="rgba(255,255,255"],
html[data-theme="light"] .ai-talent-dot[style*="rgba(255, 255, 255"] {
    background: rgba(16, 24, 40, 0.18) !important;
}
html[data-theme="light"] .country-bar-track,
html[data-theme="light"] .patent-cat-bar {
    background: rgba(16, 24, 40, 0.08) !important;
}
/* Footprint workforce teaser (shown when a company has no FTE breakdown). */
html[data-theme="light"] .footprint-teaser-label {
    background: rgba(16, 24, 40, 0.1) !important;
}
html[data-theme="light"] .footprint-teaser-hq-tag {
    background: rgba(16, 24, 40, 0.06) !important;
}
html[data-theme="light"] .footprint-teaser-arrow {
    color: #475467 !important;
}

/* ── Company profile · peer radar (patent + capital-deployment) ──────
   The radar grid, axis spokes and labels are emitted as inline SVG
   presentation attributes hard-coded to white (built for dark mode). CSS
   beats presentation attributes, so re-color them for light mode. Scope to
   polygon/line/text only — data series are <path>/<circle> and keep their
   own colors. */
html[data-theme="light"] .pshape-radar polygon,
html[data-theme="light"] .pshape-radar line {
    stroke: rgba(16, 24, 40, 0.13);
}
html[data-theme="light"] .pshape-radar text {
    fill: rgba(16, 24, 40, 0.78);
}
html[data-theme="light"] .pshape-chart-head {
    border-bottom-color: rgba(16, 24, 40, 0.08);
}
html[data-theme="light"] .pshape-foot {
    border-top-color: rgba(16, 24, 40, 0.08);
}

/* ── Profile logo tiles (company / investor / sector / country / people) ──
   Logo tiles must be theme-matched: a LIGHT tile in light mode, a DARK tile in
   dark mode. They previously backed logos with `var(--white)` (which inverts to
   dark navy in light mode) or a fixed white (#fff), so tiles came out reversed —
   dark on the light page, or bright white on the dark page. The pair
   --logo-tile-bg / --logo-tile-border (token blocks at the top of this file)
   now carries the rule; new surfaces should consume the tokens directly in
   their base rule. The selector list below exists for legacy surfaces whose
   base rules live in built pages or in css files pinned by thousands of
   ?v= references — the [data-theme] specificity (0,2,1) out-ranks their
   var(--white) base. (Opaque white-background logo *images* still read white
   in dark mode — that's image content, not the frame.) */
html[data-theme] .hero-logo,
html[data-theme] .hero-logo.is-fallback,
html[data-theme] .hist-logo,
html[data-theme] .exit-card-logo,
html[data-theme] .hold-logo:not(.hold-logo-lock),
html[data-theme] .mm-chip-logo,
html[data-theme] .backer-logo,
html[data-theme] .dir-card-logo:not(.is-person) {
    background: var(--logo-tile-bg);
    border: 1px solid var(--logo-tile-border);
}
html[data-theme="light"] .hero-logo-fallback,
html[data-theme="light"] .hist-logo .logo-fallback {
    color: #101828;
}

/* ── Investor profile · comparison radar + line charts ──────────────
   Same dark-only white SVG attributes as the company radar. Recolor grid
   + axis labels via CSS (beats SVG presentation attrs); attribute
   selectors leave the colored data series + value labels untouched. */
html[data-theme="light"] .cmp-radar [stroke^="rgba(255,255,255"] {
    stroke: rgba(16, 24, 40, 0.13);
}
html[data-theme="light"] .cmp-line [stroke^="rgba(255,255,255"] {
    stroke: rgba(16, 24, 40, 0.08);
}
html[data-theme="light"] .cmp-radar text.cmp-radar-label {
    fill: rgba(16, 24, 40, 0.78);
}
html[data-theme="light"] .cmp-line text[fill^="rgba(255,255,255"] {
    fill: rgba(16, 24, 40, 0.55);
}

/* ── Investor profile · comparison toolbar buttons ──────────────────
   "Find similar shapes" (purple) + "Download PNG" (blue) hard-code
   dark-mode pale text inline (#C4B5FD / #BFDBFE), so they wash out on
   the light surface. Repaint the text with contrast-safe accent ink and
   firm up the tint; the rounded-pill look is preserved. */
html[data-theme="light"] .cmp-similar {
    background: rgba(124, 58, 237, 0.08);
    border-color: rgba(124, 58, 237, 0.35);
    color: var(--purple);
}
html[data-theme="light"] .cmp-similar:hover {
    background: rgba(124, 58, 237, 0.16);
    border-color: rgba(124, 58, 237, 0.55);
}
html[data-theme="light"] .cmp-download {
    background: rgba(59, 130, 246, 0.1);
    border-color: rgba(59, 130, 246, 0.42);
    color: var(--blue-ink);
}
html[data-theme="light"] .cmp-download:hover {
    background: rgba(59, 130, 246, 0.16);
    border-color: rgba(59, 130, 246, 0.62);
    color: var(--blue-ink);
}

/* ── Bar tracks / chips / quote blocks that use white (or black) overlays
   and turn invisible (or muddy) on a white surface. */
html[data-theme="light"] .pa-bar,
html[data-theme="light"] .cmp-beyond-track,
html[data-theme="light"] .cmp-sector-bar,
html[data-theme="light"] .mm-box-bar {
    background: rgba(16, 24, 40, 0.06);
}
html[data-theme="light"] .feat-strip-chip {
    background: rgba(16, 24, 40, 0.04);
}
html[data-theme="light"] .theme-quote {
    background: rgba(16, 24, 40, 0.03);
}

/* ── People profile · faint source line + neutral tier badge. */
html[data-theme="light"] .hist-source {
    color: rgba(16, 24, 40, 0.5);
}
html[data-theme="light"] .tier-gray {
    background: rgba(16, 24, 40, 0.05);
}

/* ── Deals "portfolio market map" company chips (.mm-chip) ───────────
   The chip fill + outline are white overlays (rgba(255,255,255,.04/.07))
   that vanish on white, leaving company names with no structure. Give the
   chip a faint dark fill + border, keep the logo tile white (var(--white)
   inverts to dark) and recolor its fallback monogram + the neutral stage
   badge that also rode on white. */
html[data-theme="light"] .mm-chip {
    background: rgba(16, 24, 40, 0.025);
    border-color: rgba(16, 24, 40, 0.11);
}
html[data-theme="light"] .mm-chip-logo {
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(16, 24, 40, 0.06);
}
html[data-theme="light"] .mm-chip-logo .mm-mono {
    color: #101828;
}
html[data-theme="light"] .mm-chip-stage.stage-Other {
    color: rgba(16, 24, 40, 0.6);
    background: rgba(16, 24, 40, 0.06);
}
/* The *coloured* stage badges (entry-round chips on portfolio market-map
   pills, and the sibling .backer-stage-chip on company profiles) hard-code a
   dark-mode PALE ink — #6EE7B7 green, #93C5FD blue, #C4B5FD/#DDD6FE purple,
   #FBCFE8 pink, #FCD34D amber — that washes out on the light surface, the
   same root cause as the comparison toolbar above. Repaint each with a
   hue-matched, AA-safe dark ink (≥4.5:1 over the faint coloured tint, which
   is kept so the badge still reads as that hue). Light-scoped only — dark
   mode keeps the original pale palette. */
html[data-theme="light"] .mm-chip-stage.stage-Seed,
html[data-theme="light"] .backer-stage-chip.stage-Seed {
    color: #047857; /* emerald-700 — no shared green token in the light block */
}
html[data-theme="light"] .mm-chip-stage.stage-SeriesA,
html[data-theme="light"] .backer-stage-chip.stage-SeriesA {
    color: var(--blue-ink);
}
html[data-theme="light"] .mm-chip-stage.stage-SeriesBp,
html[data-theme="light"] .mm-chip-stage.stage-SeriesB,
html[data-theme="light"] .mm-chip-stage.stage-SeriesCp,
html[data-theme="light"] .backer-stage-chip.stage-SeriesBp {
    color: var(--purple);
}
html[data-theme="light"] .mm-chip-stage.stage-Late {
    color: #be185d; /* rose-700 — no shared pink token in the light block */
}
html[data-theme="light"] .mm-chip-stage.stage-MA {
    color: var(--amber-ink);
}
/* "+ N more" / "Show more backers" pills also rode on pale-blue text + a
   barely-there fill; match the comparison Download-PNG button treatment. */
html[data-theme="light"] .mm-boxes-more button,
html[data-theme="light"] .backer-show-more {
    background: rgba(59, 130, 246, 0.1);
    border-color: rgba(59, 130, 246, 0.42);
    color: var(--blue-ink);
}
html[data-theme="light"] .mm-boxes-more button:hover,
html[data-theme="light"] .backer-show-more:hover {
    background: rgba(59, 130, 246, 0.16);
    border-color: rgba(59, 130, 246, 0.62);
    color: var(--blue-ink);
}

html[data-theme="light"] .peer-scatter-wrap {
    max-width: 680px !important;
    padding: 1rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    border-color: #9ebcff !important;
}

html[data-theme="light"] .peer-scatter text {
    fill: #475467 !important;
}

html[data-theme="light"] .peer-scatter .ps-label {
    fill: rgba(16, 24, 40, 0.74) !important;
    opacity: 0.82 !important;
}

html[data-theme="light"] .peer-scatter .ps-dot.is-self .ps-label {
    fill: #b45309 !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

html[data-theme="light"] .peer-scatter .ps-mark {
    fill: #8b5cf6 !important;
    fill-opacity: 0.86 !important;
    stroke: rgba(16, 24, 40, 0.28) !important;
}

html[data-theme="light"] .peer-scatter .ps-dot.is-self .ps-mark {
    fill: #f59e0b !important;
    fill-opacity: 1 !important;
    stroke: #b45309 !important;
}

html[data-theme="light"] .peer-scatter text[text-anchor="end"],
html[data-theme="light"] .peer-scatter text[text-anchor="middle"] {
    fill: #667085 !important;
}

html[data-theme="light"] .peer-bar:hover {
    background: rgba(16, 24, 40, 0.035) !important;
}

html[data-theme="light"] .peer-bar.is-self {
    background: rgba(245, 158, 11, 0.08) !important;
    box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.28) !important;
}

html[data-theme="light"] .peer-bar .peer-name,
html[data-theme="light"] .peer-val {
    color: #344054 !important;
}

html[data-theme="light"] .peer-bar.is-self .peer-name,
html[data-theme="light"] .peer-bar.is-self .peer-val {
    color: #101828 !important;
}

html[data-theme="light"] .peer-bar-track {
    background: #eef2f7 !important;
}

/* Comparison explorer toggle — the segmented control. Base layout + token
   colours are in entity-profile.css; here we give the track and the active
   "raised" chip explicit per-mode surfaces (tokens invert awkwardly for a
   raised-chip look, so we set them directly in both modes). */
html[data-theme="light"] .cmp-toggle {
    background: #eef1f6;
    border-color: rgba(16, 24, 40, 0.1);
}
html[data-theme="light"] .cmp-tab {
    color: #475467;
}
html[data-theme="light"] .cmp-tab:hover {
    color: #101828;
}
html[data-theme="light"] .cmp-tab[aria-selected="true"] {
    background: #ffffff;
    color: #101828;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.14), 0 1px 1px rgba(16, 24, 40, 0.06);
}
html[data-theme="dark"] .cmp-tab[aria-selected="true"] {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

/* VC investment widgets (continent profiles) — light surfaces/tints. The dark
   defaults live in entity-profile.css; text uses tokens that already flip, so
   only the hard-coded surfaces/tints/tooltip need light overrides here. */
html[data-theme="light"] .vc-flows-card,
html[data-theme="light"] .vc-leaders-card {
    background: #ffffff !important;
    border-color: rgba(16, 24, 40, 0.11) !important;
    box-shadow: 0 14px 34px rgba(16, 24, 40, 0.055) !important;
}
html[data-theme="light"] .vc-grid-line {
    border-top-color: rgba(16, 24, 40, 0.09) !important;
}
html[data-theme="light"] .vc-flows-tip {
    background: rgba(255, 255, 255, 0.97) !important;
    border-color: rgba(16, 24, 40, 0.12) !important;
    box-shadow: 0 14px 30px rgba(30, 41, 59, 0.16) !important;
}
html[data-theme="light"] .vc-toggle {
    background: #f2f4f7 !important;
    border-color: #e4e7ec !important;
}
html[data-theme="light"] .vc-control-pill {
    background: #f2f4f7 !important;
    border-color: #e4e7ec !important;
    color: #475467 !important;
}
html[data-theme="light"] .vc-control-pill:hover {
    background: #e4e7ec !important;
    color: #101828 !important;
}
html[data-theme="light"] .vc-control-pill.is-on {
    background: #ffffff !important;
    border-color: #d0d5dd !important;
    color: #101828 !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08) !important;
}
html[data-theme="light"] .vc-year-range-track {
    background: #e4e7ec !important;
}
/* EMEA metro ranking (.mxr-*, /regions/emea/) — light bar-track surface; all
   text uses tokens that already flip. */
html[data-theme="light"] .mxr-card { --mxr-compare: #C9B49C; } /* theme-guardrail-allow: muted compare fill, light theme */
html[data-theme="light"] .npa-map-card { --npa-land: #E7EAF0; --npa-land-line: #D4D9E3; --sc-water: #F4F6FA; --sc-rest: #98A2B5; --npa-conn: #2B2B45; --npa-zone-lbl-bg: rgba(255, 255, 255, 0.88); } /* theme-guardrail-allow: map palette tokens, light theme */
html[data-theme="light"] .mxr-track {
    background: #eef1f5 !important;
}
html[data-theme="light"] .mxr-retry {
    border-color: #d0d5dd !important;
    color: #101828 !important;
}
html[data-theme="light"] .mxr-mini {
    background: #eef1f5 !important;
}
html[data-theme="light"] .mxr-chip {
    background: #f2f4f7 !important;
    border-color: #e4e7ec !important;
}
html[data-theme="light"] .mxr-add {
    background: #ffffff !important;
    border-color: #d0d5dd !important;
}
html[data-theme="light"] .mxr-add-list {
    background: #ffffff !important;
    border-color: rgba(16, 24, 40, 0.12) !important;
    box-shadow: 0 14px 30px rgba(30, 41, 59, 0.16) !important;
}
html[data-theme="light"] .mxr-add-item:hover {
    background: #f2f4f7 !important;
}
html[data-theme="light"] .vc-year-input::-webkit-slider-thumb {
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(16, 24, 40, 0.18) !important;
}
html[data-theme="light"] .vc-year-input::-moz-range-thumb {
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(16, 24, 40, 0.18) !important;
}
html[data-theme="light"] .vc-toggle-btn.is-on {
    background: #ffffff !important;
    color: #101828 !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08) !important;
}
html[data-theme="light"] .vc-year-select {
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-opacity='0.9' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 0.55rem center !important;
    border-color: #d0d5dd !important;
}
/* Flows-chart location/scope dropdown — the one vc-flows control that was
   missing its light counterpart, so its dark rgba(255,255,255,…) border/fill
   vanished on the white card. Same treatment as .vc-year-select above. */
html[data-theme="light"] .vc-location-select {
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-opacity='0.9' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 0.7rem center !important;
    border-color: #d0d5dd !important;
}
html[data-theme="light"] .vc-location-select:hover {
    background-color: #f2f4f7 !important;
}
html[data-theme="light"] .vc-bar:hover {
    background: rgba(16, 24, 40, 0.035) !important;
}
html[data-theme="light"] .vc-bar-track {
    background: #eef2f7 !important;
}
html[data-theme="light"] .vc-png-btn {
    color: rgba(16, 24, 40, 0.7) !important;
    background: rgba(16, 24, 40, 0.04) !important;
    border-color: rgba(16, 24, 40, 0.12) !important;
}
html[data-theme="light"] .vc-png-btn:hover {
    background: rgba(16, 24, 40, 0.08) !important;
    color: #101828 !important;
}
/* Sector share-of-VC chart (cross-cutting sector pages) — same split as the
   widgets above: text/labels use flipping tokens, so only the hard-coded
   dark surfaces and SVG strokes need light counterparts. */
html[data-theme="light"] .vc-share-chip {
    background: #f2f4f7 !important;
    border-color: #e4e7ec !important;
}
html[data-theme="light"] .vc-share-chip.is-error {
    border-color: rgba(217, 45, 32, 0.42) !important;
}
html[data-theme="light"] .vc-share-chip-status,
html[data-theme="light"] .vc-share-chip-retry {
    border-left-color: rgba(16, 24, 40, 0.12) !important;
}
html[data-theme="light"] .vc-share-select {
    background: #ffffff !important;
    border-color: #d0d5dd !important;
}
html[data-theme="light"] .vc-share-select:hover:not(:disabled) {
    background: #f2f4f7 !important;
}
html[data-theme="light"] .vcs-grid {
    stroke: rgba(16, 24, 40, 0.09) !important;
}
html[data-theme="light"] .vcs-cursor {
    stroke: rgba(16, 24, 40, 0.25) !important;
}

html[data-theme="light"] .collapsible-toggle {
    background: #ffffff !important;
    border-color: #d0d5dd !important;
    color: #344054 !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
}

html[data-theme="light"] .collapsible-toggle:hover {
    background: #f8fafc !important;
    border-color: #98a2b3 !important;
    color: #101828 !important;
}

html[data-theme="light"] .collapsible.is-open .collapsible-toggle {
    color: #101828 !important;
}

html[data-theme="light"] .ovr-tbl thead th {
    color: #667085 !important;
    border-bottom-color: #d0d5dd !important;
}

html[data-theme="light"] .ovr-tbl tbody td {
    color: #475467 !important;
    border-bottom-color: #edf0f5 !important;
}

html[data-theme="light"] .ovr-tbl tbody tr:hover {
    background: #f8fafc !important;
}

html[data-theme="light"] .ovr-tbl tbody tr.is-self {
    background: #fff7ed !important;
}

html[data-theme="light"] .ovr-tbl tbody tr.is-self td,
html[data-theme="light"] .ovr-tbl tbody tr.is-self .ovr-name a {
    color: #101828 !important;
}

html[data-theme="light"] .ovr-tbl .ovr-name a {
    color: #344054 !important;
}

html[data-theme="light"] .peer-scatter-tip {
    color: #101828 !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border-color: rgba(16, 24, 40, 0.12) !important;
    box-shadow: 0 18px 42px rgba(16, 24, 40, 0.16) !important;
}

html[data-theme="light"] .peer-scatter-tip .pst-meta {
    color: #667085 !important;
}

html[data-theme="light"] .oi-panel {
    gap: 0.6rem !important;
    padding: 0.9rem !important;
}

html[data-theme="light"] .oi-row {
    background: #ffffff !important;
    border-color: #e4e7ec !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.035) !important;
}

html[data-theme="light"] .oi-row:hover {
    background: #f8fafc !important;
    border-color: rgba(37, 99, 235, 0.24) !important;
}

html[data-theme="light"] .oi-bar-track {
    background: #eef2f7 !important;
}

html[data-theme="light"] .oi-row[data-direction="under"] .oi-multiplier {
    color: #667085 !important;
}

html[data-theme="light"] .feat-card-tier.tier-titan {
    color: #991b1b;
    background: #fee2e2;
    border-color: #fecaca;
}

html[data-theme="light"] .browse-count,
html[data-theme="light"] .filter-bar-label {
    color: rgba(16, 24, 40, 0.7);
}

html[data-theme="light"] .peer-rank {
    color: rgba(16, 24, 40, 0.68);
}

html[data-theme="light"] .dashboard-preview {
    background: #ffffff;
    color: #101828;
    border: 1px solid rgba(16, 24, 40, 0.08);
    box-shadow: 0 24px 70px rgba(16, 24, 40, 0.12), 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

html[data-theme="light"] .dashboard-chrome {
    background: #f8fafc;
    border-bottom-color: rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .chrome-url {
    background: #ffffff;
    color: #667085;
    border: 1px solid rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .dashboard-body {
    background: #ffffff;
    color: #101828;
}

html[data-theme="light"] .dashboard-sidebar {
    background: #f8fafc;
    border-right: 1px solid rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .sidebar-icon {
    color: #667085;
}

html[data-theme="light"] .sidebar-icon:hover,
html[data-theme="light"] .sidebar-icon.active {
    background: #edf4ff;
    color: #2563eb;
}

html[data-theme="light"] .dashboard-main {
    background: #f8fafc;
}

html[data-theme="light"] .dash-continuous,
html[data-theme="light"] .rank-card,
html[data-theme="light"] .news-timeline,
html[data-theme="light"] .cp-header,
html[data-theme="light"] .cp-card,
html[data-theme="light"] .dash-card,
html[data-theme="light"] .audience-chart,
html[data-theme="light"] .pa-card,
html[data-theme="light"] .talent-graph,
html[data-theme="light"] .pshape-chart {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
    color: #101828;
}

/* The .pa-card portfolio panel, the .talent-graph radar, and the peer radars
   (.pshape-chart — patent tech-focus + capital-deployment) read flat in light
   mode: .pa-card/.talent-graph were white-on-off-white with no elevation, and
   the peer radars were worse — their base fill is a near-transparent white, so
   they showed the #F7F8FB floor straight through and looked like a grey slab
   (QA-flagged). The rule above repaints them solid white; add the site's
   standard subtle card shadow so they lift off the #F7F8FB floor. Other profile
   cards already carry their own elevation. Dark mode keeps its
   lighter-card-on-darker-bg look. */
html[data-theme="light"] .talent-graph,
html[data-theme="light"] .pa-card,
html[data-theme="light"] .pshape-chart {
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06);
}

html[data-theme="light"] .dash-map-container {
    background: linear-gradient(180deg, #eef5ff 0%, #f8fbff 100%);
}

html[data-theme="light"] .dash-map-svg .continent,
html[data-theme="light"] .dash-map-svg .country {
    fill: #d7e0ec;
    stroke: #f8fafc;
}

/* Portfolio market-map (investor profiles, Section 01): the inline land paths
   are filled/stroked with translucent white for the dark map, so the whole
   landmass disappears on the light surface — leaving the tier dots floating on
   blank space. Flip to translucent dark ink so the continents read on light. */
html[data-theme="light"] .mm-map-countries path {
    fill: rgba(16, 24, 40, 0.09);
    stroke: rgba(16, 24, 40, 0.18);
}
html[data-theme="light"] .mm-map-countries path.mm-map-active {
    fill: rgba(37, 99, 235, 0.18);
}

/* Comparison/portfolio metric + region dropdowns (.cmp-region): the inline
   style fills the pill with translucent white and draws a hardcoded white
   chevron, so on the light card it's a near-invisible white pill with no
   visible arrow. Give it a faint dark-tint fill, a readable border, and a
   dark chevron in light mode. (Text already uses var(--white) = dark ink.) */
html[data-theme="light"] .cmp-region {
    background-color: rgba(16, 24, 40, 0.04);
    border-color: rgba(16, 24, 40, 0.18);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%23475467' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/></svg>");
}
html[data-theme="light"] .cmp-region:hover {
    background-color: rgba(16, 24, 40, 0.07);
}

/* Profile-card watermark (.origin-card/.mm-card/.cmp-card ::after) uses the
   white Dealroom logo, which vanishes on the light cards. Swap to the darkblue
   logo in light mode so the watermark stays faintly visible. (PNG export forces
   a dark frame, so the export's white watermark is unaffected by this.) */
html[data-theme="light"] .origin-card::after,
html[data-theme="light"] .mm-card::after,
html[data-theme="light"] .cmp-card::after {
    background-image: url("/https/dealroom.co/dealroom-logo-darkblue.svg");
}

/* Partner/client/network logo grids across the landing pages force their logos
   to white (filter: brightness(0) invert(1)) for the dark theme, so the logos
   vanish on the light surface. Drop the invert in light mode so they render as
   dark monochrome marks. One leveraged override (out-specifies the per-page
   inline rules); chart embeds / OG social cards are always-dark and excluded. */
/* Target only the <img> (".X img" for wrapper classes, "img.X" for the class
   applied directly to the image) — never a wrapper div, or we'd darken the
   whole logo cell (incl. its white background), not just the mark. */
html[data-theme="light"] .logo-item img, html[data-theme="light"] img.logo-item,
html[data-theme="light"] .client-logo img, html[data-theme="light"] img.client-logo,
html[data-theme="light"] .network-logo img, html[data-theme="light"] img.network-logo,
html[data-theme="light"] .hero-partners-logos img, html[data-theme="light"] img.hero-partners-logos,
html[data-theme="light"] .media-ticker-logo img, html[data-theme="light"] img.media-ticker-logo,
html[data-theme="light"] .trusted-logos img, html[data-theme="light"] img.trusted-logos,
html[data-theme="light"] .toc-partner img, html[data-theme="light"] img.toc-partner,
html[data-theme="light"] .prosus-logo img, html[data-theme="light"] img.prosus-logo,
html[data-theme="light"] .wipo-logo img, html[data-theme="light"] img.wipo-logo {
    /* !important so this theme-layer override beats the per-page inline rules
       (some, e.g. .hero-logos img.wipo-logo, match this specificity and load
       later in the cascade). */
    filter: brightness(0) !important;
}

/* Spinout-submission "Data Template" panel (.tab-card on the wipo + elsevier
   pages) is dark-first: background: var(--white) (→ dark surface in light) with
   a var(--navy) heading (→ pale, invisible in light) — a dark card with hidden
   text in light mode. Re-pin to a pale card with dark ink. */
html[data-theme="light"] .tab-card {
    background: var(--navy);
}
html[data-theme="light"] .tab-card h2 {
    color: var(--white);
}

html[data-theme="light"] .dash-triple-grid,
html[data-theme="light"] .dash-col + .dash-col,
html[data-theme="light"] .signal-item,
html[data-theme="light"] .sector-row,
html[data-theme="light"] .startup-row,
html[data-theme="light"] .rank-row,
html[data-theme="light"] .aud-founder-row + .aud-founder-row,
html[data-theme="light"] .aud-match-row + .aud-match-row,
html[data-theme="light"] .aud-mock-header {
    border-color: rgba(16, 24, 40, 0.09);
}

html[data-theme="light"] .dash-col-title,
html[data-theme="light"] .sector-meta,
html[data-theme="light"] .signal-meta,
html[data-theme="light"] .startup-time,
html[data-theme="light"] .startup-metric-label-single,
html[data-theme="light"] .rank-card-hint,
html[data-theme="light"] .rank-sub,
html[data-theme="light"] .rank-num,
html[data-theme="light"] .cp-card-sub,
html[data-theme="light"] .cp-head-sub,
html[data-theme="light"] .cp-kpi-label,
html[data-theme="light"] .aud-mock-title,
html[data-theme="light"] .aud-founder-meta,
html[data-theme="light"] .aud-founder-tag,
html[data-theme="light"] .aud-match-meta,
html[data-theme="light"] .aud-match-score .lbl,
html[data-theme="light"] .aud-filter-pill {
    color: #667085;
}

html[data-theme="light"] .signal-title,
html[data-theme="light"] .sector-name,
html[data-theme="light"] .startup-name,
html[data-theme="light"] .startup-metric-single,
html[data-theme="light"] .startup-metric-value,
html[data-theme="light"] .rank-card-title,
html[data-theme="light"] .rank-name,
html[data-theme="light"] .rank-value,
html[data-theme="light"] .cp-name,
html[data-theme="light"] .cp-card-title,
html[data-theme="light"] .cp-kpi-val,
html[data-theme="light"] .cp-sw-val,
html[data-theme="light"] .cp-rev-big,
html[data-theme="light"] .welcome-text,
html[data-theme="light"] .stat-label,
html[data-theme="light"] .stat-value,
html[data-theme="light"] .news-title,
html[data-theme="light"] .chart-title,
html[data-theme="light"] .aud-founder-name,
html[data-theme="light"] .aud-bar-label,
html[data-theme="light"] .aud-bar-value,
html[data-theme="light"] .aud-match-name {
    color: #101828;
}

html[data-theme="light"] .signal-title strong,
html[data-theme="light"] .alert-title strong {
    color: #2563eb;
}

/* Homepage dashboard experiment: keep app preview surfaces readable when
   light mode swaps the global --white/--navy tokens for page-level theming. */
html[data-theme="light"] .rank-card-header,
html[data-theme="light"] .rank-list,
html[data-theme="light"] .rank-row,
html[data-theme="light"] .news-timeline,
html[data-theme="light"] .cp-mafia-row,
html[data-theme="light"] .cp-pat-row {
    background: #ffffff;
}

html[data-theme="light"] .rank-card-header {
    border-bottom: 1px solid rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .rank-card-title,
html[data-theme="light"] .rank-name,
html[data-theme="light"] .rank-value,
html[data-theme="light"] .news-title,
html[data-theme="light"] .cp-mafia-name,
html[data-theme="light"] .cp-mafia-funding,
html[data-theme="light"] .cp-pat-title,
html[data-theme="light"] .cp-orig-num {
    color: #101828;
}

html[data-theme="light"] .rank-card-hint,
html[data-theme="light"] .rank-num,
html[data-theme="light"] .rank-sub,
html[data-theme="light"] .news-meta,
html[data-theme="light"] .news-time,
html[data-theme="light"] .cp-mafia-meta,
html[data-theme="light"] .cp-pat-date {
    color: #667085;
}

html[data-theme="light"] .rank-list {
    background: #f8fafc;
}

html[data-theme="light"] .rank-row:hover {
    background: #f9fafb;
}

html[data-theme="light"] .news-filter {
    background: #ffffff;
    border-color: #d0d5dd;
    color: #344054;
}

html[data-theme="light"] .news-filter:hover {
    border-color: #98a2b3;
    color: #101828;
}

html[data-theme="light"] .news-filter.active {
    background: #101828;
    border-color: #101828;
    color: #ffffff;
}

html[data-theme="light"] .news-marker {
    background: #ffffff;
}

html[data-theme="light"] .news-item[data-type="headline"] .news-marker {
    background: #101828;
    border-color: #101828;
}

html[data-theme="light"] .news-item[data-type="headline"] .news-marker::after {
    background: #ffffff;
}

html[data-theme="light"] .cp-mafia-funding {
    background: #f4ebff;
    color: #6941c6;
}

html[data-theme="light"] .signal-avatar.icon,
html[data-theme="light"] .startup-logo,
html[data-theme="light"] .stat-label-icon,
html[data-theme="light"] .cp-badge {
    background: #eef2f7;
    color: #2563eb;
}

html[data-theme="light"] .global-network {
    background: #f6f8fb;
}

html[data-theme="light"] .clients,
html[data-theme="light"] .testimonials {
    background: #ffffff;
}

html[data-theme="light"] .clients {
    border-top: 1px solid rgba(16, 24, 40, 0.06);
    border-bottom: 1px solid rgba(16, 24, 40, 0.06);
}

html[data-theme="light"] .testimonial-card {
    background: #f8fafc;
    border-color: rgba(16, 24, 40, 0.1);
    box-shadow: 0 12px 34px rgba(16, 24, 40, 0.05);
}

html[data-theme="light"] .testimonial-header,
html[data-theme="light"] .testimonial-name {
    color: #101828;
}

html[data-theme="light"] .testimonial-quote,
html[data-theme="light"] .testimonial-company,
html[data-theme="light"] .testimonials-label,
html[data-theme="light"] .clients-label {
    color: #667085;
}

html[data-theme="light"] .aud-card {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
    box-shadow: 0 18px 48px rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .aud-card:hover {
    border-color: rgba(37, 99, 235, 0.24);
}

html[data-theme="light"] .aud-headline {
    color: #101828;
}

html[data-theme="light"] .aud-mock {
    background: #f8fafc;
    border-color: rgba(16, 24, 40, 0.1);
}

html[data-theme="light"] .aud-filter-pill,
html[data-theme="light"] .aud-founder-tag {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
}

html[data-theme="light"] .aud-founder-avatar {
    border-color: #ffffff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08), 0 6px 16px rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] .aud-signal-badge.new {
    background: #EFF4FF;
    color: #1849A9;
}

html[data-theme="light"] .aud-signal-badge.hot {
    background: #FEF3F2;
    color: #B42318;
}

html[data-theme="light"] .aud-kicker.vc { color: #2563eb; }
html[data-theme="light"] .aud-kicker.public { color: #3154c7; }
html[data-theme="light"] .aud-kicker.corp { color: #7c3aed; }
html[data-theme="light"] .aud-kicker.build { color: var(--eyebrow); }

html[data-theme="light"] .aud-free-pill {
    background: rgba(245, 158, 11, 0.13);
    color: #b45309;
}

html[data-theme="light"] .aud-match-score {
    color: #b45309;
}

html[data-theme="light"] .aud-bar-track,
html[data-theme="light"] .sector-signal-bar-container {
    background: #e8edf5;
}

html[data-theme="light"] .aud-bar-row.yours .aud-bar-label,
html[data-theme="light"] .aud-bar-row.yours .aud-bar-value {
    color: #047857;
}

html[data-theme="light"] .aud-bar-row.yours .aud-bar-fill {
    background: linear-gradient(90deg, #059669, #10B981);
}

html[data-theme="light"] .aud-bubble-stage {
    background:
        radial-gradient(circle at 28% 24%, rgba(59, 130, 246, 0.12), transparent 52%),
        radial-gradient(circle at 78% 75%, rgba(16, 185, 129, 0.1), transparent 55%),
        linear-gradient(180deg, #ffffff, #f5f7fb);
    border: 1px solid rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .aud-bubble-stage::before {
    background-image: radial-gradient(rgba(59, 130, 246, 0.18) 1px, transparent 1.4px);
    opacity: 0.22;
}

html[data-theme="light"] .aud-radar-legend span {
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(37, 99, 235, 0.18);
    color: #1849A9;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}

html[data-theme="light"] .aud-edge {
    stroke: rgba(37, 99, 235, 0.24);
}

html[data-theme="light"] .aud-node-label {
    fill: #ffffff;
}

html[data-theme="light"] .aud-node-val,
html[data-theme="light"] .aud-hub-label {
    fill: #DBEAFE;
}

html[data-theme="light"] .screenshot-wrapper,
html[data-theme="light"] .feature-visual,
html[data-theme="light"] .integration-visual,
html[data-theme="light"] .signals-visual {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
    box-shadow: 0 20px 55px rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .browser-chrome,
html[data-theme="light"] .screenshot-header,
html[data-theme="light"] .integration-window-bar {
    background: #f8fafc;
    border-bottom-color: rgba(16, 24, 40, 0.09);
}

html[data-theme="light"] .browser-bar,
html[data-theme="light"] .screenshot-url,
html[data-theme="light"] .integration-window-url {
    background: #ffffff;
    border: 1px solid rgba(16, 24, 40, 0.08);
    color: #667085;
}

html[data-theme="light"] .mock-ui,
html[data-theme="light"] .mock-dashboard,
html[data-theme="light"] .mock-alerts,
html[data-theme="light"] .radar-mock,
html[data-theme="light"] .signals-table-mock {
    background: #f8fafc;
    color: #101828;
}

html[data-theme="light"] .mock-sidebar {
    background: #ffffff;
    border-right-color: rgba(16, 24, 40, 0.09);
}

html[data-theme="light"] .mock-sidebar-icon {
    background: #edf2f7;
}

html[data-theme="light"] .mock-sidebar-icon.active {
    background: #2563eb;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.22);
}

html[data-theme="light"] .mock-search,
html[data-theme="light"] .mock-card,
html[data-theme="light"] .mock-table,
html[data-theme="light"] .mock-alert-item,
html[data-theme="light"] .mock-map-panel,
html[data-theme="light"] .integration-window,
html[data-theme="light"] .integration-stat,
html[data-theme="light"] .integration-route-inline {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
    color: #101828;
    box-shadow: 0 10px 26px rgba(16, 24, 40, 0.05);
}

html[data-theme="light"] .mock-table-header,
html[data-theme="light"] .mock-tag,
html[data-theme="light"] .mock-alert-tab,
html[data-theme="light"] .mock-alert-tag,
html[data-theme="light"] .mock-score-bar,
html[data-theme="light"] .rank-default,
html[data-theme="light"] .signal-bar-container {
    background: #edf2f7;
    color: #667085;
}

html[data-theme="light"] .mock-alert-tab.active {
    background: #2563eb;
    color: #ffffff;
}

html[data-theme="light"] .mock-title,
html[data-theme="light"] .mock-company-name,
html[data-theme="light"] .mock-alert-title,
html[data-theme="light"] .radar-chart-title,
html[data-theme="light"] .table-title,
html[data-theme="light"] .integration-copy,
html[data-theme="light"] .integration-copy h3,
html[data-theme="light"] .integration-panel-title,
html[data-theme="light"] .integration-stat strong,
html[data-theme="light"] .integration-route-inline {
    color: #101828;
}

html[data-theme="light"] .mock-card-title,
html[data-theme="light"] .mock-alert-meta,
html[data-theme="light"] .mock-alert-time,
html[data-theme="light"] .mock-map-stat-label,
html[data-theme="light"] .radar-chart-sub,
html[data-theme="light"] .radar-tooltip-metric,
html[data-theme="light"] .integration-copy p,
html[data-theme="light"] .integration-eyebrow,
html[data-theme="light"] .integration-stat span,
html[data-theme="light"] .signals-table th,
html[data-theme="light"] .signals-table td,
html[data-theme="light"] .signal-feature {
    color: #667085;
}

html[data-theme="light"] .mock-company-logo {
    background: #f8fafc;
    box-shadow: inset 0 0 0 1px rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .mock-table-row,
html[data-theme="light"] .signals-table th,
html[data-theme="light"] .signals-table td {
    border-color: rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .mock-map {
    background:
        radial-gradient(circle at 24% 22%, rgba(37, 99, 235, 0.1), transparent 28%),
        linear-gradient(180deg, #eef5ff 0%, #f8fbff 100%);
}

html[data-theme="light"] .mock-map-grid {
    background-image:
        linear-gradient(rgba(37, 99, 235, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, 0.07) 1px, transparent 1px);
}

html[data-theme="light"] .mock-map-continent {
    background: #d6e0ec;
    opacity: 0.9;
}

html[data-theme="light"] .radar-legend-chip {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
    color: #344054;
    box-shadow: 0 6px 16px rgba(16, 24, 40, 0.04);
}

html[data-theme="light"] .radar-legend-chip:hover {
    background: #f8fafc;
    border-color: rgba(37, 99, 235, 0.18);
}

html[data-theme="light"] #solutionsRadar .radar-grid {
    fill: rgba(37, 99, 235, 0.025);
    stroke: rgba(16, 24, 40, 0.1);
}

html[data-theme="light"] #solutionsRadar .radar-axis {
    stroke: rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] #solutionsRadar .radar-label {
    fill: rgba(16, 24, 40, 0.72);
}

html[data-theme="light"] #solutionsRadar .radar-label-sub {
    fill: rgba(16, 24, 40, 0.5);
}

html[data-theme="light"] #solutionsRadar .radar-dot {
    stroke: #ffffff;
}

html[data-theme="light"] .radar-tooltip {
    background: rgba(255, 255, 255, 0.98);
    border-color: rgba(16, 24, 40, 0.12);
    color: #101828;
    box-shadow: 0 12px 34px rgba(16, 24, 40, 0.13);
}

html[data-theme="light"] .radar-tooltip-value {
    color: #101828;
}

html[data-theme="light"] .features-dark {
    background: #f6f8fb;
    border-top-color: rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .feature-content h2 {
    color: #101828;
}

html[data-theme="light"] .feature-content p {
    color: #667085;
}

html[data-theme="light"] .integration-visual {
    background: linear-gradient(135deg, #f7fbff 0%, #eef5ff 56%, #f8fafc 100%);
    border-color: rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .integration-showcase {
    background:
        radial-gradient(circle at 16% 18%, rgba(37, 99, 235, 0.13), transparent 30%),
        radial-gradient(circle at 84% 24%, rgba(20, 184, 166, 0.12), transparent 28%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.78) 0%, rgba(248, 250, 252, 0.92) 100%);
    border-color: rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .integration-showcase::before {
    background-image:
        linear-gradient(rgba(37, 99, 235, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, 0.06) 1px, transparent 1px);
    opacity: 0.2;
}

html[data-theme="light"] .integration-chip {
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(16, 24, 40, 0.1);
    color: #344054;
    box-shadow: 0 8px 18px rgba(16, 24, 40, 0.06);
}

html[data-theme="light"] .integration-window {
    box-shadow: 0 28px 68px rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] .integration-badge,
html[data-theme="light"] .table-filter {
    background: rgba(37, 99, 235, 0.09);
    border-color: rgba(37, 99, 235, 0.16);
    color: #2563eb;
}

html[data-theme="light"] .signals-visual {
    background: #ffffff;
}

html[data-theme="light"] .signals-table tr:hover {
    background: rgba(37, 99, 235, 0.04);
}

html[data-theme="light"] .toc-sidebar {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(16, 24, 40, 0.11);
    box-shadow: 0 18px 46px rgba(16, 24, 40, 0.09);
}

html[data-theme="light"] .toc-sidebar::-webkit-scrollbar-thumb {
    background: rgba(16, 24, 40, 0.16);
}

html[data-theme="light"] .toc-eyebrow,
html[data-theme="light"] .toc-link,
html[data-theme="light"] .toc-link--sub,
html[data-theme="light"] .toc-num,
html[data-theme="light"] .toc-bullet {
    color: #667085;
}

html[data-theme="light"] .toc-link:hover,
html[data-theme="light"] .toc-link.active,
html[data-theme="light"] .toc-link--sub.active {
    background: rgba(37, 99, 235, 0.08);
    color: #101828;
}

html[data-theme="light"] .toc-link.active .toc-num,
html[data-theme="light"] .toc-link.active .toc-bullet,
html[data-theme="light"] .toc-link--sub.active .toc-bullet {
    color: #2563eb;
}

html[data-theme="light"] .toc-fab {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(16, 24, 40, 0.12);
    color: #667085;
    box-shadow: 0 14px 32px rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] .toc-fab:hover {
    background: #edf4ff;
    color: #2563eb;
}

html[data-theme="light"] .hero-chart {
    background: rgba(255, 255, 255, 0.94);
    border-color: rgba(16, 24, 40, 0.1);
    box-shadow: 0 22px 54px rgba(16, 24, 40, 0.1);
}

html[data-theme="light"] .hero-chart .pl-title {
    fill: #101828;
}

html[data-theme="light"] .hero-chart .pl-subtitle,
html[data-theme="light"] .hero-chart .pl-caption {
    fill: #667085;
}

html[data-theme="light"] .hero-chart .pl-hint,
html[data-theme="light"] .hero-chart .pl-axis {
    fill: #98a2b3;
}

html[data-theme="light"] .hero-chart .pl-ytick {
    fill: #98a2b3;
}

html[data-theme="light"] .hero-chart .pl-gridline {
    stroke: rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .hero-chart .pl-dot-label {
    fill: #344054;
}

html[data-theme="light"] .hero-chart .pl-controls,
html[data-theme="light"] .hero-chart .pl-png {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] .hero-chart .pl-pill,
html[data-theme="light"] .hero-chart .pl-png {
    color: #667085;
}

html[data-theme="light"] .hero-chart .pl-pill:hover,
html[data-theme="light"] .hero-chart .pl-png:hover {
    color: #101828;
    background: rgba(242, 165, 94, 0.12);
    border-color: rgba(242, 165, 94, 0.34);
}

html[data-theme="light"] .hero-chart .pl-pill.is-active {
    background: rgba(242, 165, 94, 0.16);
    color: #b45309;
}

html[data-theme="light"] .hero-chart::after {
    background-image: url('/https/dealroom.co/images/dealroom-logo-darkblue.svg');
    opacity: 0.16;
}

html[data-theme="light"] .exits-section {
    background:
        radial-gradient(900px 320px at 16% 0%, rgba(62, 100, 224, 0.08), transparent 72%),
        radial-gradient(760px 300px at 96% 100%, rgba(62, 100, 224, 0.045), transparent 74%),
        #f6f8fc;
    border-top-color: rgba(16, 24, 40, 0.1);
    border-bottom-color: rgba(16, 24, 40, 0.1);
}

html[data-theme="light"] .exits-section .control-bar,
html[data-theme="light"] .exits-section .ts-card,
html[data-theme="light"] .exits-section .exits-country-card,
html[data-theme="light"] .exits-section .exits-bubble-card {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
    box-shadow: 0 18px 44px rgba(16, 24, 40, 0.055);
}

html[data-theme="light"] .exits-section .control-bar {
    box-shadow: 0 12px 30px rgba(16, 24, 40, 0.045);
}

html[data-theme="light"] .exits-section .ts-card-title,
html[data-theme="light"] .exits-section .exits-country-title,
html[data-theme="light"] .exits-section .exits-bubble-title,
html[data-theme="light"] .exits-section .exits-ts-meta strong {
    color: #101828;
}

html[data-theme="light"] .exits-section .control-bar-label,
html[data-theme="light"] .exits-section .exits-country-meta,
html[data-theme="light"] .exits-section .exits-bubble-meta,
html[data-theme="light"] .exits-section .exits-ts-meta span,
html[data-theme="light"] .exits-section .exits-region-label,
html[data-theme="light"] .exits-section .exits-type-filter-label,
html[data-theme="light"] .exits-section .exits-vc-method-hint,
html[data-theme="light"] .exits-section .exits-type-filter-hint {
    color: #667085;
}

html[data-theme="light"] .exits-section .module-toggle {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.12);
    box-shadow: inset 0 0 0 1px rgba(16, 24, 40, 0.015);
}

html[data-theme="light"] .exits-section .module-toggle button {
    color: #4b5565;
}

html[data-theme="light"] .exits-section .module-toggle button:hover {
    color: #101828;
    background: rgba(62, 100, 224, 0.06);
}

html[data-theme="light"] .exits-section .module-toggle button.active {
    background: rgba(62, 100, 224, 0.16);
    color: #1f3fb9;
}

html[data-theme="light"] .exits-section .exits-type-pill,
html[data-theme="light"] .exits-section .exits-region-pill,
html[data-theme="light"] .exits-section .exits-year-pill {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.12);
    color: #667085;
}

html[data-theme="light"] .exits-section .exits-type-pill:hover,
html[data-theme="light"] .exits-section .exits-region-pill:hover,
html[data-theme="light"] .exits-section .exits-year-pill:hover {
    color: #101828;
    border-color: rgba(62, 100, 224, 0.28);
}

html[data-theme="light"] .exits-section .exits-region-pill.active,
html[data-theme="light"] .exits-section .exits-year-pill.active {
    background: rgba(62, 100, 224, 0.12);
    border-color: rgba(62, 100, 224, 0.36);
    color: #1f3fb9;
}

html[data-theme="light"] .data-screenshot-wrapper,
html[data-theme="light"] .data-mock,
html[data-theme="light"] .revenue-stat,
html[data-theme="light"] .revenue-chart-card,
html[data-theme="light"] .val-panel,
html[data-theme="light"] .val-round,
html[data-theme="light"] .compare-viz,
html[data-theme="light"] .rank-card .preview,
html[data-theme="light"] .ga-card .preview,
html[data-theme="light"] .mm-preview,
html[data-theme="light"] .fund-blurb {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
    color: #101828;
}

html[data-theme="light"] .data-screenshot-wrapper,
html[data-theme="light"] .compare-viz,
html[data-theme="light"] .fund-blurb {
    box-shadow: 0 20px 55px rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .data-browser-chrome {
    background: #f8fafc;
    border-bottom-color: rgba(16, 24, 40, 0.09);
}

html[data-theme="light"] .data-browser-bar {
    background: #ffffff;
    border: 1px solid rgba(16, 24, 40, 0.08);
    color: #667085;
}

html[data-theme="light"] .data-feature-section.bg-alt {
    background: #f6f8fb;
}

html[data-theme="light"] .data-feature-content h3,
html[data-theme="light"] .revenue-company-name,
html[data-theme="light"] .revenue-stat-value,
html[data-theme="light"] .revenue-chart-title,
html[data-theme="light"] .val-chart-title,
html[data-theme="light"] .compare-side-head h3,
html[data-theme="light"] .rank-card h3,
html[data-theme="light"] .mm-title,
html[data-theme="light"] .fund-blurb p strong {
    color: #101828;
}

html[data-theme="light"] .data-feature-content p,
html[data-theme="light"] .data-feature-bullet,
html[data-theme="light"] .revenue-company-meta,
html[data-theme="light"] .revenue-stat-label,
html[data-theme="light"] .val-chart-sub,
html[data-theme="light"] .compare-card-region,
html[data-theme="light"] .rank-card .date,
html[data-theme="light"] .ga-card .body .meta,
html[data-theme="light"] .mm-tag,
html[data-theme="light"] .fund-blurb p {
    color: #667085;
}

html[data-theme="light"] .revenue-company-logo {
    background: linear-gradient(135deg, #eef2f7, #e6edf7);
    border-color: rgba(16, 24, 40, 0.1);
    color: #2563eb;
}

html[data-theme="light"] .revenue-chart-dot {
    stroke: #ffffff;
}

html[data-theme="light"] .revenue-chart-label {
    fill: rgba(16, 24, 40, 0.68);
}

html[data-theme="light"] .rank-card .preview,
html[data-theme="light"] .ga-card .preview,
html[data-theme="light"] .mm-preview {
    background: #f8fafc;
}

html[data-theme="light"] .compare-viz {
    background:
        linear-gradient(90deg, rgba(62, 100, 224, 0.07), transparent 35%, transparent 65%, rgba(62, 100, 224, 0.08)),
        #ffffff;
}

html[data-theme="light"] .breakout-panel,
html[data-theme="light"] .compare-panel,
html[data-theme="light"] .rank-panel,
html[data-theme="light"] .pre-timeline {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.1);
    box-shadow: 0 16px 42px rgba(16, 24, 40, 0.06);
}

html[data-theme="light"] .breakout-feed {
    background:
        linear-gradient(90deg, rgba(62, 100, 224, 0.09), transparent 24%),
        #f8fafc;
    border-color: rgba(16, 24, 40, 0.09);
}

html[data-theme="light"] .breakout-feed::before {
    background: linear-gradient(90deg, rgba(248, 250, 252, 0.98), transparent);
}

html[data-theme="light"] .breakout-feed::after {
    background: linear-gradient(270deg, rgba(248, 250, 252, 0.98), transparent);
}

html[data-theme="light"] .breakout-card {
    border-right-color: rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .breakout-card:hover {
    background: rgba(37, 99, 235, 0.04);
}

html[data-theme="light"] .breakout-meta,
html[data-theme="light"] .compare-meta,
html[data-theme="light"] .breakout-kicker,
html[data-theme="light"] .breakout-founder,
html[data-theme="light"] .rank-panel-meta,
html[data-theme="light"] .rank-panel-sub,
html[data-theme="light"] .map-region-label,
html[data-theme="light"] .map-count,
html[data-theme="light"] .map-foot {
    color: #667085;
}

html[data-theme="light"] .breakout-name,
html[data-theme="light"] .rank-panel-title,
html[data-theme="light"] .pre-timeline-title {
    color: #101828;
}

html[data-theme="light"] .map-card {
    background:
        radial-gradient(circle at 20% 18%, rgba(62, 100, 224, 0.045), transparent 30%),
        radial-gradient(circle at 80% 22%, rgba(62, 100, 224, 0.035), transparent 28%),
        #ffffff;
    border-color: rgba(16, 24, 40, 0.11);
}

html[data-theme="light"] .mn-node-label {
    fill: #344054;
    stroke: rgba(255, 255, 255, 0.94);
    stroke-width: 4px;
}

html[data-theme="light"] .mn-node-label.is-og {
    fill: #101828;
}

html[data-theme="light"] .mn-node-label.is-mafia,
html[data-theme="light"] .mn-node-label.is-vc,
html[data-theme="light"] .mn-node-label.is-outcome {
    fill: #344054;
}

html[data-theme="light"] .mn-node-label.is-alum {
    fill: #667085;
}

html[data-theme="light"] .mn-link {
    stroke: rgba(37, 99, 235, 0.14);
}

html[data-theme="light"] .mn-link.is-rel-founder {
    stroke: rgba(62, 100, 224, 0.34);
}

html[data-theme="light"] .mn-link.is-rel-employee {
    stroke: rgba(37, 99, 235, 0.28);
}

html[data-theme="light"] .mn-link.is-rel-acquisition,
html[data-theme="light"] .mn-link.is-rel-spinout {
    stroke: rgba(217, 119, 6, 0.28);
}

html[data-theme="light"] .mn-link.is-rel-investor {
    stroke: rgba(124, 58, 237, 0.3);
}

html[data-theme="light"] .map-card .mn-tip {
    background: rgba(255, 255, 255, 0.98);
    border-color: rgba(16, 24, 40, 0.12);
    color: #101828;
    box-shadow: 0 14px 32px rgba(16, 24, 40, 0.14);
}

html[data-theme="light"] .map-card .mn-tip .row,
html[data-theme="light"] .map-card .mn-tip .row.people {
    color: #667085;
}

html[data-theme="light"] .map-card .mn-tip .row.mafia {
    color: #3154c7;
}

html[data-theme="light"] .map-card .mn-tip .row.og {
    color: #b45309;
}

html[data-theme="light"] .rank-tooltip {
    background: rgba(255, 255, 255, 0.985);
    border-color: rgba(16, 24, 40, 0.14);
    color: #475467;
    box-shadow: 0 18px 48px rgba(16, 24, 40, 0.18), 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

html[data-theme="light"] .rank-tip-title,
html[data-theme="light"] .rank-tip-meta b,
html[data-theme="light"] .rank-tip-subhead,
html[data-theme="light"] .rank-tip-company strong {
    color: #101828;
}

html[data-theme="light"] .rank-tip-meta {
    color: #667085;
    border-top-color: rgba(16, 24, 40, 0.09);
    border-bottom-color: rgba(16, 24, 40, 0.09);
}

html[data-theme="light"] .rank-tip-stat span,
html[data-theme="light"] .rank-tip-company span,
html[data-theme="light"] .rank-tip-founder,
html[data-theme="light"] .rank-tip-note,
html[data-theme="light"] .rank-tip-loading {
    color: #667085;
}

html[data-theme="light"] .rank-tip-company:nth-child(odd) {
    background: #f6f8fb;
}

html[data-theme="light"] .rank-tip-company {
    border: 1px solid transparent;
}

html[data-theme="light"] .rank-tip-list {
    scrollbar-color: rgba(16, 24, 40, 0.2) transparent;
}

html[data-theme="light"] .map-foot .dot.alum {
    background: rgba(16, 24, 40, 0.35);
}

html[data-theme="light"] .map-foot a.full,
html[data-theme="light"] .map-foot button.full,
html[data-theme="light"] .map-region-btn,
html[data-theme="light"] .rank-outcome-toggle,
html[data-theme="light"] .rank-sort,
html[data-theme="light"] .rank-search {
    background: #ffffff;
    border-color: rgba(16, 24, 40, 0.12);
    color: #344054;
}

html[data-theme="light"] .map-region-btn:hover,
html[data-theme="light"] .map-region-btn.is-active,
html[data-theme="light"] .rank-outcome-toggle button.active,
html[data-theme="light"] .rank-sort button.active {
    background: #edf4ff;
    border-color: rgba(37, 99, 235, 0.26);
    color: #2563eb;
}

html[data-theme="light"] .rank-outcome-toggle button,
html[data-theme="light"] .rank-sort button {
    color: #667085;
}

html[data-theme="light"] .rank-outcome-toggle button:hover,
html[data-theme="light"] .rank-sort button:hover {
    color: #101828;
}

html[data-theme="light"] .hf-arrow {
    color: #667085;
}

html[data-theme="light"] .page-header {
    background: rgba(255, 255, 255, 0.9);
    border-bottom-color: rgba(16, 24, 40, 0.1);
    box-shadow: 0 16px 36px rgba(16, 24, 40, 0.06);
}

html[data-theme="light"] .page-title {
    color: #101828;
}

html[data-theme="light"] .tier-legend {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(16, 24, 40, 0.12);
    box-shadow: 0 16px 42px rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] .tier-legend h4,
html[data-theme="light"] .tier-reset,
html[data-theme="light"] .tier-item {
    color: #667085;
}

html[data-theme="light"] .tier-reset:hover,
html[data-theme="light"] .tier-item:hover,
html[data-theme="light"] .tier-item.active {
    color: #101828;
}

html[data-theme="light"] .tier-item:hover,
html[data-theme="light"] .tier-item.active {
    background: rgba(37, 99, 235, 0.08);
    border-color: rgba(37, 99, 235, 0.22);
}

html[data-theme="light"] .map-overlay-hint {
    color: rgba(16, 24, 40, 0.45);
}

html[data-theme="light"] .map-overlay-hint strong {
    color: rgba(16, 24, 40, 0.72);
}

html[data-theme="light"] .map-overlay-sep {
    color: rgba(16, 24, 40, 0.28);
}

/* Full-screen Ecosystems network page ---------------------- */
html[data-theme="light"] .view-toggle {
    background: #FFFFFF;
    border-color: #D0D5DD;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}

html[data-theme="light"] .view-toggle button {
    color: #475467;
}

html[data-theme="light"] .view-toggle button:hover {
    background: #F2F4F7;
    color: #101828;
}

html[data-theme="light"] .view-toggle button.active,
html[data-theme="light"] .solution-tab.active {
    background: #3E64E0;
    border-color: #3E64E0;
    color: #FFFFFF !important;
    box-shadow: 0 8px 20px rgba(62, 100, 224, 0.22);
}

html[data-theme="light"] .chart-category-btn.active {
    color: #FFFFFF !important;
}

html[data-theme="light"] .chart-source-bar .chart-source-pills,
html[data-theme="light"] .chart-source-bar-hero .chart-source-pills {
    background: #FFFFFF;
    border-color: #D0D5DD;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}

html[data-theme="light"] .chart-source-bar .chart-source-pill,
html[data-theme="light"] .chart-source-bar-hero .chart-source-pill {
    display: inline-flex;
    align-items: center;
    color: #475467;
}

html[data-theme="light"] .chart-source-bar .chart-source-pill:hover,
html[data-theme="light"] .chart-source-bar-hero .chart-source-pill:hover {
    background: #F2F4F7;
    color: #101828;
}

html[data-theme="light"] .chart-source-bar .chart-source-pill.active,
html[data-theme="light"] .chart-source-bar-hero .chart-source-pill.active {
    background: #3E64E0;
    color: #FFFFFF;
    box-shadow: 0 8px 18px rgba(62, 100, 224, 0.22);
}

html[data-theme="light"] .table-view,
html[data-theme="light"] .all-locations-view,
html[data-theme="light"] .sidebar,
html[data-theme="light"] .compare-bar {
    background: #FFFFFF;
    border-color: #E4E7EC;
}

html[data-theme="light"] .eco-table thead,
html[data-theme="light"] .all-locations-toolbar,
html[data-theme="light"] .sidebar-header,
html[data-theme="light"] .search-container,
html[data-theme="light"] .region-filters,
html[data-theme="light"] .hero-metrics {
    background: #F8FAFC;
    border-color: #E4E7EC;
}

html[data-theme="light"] .eco-table th {
    color: #667085;
    border-bottom-color: #E4E7EC;
}

html[data-theme="light"] .eco-table th:hover,
html[data-theme="light"] .eco-table .eco-hub,
html[data-theme="light"] .eco-table .eco-num,
html[data-theme="light"] .loc-index-cell,
html[data-theme="light"] .hero-metrics-title,
html[data-theme="light"] .hero-metric-value,
html[data-theme="light"] .ecosystem-item-name {
    color: #101828;
}

html[data-theme="light"] .eco-table td {
    color: #475467;
    border-bottom-color: #EAECF0;
}

html[data-theme="light"] .eco-table tbody tr:hover {
    background: #F4F7FF;
}

html[data-theme="light"] .eco-table tbody tr.selected {
    background: #EEF4FF;
}

html[data-theme="light"] .all-locations-search input,
html[data-theme="light"] .search-input,
html[data-theme="light"] .all-locations-filter-group,
html[data-theme="light"] .all-locations-partner-toggle,
html[data-theme="light"] .filter-btn,
html[data-theme="light"] .hero-metric,
html[data-theme="light"] .global-stat,
html[data-theme="light"] .ecosystem-item,
html[data-theme="light"] .compare-chip {
    background: #FFFFFF;
    border-color: #D0D5DD;
    color: #101828;
}

html[data-theme="light"] .all-locations-search input::placeholder,
html[data-theme="light"] .search-input::placeholder,
html[data-theme="light"] .all-locations-count,
html[data-theme="light"] .eco-table .eco-muted,
html[data-theme="light"] .hero-metrics-sub,
html[data-theme="light"] .hero-metric-label,
html[data-theme="light"] .global-stat-label,
html[data-theme="light"] .ecosystem-item-meta,
html[data-theme="light"] .ecosystem-item-score-label,
html[data-theme="light"] .sidebar-header p,
html[data-theme="light"] .region-filters label,
html[data-theme="light"] .ecosystem-list-header span {
    color: #667085;
}

html[data-theme="light"] .all-locations-filter-group button,
html[data-theme="light"] .filter-btn {
    color: #475467;
}

html[data-theme="light"] .all-locations-filter-group button:hover,
html[data-theme="light"] .filter-btn:hover,
html[data-theme="light"] .ecosystem-item:hover {
    border-color: #98A2B3;
    color: #101828;
}

html[data-theme="light"] .all-locations-filter-group button.active,
html[data-theme="light"] .filter-btn.active {
    background: #3E64E0;
    border-color: #3E64E0;
    color: #FFFFFF;
}

html[data-theme="light"] .all-locations-partner-toggle:has(input:checked) {
    background: #FFF7ED;
    border-color: #FDBA74;
    color: #9A3412;
}

html[data-theme="light"] .all-locations-table .loc-index-bar {
    background: #E4E7EC;
}

html[data-theme="light"] .map-container {
    background:
        radial-gradient(ellipse 120% 80% at 50% 120%, rgba(59, 130, 246, 0.10), transparent 50%),
        radial-gradient(ellipse 80% 60% at 20% 20%, rgba(139, 92, 246, 0.07), transparent 40%),
        radial-gradient(ellipse 60% 40% at 80% 30%, rgba(16, 185, 129, 0.08), transparent 40%),
        #F7F8FB;
}

html[data-theme="light"] .world-map svg path.country {
    fill: #E7ECF5;
    stroke: rgba(71, 84, 103, 0.28);
}

html[data-theme="light"] .world-map svg path.country:hover,
html[data-theme="light"] .world-map svg path.country.highlighted {
    fill: rgba(62, 100, 224, 0.38);
    stroke: rgba(62, 100, 224, 0.62);
}

html[data-theme="light"] .ecosystem-popup {
    background: #FFFFFF;
    border-color: #D0D5DD;
    box-shadow: 0 20px 60px rgba(16, 24, 40, 0.18);
}

html[data-theme="light"] .popup-close {
    background: #F2F4F7;
    color: #475467;
}

html[data-theme="light"] .popup-close:hover {
    background: #E4E7EC;
    color: #101828;
}

html[data-theme="light"] .table-view,
html[data-theme="light"] .all-locations-table-wrap,
html[data-theme="light"] .ecosystem-list {
    scrollbar-color: rgba(152, 162, 179, 0.78) #F2F4F7;
}

@media (max-width: 900px) {
    html[data-theme="light"] .all-locations-toolbar {
        background: #F8FAFC !important;
        border-bottom-color: #E4E7EC !important;
        gap: 0.55rem;
        padding: 0.75rem 0.875rem !important;
    }

    html[data-theme="light"] .all-locations-filter-group {
        width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    html[data-theme="light"] .all-locations-filter-group::-webkit-scrollbar {
        display: none;
    }

    html[data-theme="light"] .all-locations-filter-group button {
        flex: 0 0 auto;
    }

    html[data-theme="light"] .chart-source-bar-hero {
        width: 100%;
    }

    html[data-theme="light"] .chart-source-bar-hero .chart-source-pills {
        display: flex;
        width: min(100%, 340px);
    }

    html[data-theme="light"] .chart-source-bar-hero .chart-source-pill {
        flex: 1 1 0;
        justify-content: center;
        text-align: center;
    }
}

html[data-theme="light"] .cta-section h1,
html[data-theme="light"] .cta-section h2,
html[data-theme="light"] .cta-section h3,
html[data-theme="light"] .newsletter-section h2 {
    color: #ffffff;
}

html[data-theme="light"] .cta-section p,
html[data-theme="light"] .cta-section .section-subtitle,
html[data-theme="light"] .newsletter-section p {
    color: rgba(255, 255, 255, 0.86);
}

html[data-theme="light"] .newsletter-form input {
    color: #ffffff;
}

html[data-theme="light"] .cta-section .btn-outline,
html[data-theme="light"] .cta-section .btn-ghost,
html[data-theme="light"] .cta-section .btn-outline-white {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.42);
    background: rgba(255, 255, 255, 0.08);
}

html[data-theme="light"] .cta-section .btn-outline:hover,
html[data-theme="light"] .cta-section .btn-ghost:hover,
html[data-theme="light"] .cta-section .btn-outline-white:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.62);
}

html[data-theme="light"] .theme-toggle {
    color: rgba(16, 24, 40, 0.72);
    background: rgba(16, 24, 40, 0.035);
    border-color: rgba(16, 24, 40, 0.12);
}

html[data-theme="light"] .theme-toggle:hover,
html[data-theme="light"] .theme-toggle:focus-visible {
    color: #101828;
    background: rgba(16, 24, 40, 0.075);
    border-color: rgba(16, 24, 40, 0.18);
}

.theme-toggle {
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--border-light, rgba(255, 255, 255, 0.1));
    border-radius: 999px;
    color: var(--text-light, rgba(255, 255, 255, 0.72));
    background: rgba(255, 255, 255, 0.035);
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
    color: var(--white, #fff);
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--border-mid, rgba(255, 255, 255, 0.2));
    outline: none;
}

.theme-toggle:active {
    transform: scale(0.97);
}

.theme-toggle svg {
    width: 1rem;
    height: 1rem;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 768px) {
    .theme-toggle {
        width: 2rem;
        height: 2rem;
        margin-right: 0.25rem;
    }
}

/* ============================================================
   Home-page light-mode pass (light-as-default polish)
   Addresses pure-white floor, card elevation, two-tone headings,
   inline-link gimmick, off-palette dots/badges, vertical rhythm,
   and dark-mode-only news-card chrome.
   ============================================================ */

html[data-theme="light"] body {
    background: #F7F8FB;
    color: #101828;
}

/* Hero: keep visually elevated against the new off-white floor.
   NOTE: hero spacing (padding/min-height) is intentionally NOT set here.
   The bare .hero selector matches every page, so any spacing here bleeds
   into other pages' heroes in light mode only and makes them taller than
   in dark. Home-page hero spacing now lives in index.html, scoped to the
   home hero; all other pages keep light spacing == dark spacing. */
html[data-theme="light"] .hero,
html[data-theme="light"] .hero.is-entity {
    background:
        radial-gradient(ellipse at 50% 0%, rgba(37, 99, 235, 0.10) 0%, rgba(255, 255, 255, 0) 58%),
        #FFFFFF;
}

/* Depth on the hero email capture. The dark-mode stack is in index.html; on
   the light hero the ink is navy rather than black, and the top highlight is
   dropped — a white inset on a white pill does nothing. What is left is a tight
   contact shadow for thickness and one wide ambient pass to lift it off the
   gradient behind it. Deliberately restrained: this sits under an h1. */
html[data-theme="light"] .hero-form {
    background: #FFFFFF;
    border: 1px solid #D0D5DD;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.06),
        0 12px 26px -12px rgba(16, 24, 40, 0.16);
}

html[data-theme="light"] .hero-form:focus-within {
    border-color: rgba(62, 100, 224, 0.45);
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.06),
        0 16px 32px -12px rgba(16, 24, 40, 0.2),
        0 0 0 3px rgba(62, 100, 224, 0.12);
}

html[data-theme="light"] .hero-input {
    color: #101828;
}

html[data-theme="light"] .hero-input::placeholder {
    color: rgba(16, 24, 40, 0.48);
}

/* Global-network section (One graph, four lenses) */
html[data-theme="light"] .global-network {
    background: #F7F8FB;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

html[data-theme="light"] .global-network-header h2,
html[data-theme="light"] .global-network-header p {
    color: #101828;
}
html[data-theme="light"] .global-network-header p {
    color: rgba(16, 24, 40, 0.68);
}

/* The four "audience" cards: white with proper elevation language */
html[data-theme="light"] .aud-card {
    background: #FFFFFF;
    border: 1px solid #E4E7EC;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06);
}

html[data-theme="light"] .aud-card:hover {
    border-color: #D0D5DD;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 8px 24px rgba(16, 24, 40, 0.08);
}

/* Mute the kicker text so the dots carry the signal, not the label */
html[data-theme="light"] .aud-kicker {
    color: #475467 !important;
}

/* Dots: keep distinct colors but pull intensity down for white bg */
html[data-theme="light"] .aud-kicker.vc .dot { background: #2563EB; }
html[data-theme="light"] .aud-kicker.public .dot { background: #059669; }
html[data-theme="light"] .aud-kicker.corp .dot { background: #7C3AED; }
html[data-theme="light"] .aud-kicker.build .dot { background: #D97706; }

/* Headline + body inside the cards */
html[data-theme="light"] .aud-headline {
    color: #101828;
}

/* Mock chrome inside cards */
html[data-theme="light"] .aud-mock,
html[data-theme="light"] .aud-mock-header,
html[data-theme="light"] .aud-mock-title {
    color: #475467;
}

/* Builder card match rows: avatar, name, score */
html[data-theme="light"] .aud-match-row + .aud-match-row {
    border-top-color: #E4E7EC;
}

html[data-theme="light"] .aud-match-avatar {
    background: #F2F4F7;
    color: #475467;
}

html[data-theme="light"] .aud-match-avatar.has-logo {
    background: #FFFFFF;
    border: 1px solid #E4E7EC;
}

html[data-theme="light"] .aud-match-name {
    color: #101828;
}

html[data-theme="light"] .aud-match-meta {
    color: #667085;
}

html[data-theme="light"] .aud-match-score {
    color: #B54708;
}

html[data-theme="light"] .aud-match-score .lbl {
    color: #98A2B3;
}

/* FREE pill — proper badge token, reusable */
html[data-theme="light"] .aud-free-pill {
    background: #FFF4E5;
    color: #B54708;
    font-weight: 600;
    text-transform: uppercase;
}

/* Testimonials section */
html[data-theme="light"] .testimonials {
    background: #FFFFFF;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

html[data-theme="light"] .testimonial-card {
    background: #FFFFFF;
    border: 1px solid #E4E7EC;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06);
}

/* Kill the inline-purple-link-in-body-copy gimmick */
html[data-theme="light"] .text-highlight {
    color: inherit;
    font-weight: 600;
}

/* Latest News section — fix two-tone heading + dark-mode-only card chrome */
html[data-theme="light"] .latest-news {
    background: #F7F8FB;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

html[data-theme="light"] .latest-news-header h2 {
    color: #101828;
}

html[data-theme="light"] .latest-news-header h2 .highlight {
    color: inherit;
}

html[data-theme="light"] .see-all-link {
    color: #3E64E0;
}

html[data-theme="light"] .see-all-link:hover {
    color: #101828;
}

html[data-theme="light"] .news-card {
    background: #FFFFFF;
    border: 1px solid #E4E7EC;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06);
}

html[data-theme="light"] .news-card:hover {
    border-color: #D0D5DD;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 8px 24px rgba(16, 24, 40, 0.08);
}

html[data-theme="light"] .news-card-image {
    background: #F2F4F7;
}

html[data-theme="light"] .news-card-title {
    color: #101828;
}

html[data-theme="light"] .news-card-date {
    color: #667085;
}

html[data-theme="light"] .news-card-excerpt {
    color: #475467;
}

/* News-card category chip: tint background + solid text, both derived from the
   per-kind --tag triplet (set on .news-card-tag--* in index.html). Defined here
   in the token layer; the triplet already swaps light/dark, so one rule covers
   both modes. */
.news-card-tag {
    background: rgba(var(--tag, var(--tag-news)), 0.14);
    color: rgb(var(--tag, var(--tag-news)));
}

html[data-theme="light"] .news-loading {
    color: #667085;
}

html[data-theme="light"] .news-loading-spinner {
    border-color: rgba(16, 24, 40, 0.08);
    border-top-color: #3E64E0;
}

/* CTA band before footer */
html[data-theme="light"] .cta {
    background: #FFFFFF;
    border-top: 1px solid #E4E7EC;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

html[data-theme="light"] .cta h2 {
    color: #101828;
}

html[data-theme="light"] .cta-subtitle {
    color: #475467;
}

html[data-theme="light"] .cta-form {
    background: #FFFFFF;
    border: 1px solid #D0D5DD;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

/* Country / ecosystem partner strip — soften fade edges on light */
html[data-theme="light"] .partner-marquee-track,
html[data-theme="light"] .partner-marquee {
    --marquee-fade: #F7F8FB;
}

html[data-theme="light"] .ecosystem-partners {
    border-top-color: #E4E7EC;
}

html[data-theme="light"] .ecosystem-partners-label,
html[data-theme="light"] .four-lenses-eyebrow {
    color: #667085;
}

/* Reusable badge tokens — extend FREE pill style for "NEW", "HOT" etc. */
html[data-theme="light"] .badge-soft-amber {
    background: #FFF4E5;
    color: #B54708;
}
html[data-theme="light"] .badge-soft-blue {
    background: #EFF4FF;
    color: #1849A9;
}
html[data-theme="light"] .badge-soft-green {
    background: #ECFDF3;
    color: #027A48;
}

/* ============================================================
   Resources subpages light-mode pass
   (resources hub, power-law, multiples, vc-investment-dashboard,
    journey-value-add, startup-mafias, market-maps)
   Same tokens as home: #F7F8FB body, white cards w/ 1px border +
   2-layer shadow, muted neutral kickers, demoted in-headline accent.
   ============================================================ */

/* Universal: align section/body bg with home off-white floor. */
html[data-theme="light"] section,
html[data-theme="light"] .section,
html[data-theme="light"] .cards-section,
html[data-theme="light"] .hero,
html[data-theme="light"] .cta-section {
    background-color: transparent;
}

/* B3: eyebrows/kickers — one semantic voice in light mode -------
   (was the orange→gray demotion; now the brand-blue --eyebrow token,
   keeping the uppercase micro-label typography of the light redesign) */
html[data-theme="light"] .hero-eyebrow,
html[data-theme="light"] .section-eyebrow,
html[data-theme="light"] .pl-card-eyebrow,
html[data-theme="light"] .head-kicker,
html[data-theme="light"] .mm-modal-kicker,
html[data-theme="light"] .seg-eyebrow,
html[data-theme="light"] .seg-kicker,
html[data-theme="light"] .rr-eyebrow,
html[data-theme="light"] .ctrl-eyebrow,
html[data-theme="light"] .chart-eyebrow,
html[data-theme="light"] .conv-eyebrow,
html[data-theme="light"] .source-eyebrow {
    color: var(--eyebrow) !important;
    font-family: var(--font-sans) !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

/* Dark-mode counterpart: the same eyebrow/kicker set rides the --eyebrow
   token (pale blue) instead of each page's local orange. Page styles that
   were rewritten to var(--eyebrow, #84ADFF) agree with this; the block also
   catches pages whose local rules predate the recolor. No !important: a
   page that deliberately restyles its eyebrow at higher specificity wins. */
html[data-theme="dark"] .hero-eyebrow,
html[data-theme="dark"] .section-eyebrow,
html[data-theme="dark"] .pl-card-eyebrow,
html[data-theme="dark"] .head-kicker,
html[data-theme="dark"] .mm-modal-kicker,
html[data-theme="dark"] .seg-eyebrow,
html[data-theme="dark"] .seg-kicker,
html[data-theme="dark"] .rr-eyebrow,
html[data-theme="dark"] .ctrl-eyebrow,
html[data-theme="dark"] .chart-eyebrow,
html[data-theme="dark"] .conv-eyebrow,
html[data-theme="dark"] .source-eyebrow {
    color: var(--eyebrow);
}

/* B2: kill in-headline accent tint on heroes ----------------- */
html[data-theme="light"] h1 em,
html[data-theme="light"] h2 em,
html[data-theme="light"] h3 em,
html[data-theme="light"] h4 em,
html[data-theme="light"] .section-title em,
html[data-theme="light"] .hero-title em,
html[data-theme="light"] h1 .highlight,
html[data-theme="light"] h2 .highlight,
html[data-theme="light"] h3 .highlight,
html[data-theme="light"] .highlight {
    color: inherit !important;
    font-style: normal;
    font-weight: 600;
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
            background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Inside headings, the 600 above produced a two-weight headline
   ("Resources & data" — regular base, semibold accent word). One voice:
   heading accents follow the heading's own weight. Bare .highlight in body
   copy keeps the 600 from B2 — there the weight IS the emphasis once the
   tint is stripped. */
html[data-theme="light"] h1 em,
html[data-theme="light"] h2 em,
html[data-theme="light"] h3 em,
html[data-theme="light"] h4 em,
html[data-theme="light"] .section-title em,
html[data-theme="light"] .hero-title em,
html[data-theme="light"] h1 .highlight,
html[data-theme="light"] h2 .highlight,
html[data-theme="light"] h3 .highlight {
    font-weight: inherit;
}

/* B6: breadcrumbs - softer separators, dark last segment ----- */
html[data-theme="light"] .breadcrumbs {
    color: #667085;
}
html[data-theme="light"] .breadcrumbs a {
    color: #667085;
}
html[data-theme="light"] .breadcrumbs a:hover {
    color: #101828;
}
html[data-theme="light"] .breadcrumbs span[aria-hidden="true"] {
    color: #D0D5DD;
}
html[data-theme="light"] .breadcrumbs [aria-current="page"] {
    color: #101828;
}

/* B4: card elevation token for subpage card families --------- */
html[data-theme="light"] .pl-card,
html[data-theme="light"] .mm-card,
html[data-theme="light"] .seg-card,
html[data-theme="light"] .chart-card,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .rr-card,
html[data-theme="light"] .rank-card,
html[data-theme="light"] .map-card,
html[data-theme="light"] .report-card,
html[data-theme="light"] .snapshot-card,
html[data-theme="light"] .resource-card,
html[data-theme="light"] .mm-modal-card,
html[data-theme="light"] .conv-card,
html[data-theme="light"] .compare-viz {
    background: #FFFFFF !important;
    border: 1px solid #E4E7EC !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06) !important;
}

html[data-theme="light"] .pl-card:hover,
html[data-theme="light"] .mm-card:hover,
html[data-theme="light"] .seg-card:hover,
html[data-theme="light"] .rr-card:hover,
html[data-theme="light"] .rank-card:hover,
html[data-theme="light"] .map-card:hover,
html[data-theme="light"] .snapshot-card:hover,
html[data-theme="light"] .resource-card:hover {
    border-color: #D0D5DD !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 8px 24px rgba(16, 24, 40, 0.08) !important;
}

/* Override existing pl-card gradient that bakes in dark surface */
html[data-theme="light"] .pl-card {
    background: #FFFFFF !important;
}

/* B5: filter chip contrast pass — unselected vs selected ----- */
html[data-theme="light"] .mm-pill,
html[data-theme="light"] .seg-pill,
html[data-theme="light"] .filter-pill,
html[data-theme="light"] .ctrl-pill,
html[data-theme="light"] .example-pill,
html[data-theme="light"] .mm-source-pill {
    background: #F2F4F7;
    border: 1px solid transparent;
    color: #475467;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

html[data-theme="light"] .mm-pill:hover,
html[data-theme="light"] .seg-pill:hover,
html[data-theme="light"] .filter-pill:hover,
html[data-theme="light"] .ctrl-pill:hover,
html[data-theme="light"] .example-pill:hover,
html[data-theme="light"] .mm-source-pill:hover {
    background: #E4E7EC;
    color: #101828;
}

html[data-theme="light"] .mm-pill.active,
html[data-theme="light"] .seg-pill.active,
html[data-theme="light"] .filter-pill.active,
html[data-theme="light"] .ctrl-pill.active,
html[data-theme="light"] .example-pill.active,
html[data-theme="light"] .mm-source-pill.active,
html[data-theme="light"] .mm-pill[aria-pressed="true"],
html[data-theme="light"] .filter-pill[aria-pressed="true"] {
    background: #3E64E0;
    border-color: #3E64E0;
    color: #FFFFFF;
}

/* Pill counts (small chip badges inside pills) */
html[data-theme="light"] .mm-pill-count {
    background: rgba(16, 24, 40, 0.08);
    color: inherit;
}
html[data-theme="light"] .mm-pill.active .mm-pill-count,
html[data-theme="light"] .mm-pill[aria-pressed="true"] .mm-pill-count {
    background: rgba(255, 255, 255, 0.22);
    color: #FFFFFF;
}

/* B7: TOC surface treatment (Startup Journey + Founder Mafias) */
/* Only the sidebar is the card. .toc-nav (the inner <ul>) must NOT get its
   own border/background/shadow — that drew a second card outline inside the
   sidebar (a line under the "On this page" eyebrow and one below the last
   item). The list sits inside the sidebar card. */
html[data-theme="light"] .toc-sidebar {
    background: #FFFFFF;
    border: 1px solid #E4E7EC;
    border-radius: 12px;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06);
}

html[data-theme="light"] .toc-link,
html[data-theme="light"] .toc-sidebar a {
    color: #475467;
}

html[data-theme="light"] .toc-link:hover,
html[data-theme="light"] .toc-sidebar a:hover {
    color: #101828;
    background: #F2F4F7;
}

html[data-theme="light"] .toc-link.active,
html[data-theme="light"] .toc-sidebar a.active,
html[data-theme="light"] .toc-link[aria-current="true"] {
    background: #EEF0FE;
    color: #3E64E0;
    font-weight: 600;
}

/* Data tables (Power Law, Multiples) — zebra + sticky head ---- */
html[data-theme="light"] .report-table thead,
html[data-theme="light"] .seg-table thead,
html[data-theme="light"] .cohort-table thead,
html[data-theme="light"] table.report-table thead {
    background: #F9FAFB;
    border-bottom: 1px solid #E4E7EC;
}

html[data-theme="light"] .report-table thead th,
html[data-theme="light"] .seg-table thead th,
html[data-theme="light"] .cohort-table thead th {
    color: #475467;
    font-weight: 600;
}

html[data-theme="light"] .report-table tbody tr:nth-child(even),
html[data-theme="light"] .seg-table tbody tr:nth-child(even),
html[data-theme="light"] .cohort-table tbody tr:nth-child(even) {
    background: #FAFBFC;
}

html[data-theme="light"] .report-table tbody tr:hover,
html[data-theme="light"] .seg-table tbody tr:hover,
html[data-theme="light"] .cohort-table tbody tr:hover {
    background: #F4F6F9;
}

/* CTA band (subpages) closer to home spec.
   In light mode this is a rounded, floating card (not the dark full-bleed band),
   so it needs breathing room above it — otherwise its top edge butts flush
   against the "More data" rail / preceding section (0px gap). margin-top floats
   the card clear of the content above; dark mode keeps its border-top divider. */
html[data-theme="light"] .cta-band {
    background: #FFFFFF;
    border: 1px solid #E4E7EC;
    border-radius: 16px;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06);
    margin-top: 2.5rem;
}

html[data-theme="light"] .cta-band h2,
html[data-theme="light"] .cta-band .cta-title {
    color: #101828;
}

/* B10: Footer — give it a tonal closure block instead of pure white.
   Scoped to the real site footer (<footer> element / .site-footer) only.
   The bare `.footer` class was removed: it is the generic footer/source line
   class used by 250+ standalone chart pages, and as those charts adopt the
   master nav (which pulls in this stylesheet) the grey block was "creeping"
   into every chart's source row. Chart footers must stay transparent. */
html[data-theme="light"] footer,
html[data-theme="light"] .site-footer {
    background: #F2F4F7;
    border-top: 1px solid #E4E7EC;
}

/* Snapshot strip kickers (Founder Mafias) — neutral gray */
html[data-theme="light"] .snapshot-kicker,
html[data-theme="light"] .source-bar-label {
    color: #667085 !important;
}

/* Outline / secondary button — stronger border on white -------
   .btn-ghost is deliberately NOT in this group: ghost is the borderless
   variant (see the canonical rule near the top of this file). */
html[data-theme="light"] .btn-outline,
html[data-theme="light"] .btn-secondary {
    border-color: #D0D5DD;
    background: #FFFFFF;
    color: #101828;
}
html[data-theme="light"] .btn-outline:hover,
html[data-theme="light"] .btn-secondary:hover {
    border-color: #98A2B3;
    background: #F9FAFB;
    color: #101828;
}
html[data-theme="light"] .btn-ghost {
    color: #101828;
}

/* ============================================================
   Data subpages light-mode pass
   (/our-data, /companies, /investors, /people, /sectors,
    /universities, /our-data/taxonomy, /countries)
   Plugs dark-mode CSS leaks where component cards/inputs were
   authored with rgba(0,0,0) / rgba(255,255,255) values.
   ============================================================ */

/* Critical: .entity-card on /sectors and /universities renders
   rgba(0,0,0,.25) over the off-white page. Override to the
   home card token. */
html[data-theme="light"] .entity-card {
    background: #FFFFFF !important;
    border: 1px solid #E4E7EC !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06);
}
html[data-theme="light"] .entity-card:hover {
    background: #FFFFFF !important;
    border-color: #D0D5DD !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 8px 24px rgba(16, 24, 40, 0.08);
}

/* /our-data .ownership-card — translucent white + huge dark
   shadow built for a navy page. */
html[data-theme="light"] .ownership-card {
    background: #FFFFFF !important;
    border: 1px solid #E4E7EC !important;
    box-shadow:
        0 1px 3px rgba(16, 24, 40, 0.06),
        0 8px 24px rgba(16, 24, 40, 0.06) !important;
}

/* /our-data .comparison-card + .talent-card + .revenue-chart-card
   — unify with the same token. */
html[data-theme="light"] .comparison-card,
html[data-theme="light"] .talent-card,
html[data-theme="light"] .revenue-chart-card {
    background: #FFFFFF !important;
    border: 1px solid #E4E7EC !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06) !important;
}

/* /companies + /people + /investors .dir-card — the var(--navy-light)
   token resolves to #f5f7fb in light, basically the page color.
   Flip to white with a real border. */
html[data-theme="light"] .dir-card {
    background: #FFFFFF !important;
    border: 1px solid #E4E7EC !important;
    color: #101828 !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06) !important;
}
html[data-theme="light"] .dir-card:hover {
    background: #FFFFFF !important;
    border-color: #D0D5DD !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 8px 24px rgba(16, 24, 40, 0.08) !important;
}

html[data-theme="light"] .dir-card-name,
html[data-theme="light"] .dir-card-title {
    color: #101828;
}

html[data-theme="light"] .dir-card-pill {
    background: #EDE9FE !important;
    border-color: #C4B5FD !important;
    color: #4C1D95 !important;
    font-weight: 700;
}

html[data-theme="light"] .dir-card-arrow {
    color: #98A2B3;
}

html[data-theme="light"] .dir-card:hover .dir-card-arrow {
    color: #3E64E0;
}

@media (max-width: 720px) {
    html[data-theme="light"] .dir-card {
        position: relative;
        align-items: flex-start;
        padding-right: 2.75rem !important;
    }

    html[data-theme="light"] .dir-card-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.25rem;
    }

    html[data-theme="light"] .dir-card-name-wrap {
        width: 100%;
    }

    html[data-theme="light"] .dir-card-name {
        display: -webkit-box;
        overflow: hidden;
        text-overflow: clip;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    html[data-theme="light"] .dir-card-pill {
        font-size: 0.66rem;
        line-height: 1.1;
        padding: 0.18rem 0.48rem;
    }

    html[data-theme="light"] .dir-card-arrow {
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%);
    }

    html[data-theme="light"] .dir-card:hover .dir-card-arrow {
        transform: translateY(-50%) translateX(2px);
    }
}

/* /companies filter selects — invisible at default contrast */
html[data-theme="light"] .dir-sort select,
html[data-theme="light"] .dir-filter select,
html[data-theme="light"] select.dir-control {
    background-color: #FFFFFF !important;
    border: 1px solid #D0D5DD !important;
    color: #101828 !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%23475467' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/></svg>") !important;
}
html[data-theme="light"] .dir-sort select:hover,
html[data-theme="light"] .dir-filter select:hover {
    border-color: #98A2B3 !important;
    background-color: #F9FAFB !important;
}
html[data-theme="light"] .dir-sort select:focus,
html[data-theme="light"] .dir-filter select:focus {
    border-color: #3E64E0 !important;
    box-shadow: 0 0 0 3px rgba(62, 100, 224, 0.18) !important;
    outline: none;
}

/* Profile-search pill (/investors, /people) — the search input
   has rgba(255,255,255,.04) bg + rgba(255,255,255,.12) border.
   Both invisible on light. */
html[data-theme="light"] .profile-search-input {
    background: #FFFFFF;
    border: 1px solid #D0D5DD;
    color: #101828;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}
html[data-theme="light"] .profile-search-input::placeholder {
    color: rgba(16, 24, 40, 0.48);
    font-weight: 400;
}
html[data-theme="light"] .profile-search-input:hover {
    border-color: #98A2B3;
    background: #FFFFFF;
}
html[data-theme="light"] .profile-search-input:focus {
    border-color: #3E64E0;
    background: #FFFFFF;
    box-shadow: 0 0 0 3px rgba(62, 100, 224, 0.18);
}
html[data-theme="light"] .profile-search-icon {
    color: #667085;
}
html[data-theme="light"] .profile-search-pop {
    background: #FFFFFF;
    border: 1px solid #E4E7EC;
    box-shadow:
        0 8px 24px rgba(16, 24, 40, 0.08),
        0 24px 48px rgba(16, 24, 40, 0.10);
    color: #101828;
}

/* .dir-loadmore "Load more" button — same dark-only chrome */
html[data-theme="light"] .dir-loadmore {
    background: #FFFFFF;
    border: 1px solid #D0D5DD;
    color: #101828;
}
html[data-theme="light"] .dir-loadmore:hover {
    background: #F9FAFB;
    border-color: #98A2B3;
}

/* Section "count line" (Showing N of M) */
html[data-theme="light"] .dir-section-meta {
    color: #667085;
}

/* ============================================================
   Broader sweep: dark-mode rgba leaks across marketing pages
   (Solutions, Power Law geo map, Ecosystems Network, mobile nav)
   ============================================================ */

/* Solutions: outline-white buttons + signals/radar legend chips */
html[data-theme="light"] .btn-outline-white {
    background: #FFFFFF;
    border: 1px solid #D0D5DD;
    color: #101828;
}
html[data-theme="light"] .btn-outline-white:hover {
    background: #F9FAFB;
    border-color: #98A2B3;
    color: #101828;
}

html[data-theme="light"] .radar-legend-chip,
html[data-theme="light"] .signals-group,
html[data-theme="light"] .signal-row {
    background: #FFFFFF;
    border: 1px solid #E4E7EC;
    color: #101828;
}
html[data-theme="light"] .radar-legend-chip:hover {
    background: #F9FAFB;
    border-color: #D0D5DD;
}

/* Power Law geo map pills and cards (power-law-investor-ranking) */
html[data-theme="light"] .pl-geo-pill {
    background: #F2F4F7;
    border: 1px solid transparent;
    color: #475467;
}
html[data-theme="light"] .pl-geo-pill:hover {
    background: #E4E7EC;
    color: #101828;
}
html[data-theme="light"] .pl-geo-pill.active,
html[data-theme="light"] .pl-geo-pill[aria-pressed="true"] {
    background: #3E64E0;
    border-color: #3E64E0;
    color: #FFFFFF;
}

html[data-theme="light"] .pl-geo-card,
html[data-theme="light"] .pl-geo-legend {
    background: #FFFFFF;
    border: 1px solid #E4E7EC;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06);
}

/* Ecosystems Network: progress bars and similar tinted strips */
html[data-theme="light"] .progress-bar,
html[data-theme="light"] .progress-track {
    background: #F2F4F7;
}

/* Mobile nav profile cards */
html[data-theme="light"] .nav-profile-link-wide {
    background: #F9FAFB;
    border-color: #E4E7EC;
}
html[data-theme="light"] .nav-profile-icon {
    background: #EEF0FE;
    color: #3E64E0;
}

/* Profile-search dropdown row type chip */
html[data-theme="light"] .profile-search-row .type,
html[data-theme="light"] .profile-search-row .ps-type {
    background: rgba(16, 24, 40, 0.06);
    color: #475467;
}

/* Catch-all: any directory-style page that uses --navy-light for cards.
   In light mode --navy-light resolves to #f5f7fb (≈ page bg), so card
   surfaces using it visually disappear. Force white where common card
   class names appear that we haven't otherwise pinned down. */
html[data-theme="light"] .profile-card,
html[data-theme="light"] .listing-card,
html[data-theme="light"] .entity-listing-card,
html[data-theme="light"] .index-card {
    background: #FFFFFF !important;
    border: 1px solid #E4E7EC !important;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, 0.04),
        0 1px 3px rgba(16, 24, 40, 0.06) !important;
}

/* GDP & Tech analysis (/gdp-tech/) — data-series + chart-surface tokens.
   USA/EU are data-encoding colours (like bullish/bearish elsewhere); grid,
   axis and band are theme-aware chart surfaces. Consumed via getComputedStyle
   so the canvas charts repaint correctly on light/dark toggle. */
html[data-theme="light"],
html:not([data-theme]) {
    --series-usa: #3E64E0;
    --series-eu: #E0524A;
    --chart-grid: rgba(16, 24, 40, 0.10);
    --chart-axis: rgba(16, 24, 40, 0.55);
    --chart-band: rgba(16, 24, 40, 0.045);
    --chart-band-border: rgba(16, 24, 40, 0.12);
    /* Categorical region palette for multi-region charts (USA/EU keep their
       signature blue/red above; these cover the remaining region pills). */
    --series-c1: #1FA89A;
    --series-c2: #D98324;
    --series-c3: #7C5CDA;
    --series-c4: #2E9E5B;
    --series-c5: #5B6B7F;
    --series-c6: #C8569E;
    --series-c7: #A88B1E;
    --series-c8: #DD6233;
    --series-c9: #1E92BD;
    --series-c10: #9C6B43;
}
html[data-theme="dark"] {
    --series-usa: #5B8DEF;
    --series-eu: #F2685C;
    --chart-grid: rgba(255, 255, 255, 0.10);
    --chart-axis: rgba(255, 255, 255, 0.55);
    --chart-band: rgba(255, 255, 255, 0.06);
    --chart-band-border: rgba(255, 255, 255, 0.16);
    --series-c1: #34C9B6;
    --series-c2: #F0A24A;
    --series-c3: #9E80F0;
    --series-c4: #44C078;
    --series-c5: #8A9AAD;
    --series-c6: #E27BBB;
    --series-c7: #D0B43A;
    --series-c8: #F0834F;
    --series-c9: #3DB4DC;
    --series-c10: #C2895E;
}


/* Investor profile · pre-existing inline accents tokenised so investor-page
   section reorders don't trip theme-guardrails on the *relocated* literals.
   Each resolves to its prior inline value, so rendering is unchanged. */
/* Funnel stage data-encoding colours (country/hub pages hero funnel + named-
   company columns). Fixed palette — same in both themes — that encodes stage
   position; not expressible as shared semantic tokens. */
:root {
    --person-deal-ink: #c4b5fd;                 /* Midas / founder-background tags */
    --cmp-hint-ink: rgba(255, 255, 255, 0.6);   /* compare line-chart "hover…" subtitle */
    --cmp-select-blue: #93c5fd;                 /* compare intro "your selection in blue" */
    --funnel-preseed: #5DD9AA;
    --funnel-seed: #34D399;
    --funnel-a: #22D3EE;
    --funnel-b: #3B82F6;
    --funnel-c: #8B5CF6;
    --funnel-unicorn: #C4B5FD;
    --funnel-deca: #F2A55E;
}

/* Sentiment pills (company + investor profiles): the dark-mode pale inks
   (#6EE7B7 / #FCA5A5 / #FCD34D) wash out on the light surface. Repaint the
   text with contrast-safe ink in light mode; tints and status dots unchanged. */
html[data-theme="light"] .sentiment-pill.is-positive { color: #047857; }
html[data-theme="light"] .sentiment-pill.is-negative { color: #b42318; }
html[data-theme="light"] .sentiment-pill.is-mixed { color: var(--amber-ink); }

/* ------------------------------------------------------------------------ *
 * Nav trial CTA — the button says what the trial contains.
 *
 * applyTrialCta() in js/mobile-nav.js rewrites the hardcoded "Book a demo" nav
 * button on every page into a two-line CTA and adds .nav-trial-cta. Everything
 * below is scoped to that class (plus the pre-JS twin noted under Geometry),
 * so .btn-primary elsewhere on the site — hero CTAs, pricing cards, form
 * submits — is untouched.
 *
 * Why a second line inside the button rather than beside it: the button has
 * ~22px of unused vertical room (42.4px inside a 64px fixed nav-inner) and
 * essentially none horizontal — at 1025-1060px .nav-right already overhangs
 * .nav-inner by 16px into the page padding. So the note goes underneath, and it
 * is sized so the LABEL still sets the button's width.
 *
 * Nothing is revealed, hovered or animated in: a phone has no hover, and the
 * resting button is what most visitors ever see.
 * ------------------------------------------------------------------------ */

/* Geometry, in the button's own em so one number is correct on every nav the
   site ships: 3.05em = 42.7px on the 14px marketing nav (today 42.4), 45.8px on
   the 15px profile nav (today 46.0), 39.6px on the 13px compact bar (today
   34.8 — a bigger tap target). A hardcoded px would have broken two of the
   three.

   The [href*=] arms are the SAME anchor before applyTrialCta() has run.
   Pre-sizing the shipped markup is what makes the load-time height change
   structurally zero instead of merely measured-zero — the box no longer depends
   on the JS running at all. They set box metrics only: no colour, no type, no
   effect on any other .btn-primary. */
nav .nav-right a.btn-primary[href*="book-demo"],
nav .nav-right a.btn-primary[href*="request-trial"],
nav .nav-right a.btn-primary.nav-trial-cta {
    box-sizing: border-box;
    min-height: 3.05em;
    padding-block: 0.3em;
}

nav .nav-right a.btn-primary.nav-trial-cta { display: inline-flex; }
a.mobile-nav-cta.nav-trial-cta { display: flex; }   /* stays full width */

nav .nav-right a.btn-primary.nav-trial-cta,
a.mobile-nav-cta.nav-trial-cta {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.04em;
    line-height: 1.2;
    text-align: center;
    /* css/nav.css .btn declares `transition: all`, which animates padding and
       font-size across breakpoints. Only colour needs to move. */
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

a.nav-trial-cta .nav-trial-cta-label {
    display: block;
    font-weight: 600;
}

a.nav-trial-cta .nav-trial-cta-note {
    display: block;
    font-size: 0.78em;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.004em;
    /* Deliberately no colour and no alpha. In dark mode this button is light
       ink on #10B981 (css/nav.css sets --teal at :root; the theme only
       overrides it under html[data-theme="light"]), which is about 2.5:1 — a
       pre-existing failure of every nav .btn-primary. Dimming this line would
       put a second, worse string on the same fill. Hierarchy comes from size
       and weight. Fixing the fill itself is a theme-layer decision, not a nav
       tweak. */
}

/* The site's responsive label pair, re-declared scoped to this button so the
   note switches with the label even on pages whose nav CSS does not define
   .full-text / .short-text. Specificity (0,3,1) clears both the global rules in
   css/nav.css and `.nav-right .short-text` in css/mobile-nav.css. The trade-off
   is that the breakpoint is pinned at 1024px rather than following a page's own
   — every nav stylesheet in the repo uses 1024px. */
a.nav-trial-cta .nav-trial-cta-label .short-text,
a.nav-trial-cta .nav-trial-cta-note .short-text { display: none; }

@media (max-width: 1024px) {
    a.nav-trial-cta .nav-trial-cta-label .full-text,
    a.nav-trial-cta .nav-trial-cta-note .full-text { display: none; }
    a.nav-trial-cta .nav-trial-cta-label .short-text,
    a.nav-trial-cta .nav-trial-cta-note .short-text { display: inline; }
}

/* Keyboard ring. Neutral, so it reads against both the filled button and the
   nav behind it, and explicit because Chromium's default `outline-style: auto`
   unions the focused element's descendants. Nothing is revealed on focus, so
   there is nothing to trap. :not([data-theme="light"]) rather than
   [data-theme="dark"] so a page that renders before the theme attribute lands
   keeps its dark-first default instead of flashing the light ring. */
html[data-theme="light"] a.nav-trial-cta:focus-visible {
    outline: 2px solid #101828;
    outline-offset: 2px;
}

html:not([data-theme="light"]) a.nav-trial-cta:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

/* --- Nav trial CTA: depth, and a quieter second line ---------------------
   The pill was flat ink-on-fill with both lines shouting equally. Two fixes,
   both small.

   DEPTH. Light mode already carried one wide brand-tinted glow and nothing
   else, which reads as a halo rather than an object. It is a three-pass stack
   now, the same shape as the hero email capture: a 1px inset top highlight so
   the fill looks convex, a tight contact shadow for thickness, and one tighter
   ambient pass. Dark mode had no shadow at all.

   THE SECOND LINE. In light mode it drops to a cool near-white, so the label
   leads and the note supports instead of the two competing. #EDF2FF is the
   lightest blue tint that still clears AA on the #3E64E0 fill at 10.9px
   (4.57:1, against the label's 5.12:1) — the step is deliberately small
   because the type is small.

   In DARK mode the note keeps the label's colour. The dark nav fill is
   var(--teal) #10B981 and white on it is already 2.54:1, so tinting the note
   down there would take a failing pairing and make it worse. The asymmetry is
   the mint fill's fault, not the note's.

   Selectors mirror the .btn-primary lists above so they outrank them; the
   colour props there are !important but box-shadow is not.
   ------------------------------------------------------------------------ */
html[data-theme="light"] .nav-right a.btn-primary.nav-trial-cta,
html[data-theme="light"] body > nav .nav-right a.btn-primary.nav-trial-cta,
html[data-theme="light"] nav.site-nav .nav-right a.btn-primary.nav-trial-cta,
html[data-theme="light"] a.mobile-nav-cta.nav-trial-cta,
html[data-theme="light"] body > nav a.mobile-nav-cta.nav-trial-cta,
html[data-theme="light"] nav.site-nav a.mobile-nav-cta.nav-trial-cta {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.22),
        0 1px 2px rgba(16, 24, 40, 0.14),
        0 8px 18px -6px rgba(62, 100, 224, 0.42);
}

html[data-theme="light"] .nav-right a.btn-primary.nav-trial-cta:hover,
html[data-theme="light"] body > nav .nav-right a.btn-primary.nav-trial-cta:hover,
html[data-theme="light"] nav.site-nav .nav-right a.btn-primary.nav-trial-cta:hover,
html[data-theme="light"] a.mobile-nav-cta.nav-trial-cta:hover,
html[data-theme="light"] body > nav a.mobile-nav-cta.nav-trial-cta:hover,
html[data-theme="light"] nav.site-nav a.mobile-nav-cta.nav-trial-cta:hover {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.24),
        0 1px 2px rgba(16, 24, 40, 0.16),
        0 10px 22px -6px rgba(62, 100, 224, 0.5);
}

html:not([data-theme="light"]) .nav-right a.btn-primary.nav-trial-cta,
html:not([data-theme="light"]) body > nav .nav-right a.btn-primary.nav-trial-cta,
html:not([data-theme="light"]) nav.site-nav .nav-right a.btn-primary.nav-trial-cta,
html:not([data-theme="light"]) a.mobile-nav-cta.nav-trial-cta,
html:not([data-theme="light"]) body > nav a.mobile-nav-cta.nav-trial-cta,
html:not([data-theme="light"]) nav.site-nav a.mobile-nav-cta.nav-trial-cta {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 1px 2px rgba(0, 0, 0, 0.3),
        0 8px 18px -6px rgba(16, 185, 129, 0.36);
}

html:not([data-theme="light"]) .nav-right a.btn-primary.nav-trial-cta:hover,
html:not([data-theme="light"]) body > nav .nav-right a.btn-primary.nav-trial-cta:hover,
html:not([data-theme="light"]) nav.site-nav .nav-right a.btn-primary.nav-trial-cta:hover,
html:not([data-theme="light"]) a.mobile-nav-cta.nav-trial-cta:hover,
html:not([data-theme="light"]) body > nav a.mobile-nav-cta.nav-trial-cta:hover,
html:not([data-theme="light"]) nav.site-nav a.mobile-nav-cta.nav-trial-cta:hover {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        0 1px 2px rgba(0, 0, 0, 0.32),
        0 10px 22px -6px rgba(16, 185, 129, 0.44);
}

html[data-theme="light"] a.nav-trial-cta .nav-trial-cta-note {
    color: #EDF2FF;
}

/* --- Dark-mode nav CTA: legible ink on the mint fill ---------------------
   js/mobile-nav.js sets the nav primary button to var(--teal, #10B981) and the
   theme only overrides --teal under html[data-theme="light"], so in dark mode
   the site's primary CTA was light ink on mint at 2.54:1 — a WCAG AA failure
   on the one button the whole funnel runs through, and the reason its second
   line could not be tinted down like the light-mode one is.

   The fill is untouched. Only the ink changes, to a near-black green that
   belongs to the same family: 6.23:1 at rest and 4.9:1 against the #0D9668
   hover, both clear of AA.

   Scoped to the nav pair on purpose. Mint is nav-only — every in-page
   .btn-primary (hero, pricing, newsletter) is blue #3B82F6 in dark mode and
   already passes, so widening this would repaint buttons that are fine.
   ------------------------------------------------------------------------ */
html:not([data-theme="light"]) body > nav .nav-right .btn-primary,
html:not([data-theme="light"]) nav.site-nav .nav-right .btn-primary,
html:not([data-theme="light"]) nav .nav-right a.btn-primary,
html:not([data-theme="light"]) body > nav .mobile-nav-cta,
html:not([data-theme="light"]) nav.site-nav .mobile-nav-cta,
html:not([data-theme="light"]) a.mobile-nav-cta {
    /* !important because css/mobile-nav.css forces `color: var(--white,#fff)
       !important` on the same selector — the same reason the light-mode
       .btn-primary block above uses it. */
    color: #06281C !important;
}
