/* Shared finishing details. Page themes continue to own all surface colors. */
body.visual-refined{--ns-body-font:'Helvetica Neue','Roboto',system-ui,sans-serif;--ns-heading-font:'EB Garamond',Georgia,serif;font-family:var(--ns-body-font);text-rendering:optimizeLegibility}
body.visual-refined main :is(input,select,textarea,button),body.visual-refined dialog :is(input,select,textarea,button){font-family:var(--ns-body-font)!important}
body.visual-refined main :is(h1,h2),body.visual-refined dialog :is(h1,h2){font-family:var(--ns-heading-font)!important;font-weight:400;letter-spacing:-.02em}
body.visual-refined main :is(.eyebrow,.tools-eyebrow,.home-eyebrow,.uw-label){font-family:var(--ns-body-font);font-weight:600;letter-spacing:.12em}
body.visual-refined main :is(p,li){text-wrap:pretty}
body.visual-refined main :is(table,.impact-metrics,.overview-capital,.intelligence-scoreboard,.valuation-estimate){font-variant-numeric:tabular-nums lining-nums}
body.visual-refined main table{line-height:1.5}
body.visual-refined main :is(th,td){vertical-align:top}
body.visual-refined main thead th{font-weight:600}
body.visual-refined main :is(td small,.impact-note,.directory-record small){line-height:1.6}
body.visual-refined main :is(td a,.directory-record a,.nonprofit-links a,.tools-footnote a){text-underline-offset:3px;text-decoration-thickness:1px}
body.visual-refined .tools-card{border-radius:4px;box-shadow:none;gap:0;transition:border-color .16s ease,box-shadow .16s ease}
body.visual-refined .tools-card:hover{box-shadow:0 3px 12px #1025330a}
body.visual-refined .tools-main{max-width:1200px;padding-top:40px}
body.visual-refined .tools-main h1{font-size:42px;line-height:1.15}
body.visual-refined .tools-intro{font-size:1rem;line-height:1.6}
body.visual-refined :is(.impact-overview article,.impact-record,.directory-record){padding:22px}
body.visual-refined .impact-heading{align-items:flex-start}
body.visual-refined .impact-overview article>strong{line-height:1.15;margin:14px 0}
body.visual-refined :is(.impact-workspace-heading,.directory-heading){gap:20px}
body.visual-refined .impact-main :is(input,select),body.visual-refined.directory-page :is(input,select){min-height:44px}
body.visual-refined .impact-main .table-scroll{border-radius:3px}
body.visual-refined .score-evidence-table{font-size:14px;line-height:1.55}
body.visual-refined .score-evidence-table thead th{font-size:12px;letter-spacing:.01em}
body.visual-refined .score-evidence-table :is(th,td){padding:13px 14px}
body.visual-refined .score-support-section{margin-top:24px}
body.visual-refined .score-support-section h4{margin:0 0 8px;font:600 14px/1.4 var(--ns-body-font)}
body.visual-refined .score-support-section .evidence-comparison-note{margin:0 0 14px}
body.visual-refined :is(.copy-details,.funding-score-snapshot)>summary{line-height:1.5;cursor:pointer}
body.visual-refined dialog{border-radius:4px}
body.visual-refined .login-panel label{font-weight:500}
/* Preserve borderless map selectors and keyboard focus treatment. */
body.visual-refined #mapLayerChoices button{border:0!important;box-shadow:none!important}
body.visual-refined #basemapSwitch button{border:0!important;box-shadow:none!important}
@media(max-width:700px){body.visual-refined .tools-main{padding:28px 18px 60px}body.visual-refined .tools-main h1{font-size:34px}body.visual-refined .score-evidence-table :is(th,td){padding:12px 10px}body.visual-refined :is(.impact-overview article,.impact-record,.directory-record){padding:18px}}
@media(prefers-reduced-motion:reduce){body.visual-refined .tools-card{transition:none}}

/* Support context has three columns rather than four score-input columns. */
body.visual-refined .score-support-table th:first-child{width:48%}
body.visual-refined .score-support-table th:nth-child(2){width:24%}
body.visual-refined .score-support-table th:last-child{width:28%}

body.visual-refined main #inputJSON{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;tab-size:2}

/* Strong enough field edges on the directory's light surfaces. */
body.visual-refined.directory-page :is(main,dialog) :is(input,select,textarea):not([type=checkbox]):not([type=radio]){border-color:#718579}


/* Institutional finish: shared type and quiet surfaces without moving content. */
body.visual-refined{--ns-heading-font:'EB Garamond',Georgia,serif;--ns-reading-muted:#59685f}
body.visual-refined main :is(h1,h2,h3){text-wrap:balance}
body.visual-refined main :is(h1,h2){letter-spacing:-.025em}
body.visual-refined .site-account{font-family:var(--ns-body-font)}
body.visual-refined main :is(.eyebrow,.tools-eyebrow,.home-eyebrow){letter-spacing:.1em}
body.visual-refined main :is(button,input,select,textarea){font-variant-numeric:tabular-nums}

/* Impact and Community deliberately stay light in both city editions. */
body.visual-refined:is(.impact-page,.community-page){background:var(--ns-impact-bg);color:var(--ns-impact-ink);color-scheme:light}
body.visual-refined.impact-page .impact-main,
body.visual-refined.community-page main{max-width:1200px;margin-inline:auto;padding:44px 28px 80px}
body.visual-refined.impact-page .methods-heading h1,
body.visual-refined.community-page .heading h1{font-size:42px;line-height:1.15;margin:12px 0 16px}
body.visual-refined.impact-page .methods-heading p,
body.visual-refined.community-page .heading p:last-child{font-size:16px;line-height:1.65;color:var(--ns-impact-muted);max-width:680px}
body.visual-refined.impact-page .methods-heading .eyebrow,
body.visual-refined.community-page .heading .eyebrow{font-size:11px;line-height:1.4;font-weight:600;letter-spacing:.1em;color:var(--ns-impact-muted)}
body.visual-refined.community-page .heading{margin-bottom:32px}
body.visual-refined.impact-page .impact-main h2,
body.visual-refined.community-page main h2{font-size:28.8px;line-height:1.2}
body.visual-refined.community-page main h3{font-size:23px;line-height:1.3}
body.visual-refined:is(.impact-page,.community-page) :is(.impact-overview article,.impact-record,.panel){background:var(--ns-impact-panel);border-color:var(--ns-impact-line);border-radius:4px;box-shadow:none}
body.visual-refined.impact-page .impact-overview article>strong{font-size:32px;line-height:1.2;font-weight:400;letter-spacing:-.025em}
body.visual-refined.impact-page :is(.impact-overview,.impact-metrics,.overview-capital){font-variant-numeric:tabular-nums lining-nums}
body.visual-refined.impact-page .impact-main :is(th,td),
body.visual-refined.community-page main :is(th,td){padding:14px;border-color:var(--ns-impact-line);line-height:1.55}
body.visual-refined.impact-page .impact-main thead th,
body.visual-refined.community-page main thead th{background:var(--ns-impact-subtle);color:var(--ns-impact-muted);font-size:12px;font-weight:600;letter-spacing:.015em}
body.visual-refined.impact-page :is(.impact-select-menu,.chi-select-menu){box-shadow:0 8px 24px #293b3514;border-radius:4px}
body.visual-refined.impact-page :is(.impact-tabs button,.impact-section-nav a),
body.visual-refined.community-page .tabs button{font-size:14px;font-weight:500}
body.visual-refined.impact-page .impact-tabs button[aria-selected=true],
body.visual-refined.community-page .tabs button[aria-current=page]{font-weight:600}
body.visual-refined.impact-page :is(.impact-dialog,.impact-main) :is(input,select,textarea),
body.visual-refined.community-page main :is(input,select,textarea){border-radius:4px;background-color:var(--ns-impact-panel);color:var(--ns-impact-ink)}
body.visual-refined.impact-page :is(.impact-dialog,.impact-main) button,
body.visual-refined.community-page main button{border-radius:4px;box-shadow:none}
body.visual-refined.community-page .tabs button{border-radius:0}
body.visual-refined.community-page .record summary{font-size:14px;font-weight:500}
body.visual-refined.community-page .badge{background:var(--ns-impact-subtle);border-color:var(--ns-impact-line);color:var(--ns-impact-link)}
body.visual-refined.community-page footer{max-width:1200px}

/* Existing Home, Tools, Account and Intelligence palettes remain page-owned. */
body.visual-refined.home-page .home-hero-copy{line-height:1.65}
body.visual-refined.home-page .home-lead{max-width:580px}
body.visual-refined .tools-card{border-color:#d6dbd3;background:#fff;padding:30px}
body.visual-refined .tools-card h2{font-size:30px;line-height:1.2;margin:16px 0 12px}
body.visual-refined .tools-card :is(p,li){line-height:1.65;color:#59685f}
body.visual-refined .login-intro p{font-size:17px;line-height:1.65}
body.visual-refined .login-panel{border-top-width:1px}
body.visual-refined .login-panel label{font-size:14px}
body.visual-refined .login-panel :is(input,button){min-height:46px;border-radius:4px}
body.visual-refined.map-page:not(.impact-page) :is(.score-evidence-table,.score-support-table){font-variant-numeric:tabular-nums;line-height:1.55}
@media(max-width:700px){
 body.visual-refined.impact-page .impact-main,body.visual-refined.community-page main{padding:28px 17px 60px}
 body.visual-refined.impact-page .methods-heading h1,body.visual-refined.community-page .heading h1{font-size:34px}
 body.visual-refined.impact-page .impact-main :is(th,td),body.visual-refined.community-page main :is(th,td){padding:12px}
 body.visual-refined .tools-card{padding:24px}
 body.visual-refined.community-page footer{padding-inline:17px}
}

/* Dialogs can sit inside or outside main; their title scale is shared. */
body.visual-refined.impact-page .impact-dialog h2{font-family:var(--ns-heading-font);font-size:28.8px;line-height:1.2;font-weight:400;letter-spacing:-.025em}

/* Finishing pass: readable tables and consistent existing interaction states. */
body.visual-refined :is(main,dialog) :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #b98b55;outline-offset:3px}
body.visual-refined :is(main,dialog) button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}
body.visual-refined :is(main,dialog) :is(button,a){text-underline-offset:4px;text-decoration-thickness:1px}
body.visual-refined :is(main,dialog) label{line-height:1.45;min-width:0}
body.visual-refined :is(main,dialog) :is(input,select,textarea){max-width:100%;min-width:0}
body.visual-refined :is(main,dialog) :is(p,li,dd,td){overflow-wrap:anywhere}
body.visual-refined :is(.impact-note,.note,.tools-footnote){max-width:80ch}
body.visual-refined.impact-page .impact-main .capital-table{min-width:760px;table-layout:auto}
body.visual-refined.impact-page .impact-main .capital-table .capital-amount{text-align:right;font-variant-numeric:tabular-nums;min-width:130px}
body.visual-refined.impact-page .impact-main .capital-table td.capital-amount>small{font-size:12px;line-height:1.5;white-space:nowrap}
body.visual-refined.impact-page .impact-main .capital-table td>strong{font-weight:600;line-height:1.45}
body.visual-refined.impact-page .impact-main .capital-table td>button{margin-top:10px;font-size:13px;line-height:1.4}
body.visual-refined.impact-page .impact-main .capital-table td>small{margin-top:6px}
body.visual-refined.impact-page .impact-main .table-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
body.visual-refined:is(.impact-page,.community-page) :is(.empty,#searchResults,#geoResults){line-height:1.65;color:var(--ns-impact-muted)}
body.visual-refined.impact-page .impact-main .capital-table td.empty{padding:28px 20px;text-align:left;white-space:normal}
body.visual-refined:is(.impact-page,.community-page) :is(.impact-toolbar,.toolbar,.panel-heading,.impact-heading,.chi-dialoghead)>*{min-width:0}
body.visual-refined.impact-page .impact-dialog :is(.impact-heading,.chi-dialoghead){align-items:flex-start;gap:20px;margin-bottom:20px}
body.visual-refined.impact-page .impact-dialog :is(.impact-heading,.chi-dialoghead)>h2{margin:0;flex:1}
body.visual-refined.impact-page .impact-dialog :is(#closeRecord,[data-close="chiFundingDialog"]){flex:none;min-width:44px;min-height:44px;padding:8px}
body.visual-refined.impact-page .impact-dialog :is(label,legend){font-size:14px;line-height:1.45}
body.visual-refined.impact-page .impact-dialog :is(.impact-note,.chi-note,.chi-privacy-note){font-size:14px;line-height:1.6}
body.visual-refined.impact-page .impact-dialog textarea{min-height:100px;resize:vertical}
body.visual-refined:is(.impact-page,.community-page) :is(main,dialog) button:not(:disabled):not([aria-selected=true]):not([aria-current=page]):hover{filter:brightness(.96)}
body.visual-refined.community-page .tabs button:hover{filter:none}
body.visual-refined:is(.impact-page,.community-page) .impact-select-trigger:hover,
body.visual-refined.impact-page .chi-select-trigger:hover{border-color:var(--ns-impact-link)}
body.visual-refined.impact-page :is(.impact-select-menu,.chi-select-menu){max-width:100%;overflow-wrap:anywhere}
@media(max-width:760px){
 body.visual-refined.impact-page .impact-toolbar{gap:14px}
 body.visual-refined.impact-page .impact-toolbar>label{flex:1 1 180px;max-width:none}
 body.visual-refined.impact-page .impact-dialog :is(.impact-fields,.chi-formgrid)>label{min-width:0}
 body.visual-refined.community-page .panel-heading{align-items:flex-start}
 body.visual-refined.community-page .panel-heading>h2{flex:1;min-width:0}
 body.visual-refined.community-page :is(.record-heading,.actions){gap:12px}
}
@media(max-width:480px){
 body.visual-refined.impact-page .impact-toolbar>label{flex-basis:100%}
 body.visual-refined.impact-page .impact-tabs{flex-wrap:wrap;gap:8px}
 body.visual-refined.impact-page .impact-tabs>button{flex:1;white-space:normal}
 body.visual-refined.impact-page .impact-record-heading{align-items:flex-start;flex-wrap:wrap}
 body.visual-refined.community-page .heading>button{max-width:100%;white-space:normal;text-align:center}
 body.visual-refined.community-page .actions>button{max-width:100%;white-space:normal}
 body.visual-refined .login-workspace{padding-inline:18px}
}

/* Reserve existing data regions so asynchronous content has a stable start. */
body.visual-refined.impact-page .impact-overview{min-height:340px}
body.visual-refined.impact-page .impact-overview:empty{min-height:340px}
body.visual-refined.impact-page :is(#storeStatus,#chiImpactAccount){min-height:24px}
body.visual-refined.community-page #status,
body.visual-refined.community-page #status:empty{display:block;min-height:24px;margin:8px 0 16px}
body.visual-refined.impact-page .table-scroll:has(tbody:empty){min-height:220px}
body.visual-refined.community-page :is(#searchResults,#geoResults):not(:empty){min-height:100px}
/* Preserve access to content when users enlarge text or reduce motion. */
body.visual-refined :is(main,dialog) :is(h1,h2,h3,p,label,summary){overflow-wrap:anywhere}
body.visual-refined .login-panel :is(input,button){font-size:16px}
body.visual-refined:is(.impact-page,.community-page) main :is(input,select,textarea){font-size:16px}
body.visual-refined :is(.table-scroll,.score-table-scroll):focus-visible{outline:2px solid #b98b55;outline-offset:3px}
@media(max-width:700px){
 body.visual-refined.impact-page .impact-overview,
 body.visual-refined.impact-page .impact-overview:empty{min-height:680px}
}
@media(prefers-reduced-motion:reduce){
 html:has(body.visual-refined){scroll-behavior:auto!important}
 body.visual-refined *,body.visual-refined *::before,body.visual-refined *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
@media(forced-colors:active){
 body.visual-refined :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid Highlight!important}
 body.visual-refined :is(button,input,select,textarea){border-color:ButtonText}
 body.visual-refined :is([aria-selected=true],[aria-current=page]){outline:1px solid Highlight;outline-offset:-2px}
}

/* Impact sections share exact type and geometry, including mobile text scaling. */
html:has(body:is(.impact-page,.directory-page)){font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}
body.visual-refined:is(.impact-page,.directory-page){font:400 16px/1.55 'Helvetica Neue','Roboto',system-ui,sans-serif}
body.visual-refined:is(.impact-page,.directory-page) .impact-section-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0 0 28px;padding:0;border-bottom:1px solid #80948b}
body.visual-refined:is(.impact-page,.directory-page) .impact-section-nav a{display:inline-flex;align-items:center;box-sizing:border-box;min-height:44px;margin:0 0 -1px;padding:10px 2px;font:500 14px/1.55 'Helvetica Neue','Roboto',system-ui,sans-serif;letter-spacing:0;border-bottom:3px solid transparent}
body.visual-refined:is(.impact-page,.directory-page) .impact-section-nav a[aria-current=page]{font-weight:600;border-bottom-color:currentColor}
body.visual-refined:is(.impact-page,.directory-page) :is(.methods-heading,.directory-heading){display:block;margin:0;padding:0 0 22px;border:0}
body.visual-refined:is(.impact-page,.directory-page) :is(.methods-heading,.directory-heading) h1{font:400 42px/1.15 'EB Garamond',Georgia,serif!important;letter-spacing:-.025em;margin:12px 0 16px}
body.visual-refined:is(.impact-page,.directory-page) :is(.methods-heading,.directory-heading) .eyebrow{display:block;font:600 11px/1.4 'Helvetica Neue','Roboto',system-ui,sans-serif;letter-spacing:.1em;margin:0;color:var(--ns-impact-muted)}
body.visual-refined:is(.impact-page,.directory-page) :is(.methods-heading,.directory-heading) p{font:400 16px/1.65 'Helvetica Neue','Roboto',system-ui,sans-serif;margin:16px 0;max-width:680px;color:var(--ns-impact-muted)}
@media(max-width:700px){
 body.visual-refined:is(.impact-page,.directory-page) :is(.methods-heading,.directory-heading) h1{font-size:34px!important}
}
@media(max-width:480px){
 body.visual-refined:is(.impact-page,.directory-page) .impact-section-nav{gap:8px 18px;margin-bottom:22px}
}

/* Finishing system: existing page palettes and layouts remain authoritative. */
body.visual-refined main{--ns-space-sm:12px;--ns-space-md:20px;--ns-space-lg:28px}
body.visual-refined main :is(h1,h2,h3){font-kerning:normal}
body.visual-refined main :is(button,input,select,textarea){letter-spacing:normal}
body.visual-refined main :is(button,a.button,.impact-export){line-height:1.4}
body.visual-refined main :is(button,input,select,textarea){transition:border-color .14s ease,background-color .14s ease,color .14s ease}
body.visual-refined main :is(input,textarea)::placeholder{opacity:1}
body.visual-refined main :is(details>summary){text-underline-offset:4px}
body.visual-refined main :is(details>summary):hover{text-decoration:underline;text-decoration-thickness:1px}

/* Light workspaces: quieter boundaries and one reading rhythm. */
body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(h2,h3){margin-bottom:12px}
body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(.impact-note,.note,.meta,.directory-focus,small){color:var(--ns-impact-muted)}
body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(.impact-record,.directory-record,.panel){border:1px solid var(--ns-impact-line);border-radius:4px;box-shadow:none}
body.visual-refined:is(.impact-page,.directory-page) :is(.impact-record,.directory-record) h3{font:400 23px/1.3 'EB Garamond',Georgia,serif;letter-spacing:-.02em;margin:4px 0 12px}
body.visual-refined.directory-page .directory-record p{font-size:14px;line-height:1.65}
body.visual-refined:is(.impact-page,.directory-page) :is(.impact-record,.directory-record)>:last-child{margin-bottom:0}
body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(.impact-toolbar,.directory-filters,.toolbar) label{font-size:14px;line-height:1.45;font-weight:500}
body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(.impact-toolbar,.directory-filters,.toolbar) :is(input,select,button){min-height:46px}
body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(.impact-select-trigger,.chi-select-trigger){font-size:16px;line-height:1.4;min-height:46px;padding:11px 14px;box-shadow:none}
body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(input,select,textarea):hover{border-color:var(--ns-impact-link)}
body.visual-refined:is(.impact-page,.directory-page) :is(.impact-account-bar,.directory-account-bar){min-height:65px}
body.visual-refined.directory-page #directoryAccount:empty{min-height:23px}
body.visual-refined.directory-page .directory-record details{margin-top:16px}
body.visual-refined.directory-page .directory-record summary{font-size:14px;font-weight:500;padding:8px 0}
body.visual-refined.directory-page .coverage-grid a{border-radius:3px;line-height:1.5}
body.visual-refined.directory-page .coverage-grid a:hover{text-decoration:underline;text-underline-offset:3px}
body.visual-refined.community-page .record{padding-block:28px}
body.visual-refined.community-page .record .summary{line-height:1.65}
body.visual-refined.community-page .record .actions{margin-top:20px}
body.visual-refined.community-page .tabs{margin-bottom:28px}
body.visual-refined.community-page .panel-heading{margin-bottom:24px}
body.visual-refined.impact-page .impact-overview article>p:last-child{margin-bottom:0}
body.visual-refined.impact-page .impact-select-menu,
body.visual-refined.impact-page .chi-select-menu{border-color:var(--ns-impact-line);box-shadow:0 8px 24px #293b3514}
body.visual-refined.impact-page :is(.impact-select-menu,.chi-select-menu) [role=option]{line-height:1.45}
body.visual-refined.impact-page .copy-details{border-color:var(--ns-impact-line);border-radius:4px;padding:12px 16px}
body.visual-refined.impact-page .copy-details>summary{font-size:14px;line-height:1.5;padding:4px 0}
body.visual-refined.impact-page .impact-main :is(.impact-overview,.impact-records){gap:20px}

/* Intelligence: the same typographic discipline on its existing dark surfaces. */
body.visual-refined.map-page:not(.impact-page) :is(.ranking-label,.ranking-status,.map-live-status,.map-attribution){line-height:1.5}
body.visual-refined.map-page:not(.impact-page) .section-line{letter-spacing:.08em}
body.visual-refined.map-page:not(.impact-page) .detail-panel :is(p,li){line-height:1.65}
body.visual-refined.map-page:not(.impact-page) .detail-panel :is(h2,h3){font-weight:400;letter-spacing:-.02em}
body.visual-refined.map-page:not(.impact-page) :is(.ranking-menu,.basemap-choices){border-radius:4px}
body.visual-refined.map-page:not(.impact-page) .search-wrap input{font-size:16px;line-height:1.4}
body.visual-refined.map-page:not(.impact-page) :is(.list-state,.map-loading,.detail-empty){line-height:1.6}
@media(max-width:700px){
 body.visual-refined:is(.impact-page,.directory-page) :is(.impact-record,.directory-record){padding:20px}
 body.visual-refined.community-page .record{padding-block:24px}
 body.visual-refined.impact-page .impact-main :is(.impact-overview,.impact-records){gap:16px}
}
@media(prefers-reduced-motion:reduce){body.visual-refined main :is(button,input,select,textarea){transition:none}}

/* Garamond headings with a light sans serif for reading and controls. */
body.visual-refined{font-family:'Helvetica Neue','Roboto',system-ui,sans-serif;--ns-body-font:'Helvetica Neue','Roboto',system-ui,sans-serif}
body.visual-refined :is(main,dialog) :is(p,li,dt,dd,label,legend,button,input,select,textarea,td,th,summary,small,.eyebrow){font-family:'Helvetica Neue','Roboto',system-ui,sans-serif!important}
body.visual-refined :is(main,dialog) :is(h1,h2,h3){font-family:'EB Garamond',Georgia,serif!important}
body.visual-refined main #inputJSON{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}

/* Restrained supporting typography; Garamond keeps the editorial hierarchy. */
body.visual-refined{font-size:14px}
body.visual-refined :is(main,dialog) :is(p,li,dt,dd,td,th,summary){font-size:14px}
body.visual-refined :is(main,dialog) :is(label,legend,.note,.impact-note,.meta,small,.directory-focus){font-size:12px;line-height:1.55}
body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(.impact-toolbar,.directory-filters,.toolbar) label{font-size:12px}
body.visual-refined:is(.impact-page,.directory-page) :is(.methods-heading,.directory-heading) p,
body.visual-refined.community-page .heading p:last-child{font-size:14px}
body.visual-refined:is(.impact-page,.directory-page) .impact-section-nav a{font-size:12px}
body.visual-refined :is(main,dialog) :is(button,input,select,textarea){font-size:14px}
body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(.impact-select-trigger,.chi-select-trigger,.directory-filters input,.directory-filters select,.toolbar #area){font-size:14px}
body.visual-refined .site-header .site-nav>a{font-size:14px!important}
@media(max-width:820px){
 body.visual-refined :is(main,dialog) :is(input,select,textarea),
 body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(.directory-filters input,.directory-filters select,.toolbar #area){font-size:16px}
}

/* Light sans serif treatment, with stronger labels for quiet hierarchy. */
body.visual-refined{font-weight:300}
body.visual-refined :is(main,dialog) :is(p,li,dt,dd,td,summary){font-weight:300;line-height:1.65}
body.visual-refined :is(main,dialog) :is(label,legend,th,small,.eyebrow,.note,.impact-note,.meta){font-weight:400}
body.visual-refined :is(main,dialog) :is(button,input,select,textarea){font-weight:300}
body.visual-refined main :is(.impact-select-trigger,.chi-select-trigger){font-weight:300}
body.visual-refined:is(.impact-page,.directory-page) .impact-section-nav a{font-weight:300;letter-spacing:.015em}
body.visual-refined:is(.impact-page,.directory-page) .impact-section-nav a[aria-current=page]{font-weight:400}
body.visual-refined:is(.impact-page,.directory-page) :is(.methods-heading,.directory-heading) p,
body.visual-refined.community-page .heading p:last-child{font-size:15px;font-weight:300}
body.visual-refined .site-header .site-nav>a{font-weight:300!important;letter-spacing:.015em!important}
body.visual-refined :is(main,dialog) strong{font-weight:500}
body.visual-refined main :is(.tabs button[aria-current=page],.impact-tabs button[aria-selected=true]){font-weight:400}

/* Typography QA: prevent legacy component rules from restoring heavier fonts. */
body.visual-refined :is(main,dialog) :is(h4,.uw-label,.ranking-label,.section-line,.tools-eyebrow){font-family:var(--ns-body-font)!important;font-weight:400}
body.visual-refined main :is(.impact-select-menu,.chi-select-menu,.ranking-menu) [role=option]{font-family:var(--ns-body-font)!important;font-size:14px;font-weight:300;line-height:1.5}
body.visual-refined main :is(.tools-card-action,.text-link,.section-link,.detail-profile-link){font-family:var(--ns-body-font);font-weight:400}
body.visual-refined main :is(.impact-record,.directory-record,.record)>:is(p,small){overflow-wrap:anywhere}
body.visual-refined main :is(.form-grid,.impact-fields,.chi-formgrid,.directory-filters)>*{min-width:0}
body.visual-refined :is(.site-header .site-nav>a,.site-header .site-city>summary,.site-header .site-account>summary){text-underline-offset:5px}
body.visual-refined footer{font-family:var(--ns-body-font);font-weight:300}

/* Match the weight of the shared light workspace body shorthand. */
body.visual-refined:is(.impact-page,.community-page,.directory-page){font-weight:300}

/* Final visual audit: calm hierarchy and legible lightweight typography. */
body.visual-refined .site-header .signal-wordmark{font-weight:400!important}
body.visual-refined.home-page :is(.home-primary,.home-secondary){font-weight:400}
body.visual-refined .tools-card-action{font-weight:400}
body.visual-refined:is(.impact-page,.community-page,.directory-page) main :is(.impact-note,.note,.meta,.directory-focus,small){color:#526157}
body.visual-refined.impact-page .impact-overview:has(>p:only-child){min-height:160px}
body.visual-refined.impact-page .impact-overview>p:only-child{margin:0;align-self:start}
body.visual-refined.impact-page .impact-main .capital-table :is(th,td).capital-amount{font-variant-numeric:tabular-nums lining-nums;text-align:right}
body.visual-refined.map-page:not(.impact-page) :is(.map-live-status,.ranking-status,.list-state){color:#a9bcc7}
body.visual-refined :is(main,dialog) :is(.impact-heading,.panel-heading,.directory-heading,.dialog-heading)>*{min-width:0}
@media(max-width:700px){body.visual-refined.impact-page .impact-overview:has(>p:only-child){min-height:180px}}

/* Intelligence sidebar type is explicit; page-wide form rules cannot enlarge it. */
body.visual-refined.map-page:not(.impact-page) .left-panel .section-line h2{font-family:var(--ns-body-font)!important;font-size:12px;line-height:1.4;font-weight:400;letter-spacing:.06em}
body.visual-refined.map-page:not(.impact-page) .left-panel :is(.ranking-label,.ranking-name-order,#countLabel){font-family:var(--ns-body-font)!important;font-size:12px;line-height:1.4;font-weight:400}
body.visual-refined.map-page:not(.impact-page) .left-panel :is(.ranking-picker>summary,.ranking-menu button){font-family:var(--ns-body-font)!important;font-size:14px;line-height:1.4;font-weight:300}
body.visual-refined.map-page:not(.impact-page) .left-panel .search-wrap input{border:0!important;outline:0;background:transparent;box-shadow:none;padding:0;min-height:0;font-family:var(--ns-body-font)!important;font-size:14px;line-height:1.4;font-weight:300}
body.visual-refined.map-page:not(.impact-page) .left-panel .search-wrap{height:44px;min-height:44px;align-items:center}
body.visual-refined.map-page:not(.impact-page) .left-panel .search-wrap:focus-within{outline:2px solid #b98b55;outline-offset:3px}
body.visual-refined.map-page:not(.impact-page) .left-panel .neighborhood strong{font-family:'EB Garamond',Georgia,serif!important;font-size:18px;line-height:1.25;font-weight:400}
body.visual-refined.map-page:not(.impact-page) .left-panel .neighborhood :is(small,.trailing){font-family:var(--ns-body-font)!important;font-size:12px;line-height:1.4;font-weight:300}
body.visual-refined.map-page:not(.impact-page) .report-filters .chi-select{position:relative;width:100%;margin:0;min-width:0}
body.visual-refined.map-page:not(.impact-page) .report-filters .chi-native-select{display:none!important}
body.visual-refined.map-page:not(.impact-page) .report-filters .chi-select-trigger{font:300 14px/1.4 var(--ns-body-font);min-height:44px;width:100%;padding:10px 14px;border:1px solid #607985;border-radius:3px;background:#102533;color:#edf4f4;box-shadow:none!important}
body.visual-refined.map-page:not(.impact-page) .report-filters .chi-select-menu{background:#102533;color:#edf4f4}
body.visual-refined.map-page:not(.impact-page) .report-filters .chi-select-menu [role=option]{font:300 14px/1.4 var(--ns-body-font);min-height:44px;padding:10px 12px}
@media(max-width:820px){body.visual-refined.map-page:not(.impact-page) .left-panel .search-wrap input{font-size:16px}}

body.visual-refined.map-page:not(.impact-page) .left-panel .intelligence-layers>summary{font-family:var(--ns-body-font)!important;font-size:14px;line-height:1.4;font-weight:300}
body.visual-refined.map-page:not(.impact-page) .left-panel .intelligence-layers>summary strong{font-family:var(--ns-body-font)!important;font-size:14px;line-height:1.4;font-weight:400}
body.visual-refined.map-page:not(.impact-page) .left-panel .intelligence-layers>summary span{font-size:12px;line-height:1.4;font-weight:300}

/* Typography hierarchy: role-based sizes, independent of page-specific skins. */
body.visual-refined{
 --ns-type-page:42px;--ns-type-section:28.8px;--ns-type-card:23px;
 --ns-type-body:14px;--ns-type-lead:15px;--ns-type-label:12px;--ns-type-control:14px;
}
body.visual-refined :is(main,dialog) :is(h1,h2,h3){font-weight:400!important}
body.visual-refined :is(main,dialog) h4{font:400 var(--ns-type-body)/1.4 var(--ns-body-font)!important;letter-spacing:0}
body.visual-refined :is(main,dialog) label{font-size:var(--ns-type-label)!important;font-weight:400!important;line-height:1.45}
body.visual-refined :is(main,dialog) table th{font-size:var(--ns-type-label)!important;font-weight:400!important;line-height:1.5}
body.visual-refined :is(main,dialog) table td{font-size:var(--ns-type-body);line-height:1.55}
body.visual-refined :is(main,dialog) :is(.meta,.report-meta,.report-coverage,.directory-focus,small){font-size:var(--ns-type-label);line-height:1.5}
body.visual-refined:is(.impact-page,.directory-page) :is(.methods-heading,.directory-heading) h1,
body.visual-refined.community-page .heading h1,
body.visual-refined.tools-page .tools-main>h1,
body.visual-refined.atlas-evidence:not(.investments-page) main>h1{font-size:var(--ns-type-page)!important;line-height:1.15;letter-spacing:-.025em}
body.visual-refined:is(.impact-page,.community-page,.directory-page) main h2,
body.visual-refined.atlas-evidence:not(.investments-page) main h2{font-size:var(--ns-type-section);line-height:1.2}
body.visual-refined :is(.impact-record,.directory-record,.record) h3,
body.visual-refined.tools-page .tools-card h2{font-size:var(--ns-type-card);line-height:1.3;letter-spacing:-.02em}
body.visual-refined.map-page:not(.impact-page) .left-panel .section-line h2{font-size:var(--ns-type-label);line-height:1.4}
body.visual-refined.map-page:not(.impact-page) .signal-section h3{font:400 var(--ns-type-label)/1.4 var(--ns-body-font)!important;letter-spacing:.06em}
body.visual-refined .report-reader h3{font:400 var(--ns-type-body)/1.4 var(--ns-body-font)!important;letter-spacing:0}
body.visual-refined :is(.intelligence-score strong,.overview-capital dd,.impact-metrics strong,.valuation-estimate strong,.uw-result-grid strong){font-family:var(--ns-body-font);font-variant-numeric:tabular-nums lining-nums}
body.visual-refined :is(main,dialog) :is(p,li){hyphens:none}
@media(max-width:700px){body.visual-refined{--ns-type-page:34px}}

/* Evidence copy follows the shared reading scale, including legacy direct sections. */
body.visual-refined.atlas-evidence main>section:not(.metrics):not(.investment-panel)>p:not(.note){font-size:var(--ns-type-body);font-weight:300;line-height:1.65}
body.visual-refined.atlas-evidence:not(.investments-page) main>.lead{font-size:var(--ns-type-lead);font-weight:300;line-height:1.65}

/* Archived Validation panels retain readable text on their existing surfaces. */
body.visual-refined.validation-page #archivedRentResearch :is(.note,.va-scope){color:#b5c9cb}
body.visual-refined.validation-page #archivedRentResearch :is(.va-map-card,.va-method-grid>div,.table-scroll,.va-inspect,.compare-panel,.signal-figure){color:#153039}
body.visual-refined.validation-page #archivedRentResearch :is(.va-map-card,.va-method-grid>div,.table-scroll,.va-inspect,.compare-panel,.signal-figure) .note{color:#526157}

body.visual-refined.validation-page #archivedRentResearch :is(summary,a:not(.download)){color:#9dced0}
body.visual-refined.validation-page #archivedRentResearch .eyebrow{color:#d4b787}
body.visual-refined.validation-page #archivedRentResearch :is(.va-map-card,.va-method-grid>div,.table-scroll,.va-inspect,.compare-panel,.signal-figure) :is(summary,a:not(.download)){color:#216977}
body.visual-refined.validation-page #archivedRentResearch .va-downloads a{color:#fff}
