/* Unified company research styling. Universe color identifies taxonomy;
   slate remains neutral metadata. */

.private-directory-page, .private-company-page { --private-accent: var(--color-universe-digital-trust); --private-accent-text: var(--color-universe-digital-trust-text); }

.private-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.28rem 0.62rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--private-accent) 12%, transparent);
  color: var(--private-accent-text);
  border: 1px solid color-mix(in srgb, var(--private-accent) 38%, transparent);
}
.private-badge-slate {
  background: color-mix(in srgb,var(--color-text-muted) 8%,transparent);
  color: var(--color-text-muted);
  border-color: color-mix(in srgb,var(--color-text-muted) 20%,transparent);
}
.private-company-badges { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.75rem; }

/* Directory */
.private-directory-page, .private-company-page { max-width: 1080px; margin: 0 auto; padding: 0 1.25rem 4rem; }
.private-directory-header { margin: 1.5rem 0 2.25rem; }
.private-directory-title { font-size: 2rem; line-height: 1.15; margin: 0.25rem 0 0.5rem; }
.private-directory-intro { color: var(--color-text-muted); max-width: 65ch; line-height: 1.65; }
.private-universe-section { margin-bottom: 2.5rem; }
.private-universe-title { font-size: 1.15rem; margin: 0 0 0.9rem; padding-bottom: 0.4rem; border-bottom: 1px solid var(--color-border); }
.private-card-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.private-card { min-width: 0; }
.private-card[hidden] { display: none; }
.private-company-card { min-width: 0; min-height: 370px; display: flex; flex-direction: column; gap: .9rem; padding: clamp(1.15rem, 2vw, 1.45rem); color: inherit; text-decoration: none; border: 1px solid var(--color-border); border-radius: var(--radius-card, 12px); background: var(--color-surface-1); transition: border-color .15s ease, background-color .15s ease, transform .15s ease; }
.private-company-card:hover { border-color: var(--private-accent); background: var(--color-surface-2); transform: translateY(-2px); }
.private-card-flags { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; min-height: 26px; }
.private-flag, .private-layer-flag { display: inline-flex; width: max-content; max-width: 100%; padding: .25rem .5rem; border-radius: 999px; font: 600 .65rem/1.25 "IBM Plex Mono", monospace; letter-spacing: .055em; text-transform: uppercase; }
.private-flag { color: var(--private-accent-text); border: 1px solid color-mix(in srgb,var(--private-accent) 48%,transparent); background: color-mix(in srgb,var(--private-accent) 13%,transparent); }
.private-layer-flag { overflow-wrap: anywhere; color: var(--color-text-muted); border: 1px solid var(--color-border); }
.private-company-card h3 { min-width: 0; margin: .1rem 0 0; font-size: clamp(1.35rem, 2.1vw, 1.75rem); line-height: 1.05; letter-spacing: -.035em; overflow-wrap: anywhere; }
.private-company-card > p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; margin: 0; color: var(--color-text-muted); font-size: .9rem; line-height: 1.58; }
.private-card-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: auto; padding-top: .9rem; border-top: 1px solid var(--color-border); }
.private-card-facts > span, .private-card-update { display: grid; gap: .25rem; min-width: 0; }
.private-card-facts small, .private-card-update > span { color: var(--color-text-muted); font: 600 .62rem/1.3 "IBM Plex Mono", monospace; letter-spacing: .055em; text-transform: uppercase; }
.private-card-facts strong { font-size: .78rem; line-height: 1.4; overflow-wrap: anywhere; }
.private-card-update small { color: var(--color-text-muted); font-size: .75rem; line-height: 1.4; }
.private-card-update strong { font-size: .8rem; }
.private-card-link-label { margin-top: .15rem; color: var(--private-accent-text); font: 650 .67rem/1.3 "IBM Plex Mono", monospace; letter-spacing: .045em; text-transform: uppercase; }
.private-empty { border: 1px dashed var(--color-border); border-radius: 12px; padding: 2.5rem 1.5rem; text-align: center; color: var(--color-text-muted); background: var(--color-surface-1); }
.private-directory-note { color: var(--color-text-muted); font-size: 0.8rem; margin-top: 2rem; }

.private-update-grid, .universe-gateway-grid, .research-asset-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 1rem; }
.private-update-grid .private-company-card { min-height: 340px; }
.home-private-section .private-update-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,280px),380px)); }
.home-private-section .private-company-card { position: relative; min-height: 255px; gap: 0; padding: 22px; border: 0; border-radius: 0; background: var(--color-surface-1); transform: none; }
.home-private-section .private-company-card:hover { background: var(--color-surface-2); transform: none; }
.private-update-card, .universe-gateway-card, .research-asset-card { display: flex; flex-direction: column; gap: .7rem; min-height: 190px; padding: 1.2rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface-1); color: inherit; text-decoration: none; }
.private-update-card:hover, .research-asset-card:hover { border-color: var(--private-accent); background: var(--color-surface-2); }
.private-update-card h3, .private-update-card p, .private-update-card time, .private-update-card b { margin: 0; }
.private-update-card p { color: var(--color-text-muted); line-height: 1.55; flex: 1; }
.private-update-card time { color: var(--color-text-muted); font-size: .78rem; }
.home-private-section { border-top: 1px solid var(--color-border); }

.private-directory-tools { display: grid; grid-template-columns: minmax(260px,1.4fr) repeat(2,minmax(170px,.6fr)); gap: .75rem; margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface-1); }
.private-directory-tools label { display: grid; gap: .35rem; color: var(--color-text-muted); font: 600 .66rem/1.3 "IBM Plex Mono",monospace; letter-spacing: .05em; text-transform: uppercase; }
.private-directory-tools input, .private-directory-tools select { width: 100%; min-height: 46px; padding: 0 .8rem; color: var(--color-text); border: 1px solid var(--color-border); border-radius: 7px; background: var(--color-canvas); font: inherit; letter-spacing: 0; text-transform: none; }
.private-market-directory .pagination { display: flex; align-items: center; justify-content: center; gap: .75rem; margin: 1.5rem 0; }
.private-directory-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: center; margin-top: clamp(2.5rem,6vw,5rem); padding: clamp(1.4rem,3vw,2rem); border: 1px solid var(--color-border); border-left: 3px solid var(--private-accent); border-radius: var(--radius-card, 12px); background: var(--color-surface-1); }
.private-directory-cta h2 { margin: .35rem 0 .5rem; font-size: clamp(1.35rem,3vw,2rem); }
.private-directory-cta p { max-width: 62ch; margin: 0; color: var(--color-text-muted); line-height: 1.6; }
.private-directory-cta > a { min-height: 46px; display: inline-flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 1rem; color: var(--color-canvas); background: var(--color-text); border-radius: 8px; font: 650 .72rem/1.3 "IBM Plex Mono",monospace; text-decoration: none; text-transform: uppercase; }

.universe-gateway-intro, .universe-context-copy, .universe-thesis-copy, .research-methodology-copy { max-width: 78ch; line-height: 1.75; color: var(--color-text-muted); }
.universe-context-copy > a { color: var(--color-text); font-weight: 700; text-decoration-color: var(--color-border-strong); text-underline-offset: .2em; }
.universe-context-copy > a:hover { color: var(--color-action-hover); }
.universe-gateway-intro { margin: 0 0 2rem; }
.universe-gateway-card { border-top: 3px solid var(--accent,var(--color-positive)); }
.universe-gateway-card h2, .universe-gateway-card p { margin: 0; }
.universe-gateway-card p { color: var(--color-text-muted); line-height: 1.55; flex: 1; }
.universe-gateway-card dl { display: flex; gap: 1.5rem; margin: .3rem 0; }
.universe-gateway-card dt { color: var(--color-text-muted); font-size: .72rem; text-transform: uppercase; }
.universe-gateway-card dd { margin: .15rem 0 0; font-size: 1.35rem; font-weight: 700; }
.universe-gateway-card a, .universe-research-cta a { color: var(--private-accent-text,var(--color-positive-text)); font-weight: 700; text-decoration: none; }
.universe-thesis-copy h2 { color: var(--color-text); font-size: clamp(1.8rem,4vw,3rem); line-height: 1.05; }
.universe-thesis-deck { color: var(--color-text); font-size: 1.15rem; }
.universe-research-cta { margin: 2rem 0; padding: 1.5rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface-1); }

.universe-directory { margin: 2.5rem 0; padding-top: 1.5rem; border-top: 1px solid var(--color-border); }
.universe-directory-controls { display: grid; grid-template-columns: minmax(240px,2fr) repeat(2,minmax(180px,1fr)); gap: .85rem; align-items: end; margin: 1.2rem 0; }
.universe-directory-controls label { display: grid; gap: .35rem; color: var(--color-text-muted); font-size: .78rem; }
.universe-directory-controls select { min-height: 44px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface-1); color: var(--color-text); padding: 0 .8rem; }
.universe-directory-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 1rem; }
.universe-directory-status { color: var(--color-text-muted); }
.universe-directory .pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1.25rem; }

@media (max-width: 620px) {
  .home-private-section .private-company-card { min-height: 230px; }
}

.research-universe-rows { display: grid; gap: 1rem; }
.research-universe-row { display: grid; grid-template-columns: minmax(240px,.8fr) minmax(320px,1.2fr); gap: 1.5rem; padding: 1.4rem; border: 1px solid var(--color-border); border-left: 3px solid var(--accent,var(--color-positive)); border-radius: 12px; background: var(--color-surface-1); }
.research-universe-row-intro h2 { margin: .35rem 0; }
.research-universe-row-intro p { color: var(--color-text-muted); line-height: 1.55; }
.research-universe-row-intro a { color: var(--private-accent-text,var(--color-positive-text)); font-weight: 700; text-decoration: none; }
.research-universe-row-items { display: grid; gap: .55rem; }
.research-universe-row-items h3 { margin: 0 0 .25rem; font-size: .9rem; color: var(--color-text-muted); }
.research-universe-row-items a { display: grid; grid-template-columns: 120px 1fr; gap: .8rem; padding: .75rem; border: 1px solid var(--color-border); border-radius: 8px; color: inherit; text-decoration: none; }
.research-universe-row-items a:hover { background: var(--color-surface-2); }
.research-universe-row-items span { color: var(--color-text-muted); font-size: .75rem; }
.research-methodology-copy { columns: 2; column-gap: 2rem; max-width: none; }
.research-methodology-copy p { break-inside: avoid; margin-top: 0; }

/* Universe research library: compact summary + one shared content system. */
.universe-research-library { --private-accent: var(--accent,var(--color-positive)); }
.universe-research-header { margin-bottom: 1rem; padding: 1rem 1.15rem; border: 1px solid var(--color-border); border-left: 3px solid var(--accent,var(--color-positive)); border-radius: 12px; background: var(--color-surface-1); }
.universe-research-header .private-directory-title { margin-block: .15rem .3rem; font-size: clamp(1.75rem,4vw,2.5rem); }
.universe-research-header .private-directory-intro { margin: 0; font-size: .9rem; }
@media (max-width: 900px) {
  /* This compact library intro must not inherit the illustrated hero's height. */
  .universe-research-header[data-research-hero] { min-block-size: auto; }
}
.universe-research-library .mapping-pills { margin: 0 0 1rem; }
.universe-research-summary { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(250px,.55fr); gap: clamp(1.25rem,4vw,3rem); align-items: start; margin-bottom: 1rem; padding: clamp(1.15rem,2.5vw,1.6rem); border: 2px solid var(--color-surface-1); border-left: 3px solid var(--accent,var(--color-positive)); border-radius: 0; background: transparent; }
.universe-research-summary h2 { margin: .3rem 0 .55rem; font-size: clamp(1.45rem,3vw,2rem); letter-spacing: -.035em; }
.universe-research-summary p { max-width: 68ch; margin: 0; color: var(--color-text-muted); font-size: .92rem; line-height: 1.6; }
.universe-research-summary dl { margin: 0; border-top: 1px solid var(--color-border); }
.universe-research-summary dl>div { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--color-border); }
.universe-research-summary dt,.universe-research-summary dd { margin: 0; font: 650 .65rem/1.35 "IBM Plex Mono",monospace; text-transform: uppercase; }
.universe-research-summary dt { color: var(--color-text-muted); }
.universe-research-summary dd { color: var(--color-text); text-align: right; }
.universe-research-collection { padding: 0; border: 0; border-radius: 0; background: transparent; }
.universe-research-collection .compact-heading { margin-bottom: 1.25rem; }
.universe-research-collection .compact-heading h2 { font-size: clamp(1.7rem,3.5vw,2.5rem); }
.universe-research-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; border: 0; background: transparent; }
.universe-research-item { min-width: 0; min-height: 220px; display: flex; flex-direction: column; padding: 1.15rem; color: inherit; text-decoration: none; border: 2px solid var(--color-surface-1); background: transparent; }
.universe-research-item:hover { box-shadow: inset 0 2px var(--accent,var(--color-positive)); background: var(--color-surface-2); }
.research-item-type { color: var(--private-accent-text,var(--color-positive-text))!important; font: 700 .65rem/1.35 "IBM Plex Mono",monospace; letter-spacing: .06em; text-transform: uppercase; }
.universe-research-item h3 { margin: 1.4rem 0 .6rem; font-size: 1.2rem; line-height: 1.15; letter-spacing: -.025em; }
.universe-research-item p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin: 0; color: var(--color-text-muted); font-size: .82rem; line-height: 1.55; }
.universe-research-item small { margin-top: auto; padding-top: 1rem; color: var(--color-text-muted); font: 600 .62rem/1.4 "IBM Plex Mono",monospace; text-transform: uppercase; }
.universe-research-item b { margin-top: .55rem; color: var(--private-accent-text,var(--color-positive-text)); font: 700 .65rem/1.35 "IBM Plex Mono",monospace; text-transform: uppercase; }
.universe-research-supporting-copy { display: grid; grid-template-columns: minmax(180px,.35fr) minmax(0,1fr); gap: clamp(1.5rem,4vw,3.5rem); margin-top: 1rem; padding: clamp(1.15rem,2.5vw,1.6rem); border: 2px solid var(--color-surface-1); border-radius: 0; background: transparent; }
.universe-research-supporting-copy h2 { margin: .35rem 0 0; font-size: clamp(1.25rem,2.5vw,1.7rem); line-height: 1.15; letter-spacing: -.025em; }
.universe-research-prose { columns: 2; column-gap: 2rem; }
.universe-research-prose p { break-inside: avoid; margin: 0 0 1rem; color: var(--color-text-muted); font-size: .78rem; line-height: 1.72; }

/* Dense, type-first universe research queue. */
.universe-research-library .universe-research-summary { grid-template-columns: 1fr; }
.universe-research-library .universe-research-summary dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.universe-research-library .universe-research-summary dl>div { display: block; padding: .75rem; border-right: 1px solid var(--color-border); }
.universe-research-library .universe-research-summary dd { margin-top: .35rem; text-align: left; }
.universe-research-library .universe-research-grid { grid-template-columns: 1fr; }
.universe-research-library .universe-research-item { min-height: 0; display: grid; grid-template-columns: 120px minmax(180px,.75fr) minmax(240px,1fr) auto; gap: 1rem; align-items: center; }
.universe-research-library .universe-research-item h3,.universe-research-library .universe-research-item p,.universe-research-library .universe-research-item small,.universe-research-library .universe-research-item b { margin: 0; padding: 0; }

/* Companies gateway */
.company-gateway { max-width: 1120px; }
.company-gateway-header { margin-bottom: 1.75rem; }
.company-gateway-header .private-directory-title { max-width: 720px; font-size: clamp(2.4rem, 6vw, 4.75rem); letter-spacing: -0.045em; }
.company-market-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.company-market-panel { min-height: 320px; display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface-1); }
.company-market-panel--public { border-top: 3px solid var(--color-positive); }
.company-market-panel--private { border-top: 3px solid var(--color-universe-digital-trust); }
.company-market-panel h2 { margin: .35rem 0 .65rem; font-size: clamp(1.65rem, 3vw, 2.35rem); }
.company-market-panel p { max-width: 50ch; margin: 0; color: var(--color-text-muted); line-height: 1.65; }
.company-market-actions { display: flex; align-items: center; margin-top: auto; }
.company-market-actions a { color: var(--color-text-muted); font-size: .88rem; text-decoration: none; }
.company-market-actions a:hover { color: var(--color-text); }
.company-market-actions .company-directory-link { width: 100%; display: inline-flex; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border-radius: 8px; background: var(--color-action); color: var(--color-cta-text); font-weight: 650; }
.company-market-actions .company-directory-link:hover { background: var(--color-action-hover); color: var(--color-cta-text); }
.company-universe-section { margin-top: clamp(3rem, 7vw, 5.5rem); }
.company-universe-section > .compact-heading { margin-bottom: 1.5rem; }
.company-universe-card { min-height: 360px; }
.company-universe-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: auto; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-control); }
.company-universe-actions--single { grid-template-columns: minmax(0, 1fr); }
.company-universe-actions a { min-width: 0; display: grid; grid-template-columns: auto 1fr; gap: .2rem .75rem; align-items: baseline; padding: 1rem; color: var(--color-text); background: var(--color-canvas); text-decoration: none; }
.company-universe-actions a + a { border-left: 1px solid var(--color-border); }
.company-universe-actions a:hover { background: var(--color-surface-2); }
.company-universe-actions strong { grid-row: 1 / 3; font: 600 1.7rem/1 var(--font-label); }
.company-universe-actions span { color: var(--color-text-muted); font-size: .76rem; }
.company-universe-actions b { color: var(--color-highlight-text); font: 650 .62rem/1.3 var(--font-label); letter-spacing: .04em; text-transform: uppercase; }
.company-universe-directory-header { max-width: 920px; }
.company-universe-directory-nav .mapping-pill.active { background: var(--color-action); border-color: var(--color-action); color: var(--color-cta-text); }
.company-universe-directory-context { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: 1rem; margin: 1.75rem 0 clamp(3rem,7vw,5rem); }
.company-universe-directory-context > div,
.company-universe-directory-context > aside,
.company-universe-overview-context { padding: clamp(1.25rem,3vw,2rem); border: 1px solid var(--color-border); border-radius: var(--radius-card,12px); background: var(--color-surface-1); }
.company-universe-directory-context h2,
.company-universe-overview-context h2 { max-width: 18ch; margin: .35rem 0 .75rem; font-size: clamp(1.65rem,3vw,2.4rem); }
.company-universe-directory-context p,
.company-universe-overview-context p { margin: 0; color: var(--color-text-muted); line-height: 1.65; }
.company-universe-directory-context aside { background: var(--color-surface-2); }
.company-universe-results > .compact-heading { margin-bottom: 1.5rem; }
.company-universe-result-card h3 { margin-bottom: .65rem; }
.company-universe-result-card > p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.company-universe-directory-cta { margin-top: clamp(3rem,7vw,5rem); }
.universe-company-market-grid { margin-top: 1.5rem; }
.company-universe-overview-context { margin-top: 1rem; }
.company-universe-overview-context a { display: inline-block; margin-top: 1.25rem; color: var(--color-highlight-text); font-weight: 650; text-decoration: none; }

/* Profile */
.private-company-page { max-width: 1180px; }
.private-company-page article { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr); gap: 1rem; align-items: start; }
.private-company-header { grid-column: 1 / -1; margin: 1.5rem 0 1rem; padding: clamp(1.5rem,4vw,3rem); border: 1px solid var(--color-border); border-top: 3px solid var(--private-accent); border-radius: var(--radius-card, 12px); background: var(--color-surface-1); }
.private-company-name { max-width: 17ch; font-size: clamp(2.7rem,7vw,5.6rem); line-height: .94; letter-spacing: -.055em; margin: .75rem 0 1rem; overflow-wrap: anywhere; }
.private-company-role { margin: -.25rem 0 .65rem; color: var(--private-accent-text); font: 650 .72rem/1.4 "IBM Plex Mono", monospace; letter-spacing: .055em; text-transform: uppercase; }
.private-company-oneliner { font-size: 1.15rem; color: var(--color-text-muted); max-width: 65ch; margin: 0 0 0.75rem; }
.private-company-meta { display: flex; flex-wrap: wrap; gap: 1rem; font-size: 0.88rem; color: var(--color-text-muted); }
.private-site-link { color: var(--private-accent-text); text-decoration: none; }
.private-site-link:hover { text-decoration: underline; }

.private-module { min-width: 0; margin: 0; padding: clamp(1.2rem,2.5vw,1.6rem); border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface-1); }
.private-module:nth-of-type(odd) { grid-column: 1; }
.private-module:nth-of-type(even) { grid-column: 2; }
.private-directory-page > .private-module { padding: 0; border: 0; border-radius: 0; background: transparent; }
.private-directory-page > .private-module + .private-module { margin-top: 2.5rem; }
.private-directory-page > .private-module .layer-entity-card,
.private-directory-page > .private-module .technology-card,
.private-directory-page > .private-module .private-card-link { border-radius: 0; }
.private-directory-page > .private-module .layer-entity-card,
.private-directory-page > .private-module .technology-card,
.private-directory-page > .private-module .private-card-link { border: 2px solid var(--color-surface-1); background: transparent; }
.private-directory-page > .private-module .private-card-link { min-height: 190px; display: flex; flex-direction: column; padding: 1.4rem; color: inherit; text-decoration: none; }
.private-disclaimer { grid-column: 1 / -1; }
.content-label { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--color-text-muted); margin: 0 0 0.75rem; }

.private-kv { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.9rem; margin: 0; }
.kv-row dt { font-size: 0.78rem; color: var(--color-text-muted); }
.kv-row dd { margin: 0.15rem 0 0; font-weight: 500; }
.valuation-basis { font-weight: 400; color: var(--color-text-muted); font-size: 0.82rem; }

.mapping-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.mapping-pill { background: color-mix(in srgb,var(--private-accent) 10%,transparent); color: var(--private-accent-text); border: 1px solid color-mix(in srgb,var(--private-accent) 22%,transparent); padding: 0.3rem 0.7rem; border-radius: var(--radius-pill, 999px); font-size: 0.85rem; text-decoration: none; }
.mapping-pill:hover { border-color: var(--private-accent); background: color-mix(in srgb,var(--private-accent) 16%,transparent); }

.private-prose { color: var(--color-text); line-height: 1.6; }

.private-timeline { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--color-border); }
.private-timeline-item { position: relative; padding: 0 0 1.1rem 1.25rem; }
.private-timeline-item::before { content: ''; position: absolute; left: -0.42rem; top: 0.3rem; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--private-accent); }
.timeline-date { display: block; font-size: 0.78rem; color: var(--color-text-muted); }
.timeline-type { display: inline-block; font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--private-accent-text); margin: 0.2rem 0; }
.timeline-headline { margin: 0.15rem 0 0.3rem; }
.timeline-source { font-size: 0.82rem; color: var(--private-accent-text); text-decoration: none; }
.timeline-source:hover { text-decoration: underline; }

.private-media { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.private-media-item { border: 1px solid var(--color-border); border-radius: 10px; padding: 1rem 1.1rem; background: var(--color-surface-1); }
.media-title { font-size: 1rem; margin: 0 0 0.5rem; }
.media-title a { color: inherit; text-decoration: none; }
.media-title a:hover { text-decoration: underline; }
.media-claim, .media-caveat { font-size: 0.9rem; margin: 0.3rem 0; color: var(--color-text); }
.media-claim-label, .media-caveat-label { font-weight: 600; color: var(--color-text-muted); }
.media-caveat { color: var(--color-text-muted); }

.private-related { list-style: none; margin: 0; padding: 0; }
.private-related li { margin: 0.35rem 0; }
.private-related a { color: var(--private-accent-text); text-decoration: none; }
.private-related a:hover { text-decoration: underline; }

.private-disclaimer { margin-top: 2rem; padding: 1rem 1.1rem; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-surface-1); color: var(--color-text-muted); font-size: 0.85rem; line-height: 1.55; }
.private-evidence-scope { margin: 1rem 0; padding: 1rem 1.1rem; border-left: 3px solid var(--private-accent); background: color-mix(in srgb,var(--private-accent) 6%,var(--color-surface-1)); color: var(--color-text-muted); }
.private-evidence-scope strong { display:block; color:var(--color-text); margin-bottom:.3rem; }
.private-evidence-scope p { margin:0; line-height:1.55; }
.comparison-definition { max-width:850px; margin:0 0 1.5rem; }
.comparison-table { width:100%; border-collapse:collapse; }
.comparison-table th,.comparison-table td { padding:.9rem; border-bottom:1px solid var(--color-border); text-align:left; vertical-align:top; }
.comparison-table thead th { color:var(--color-text-muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.comparison-table a { color:var(--private-accent-text); }

@media (max-width: 760px) {
  .company-market-grid { grid-template-columns: 1fr; }
  .company-market-panel { min-height: 0; }
  .company-universe-actions { grid-template-columns: 1fr; }
  .company-universe-actions a + a { border-left: 0; border-top: 1px solid var(--color-border); }
  .company-universe-directory-context { grid-template-columns: 1fr; }
  .company-gateway-header .private-directory-title { font-size: clamp(2.25rem, 12vw, 3.5rem); }
  .universe-directory-controls, .research-universe-row { grid-template-columns: 1fr; }
  .research-methodology-copy { columns: 1; }
  .research-universe-row-items a { grid-template-columns: 1fr; gap: .2rem; }
  .universe-research-summary { grid-template-columns: 1fr; }
  .universe-research-grid { grid-template-columns: 1fr; }
  .universe-research-library .universe-research-summary dl { grid-template-columns: 1fr; }
  .universe-research-library .universe-research-summary dl>div { display: grid; border-right: 0; }
  .universe-research-library .universe-research-item { grid-template-columns: 1fr; gap: .45rem; }
  .universe-research-supporting-copy { grid-template-columns: 1fr; }
  .universe-research-prose { columns: 1; }
  .private-card-list { grid-template-columns: 1fr; }
  .private-directory-tools { grid-template-columns: 1fr; }
  .private-directory-cta { grid-template-columns: 1fr; }
  .private-directory-cta > a { width: 100%; }
  .private-company-page article { grid-template-columns: 1fr; }
  .private-company-page article > * { grid-column: 1 !important; }
  .private-company-name { font-size: clamp(2.45rem,12vw,4rem); }
  .private-card-facts { grid-template-columns: 1fr; }
  .comparison-table { min-width:620px; }
}

@media (min-width: 761px) and (max-width: 980px) { .private-card-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }

@media (prefers-reduced-motion: reduce) {
  .private-card { transition: none; }
  .private-card:hover { transform: none; }
}
