body { min-width: 0; }
/* Founder review: centered diagram, readable identities and quiet hierarchy. */
.hero-diagram { min-height:500px; }
.hero .diagram-center { top:50%;left:50%;height:118px;min-height:118px;transform:translate(-50%,-50%);box-shadow:none; }
.hero .diagram-center:hover { transform:translate(-50%,-50%);background:var(--navy); }
.hero button.diagram-node { width:160px;height:118px;min-height:118px; }
.hero .node-signals,.hero .node-systems { top:32px;bottom:auto; }
.hero .node-teams,.hero .node-assets { bottom:32px;top:auto; }
.hero .node-signals,.hero .node-teams { left:28px;right:auto; }
.hero .node-systems,.hero .node-assets { right:28px;left:auto; }
.hero button.diagram-node:hover,.hero button.diagram-node:focus-visible { transform:none; }
.hero .diagram-lines path { stroke-width:1.4;stroke-dasharray:6 6;opacity:.7; }
.hero .diagram-footnote { position:static;margin-top:18px;padding:0;border:0; }
.combined-bottom { gap:24px; }
.portfolio-logo { width:128px;height:80px;padding:6px;background:transparent;border:0; }
.portfolio-logo img { width:100%;height:100%;mix-blend-mode:multiply; }
.portfolio-row summary { grid-template-columns:128px minmax(0,1fr) auto; }
.portfolio-expanded { padding-left:152px; }
.route-company-link { width:100%;box-sizing:border-box;padding:14px 18px;margin-top:12px;gap:20px;background:#e6ebf0;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:var(--ink); }
.route-company-link:hover { background:#f0f2f4;color:var(--cobalt); }
.route-company-link .portfolio-logo { width:120px;height:66px;padding:4px; }
.route-company-link > span:last-child { color:var(--ink);line-height:1.45; }
.route-company-link .portfolio-logo .wordmark { color:var(--ink);font-size:16px; }
.route-company-link img { width:100%;height:100%;object-fit:contain; }
.profile-company-logo { width:200px;height:90px;padding:0;background:transparent;mix-blend-mode:multiply; }
.member-identity { background:transparent;border-color:var(--line); }
.member-identity img { height:48px;mix-blend-mode:multiply; }
.member-logo { display:block;width:152px;max-width:100%;height:64px;object-fit:contain;object-position:left center;margin:10px 0 20px;mix-blend-mode:multiply; }
@media(max-width:1100px) {
 .site-header .desktop-nav { gap:20px; }
}
@media(max-width:700px) {
 .hero-diagram { min-height:440px; }
 .hero button.diagram-node { width:128px;height:116px;min-height:116px;padding:11px; }
 .hero .diagram-center { width:128px;height:108px;min-height:108px; }
 .hero .node-signals,.hero .node-systems { top:20px; }
 .hero .node-teams,.hero .node-assets { bottom:20px; }
 .hero .node-signals,.hero .node-teams { left:12px; }
 .hero .node-systems,.hero .node-assets { right:12px; }
 .hero .diagram-footnote { margin-top:16px; }
 .portfolio-row summary { grid-template-columns:84px minmax(0,1fr) 24px;gap:12px; }
 .portfolio-logo { width:84px;height:68px;padding:0; }
 .portfolio-expanded { padding-left:0; }
 .route-company-link { gap:14px;padding:14px 12px;flex-wrap:wrap; }
 .route-company-link .portfolio-logo { width:112px;height:64px; }
 .route-company-link > span:last-child { flex:1 1 110px; }
 .combined-bottom { display:flex;flex-direction:column;align-items:flex-start;gap:24px; }
 .combined-bottom .button { margin:0; }
 .explorer-tab b { font-size:20px; }
}
@media(max-width:360px) {
 .hero button.diagram-node { width:116px;padding:9px; }
 .hero .node-signals,.hero .node-teams { left:9px; }
 .hero .node-systems,.hero .node-assets { right:9px; }
 .hero .diagram-node small { font-size:10px; }
 .hero .diagram-center { width:120px; }
}

/* Kyle-supplied EH artwork: retain the original pixels, frame out excess margins. */
.holdings-art { display:block;position:relative;width:170px;height:68px;overflow:hidden;flex:none; }
.holdings-art img { position:absolute;display:block;width:114%;max-width:none;height:auto;left:-7%;top:-22%;mix-blend-mode:multiply; }
.site-header .brand { gap:0; }
.site-header .holdings-art { width:150px;height:60px; }
.site-footer .holdings-art { background:transparent; border-radius:0; mix-blend-mode:screen; }
.site-footer .holdings-art img { filter:grayscale(1) invert(1) contrast(1.12); mix-blend-mode:normal; }
.hero .diagram-center,.hero .diagram-center:hover { background:var(--paper); }
.hero .diagram-center .holdings-art { width:150px;height:60px; }
.holdings-art.member-logo { width:170px;height:68px; }
@media(max-width:700px) {
 .site-header .holdings-art { width:120px;height:48px; }
 .hero .diagram-center .holdings-art { width:112px;height:45px; }
}

.member-identity .holdings-art { width:115px;height:46px; }
.member-identity .holdings-art img { width:114%;height:auto;max-width:none; }

@media(max-width:480px) { .site-header .header-link--partner { display:none; } }

@media (min-width:701px) and (max-width:1000px) { .explorer { grid-template-columns:1fr; } }

/* A stable header surface keeps the approved logo integrated while scrolling. */
.site-header, .company-page .site-header { background:var(--paper); backdrop-filter:none; }
.site-header .holdings-art { background:var(--paper); }

.route-company-detail { flex:1; min-width:0; }
.route-member-strip { display:block; margin-top:12px; padding-top:10px; border-top:1px solid rgba(20,35,63,.12); }
.route-member-caption { display:block; font-size:10px; letter-spacing:.04em; color:var(--ink-soft); }
.route-member-logos { display:flex; flex-wrap:wrap; gap:7px 10px; margin-top:7px; }
.route-member-mark { display:flex; align-items:center; justify-content:center; width:52px; height:26px; }
.route-company-link .route-member-mark img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.route-member-mark > span { font-size:10px; font-weight:700; color:var(--ink-soft); }
@media(max-width:700px) { .route-company-link:has(.route-member-strip) { align-items:flex-start; gap:12px; } .route-company-link:has(.route-member-strip) .portfolio-logo { width:72px; } .route-member-mark { width:46px; } }

/* Balanced member marks at every panel width. */
.route-member-logos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 10px; max-width:280px; }
.route-member-logos:has(> :last-child:nth-child(2)) { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:140px; }
.route-member-logos .route-member-mark { width:100%; min-width:0; height:28px; }

/* Quiet certification labels, distinct from government seals. */
.certification-strip { display:flex; flex-wrap:wrap; gap:7px; margin:16px 0 20px; }
.certification-badge { display:inline-flex; flex-direction:column; gap:3px; padding:7px 10px; border:1px solid rgba(20,35,63,.22); border-radius:2px; color:var(--ink); background:rgba(251,250,245,.42); }
.certification-issuer { font-size:8px; font-weight:600; line-height:1.2; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }
.certification-badge strong { font-size:11px; font-weight:700; letter-spacing:.035em; line-height:1.25; }
.member-card .certification-strip { margin:12px 0 16px; }
.hero .certification-strip { margin:18px 0 22px; }

/* Keep capability descriptions from ending with a single orphaned word. */
#route-capability { text-wrap: pretty; }
