.ogcs-connections-hub{max-width:1180px;margin:0 auto}
.ogcs-hub-intro{max-width:850px;margin:0 0 44px}
.ogcs-hub-eyebrow{margin:0 0 12px;color:var(--bronze,#987b56);font-size:10px;letter-spacing:.19em;text-transform:uppercase}
.ogcs-hub-intro h2{margin:0 0 18px;font:400 clamp(38px,5vw,66px)/1.02 var(--serif,Georgia,serif);letter-spacing:-.045em}
.ogcs-hub-intro>p:last-child{max-width:760px;margin:0;color:var(--ink-soft,#66665e);font-size:17px;line-height:1.8}
.ogcs-hub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line,#d9d4ca);border-bottom:1px solid var(--line,#d9d4ca);margin:42px 0;padding:20px 0}
.ogcs-hub-stats>div{display:flex;flex-direction:column;gap:5px;padding:0 22px;border-left:1px solid var(--line,#d9d4ca)}
.ogcs-hub-stats>div:first-child{padding-left:0;border-left:0}
.ogcs-hub-stats strong{font:400 38px/1 var(--serif,Georgia,serif);color:var(--ink,#282720);font-variant-numeric:tabular-nums}
.ogcs-hub-stats span{color:var(--ink-soft,#66665e);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.ogcs-hub-controls{padding:24px 0 15px;border-top:1px solid var(--line,#d9d4ca)}
.ogcs-hub-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.ogcs-hub-filters button{appearance:none;padding:9px 14px;border:1px solid var(--line,#d9d4ca);border-radius:2px;background:transparent;color:var(--ink,#282720);font:600 10px/1.2 var(--sans,Arial,sans-serif);letter-spacing:.13em;text-transform:uppercase;cursor:pointer}
.ogcs-hub-filters button:hover,.ogcs-hub-filters button:focus-visible{border-color:var(--bronze,#987b56);outline-offset:3px}
.ogcs-hub-filters button.is-active{background:var(--ink,#282720);border-color:var(--ink,#282720);color:#fff}
.ogcs-hub-search-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr);gap:16px}
.ogcs-hub-search-label,.ogcs-hub-type-label{display:flex;flex-direction:column;gap:7px;color:var(--ink-soft,#66665e);font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.ogcs-hub-search,.ogcs-hub-type-filter{width:100%;min-height:45px;padding:10px 12px;border:1px solid var(--line,#d9d4ca);border-radius:0;background:transparent;color:var(--ink,#282720);font:14px var(--sans,Arial,sans-serif);letter-spacing:normal;text-transform:none}
.ogcs-hub-search::placeholder{color:var(--ink-soft,#77756c);opacity:.8}
.ogcs-hub-results{margin:14px 0 0;color:var(--ink-soft,#66665e);font-size:11px}
.ogcs-hub-path-list{border-top:1px solid var(--line,#d9d4ca)}
.ogcs-hub-path{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.55fr) minmax(0,1fr);gap:22px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line,#d9d4ca)}
.ogcs-hub-path[hidden]{display:none}
.ogcs-hub-record{min-width:0}
.ogcs-hub-record-type{display:block;margin-bottom:8px;color:var(--bronze,#987b56);font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.ogcs-hub-record>a{display:inline-block;color:var(--ink,#282720);font:400 clamp(21px,2.2vw,29px)/1.13 var(--serif,Georgia,serif);text-decoration:none;overflow-wrap:anywhere}
.ogcs-hub-record>a:hover{text-decoration:underline;text-decoration-color:var(--bronze,#987b56);text-underline-offset:4px}
.ogcs-hub-relationship{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ink-soft,#66665e);font-size:10px;line-height:1.4;text-align:center}
.ogcs-hub-relationship>span:first-child{max-width:150px}
.ogcs-hub-arrow{color:var(--bronze,#987b56);font:26px/1 var(--serif,Georgia,serif)}
.ogcs-hub-no-results{padding:28px 0;color:var(--ink-soft,#66665e);font-size:14px}
.ogcs-hub-empty{padding:clamp(26px,5vw,58px);border:1px solid var(--line,#d9d4ca);background:var(--paper-deep,#eeebe3)}
.ogcs-hub-empty-index{margin:0 0 13px;color:var(--bronze,#987b56);font-size:9px;letter-spacing:.18em}
.ogcs-hub-empty h3{max-width:650px;margin:0 0 12px;font:400 clamp(28px,4vw,42px)/1.1 var(--serif,Georgia,serif)}
.ogcs-hub-empty>p:not(.ogcs-hub-empty-index){max-width:720px;color:var(--ink-soft,#66665e);font-size:14px;line-height:1.7}
.ogcs-hub-empty-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px}
.ogcs-hub-empty-actions a{color:var(--ink,#282720);font-size:10px;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--bronze,#987b56);padding-bottom:6px}
.ogcs-hub-editor-note{padding-top:20px;border-top:1px solid var(--line,#d9d4ca);font-size:12px}
.ogcs-hub-principles{margin-top:68px;padding-top:30px;border-top:1px solid var(--line,#d9d4ca)}
.ogcs-hub-principles>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.ogcs-hub-principles section h3{margin:0 0 8px;font:400 24px/1.1 var(--serif,Georgia,serif)}
.ogcs-hub-principles section p{margin:0;color:var(--ink-soft,#66665e);font-size:13px;line-height:1.65}
@media(max-width:800px){.ogcs-hub-path{grid-template-columns:1fr;gap:10px;padding:22px 0}.ogcs-hub-relationship{flex-direction:row;justify-content:flex-start;padding-left:2px}.ogcs-hub-arrow{font-size:20px}.ogcs-hub-principles>div{grid-template-columns:1fr;gap:20px}}
@media(max-width:620px){.ogcs-hub-stats{margin:30px 0;padding:16px 0}.ogcs-hub-stats>div{padding:0 10px}.ogcs-hub-stats strong{font-size:30px}.ogcs-hub-stats span{font-size:8px;letter-spacing:.08em}.ogcs-hub-search-row{grid-template-columns:1fr}.ogcs-hub-record>a{font-size:25px}.ogcs-hub-empty-actions{flex-direction:column;align-items:flex-start}}


/* Interactive knowledge graph */
.ogcs-graph-explorer{margin:42px 0 38px;padding:28px 0 32px;border-top:1px solid var(--line,#d9d4ca);border-bottom:1px solid var(--line,#d9d4ca)}
.ogcs-graph-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}
.ogcs-graph-heading>div:first-child{max-width:700px}
.ogcs-graph-heading h3{margin:0 0 9px;font:400 clamp(29px,3.5vw,42px)/1.08 var(--serif,Georgia,serif);letter-spacing:-.035em}
.ogcs-graph-heading p:last-child{margin:0;color:var(--ink-soft,#66665e);font-size:14px;line-height:1.6}
.ogcs-graph-legend{display:flex;flex-wrap:wrap;gap:12px;padding-bottom:4px}
.ogcs-graph-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft,#66665e);font-size:9px;letter-spacing:.12em}
.ogcs-graph-legend span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--graph-node-color)}
.ogcs-legend-think{--graph-node-color:#718b82}
.ogcs-legend-create{--graph-node-color:#b58d59}
.ogcs-legend-connect{--graph-node-color:#8290a0}
.ogcs-graph-toolbar{display:flex;justify-content:flex-end;gap:6px;margin:0 0 8px}
.ogcs-graph-toolbar button{min-width:36px;min-height:32px;padding:5px 10px;border:1px solid var(--line,#d9d4ca);border-radius:2px;background:transparent;color:var(--ink,#282720);font:12px var(--sans,Arial,sans-serif);cursor:pointer}
.ogcs-graph-toolbar button:hover,.ogcs-graph-toolbar button:focus-visible{border-color:var(--bronze,#987b56);outline-offset:2px}
.ogcs-graph-shell{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(235px,.55fr);gap:18px;align-items:stretch}
.ogcs-graph-shell[hidden]{display:none}
.ogcs-graph-stage{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line,#d9d4ca);background:radial-gradient(ellipse at 50% 45%,#ffffff 0%,#f4f1e9 74%);touch-action:pan-y}
.ogcs-knowledge-graph{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1040/620;touch-action:none;cursor:grab}
.ogcs-knowledge-graph.is-panning{cursor:grabbing}
.ogcs-graph-edge{stroke:#a8a193;stroke-width:1.35;opacity:.56;transition:opacity .18s ease,stroke-width .18s ease}
.ogcs-graph-edge.is-filtered{display:none}
.ogcs-graph-edge.is-highlighted{stroke:#554c3d;stroke-width:2.7;opacity:1}
.ogcs-graph-edge.is-dimmed{opacity:.12}
.ogcs-graph-arrowhead{fill:#8f836f}
.ogcs-graph-node{cursor:pointer;outline:none;transition:opacity .18s ease}
.ogcs-graph-node.is-filtered{display:none}
.ogcs-graph-node.is-dimmed{opacity:.2}
.ogcs-graph-node-core{fill:var(--graph-node-color,#8a8a80);stroke:#fffdf8;stroke-width:2.2;vector-effect:non-scaling-stroke;transition:r .18s ease,stroke-width .18s ease,filter .18s ease}
.ogcs-domain-think{--graph-node-color:#718b82}
.ogcs-domain-create{--graph-node-color:#b58d59}
.ogcs-domain-connect{--graph-node-color:#8290a0}
.ogcs-domain-archive{--graph-node-color:#9a9387}
.ogcs-graph-node:hover .ogcs-graph-node-core,.ogcs-graph-node.is-hovered .ogcs-graph-node-core{stroke:#403a30;stroke-width:3.2}
.ogcs-graph-node.is-selected .ogcs-graph-node-core{stroke:#282720;stroke-width:4;filter:drop-shadow(0 2px 4px #28272055)}
.ogcs-graph-node.is-related .ogcs-graph-node-core{stroke:#fffdf8;stroke-width:3.5}
.ogcs-graph-node:focus-visible .ogcs-graph-node-core{stroke:#282720;stroke-width:4}
.ogcs-graph-node-label{fill:#3d3b35;font-family:var(--sans,Arial,sans-serif);paint-order:stroke;stroke:#f7f4ed;stroke-linejoin:round;pointer-events:none;opacity:.82}
.ogcs-graph-node.is-selected .ogcs-graph-node-label,.ogcs-graph-node.is-hovered .ogcs-graph-node-label,.ogcs-graph-node:focus-visible .ogcs-graph-node-label{fill:#171612;font-weight:700;opacity:1}
.ogcs-graph-help{position:absolute;left:12px;bottom:9px;margin:0;color:#706d64;font-size:9px;letter-spacing:.04em;pointer-events:none}
.ogcs-graph-detail{min-width:0;padding:22px;border:1px solid var(--line,#d9d4ca);background:var(--paper-deep,#eeebe3)}
.ogcs-graph-detail-kicker{margin:0 0 10px;color:var(--bronze,#987b56);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.ogcs-graph-detail h4{margin:0 0 10px;font:400 clamp(23px,2.4vw,30px)/1.1 var(--serif,Georgia,serif);overflow-wrap:anywhere}
.ogcs-graph-detail>p:not(.ogcs-graph-detail-kicker){margin:0 0 14px;color:var(--ink-soft,#66665e);font-size:13px;line-height:1.6}
.ogcs-graph-open-record{display:inline-block;margin:2px 0 20px;color:var(--ink,#282720);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--bronze,#987b56);padding-bottom:5px}
.ogcs-graph-neighbours-title{margin:16px 0 8px;padding-top:14px;border-top:1px solid var(--line,#d9d4ca);color:var(--bronze,#987b56);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.ogcs-graph-neighbours{display:grid;gap:10px;list-style:none;margin:0;padding:0}
.ogcs-graph-neighbours li{display:grid;gap:3px}
.ogcs-graph-neighbours small{color:var(--ink-soft,#66665e);font-size:9px}
.ogcs-graph-neighbours a{color:var(--ink,#282720);font:400 16px/1.2 var(--serif,Georgia,serif);text-decoration:none}
.ogcs-graph-neighbours a:hover{text-decoration:underline;text-underline-offset:3px}
.ogcs-graph-limit,.ogcs-graph-no-script{margin:12px 0 0;color:var(--ink-soft,#66665e);font-size:11px;line-height:1.55}
@media(max-width:900px){.ogcs-graph-shell{grid-template-columns:1fr}.ogcs-graph-detail{padding:18px}.ogcs-graph-neighbours{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ogcs-graph-heading{align-items:flex-start;flex-direction:column}.ogcs-graph-legend{padding:0}.ogcs-knowledge-graph{min-height:310px}.ogcs-graph-detail{padding:16px}.ogcs-graph-neighbours{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ogcs-graph-edge,.ogcs-graph-node,.ogcs-graph-node-core{transition:none!important}}

.ogcs-node-degree-1:not(.is-hovered):not(.is-selected) .ogcs-graph-node-label{opacity:0}
.ogcs-graph-node-degree-1:focus-visible .ogcs-graph-node-label{opacity:1}
