:root{--v-navy:#18334e;--v-gold:#b59a65;--v-cream:#f5f3ed;--v-ink:#213e52;--v-muted:#60717e;--v-line:#dbe2e6}
.visual-home,.visual-page{color:var(--v-ink)}
.visual-home [hidden],.visual-page [hidden]{display:none!important}
.visual-home .v-hero{background:var(--v-navy);color:white;padding:48px 0 42px}
.v-hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:center}
.visual-home .v-hero h1{font:400 clamp(30px,3.2vw,46px)/1.18 var(--serif);color:white;max-width:450px;margin:15px 0 18px}
.visual-home .v-hero .hero__subtitle{font:italic 22px/1.5 var(--serif);color:#e2e5e3;margin:0 0 22px}
.visual-home .v-hero .lead{font:400 15px/1.8 var(--sans);color:#c6d4df;max-width:380px}
.v-kicker{text-transform:uppercase;font:600 10px/1.5 var(--sans);letter-spacing:1.8px;color:var(--v-muted);margin:0 0 12px}
.v-hero .v-kicker{color:#bfccd5}.v-hero .btn{margin-top:14px;background:white;color:var(--v-navy)}
.v-map-panel{background:#fff;color:var(--v-ink);padding:24px 24px 17px;border-top:3px solid var(--v-gold)}
.v-map-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.v-map-heading h2{font:400 22px/1.35 var(--serif);margin:0;color:var(--v-ink)}
.v-switch{display:flex;gap:3px;background:#edf1f3;padding:3px;border-radius:4px;width:max-content;max-width:100%;flex-wrap:wrap}
.v-switch button{border:0;background:transparent;color:#40586a;padding:8px 12px;font:600 11px/1.3 var(--sans);cursor:pointer;border-radius:2px}
.v-switch button[aria-pressed=true]{background:white;color:var(--v-navy);box-shadow:0 1px 4px #1a324321}
.v-map-panel .v-switch{margin-top:14px}.v-network{display:block;width:100%;height:auto;overflow:visible;font-family:var(--sans)}
.v-link{fill:none;stroke:#9badb9;opacity:.35;cursor:pointer;transition:opacity .18s,stroke .18s}
.v-link:hover,.v-link:focus{stroke:#a8823f;opacity:1;outline:none}.v-link.is-selected{stroke:#a8823f;opacity:1}
.v-link.is-dim{opacity:.06}.v-node{cursor:pointer}.v-node circle{stroke:white;stroke-width:3;transition:stroke .18s}
.v-node:hover circle,.v-node:focus circle,.v-node.is-selected circle{stroke:#b89858;stroke-width:5}.v-node:focus{outline:none}
.v-node text{fill:var(--v-ink);font-size:12px;font-weight:550;paint-order:stroke;stroke:white;stroke-width:4px;stroke-linejoin:round}
.v-node.is-dim{opacity:.2}.v-map-note{font:400 11px/1.65 var(--sans);color:var(--v-muted);margin:0}
.v-map-feedback{min-height:42px;border-top:1px solid var(--v-line);padding-top:12px;font:500 12px/1.6 var(--sans);margin-top:8px}
.v-inline-link{display:inline-block;font:600 12px/1.6 var(--sans);color:var(--v-ink);border-bottom:1px solid var(--v-gold);padding-bottom:3px;text-decoration:none;margin-top:13px}
.v-caption{font:400 11px/1.65 var(--sans);color:var(--v-muted);margin:16px 0 0}.v-hero>.container>.v-caption{color:#bacbd8}
.v-concepts{padding:65px 0 48px;background:var(--v-cream)}
.v-section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}
.v-section-head h2{font:400 30px/1.3 var(--serif);margin:0}.v-section-head>p{max-width:380px;font-size:13px;line-height:1.8;margin:0;color:var(--v-muted)}
.v-concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.v-concept{border-top:2px solid var(--v-gold);padding-top:19px}.v-concept h3{font:400 22px/1.4 var(--serif);margin:10px 0 7px}
.v-concept p{font-size:13px;line-height:1.8;margin:5px 0 12px}.v-concept small{display:block;font-size:11px;line-height:1.7;color:var(--v-muted)}
.v-concept svg{width:100%;height:155px;display:block}.v-concept svg text{font:11px var(--sans);fill:var(--v-ink)}
.v-concept .v-working{font:600 11px var(--sans);letter-spacing:.2px;color:#86703f}
.v-intro{background:var(--v-navy);color:white;padding:40px 0 36px}.v-intro h1{font:400 38px/1.25 var(--serif);color:white;margin:10px 0 14px}.v-intro p{max-width:700px;font-size:15px;line-height:1.8;color:#c7d5df;margin-bottom:0}.v-intro .v-kicker{color:#b9c9d5}.v-intro a{color:inherit;text-decoration:none}.v-breadcrumb{font-size:11px!important;margin:0 0 28px!important}
.v-workspace{padding-top:28px;padding-bottom:55px}.v-toolbar{display:flex;gap:20px;align-items:end;flex-wrap:wrap;border-bottom:1px solid var(--v-line);padding-bottom:23px;margin-bottom:26px}.v-toolbar label{font:600 11px/1.7 var(--sans)}.v-toolbar select{display:block;border:1px solid #b7c3ca;padding:9px 30px 9px 12px;background:white;color:var(--v-ink);font:13px var(--sans);min-width:150px;margin-top:5px}.v-toolbar .v-switch{margin-top:5px}.v-cohort-label{font:600 11px/1.7 var(--sans);margin:0}.v-reset{margin-left:auto;border:0;border-bottom:1px solid #aab8c2;background:transparent;font:12px var(--sans);color:var(--v-ink);cursor:pointer;padding:8px 0}
.v-lenses{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--v-line);gap:16px;margin-bottom:24px}.v-lenses button{text-align:left;background:white;border:0;border-bottom:3px solid transparent;cursor:pointer;padding:10px 5px 17px;color:var(--v-muted)}.v-lenses button[aria-pressed=true]{border-color:var(--v-gold);color:var(--v-ink)}.v-lenses span{display:block;font:400 23px/1.3 var(--serif)}.v-lenses small{display:block;font:11px/1.6 var(--sans);margin-top:5px}
.v-notice{font-size:12px;line-height:1.8;margin:0 0 25px;color:var(--v-muted)}
.v-stage-head{display:flex;gap:20px;justify-content:space-between;align-items:center}.v-stage-head h2{font:400 29px/1.3 var(--serif);margin:0 0 8px}.v-stage-head p{font-size:13px;line-height:1.7;color:var(--v-muted);max-width:650px;margin:0}.v-stage-controls{display:flex;flex-direction:column;gap:10px;align-items:end}.v-stage-controls label{font-size:11px;white-space:nowrap}.v-stage-controls input{accent-color:var(--v-navy);vertical-align:middle;margin-right:5px}
.v-graph-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(245px,.8fr);gap:36px;align-items:start;margin-top:25px}.v-canvas{min-width:0}.v-canvas .v-network{background:#f8fafb;border:1px solid #e9eef1}.v-inspector{background:var(--v-cream);border-top:2px solid var(--v-gold);padding:23px;min-width:0;position:sticky;top:125px}.v-inspector h3{font:400 24px/1.35 var(--serif);margin:6px 0 14px}.v-inspector p{font-size:12px;line-height:1.8}.v-inspector .v-kicker{font-size:9px}.v-inspector button{cursor:pointer}.v-stat-line{font-size:12px!important;color:#516976}.v-evidence{margin-top:21px;border-top:1px solid #d9dcd8;padding-top:15px}.v-evidence h4{font:600 11px var(--sans);margin:0 0 7px}.v-evidence-item{border-bottom:1px solid #dce0db;padding:11px 0}.v-paper{border:0;padding:0;background:transparent;text-align:left;font:500 12px/1.6 var(--sans);color:var(--v-ink);text-decoration:underline;text-underline-offset:3px}.v-evidence-item small{display:block;font:10px/1.7 var(--sans);color:var(--v-muted);margin-top:5px}.v-cites{display:block;font:italic 11px var(--serif);color:#8b7441;margin:8px 0}.v-neighbours{display:flex;gap:6px;flex-wrap:wrap}.v-neighbours button{padding:6px 9px;background:white;border:1px solid #c7d2d8;color:var(--v-ink);font:11px var(--sans);text-align:left}.v-empty{padding:35px 20px;color:var(--v-muted);font-size:13px;border:1px dashed #cad3da}
.v-bars{padding:15px 0;display:flex;flex-direction:column;gap:4px}.v-bar{border:0;background:white;display:grid;grid-template-columns:175px minmax(20px,1fr) 38px;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;padding:8px;color:var(--v-ink);font:11px var(--sans)}.v-bar:hover,.v-bar[aria-pressed=true]{background:#f1f4f5}.v-bar-track{height:16px;background:#f0f2f3;display:block}.v-bar-track i{height:100%;display:block;min-width:1px}.v-bar strong{font-size:11px;font-weight:500;text-align:right}.v-zero-field{color:#87949d}
.v-table-wrap{max-height:510px;overflow:auto;border:1px solid var(--v-line);margin-top:8px}.v-table{width:100%;border-collapse:collapse;font:12px/1.5 var(--sans)}.v-table th{background:#f1f4f5;position:sticky;top:0;text-align:left;padding:12px}.v-table td{padding:10px 12px;border-top:1px solid var(--v-line)}.v-table td:last-child{text-align:right}.v-table button{border:0;background:transparent;color:var(--v-ink);text-align:left;font:inherit;cursor:pointer;text-decoration:underline}
.v-sector svg text{font-family:var(--sans)}.v-sector .v-sector-label{font-size:16px;fill:var(--v-ink)}.v-sector .v-sector-small{font-size:12px;fill:#697c8c}.v-sector-link{stroke:#b2945b;fill:none;opacity:.55;cursor:pointer}.v-sector-link:hover,.v-sector-link:focus,.v-sector-link.is-selected{opacity:1;stroke:#6c7c84;outline:none}.v-sector-node{cursor:pointer}.v-sector-node:focus{outline:2px solid var(--v-gold)}
.v-coverage{display:flex;height:9px;background:#dce2e6;margin:13px 0 7px}.v-coverage span{background:#859d9f}.v-detail-row{border-top:1px solid var(--v-line);margin-top:30px;padding-top:19px}.v-detail-row summary{font:600 12px var(--sans);cursor:pointer}.v-detail-row p,.v-detail-row li{font-size:12px;line-height:1.8}.v-detail-row a{font-weight:600}
.v-process{padding:38px 0 0;margin-top:35px;border-top:1px solid var(--v-line)}.v-process h2{font:400 28px/1.4 var(--serif);margin:0 0 14px}.v-process>p{font-size:13px;line-height:1.8;max-width:750px}.v-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:24px 0}.v-process-item{border-top:2px dashed #b6c2c8;padding-top:17px}.v-process-item h3{font:400 20px var(--serif);margin:0 0 13px}.v-process-item p{font:12px/1.8 var(--sans)}.v-process-item span{display:inline-block;font-size:10px;padding:5px 8px;background:#edf0f2;color:#566b7a}.v-process-status{background:var(--v-cream);padding:17px 20px;font-size:12px!important}
.v-dialog{max-width:650px;width:calc(100% - 40px);max-height:85vh;border:1px solid #9eadb5;padding:30px;color:var(--v-ink)}.v-dialog::backdrop{background:#162f46b3}.v-dialog h2{font:400 26px/1.4 var(--serif);margin:25px 0}.v-dialog p{font-size:13px;line-height:1.8;overflow-wrap:anywhere}.v-dialog button{float:right;padding:8px 14px;border:1px solid #b8c5cd;background:white;color:var(--v-ink);cursor:pointer}.v-dialog dt{font:600 11px var(--sans);margin-top:15px}.v-dialog dd{margin:5px 0 0;font:13px/1.6 var(--sans);overflow-wrap:anywhere}
.visual-home button:focus-visible,.visual-page button:focus-visible,.visual-page a:focus-visible{outline:2px solid #94743f;outline-offset:3px}.v-footnotes{font-size:11px;line-height:1.8;color:var(--v-muted);margin:24px 0}.v-sources code{font-family:var(--sans);overflow-wrap:anywhere;font-size:11px}
@media(max-width:1000px){.v-hero-grid{gap:25px;grid-template-columns:.8fr 1.2fr}.v-graph-layout{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:22px}.v-inspector{padding:18px}.v-map-panel{padding:17px}.v-map-heading h2{font-size:20px}.v-map-heading{display:block}.v-concept-grid{gap:20px}.v-bar{grid-template-columns:145px minmax(20px,1fr) 35px;font-size:10px}.v-lenses span{font-size:20px}}
@media(max-width:760px){.visual-home .v-hero{padding:27px 0}.v-hero-grid{grid-template-columns:1fr;gap:27px}.visual-home .v-hero h1{font-size:32px;max-width:500px}.visual-home .v-hero .lead{max-width:520px}.visual-home .v-hero .hero__subtitle{font-size:20px;margin-bottom:13px}.v-hero .btn{display:none}.v-map-panel{padding:17px 13px}.v-map-heading{display:flex}.v-map-heading h2{font-size:20px}.v-hero .v-network{margin-top:5px}.v-concepts{padding:33px 0}.v-section-head{display:block}.v-section-head h2{font-size:26px}.v-section-head>p{margin-top:13px;max-width:none}.v-concept-grid{grid-template-columns:1fr;gap:25px}.v-concept{display:grid;grid-template-columns:110px 1fr;gap:0 17px}.v-concept svg{grid-row:1/5;height:150px}.v-concept h3{font-size:21px;margin-top:4px}.v-concept p{font-size:12px}.v-concept small{font-size:10px}.v-working{grid-column:2}.v-intro{padding:27px 0}.v-intro h1{font-size:30px}.v-intro p{font-size:13px}.v-breadcrumb{margin-bottom:20px!important}.v-toolbar{gap:13px;align-items:center}.v-toolbar select{min-width:135px}.v-toolbar .v-switch button{padding:8px}.v-reset{margin-left:0}.v-lenses{gap:8px}.v-lenses span{font-size:16px}.v-lenses small{font-size:9px}.v-lenses button{padding:7px 0 14px}.v-notice{font-size:11px}.v-stage-head{display:block}.v-stage-head h2{font-size:26px}.v-stage-controls{flex-direction:row;align-items:center;justify-content:space-between;margin-top:17px}.v-graph-layout{grid-template-columns:1fr;gap:20px}.v-inspector{position:static;min-height:0}.v-inspector h3{font-size:23px}.v-network{min-width:0}.v-node text{font-size:14px}.v-node circle{stroke-width:2px}.v-map-note{font-size:10px}.v-bar{grid-template-columns:135px minmax(20px,1fr) 35px;gap:8px;padding:7px 3px}.v-table{font-size:11px}.v-table td,.v-table th{padding:9px 7px}.v-process h2{font-size:25px}.v-process-grid{grid-template-columns:1fr;gap:17px}.v-process-item h3{font-size:20px}.v-process-item p{margin-bottom:9px}.v-dialog{padding:20px}.v-dialog h2{font-size:22px}.v-caption{font-size:10px}.v-footnotes{font-size:10px}}
@media(prefers-reduced-motion:reduce){.v-link,.v-node circle{transition:none}}

.v-expanded .v-node text{opacity:0}.v-expanded .v-node:hover text,.v-expanded .v-node:focus text,.v-expanded .v-node.is-selected text{opacity:1}.v-expanded .v-node:hover,.v-expanded .v-node:focus{opacity:1}

/* Readability and pointer refinements from desktop/phone inspection. */
.v-link{stroke:#8098a7;opacity:.55}.v-node text{font-size:16px}.v-node circle{r:12px}.v-hero .v-kicker{color:#bbcbd7}.v-map-panel .v-kicker{color:#627584}.v-map-panel .v-network{margin-top:-7px;margin-bottom:-12px}.v-concept svg{max-width:320px}
@media(max-width:760px){.v-node text{font-size:23px;stroke-width:4px}.v-node circle{r:16px}.v-concept{display:block}.v-concept svg{width:100%;height:150px;margin:0 auto 12px}.v-concept h3{font-size:23px}.v-concept p{font-size:13px}.v-concept small{font-size:12px}.v-sector .v-sector-label{font-size:27px}.v-sector .v-sector-small{font-size:22px}.v-map-panel .v-network{margin-top:0;margin-bottom:0}.v-map-panel .v-kicker{font-size:9px}}

.v-bar-track i{min-width:0}
