/* Groundwork's paper, Plex and quiet instruments, shared by its research tools. */
.ownership-page {
  --ink:#f1eee5; --carbon:#ebe7dc; --graphite:#e3e3d7;
  --bone:#25383c; --ash:#57655e; --faint:#57655e;
  --rule:rgba(37,56,60,.16); --rule-strong:rgba(37,56,60,.32);
  --display:'IBM Plex Sans',system-ui,sans-serif;
  --body:'IBM Plex Sans',system-ui,sans-serif;
  --signal:#bd502c; color-scheme:light; text-rendering:optimizeLegibility;
}
.housing-page {--pd-faint:#57655e}
:where(.housing-page,.ownership-page) {
  --product-ink:#25383c; --product-paper:#f1eee5;
  --product-muted:#57655e; --product-signal:#bd502c;
  --product-rule:rgba(37,56,60,.16);
}
:where(.housing-page,.ownership-page) body {font-family:'IBM Plex Sans',system-ui,sans-serif;font-synthesis:none}
:where(.housing-page,.ownership-page) ::selection {background:#bd502c;color:#f1eee5}
:where(.housing-page,.ownership-page) :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline:2px solid #bd502c;outline-offset:4px;box-shadow:none}
:where(.housing-page,.ownership-page) .direction-icon {display:inline-block;width:15px;height:15px;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;flex:none}
:where(.housing-page,.ownership-page) :is(.housing-header,.ownership-header) {min-height:80px;padding-block:18px;border-bottom:0}
:where(.housing-page,.ownership-page) .brand {font:500 14px/1.4 'IBM Plex Sans',system-ui,sans-serif;letter-spacing:-.04em;gap:11px;min-height:44px}
:where(.housing-page,.ownership-page) .brand-mark {width:25px;height:25px;stroke-width:1.2}
:where(.housing-page,.ownership-page) .brand-dot {color:#bd502c}
:where(.housing-page,.ownership-page) .brand-section {color:#647066;font-weight:400;margin-left:8px}
:where(.housing-page,.ownership-page) :is(.housing-header,.ownership-header) nav {font:400 12px/1.5 'IBM Plex Sans',system-ui,sans-serif;gap:24px}
:where(.housing-page,.ownership-page) :is(.housing-header,.ownership-header) nav :is(a,button) {min-height:44px;text-decoration:none}
:where(.housing-page,.ownership-page) :is(.housing-header,.ownership-header) nav :is(a,button):hover {color:#963e26}
:where(.housing-page,.ownership-page) .explorer-hero {grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding:26px 0 36px;align-items:start}
:where(.housing-page,.ownership-page) .product-context {min-width:0;align-self:center}
:where(.housing-page,.ownership-page) .product-miniature {display:block;width:100%;height:auto;aspect-ratio:1.6;max-height:176px;object-fit:contain;mix-blend-mode:normal}
:where(.housing-page,.ownership-page) .product-context .research-stamp {border-left:0;border-top:1px solid var(--product-rule);padding:14px 0 0;margin:0}
:where(.housing-page,.ownership-page) .product-context .stamp-line {font-size:9px;line-height:1.7;letter-spacing:.035em;margin:0 0 8px}
:where(.housing-page,.ownership-page) .product-context .research-stamp strong {font:400 32px/1.1 'IBM Plex Sans',sans-serif;display:flex;align-items:center;gap:12px;margin:0 0 10px;letter-spacing:-.04em}
:where(.housing-page,.ownership-page) .product-context .research-stamp strong span {font:400 12px/1.5 'IBM Plex Sans',sans-serif;letter-spacing:0;max-width:140px}
:where(.housing-page,.ownership-page) .product-context .research-stamp>p:not(.stamp-line) {font:400 11px/1.8 'IBM Plex Sans',sans-serif;color:var(--product-muted);margin:0}
:where(.housing-page,.ownership-page) .product-context .research-stamp a {font:400 11px/1.5 'IBM Plex Sans',sans-serif;display:inline-flex;align-items:center;gap:14px;min-height:44px;margin-top:4px;text-decoration:none}
:where(.housing-page,.ownership-page) .product-context .research-stamp a svg {width:15px;height:15px}
:where(.housing-page,.ownership-page) :is(.housing-footer,.ownership-footer) a {text-underline-offset:5px}
:where(.housing-page,.ownership-page) :is(.housing-footer,.ownership-footer) a:hover {color:#963e26}

/* The ownership ledger shares the scale of Housing's instruments. */
.ownership-page body {font-size:15px;line-height:1.7}
.ownership-page h1,.ownership-page h2,.ownership-page h3 {font-family:var(--display);font-weight:500;letter-spacing:-.04em;overflow-wrap:anywhere}
.ownership-page h2 {font-size:28px;line-height:1.2}
.ownership-page h3 {font-size:23px;line-height:1.25}
.ownership-page .explorer-hero h1 {font-size:clamp(43px,4.1vw,60px);line-height:1.06;letter-spacing:-.055em;margin-bottom:20px}
.ownership-page .hero-dek {font-size:15px;line-height:1.75;max-width:49ch}
.ownership-page .section-path {font-size:10px;letter-spacing:.04em;margin-bottom:18px}
.ownership-page .small-label {font-size:10px;letter-spacing:.035em}
.ownership-page :is(.research-stamp strong,.coverage-ledger dd,.platform-count strong) {font-family:var(--display);font-weight:400}
.ownership-page :is(#ownership-filters input,#ownership-filters select) {font-family:var(--body);font-size:13px;min-height:44px}
.ownership-page #ownership-filters label>span {font:400 11px/1.6 var(--body);letter-spacing:0}
.ownership-page input[type=checkbox] {accent-color:#bd502c;width:16px;height:16px}
.ownership-page .filter-utilities {font-size:12px;min-height:48px;gap:12px 24px}
.ownership-page .filter-utilities>label {font-size:12px}
.ownership-page .evidence-strip {padding:16px 0;gap:14px;align-items:start}
.ownership-page .evidence-strip p {font-size:12px;line-height:1.75}
.ownership-page .evidence-strip>span {color:#bd502c}
.ownership-page .results-heading h2 {font-size:26px;line-height:1.2}
.ownership-page .results-heading p {font-size:11px;line-height:1.7}
.ownership-page .view-switch button {font-size:13px;min-height:44px}
.ownership-page .view-switch button span {font-size:11px}
.ownership-page .company-row {padding-block:25px;gap:16px}
.ownership-page .company-row h3 {font-size:26px;line-height:1.2;margin-bottom:11px}
.ownership-page :is(.row-eyebrow,.row-number) {font-size:10px;letter-spacing:.02em;line-height:1.8}
.ownership-page .row-platform {font-size:13px;line-height:1.7}
.ownership-page .flag {font:400 11px/1.6 var(--body);letter-spacing:0}
.ownership-page .row-facts {gap:7px 16px}
.ownership-page :is(.row-actions label,.profile-link,.inspect-button) {font-size:12px;min-height:44px}
.ownership-page .company-row.is-selected:before {background:#bd502c;width:2px}
.ownership-page .platform-row h3 {font-size:26px}
.ownership-page .platform-row p:not(.row-eyebrow) {font-size:12px}
.ownership-page .platform-count strong {font-size:32px}
.ownership-page .platform-count span {font-size:10px}
.ownership-page .load-more {font-size:13px;min-height:56px}
.ownership-page .ownership-inspector {background:var(--ink);border-color:var(--rule);max-height:calc(100dvh - 48px)}
.ownership-page .inspector-heading h2 {font-size:25px;line-height:1.25}
.ownership-page .inspector-heading>a {min-width:44px;min-height:44px;border:0}
.ownership-page .inspector-heading .small-label {font-size:10px}
.ownership-page .inspector-state>span:last-child {font-size:10px;line-height:1.6}
.ownership-page .map-node.brand-node rect {fill:#ebe7dc;stroke:#bd502c;stroke-width:1.5}
.ownership-page .map-node.brand-node text {fill:#25383c}
.ownership-page .map-node.brand-node .node-kind {fill:#57655e}
.ownership-page .network-text summary {font-size:12px;min-height:44px}
.ownership-page .network-text li {font-size:13px;line-height:1.8}
.ownership-page .network-text .small-note {font-size:11px}
.ownership-page .inspector-facts :is(dt,dd) {font-size:12px;line-height:1.7}
.ownership-page .inspector-bottom a {font-size:12px;min-height:44px}
.ownership-page :is(.coverage-section h2,.finding-section h2,.record-section h2,.method-layout h2) {font-size:30px;line-height:1.15}
.ownership-page .coverage-ledger dd {font-size:28px}
.ownership-page .coverage-ledger dt {font-size:13px;line-height:1.7}
.ownership-page .reading-section h3 {font-size:27px;line-height:1.2}
.ownership-page .profile-hero h1 {font-size:clamp(36px,4.4vw,62px);line-height:1.08;max-width:22ch}
.ownership-page .profile-flags .flag {font-size:12px}
.ownership-page .finding-dek {font-size:16px;line-height:1.8}
.ownership-page .finding-facts :is(dt,dd) {font-size:13px;line-height:1.7}
.ownership-page :is(.relationship-record h3,.transaction-timeline h3,.question-record h3,.source-record h3,.related-brands a) {font-size:23px;line-height:1.3}
.ownership-page :is(.source-record p,.relationship-record>p:not(.small-note),.record-section>p:not(.small-label):not(.small-note)) {font-size:14px;line-height:1.8}
.ownership-page .source-record .source-meta {font-size:11px;line-height:1.8}
.ownership-page :is(.source-label,.transaction-date,.breadcrumb>span) {font-size:11px;line-height:1.8;letter-spacing:.02em}
.ownership-page .source-record a {overflow-wrap:anywhere}
.ownership-page .text-hero h1 {font-size:clamp(40px,4.5vw,64px);line-height:1.08}
.ownership-page .download-list h2 {font-size:27px}
.ownership-page :is(.download-list p,.definition-list dd) {font-size:14px;line-height:1.8}
.ownership-page .definition-list dt {font-size:14px}
.ownership-page .text-link {font-size:13px;min-height:44px}
.ownership-page .dialog-heading h2 {font-size:30px;line-height:1.15}
.ownership-page dialog {background:#f1eee5;color:#25383c;border:1px solid var(--rule)}
.ownership-page dialog::backdrop {background:rgba(26,41,42,.48)}
.ownership-page .comparison-table thead th:not(:first-child) {font-size:23px}
.ownership-page .comparison-table {font-size:13px}
.ownership-page .comparison-table :is(td,th) {line-height:1.7}
.ownership-page #toast {background:#25383c;color:#f1eee5}
.ownership-page .footer-title {font:500 12px/1.5 var(--body);letter-spacing:.025em}
.ownership-page .ownership-footer {font-size:12px}

@media (max-width:1000px) {
  :where(.housing-page,.ownership-page) .explorer-hero {grid-template-columns:minmax(0,1fr) 260px;gap:30px}
  .ownership-page .hero-dek {font-size:14px}
}
@media (max-width:700px) {
  :where(.housing-page,.ownership-page) :is(.housing-header,.ownership-header) {display:flex;flex-wrap:wrap;gap:4px;padding-top:12px;padding-bottom:14px;min-height:0}
  :where(.housing-page,.ownership-page) .brand {font-size:12px;gap:9px}
  :where(.housing-page,.ownership-page) .brand>span {display:inline}
  :where(.housing-page,.ownership-page) .brand-section {display:inline;font-size:12px}
  :where(.housing-page,.ownership-page) :is(.housing-header,.ownership-header) nav {width:100%;gap:20px;justify-content:space-between;font-size:12px}
  :where(.housing-page,.ownership-page) .explorer-hero {display:block;padding:20px 0 25px}
  :where(.housing-page,.ownership-page) .product-context {display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:20px;border-top:1px solid var(--product-rule);padding-top:16px;margin-top:24px}
  :where(.housing-page,.ownership-page) .product-context .research-stamp {display:block;border:0;padding:0;margin:0}
  :where(.housing-page,.ownership-page) .product-context .stamp-line {font-size:9px;line-height:1.7;letter-spacing:0;margin-bottom:9px}
  :where(.housing-page,.ownership-page) .product-context .research-stamp strong {font-size:28px;gap:10px;margin-bottom:10px}
  :where(.housing-page,.ownership-page) .product-context .research-stamp strong span {font-size:11px;line-height:1.5}
  :where(.housing-page,.ownership-page) .product-context .research-stamp>p:not(.stamp-line) {font-size:10px;line-height:1.8}
  :where(.housing-page,.ownership-page) .product-context .research-stamp a {font-size:11px;min-height:44px;gap:8px;margin:0}
  .ownership-page .explorer-hero h1 {font-size:clamp(34px,9.2vw,46px);line-height:1.08;letter-spacing:-.05em;margin-bottom:18px}
  .ownership-page .hero-dek {font-size:14px;line-height:1.8}
  .ownership-page .section-path {font-size:9px;letter-spacing:.025em;line-height:1.8;max-width:none;margin-bottom:15px}
  .ownership-page #ownership-filters :is(input,select) {font-size:16px;min-height:44px}
  .ownership-page #ownership-filters label>span {font-size:11px}
  .ownership-page .filter-utilities {font-size:11px;gap:4px 16px;line-height:1.7}
  .ownership-page .filter-utilities>label {font-size:11px}
  .ownership-page .evidence-strip p {font-size:11px;line-height:1.8}
  .ownership-page .company-row {gap:12px;padding:23px 0 17px}
  .ownership-page .company-row h3 {font-size:25px}
  .ownership-page :is(.row-eyebrow,.row-number) {font-size:10px}
  .ownership-page :is(.row-platform,.row-actions label,.inspect-button,.row-actions .profile-link) {font-size:12px}
  .ownership-page .row-actions {flex-wrap:wrap;gap:8px 18px}
  .ownership-page .row-actions label {margin-left:0}
  .ownership-page .company-row.is-selected:before {left:-10px}
  .ownership-page .flag {font-size:11px;line-height:1.7}
  .ownership-page .results-heading h2 {font-size:25px}
  .ownership-page .inspector-heading h2 {font-size:25px}
  .ownership-page .inspector-state .flag {font-size:11px}
  .ownership-page :is(.coverage-section h2,.finding-section h2,.record-section h2,.method-layout h2) {font-size:28px}
  .ownership-page .coverage-section>div>p:not(.section-path) {font-size:13px;line-height:1.8}
  .ownership-page .coverage-ledger dt {font-size:12px}
  .ownership-page .coverage-ledger dd {font-size:24px}
  .ownership-page .small-note {font-size:11px;line-height:1.8}
  .ownership-page .reading-section h3 {font-size:26px}
  .ownership-page .profile-hero h1 {font-size:clamp(35px,9.5vw,48px)}
  .ownership-page .profile-flags>span:last-child:not(.flag) {font-size:11px}
  .ownership-page .profile-aside nav a {font-size:12px;min-height:44px}
  .ownership-page .profile-aside>.text-link {font-size:11px;min-height:44px}
  .ownership-page .profile-workspace {gap:15px}
  .ownership-page .finding-dek {font-size:14px}
  .ownership-page .finding-facts :is(dt,dd) {font-size:12px}
  .ownership-page :is(.relationship-record h3,.transaction-timeline h3,.question-record h3,.source-record h3,.related-brands a) {font-size:23px}
  .ownership-page :is(.source-record p,.record-section>p:not(.small-label):not(.small-note),.relationship-record>p:not(.small-note),.definition-list dd,.download-list p) {font-size:13px;line-height:1.8}
  .ownership-page :is(.source-record .source-meta,.source-label,.transaction-date,.breadcrumb>span) {font-size:11px}
  .ownership-page .text-hero h1 {font-size:clamp(35px,9.5vw,48px)}
  .ownership-page .download-list h2 {font-size:25px}
  .ownership-page .dialog-heading h2 {font-size:25px}
  .ownership-page .comparison-table thead th:not(:first-child) {font-size:21px}
  .ownership-page .ownership-footer>p {font-size:12px;line-height:1.8}
}
@media (max-width:359px) {
  :where(.housing-page,.ownership-page) .product-context {grid-template-columns:96px minmax(0,1fr);gap:14px}
  :where(.housing-page,.ownership-page) :is(.housing-header,.ownership-header) nav {font-size:11px;gap:12px}
  :where(.housing-page,.ownership-page) .product-context .research-stamp strong {font-size:25px}
}
@media print {
  .product-context .product-miniature {display:none}
  .ownership-page body {background:white;color:#111;font-size:11pt}
  .ownership-page .profile-hero h1 {font-size:30pt}
  .ownership-page .record-section h2 {font-size:20pt}
}

.comparison-scroll-hint{display:none}
@media(max-width:700px){
  :where(.housing-page,.ownership-page) .comparison-scroll-hint{display:block;font-size:11px;line-height:1.7;color:var(--product-muted);margin:16px 0}
  .housing-page .comparison-table thead th:first-child{min-width:105px;width:105px;max-width:105px;font-size:11px;line-height:1.6;letter-spacing:0;text-transform:none;vertical-align:bottom}
}
@media(max-width:700px){
  .housing-page .comparison-table thead a{display:block;font-size:22px;line-height:1.3;margin-bottom:8px}
  .housing-page .comparison-table thead .row-meta{display:block;font:400 11px/1.7 'IBM Plex Sans',sans-serif;color:var(--product-muted)}
}
