.project-explorer-section{padding-top:4.5rem;background:linear-gradient(180deg,#edf3f7 0,#fbfaf6 88%)}.project-explorer-section .section-head h2{font-size:clamp(1.4rem,2.25vw,2.35rem)}.project-explorer{border:1px solid var(--line);background:#fff;box-shadow:0 22px 65px rgba(8,21,47,.1)}
.explorer-controls{display:grid;grid-template-columns:minmax(280px,1.35fr) repeat(2,minmax(210px,1fr));gap:1rem;align-items:end;padding:1.35rem;background:var(--ink);color:#fff}.explorer-controls label>span,.explorer-controls legend{display:block;margin-bottom:.45rem;font-size:.78rem;font-weight:850;letter-spacing:.04em}.explorer-controls input[type=search],.explorer-controls select{width:100%;min-height:48px;border:1px solid #557096;border-radius:4px;background:#fff;color:var(--ink);font:inherit;padding:.7rem .85rem}.explorer-controls input:focus,.explorer-controls select:focus{outline:3px solid var(--cyan);outline-offset:2px}.explorer-controls fieldset{display:flex;flex-wrap:wrap;gap:.45rem .8rem;margin:0;padding:0;border:0;align-self:center}.explorer-controls fieldset label{font-size:.84rem;white-space:nowrap}.explorer-controls input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--cyan);vertical-align:-2px}.explorer-reset{min-height:48px;border:1px solid #8295b3;border-radius:4px;background:transparent;color:#fff;font-weight:800;padding:.65rem .9rem;cursor:pointer}.explorer-reset:hover{background:#1b3158}
.explorer-summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.35rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.86rem}.explorer-summary p{margin:0}.explorer-summary #project-count{color:var(--ink);font-weight:850}.project-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:.75rem;background:#e5ebf1}.project-result{position:relative;display:flex;flex-direction:column;min-height:320px;padding:1.35rem;background:#fff;border:1px solid #c7d0dc;box-shadow:0 5px 0 #bcc7d4,0 12px 24px rgba(8,21,47,.14),inset 1px 1px 0 rgba(255,255,255,.9);transition:transform .18s ease,box-shadow .18s ease}.project-result:hover{z-index:1;transform:translateY(-3px);box-shadow:0 7px 0 #aebbc9,0 18px 30px rgba(8,21,47,.2),inset 1px 1px 0 rgba(255,255,255,.9)}.project-result h3{font-size:1.45rem;margin:.8rem 0}.project-result p{color:var(--muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.result-meta,.result-tags{display:flex;flex-wrap:wrap;gap:.4rem}.result-meta{justify-content:space-between;color:var(--blue);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.result-tags span{padding:.28rem .5rem;background:var(--mist);color:#33415a;font-size:.7rem;line-height:1.35}.project-result button{margin-top:auto;align-self:flex-start;border:0;border-bottom:2px solid var(--orange);background:none;color:var(--ink);font:800 .88rem/1.4 Inter,sans-serif;padding:.35rem 0;cursor:pointer}.project-result button:hover{color:var(--blue)}.explorer-more{display:block;margin:1.4rem auto}.explorer-empty,.explorer-error{text-align:center;padding:3rem 1rem}
.project-profile{width:min(980px,94vw);max-height:90vh;border:0;padding:0;background:#fff;color:var(--ink);box-shadow:0 25px 90px rgba(0,0,0,.4)}.project-profile::backdrop{background:rgba(3,10,25,.78)}.profile-close{position:sticky;float:right;top:1rem;margin:1rem;z-index:2;border:0;border-radius:99px;background:var(--ink);color:#fff;padding:.55rem .8rem;font-weight:800;cursor:pointer}.profile-heading{padding:3rem 3rem 2rem;background:linear-gradient(135deg,var(--mist),#fff)}.profile-heading h2{font-size:clamp(1.35rem,2.8vw,2.55rem);max-width:820px}.profile-heading>p:last-of-type{color:var(--muted)}.profile-connections{display:flex;flex-wrap:wrap;gap:.45rem}.profile-connections span{border-radius:99px;background:var(--blue);color:#fff;padding:.35rem .65rem;font-size:.75rem;font-weight:800}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;padding:1rem 3rem 2rem}.profile-field{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line)}.profile-field:nth-child(even){padding-left:1rem}.profile-field.wide{grid-column:1/-1;padding-left:0}.profile-field dt{color:var(--orange);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.profile-field dd{margin:.35rem 0 0;color:#344158}.profile-evidence{padding:2rem 3rem 3rem;background:var(--ink);color:#fff}.profile-evidence h3{margin-bottom:.5rem}.profile-evidence p{color:#cbd6e9}.profile-citation{font-size:.87rem}.profile-source{display:inline-block;margin-top:.5rem;border-radius:99px;background:var(--cyan);color:var(--ink);padding:.65rem .9rem;text-decoration:none;font-weight:900}
@media(max-width:1050px){.explorer-controls{grid-template-columns:1fr 1fr}.explorer-controls .search-field{grid-column:1/-1}.explorer-controls fieldset{grid-column:1/-1}.project-results{grid-template-columns:1fr 1fr}}@media(max-width:650px){.explorer-controls,.project-results,.profile-grid{grid-template-columns:1fr}.explorer-controls .search-field,.explorer-controls fieldset{grid-column:auto}.explorer-summary{display:block}.profile-heading,.profile-grid,.profile-evidence{padding-left:1.25rem;padding-right:1.25rem}.profile-field,.profile-field:nth-child(even){padding-left:0}.profile-field.wide{grid-column:auto}.project-profile{width:96vw}}
/* Project-profile actions and US States-inspired print layout. */
.profile-actions{position:sticky;float:right;top:1rem;margin:1rem;z-index:2;display:flex;gap:.5rem}.profile-actions button{border:0;border-radius:99px;padding:.55rem .8rem;font-weight:800;cursor:pointer}.profile-actions .profile-close{position:static;float:none;margin:0;background:var(--ink);color:#fff}.profile-print{background:var(--blue);color:#fff}.project-print-footer{display:none}
@media print{@page{margin:.55in .5in .8in}body.project-profile-printing{background:#fff}body.project-profile-printing>*:not(.project-profile){display:none!important}body.project-profile-printing .project-profile{display:block!important;position:static!important;inset:auto!important;width:auto!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:visible!important;color:#172f43}body.project-profile-printing .project-profile::backdrop,body.project-profile-printing .profile-actions{display:none!important}body.project-profile-printing #project-profile-content{display:block!important;padding-bottom:.48in}body.project-profile-printing .profile-heading{padding:.15in 0 .2in;background:#fff;border-bottom:2px solid #153a59}body.project-profile-printing .profile-heading h2{font-size:22pt;line-height:1.1;margin:.08in 0}body.project-profile-printing .profile-heading p{font-size:9pt;margin:.04in 0}body.project-profile-printing .profile-connections span{background:#eaf2f7;color:#173f5c;border:1px solid #cbd9e4}body.project-profile-printing .profile-grid{display:grid;grid-template-columns:1fr 1fr;padding:.12in 0 .2in}body.project-profile-printing .profile-field{padding:.1in .12in .1in 0;break-inside:avoid;page-break-inside:avoid}body.project-profile-printing .profile-field:nth-child(even){padding-left:.12in}body.project-profile-printing .profile-field.wide{grid-column:1/-1;padding-left:0}body.project-profile-printing .profile-field dt{font-size:7.5pt;color:#28516e}body.project-profile-printing .profile-field dd{font-size:9pt;line-height:1.4;color:#172f43}body.project-profile-printing .profile-evidence{padding:.18in 0;background:#fff;color:#172f43;border-top:2px solid #153a59;break-inside:avoid;page-break-inside:avoid}body.project-profile-printing .profile-evidence h3{font-size:12pt;color:#153a59}body.project-profile-printing .profile-evidence p{font-size:8.5pt;color:#475f73}body.project-profile-printing .profile-source{padding:0;background:none;color:#174f86;text-decoration:underline}body.project-profile-printing .project-print-footer{display:flex!important;position:fixed;left:.5in;right:.5in;bottom:.18in;justify-content:space-between;gap:.25in;padding-top:.06in;border-top:1px solid #7d8797;background:#fff;color:#526b7d;font:7pt/1.25 Inter,Arial,sans-serif}body.project-profile-printing .project-print-footer span:last-child{text-align:right}}
/* Keep the print footer in document flow so it cannot cover profile content. */
@media print{body.project-profile-printing #project-profile-content{padding-bottom:0}body.project-profile-printing .project-print-footer{position:static!important;left:auto;right:auto;bottom:auto;margin:.3in 0 0;padding:.09in 0 0;break-inside:avoid;page-break-inside:avoid}}
