/* Public Art & Health — Research Repository · Edition 4.1
   High-contrast palette: all text pairs target >= 7:1. No text over images. */
:root{color-scheme:light;--paper:#FFFFFF;--paper-2:#EDF1EF;--paper-3:#E2E9E5;--ink:#152B22;--ink-2:#293E33;--mute:#394B41;--rule:#BBC7BF;--control:#617369;--brass:#604305;--brass-2:#F1D694;--green:#194630;--maxw:1180px;--sans:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--serif:'Instrument Serif',Georgia,serif;--mono:'JetBrains Mono',ui-monospace,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--sans)}
a{color:var(--green);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:var(--ink);text-decoration-thickness:2px}
button,input,select{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--green);outline-offset:4px}
h1,h2,h3{font-family:var(--sans);font-weight:500;margin:0 0 1rem;line-height:1.2;letter-spacing:-.025em;overflow-wrap:break-word}
h1{font-size:clamp(2rem,4.6vw,3rem);max-width:26ch;line-height:1.12}
h2{font-size:clamp(1.5rem,3vw,1.85rem)}
h3{font-size:1.25rem;letter-spacing:-.015em}
p{margin:0 0 1rem}
li{margin:.4rem 0}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
figcaption{font-size:.875rem;color:var(--mute);line-height:1.5;padding-top:.75rem}
figcaption a{color:inherit}
.wrap{max-width:var(--maxw);margin:auto;padding:0 32px}
.eyebrow,.meta{font-family:var(--mono);font-size:.875rem;letter-spacing:.015em;line-height:1.6}
.eyebrow{text-transform:uppercase;color:var(--brass);margin-bottom:1rem;font-size:.8125rem;letter-spacing:.045em}
.meta{color:var(--mute)}
.lede{font-size:1.125rem;color:var(--ink-2);max-width:76ch;line-height:1.6}
.small{font-size:.875rem}
.muted{color:var(--mute)}
.skip{position:absolute;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:12px}
.skip:hover{color:var(--paper);background:var(--ink)}
.skip:focus{top:12px;color:var(--paper);background:var(--ink);outline-color:var(--brass-2)}
.mast{border-top:5px solid var(--green);border-bottom:1px solid var(--rule);background:var(--paper)}
.topline{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:24px;padding-bottom:20px}
.brand{text-decoration:none;color:var(--ink);font:500 1.45rem/1.25 var(--sans);letter-spacing:-.025em;display:inline-flex;flex-direction:column;gap:5px}
.brand-sub{font-size:1rem;font-weight:400;letter-spacing:0;color:var(--mute)}
.edition{font:.875rem/1.6 var(--sans);color:var(--mute)}
.primary{display:flex;gap:12px 26px;flex-wrap:wrap;padding-bottom:13px}
.primary a{font-size:.9375rem;text-decoration:none;color:var(--ink-2);padding:7px 0;border-bottom:3px solid transparent}
.primary a[aria-current]{border-color:var(--green);color:var(--ink);font-weight:500}
.primary a:hover{text-decoration:underline}
.navtoggle{display:none;background:var(--paper);border:1px solid var(--control);padding:9px 13px;color:var(--ink)}
.repository-head{padding:38px 0 30px;background:var(--paper-2);border-bottom:1px solid var(--rule)}
.repository-head h1{max-width:26ch;margin-bottom:18px}
.repository-head .lede{margin-bottom:25px}
.repository-search{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:end;margin:0 0 21px}
.repository-search label,.filters label{display:flex;flex-direction:column;gap:7px;font-size:.9375rem;font-weight:500;color:var(--ink)}
.repository-search .search-field{grid-column:1/-1}
.repository-search .search-field input{font-size:1.0625rem;min-height:52px}
.repository-search button{min-height:46px}
.repository-links{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:.9375rem;margin-bottom:15px}
.repository-head .small:last-child{margin:0;max-width:92ch}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:27px}
.section-heading h2{margin:0}
.section-heading>a{font-size:.9375rem;flex-shrink:0}
.findings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.finding-example{border-top:2px solid var(--control);padding-top:21px}
.finding-example .meta{font:400 .875rem/1.55 var(--sans);margin-bottom:14px}
.finding-example h3{margin-bottom:17px}
.finding-example .limit{font-size:.9375rem;margin:20px 0}
.finding-example>a{font-size:.9375rem}
.section-note{margin:25px 0 0}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:10px 18px;background:var(--green);color:var(--paper);text-decoration:none;border:1px solid var(--green);cursor:pointer;font-size:.9375rem;font-weight:500;line-height:1.5}
.btn:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.btn.secondary{background:var(--paper);color:var(--green);border-color:var(--control)}
.btn.secondary:hover{background:var(--paper-3);color:var(--ink)}
.btn:focus-visible{outline-offset:4px}
.sec{padding:42px 0;border-bottom:1px solid var(--rule)}
.soft{background:var(--paper-2)}
.dark{background:var(--ink);color:var(--paper)}
.dark .eyebrow,.dark a{color:var(--brass-2)}
.dark .muted,.dark .meta{color:var(--paper-2)}
.dark :focus-visible{outline-color:var(--brass-2)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.pagehead{padding:34px 0 28px;border-bottom:1px solid var(--rule);background:var(--paper-2)}
.pagehead h1{margin-bottom:16px}
.pagehead .lede{margin-bottom:0}
.subnav{display:flex;gap:10px 23px;flex-wrap:wrap;margin-top:19px;font-size:.9375rem}
.prose{max-width:78ch}
.prose h2{margin-top:2.1rem}
.prose h3{margin-top:1.5rem}
.prose h2:first-child{margin-top:0}
.callout{border-left:3px solid var(--control);padding:20px 24px;background:var(--paper-2);margin:0 0 24px}
.callout p:last-child{margin-bottom:0}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.feature{border-top:1px solid var(--control);padding-top:22px}
.feature h3{margin-bottom:14px}
.feature p{color:var(--ink-2)}
.feature>a{font-size:.9375rem}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-size:1rem}
th,td{padding:17px 18px;vertical-align:top;border-bottom:1px solid var(--rule)}
th{font-weight:500;background:var(--paper-3);color:var(--ink)}
td:first-child{font-weight:500}
.tag{display:inline-block;padding:4px 9px;background:var(--paper-3);border:1px solid var(--rule);font-size:.875rem;color:var(--ink-2);margin:0 6px 9px 0;line-height:1.5}
.tag.scope,.tag.null{background:var(--paper-3);border-color:var(--rule);color:var(--ink-2)}
.filters{display:flex;gap:15px;flex-wrap:wrap;padding:22px;background:var(--paper-2);border:1px solid var(--rule);margin-bottom:22px;align-items:end}
.filters label{flex:1 1 190px}
.filters .search-field{flex-basis:100%}
.filters>.btn{align-self:flex-end}
input,select{min-height:46px;max-width:100%;min-width:0;width:100%;border:1px solid var(--control);background:var(--paper);color:var(--ink);padding:10px 12px;border-radius:0;font:400 1rem/1.4 var(--sans)}
input::placeholder{color:var(--mute);opacity:1}
select option{background:var(--paper);color:var(--ink)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:17px}
.toolbar p{margin:0}
.downloads{display:flex;gap:18px;flex-wrap:wrap;font-size:.9375rem}
.record{border-top:1px solid var(--rule);padding:28px 0;scroll-margin-top:24px;max-width:94ch}
.record:first-child{border-top:0}
.record h2{font-size:1.4rem;margin:12px 0 16px;max-width:65ch;line-height:1.35}
.record .finding{max-width:86ch;margin-top:8px}
.record .limit{max-width:86ch}
.record details{max-width:86ch}
.record summary{cursor:pointer;color:var(--green);padding:7px 0;min-height:42px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.detail-body{background:var(--paper-2);padding:24px;margin-top:12px}
.detail-body p:last-child{margin:0}
.detail-body dl{display:grid;grid-template-columns:145px minmax(0,1fr);gap:9px 22px;margin:0 0 20px;font-size:1rem}
.detail-body dt{font-weight:500}
.detail-body dd{margin:0}
.detail-body a,.record-source{overflow-wrap:anywhere}
.record-source{font-size:.9375rem;max-width:87ch;margin-bottom:10px}
.limit{border-left:2px solid var(--control);padding-left:17px}
.record .permalink{font-family:var(--mono);font-size:.875rem}
.grid-works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.work{background:var(--paper);border:1px solid var(--rule);scroll-margin-top:20px}
.work .workphoto{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--paper-3)}
.work-body{padding:23px}
.work h2{font-size:1.5rem;margin:12px 0;line-height:1.25}
.work .artist{font-weight:500;margin:0 0 7px}
.work .location{font-size:1rem;color:var(--mute);line-height:1.5}
.work .intro{font-size:1rem;margin-top:16px}
.work figcaption{padding:13px 20px;border-bottom:1px solid var(--rule);font-size:.875rem}
.work details{font-size:1rem}
.work summary{cursor:pointer;color:var(--green);padding:10px 0;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.work dl{margin:0}
.work dt{font-weight:500;margin-top:12px}
.work dd{margin:0}
.work ul{padding-left:20px;overflow-wrap:anywhere}
.case{padding:25px 0;border-top:1px solid var(--rule)}
.case h2{font-size:1.5rem}
.case p{max-width:86ch}
.source-item{padding:23px 0;border-top:1px solid var(--rule);scroll-margin-top:20px}
.source-item h2{font:500 1.0625rem/1.5 var(--sans);margin:10px 0;max-width:90ch}
.source-item .aliases{font:.875rem/1.5 var(--mono);color:var(--mute);display:block;margin-bottom:9px}
.source-item .anchor{display:block;scroll-margin-top:20px}
.empty{padding:26px;border:1px solid var(--rule);background:var(--paper-2)}
.steps{counter-reset:step;padding:0;list-style:none}
.steps>li{counter-increment:step;padding:24px 0 24px 56px;position:relative;border-top:1px solid var(--rule)}
.steps>li:before{content:counter(step,decimal-leading-zero);font:1rem var(--mono);color:var(--brass);position:absolute;left:0;top:29px}
.steps h2{font-size:1.5rem}
.steps p{max-width:78ch}
.footer{padding:35px 0;background:var(--paper-2)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.footer .brand{font-size:1.25rem}
.footer .brand-sub{font-size:.9375rem}
.footer p{font-size:.875rem;color:var(--mute);max-width:50ch;margin-top:15px}
.footer ul{padding:0;list-style:none;font-size:.9375rem;margin:0}
.footer li{margin:0 0 10px}
.footer a{color:var(--ink-2)}
.noscript{padding:16px;background:var(--paper-3)}
.js-only{display:none}
.js .js-only{display:flex}
[hidden]{display:none!important}
.print-btn{margin-top:20px}
.legaltext{overflow-wrap:anywhere}
.error-page{min-height:30vh}
.credit-row{padding:23px 0;border-bottom:1px solid var(--rule)}
.credit-row h2{font-size:1.4rem}
.credit-row p{max-width:85ch}
@media(max-width:1000px){.grid-works{grid-template-columns:repeat(2,minmax(0,1fr))}.primary{gap:8px 20px}.findings-grid,.features{gap:24px}}
@media(max-width:760px){
 .wrap{padding-left:22px;padding-right:22px}.topline{padding-top:20px;align-items:center;gap:18px}.brand{font-size:1.25rem}.brand-sub{font-size:.9375rem}.edition{display:none}.js .navtoggle{display:block}.js .primary{display:none}.js .primary.open{display:flex}.primary{gap:8px 22px}.primary a{min-height:44px;display:flex;align-items:center}
 .repository-head{padding:28px 0}.repository-head h1 br{display:none}.repository-search{grid-template-columns:repeat(2,minmax(0,1fr))}.repository-links{gap:12px 22px}.section-heading{align-items:flex-start;flex-direction:column;gap:14px}
 .two,.three,.four,.features,.findings-grid,.footer-grid{grid-template-columns:1fr}.two{gap:22px}.findings-grid{gap:30px}.section-note{margin-top:24px}.sec{padding:32px 0}.pagehead{padding:28px 0 24px}.lede{font-size:1.0625rem}.filters{padding:18px;gap:14px}.filters label{flex-basis:180px}.filters .search-field{flex-basis:100%}.record h2{font-size:1.3rem}.detail-body{padding:20px}.steps>li{padding-left:45px}th,td{padding:14px}.tablewrap table{min-width:580px}.footer-grid{gap:24px}
}
@media(max-width:480px){.repository-search{grid-template-columns:1fr}.repository-search .search-field{grid-column:auto}.repository-search .btn{width:100%}.repository-search input{font-size:1rem!important}.grid-works{grid-template-columns:1fr}.detail-body dl{grid-template-columns:1fr;gap:3px}.detail-body dd{margin-bottom:11px}.filters label{flex-basis:100%}.source-item h2{overflow-wrap:anywhere}.work-body{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(forced-colors:active){.btn,input,select,.navtoggle{border:1px solid ButtonText}.primary a[aria-current]{border-color:LinkText}.tag{border:1px solid CanvasText}:focus-visible{outline:3px solid Highlight}}
@media print{
 @page{size:A4;margin:15mm}body{background:white;color:#111;font-size:10pt;line-height:1.4}.mast,.footer,.filters,.repository-search,.toolbar,.navtoggle,.skip,.print-btn,.subnav,.js-only,.repository-links{display:none!important}.wrap{max-width:none;padding:0}.sec{padding:18px 0;border-color:#777}.pagehead,.repository-head{padding:0 0 15px;background:white}h1{font-size:28pt!important}h2{font-size:18pt}h3{font-size:13pt}.lede{font-size:11pt}.dark,.soft{background:white;color:#111}.dark .eyebrow,.dark a{color:#111}a{color:inherit}.record,.work,.case,.callout,.finding-example{break-inside:avoid}.brief .sec{padding:12px 0}.brief p,.brief li{font-size:10pt}.brief h2{font-size:16pt}.brief table{font-size:9pt}.grid-works{grid-template-columns:1fr 1fr}.work-body{padding:14px}.workphoto{max-height:170px}.callout{padding:10px 15px}.prose{max-width:none}.detail-body{background:white}.tag{background:white;color:#111}.findings-grid,.features{grid-template-columns:1fr}
}
