@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#193348;--muted:#71808d;--bg:#f5f7f9;--line:#e4eaee;--blue:#347f97;--navy:#16364a;--soft:#e9f2f5;--green:#447768;--gold:#c3a16a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:14px;line-height:1.6}h1,h2,h3,h4,p{margin:0}h1,h2,h3,.brand-name{font-family:Manrope,'DM Sans',system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #64aabd;outline-offset:3px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}aside{position:fixed;left:0;top:0;bottom:0;width:242px;background:#fff;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px;margin-bottom:35px}.brand-mark{width:42px;height:46px;display:grid;place-content:center;background:var(--navy);color:#fff;font-family:Manrope;font-weight:800;font-size:19px;border-radius:13px 13px 13px 2px;position:relative}.brand-mark:after{content:'';position:absolute;height:4px;background:var(--gold);left:9px;right:9px;bottom:7px;border-radius:3px}.brand-name{font-size:14px;font-weight:800;letter-spacing:-.4px}.brand small{font-size:10px;color:var(--muted);letter-spacing:1.3px}.nav-label{text-transform:uppercase;letter-spacing:1.6px;color:#8b99a3;font-size:10px;font-weight:700;margin:20px 12px 10px}.nav-item{width:100%;border:0;background:none;display:flex;align-items:center;gap:12px;text-align:left;border-radius:8px;color:#687b89;padding:12px 13px;margin:4px 0;font-size:13px;font-weight:550}.nav-item.active{background:#eaf2f5;color:#216e85}.nav-item.active:after{content:'';width:5px;height:5px;background:#347f97;border-radius:100%;margin-left:auto}.nav-item:hover{background:#f0f5f7;color:#216e85}.nav-spacer{flex:1;min-height:30px}.aside-help{border:1px solid var(--line);border-radius:12px;padding:17px;background:#f9fbfc;font-size:12px}.aside-help p{margin:8px 0 13px;color:var(--muted)}.aside-help a{font-weight:700;display:flex;gap:8px;align-items:center}.aside-foot{padding:23px 10px 0;display:flex;align-items:center;gap:8px;font-size:10px;color:#80909b}.dot{height:6px;width:6px;border-radius:100%;background:#6e9e8b;display:inline-block}.shell{margin-left:242px}header{height:83px;background:#fff;border-bottom:1px solid var(--line);padding:0 42px;display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:0;z-index:20}.crumb{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:12px}.crumb span:last-child{color:var(--ink);font-weight:600}.header-right{display:flex;align-items:center;gap:20px}.header-right a{font-size:12px;color:#617482}.language{border:1px solid var(--line);border-radius:7px;padding:7px 10px;color:var(--ink);background:white;max-width:120px}.menu-button{display:none;border:0;background:transparent}.avatar{background:#e9f1f3;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;color:#39758b}.avatar svg{width:16px}main{max-width:1510px;margin:auto;padding:32px 42px 20px;min-height:75vh}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:23px}.eyebrow{font-size:10px;letter-spacing:1.9px;text-transform:uppercase;font-weight:700;color:#758793;display:flex;gap:8px;align-items:center;margin-bottom:8px}h1{font-size:27px;line-height:1.3;font-weight:800;letter-spacing:-1px}.intro{font-size:12px;color:var(--muted);margin-top:7px}.date{text-align:right;font-size:11px;color:#81909a}.date strong{display:block;color:#4f6574;font-weight:500}.hero{border-radius:15px;overflow:hidden;background:#173a4e;display:grid;grid-template-columns:1.08fr 1fr;min-height:323px;position:relative}.hero-copy{padding:32px 35px;color:#fff;position:relative;z-index:2}.hero .eyebrow{color:#a7c9d3;letter-spacing:1.6px;font-size:9px}.hero h2{font-size:34px;letter-spacing:-1.2px;line-height:1.25;margin:13px 0 14px;max-width:390px;font-weight:750}.hero p{font-size:12px;max-width:370px;line-height:1.8;color:#c5d5dd}.hero-image{position:relative;min-height:310px}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#173a4e 0%,transparent 35%,#173a4e08)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:45% 36%;position:absolute}.hero-caption{position:absolute;bottom:20px;right:22px;z-index:3;color:#fff;text-align:right;text-shadow:0 1px 8px #000}.hero-caption strong{display:block;font-family:Manrope;font-size:18px}.hero-caption span{font-size:10px;letter-spacing:1px}.buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.button{border:1px solid #dbe5e9;background:white;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 15px;color:var(--ink);font-size:11px;font-weight:650;line-height:1.5}.button svg{width:15px;height:15px}.button.primary{background:#fff;color:#173a4e;border-color:white}.button.ghost{border-color:#6c8b9b;background:#ffffff08;color:#fff}.button.blue{background:#2d778d;border-color:#2d778d;color:#fff}.button:hover{filter:brightness(.95)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0 30px}.stat{border:1px solid var(--line);border-radius:11px;background:#fff;padding:18px 19px;display:flex;align-items:flex-start;justify-content:space-between;gap:5px}.stat strong{font-family:Manrope;font-size:27px;font-weight:800;line-height:1.2;letter-spacing:-1px}.stat p{font-size:11px;margin-top:7px;color:#5b707f}.stat small{font-size:9px;color:#8c99a2;display:block;margin-top:4px}.iconbox{background:#edf4f6;color:#4b8296;border-radius:9px;width:36px;height:36px;display:grid;place-items:center;flex-shrink:0}.iconbox.green{background:#eef5f0;color:#6e967c}.iconbox.gold{background:#f9f3e9;color:#b49b6e}.iconbox.purple{background:#f1eef7;color:#8c7aa9}.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:23px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 16px}h2{font-size:18px;font-weight:750;letter-spacing:-.5px}.section-heading p{color:var(--muted);font-size:11px;margin-top:3px}.text-link{border:0;background:none;color:#347d94;font-size:11px;font-weight:650;display:flex;align-items:center;gap:5px;padding:5px}.text-link svg{height:14px;width:14px}.filter-row{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.chip{border:1px solid var(--line);border-radius:6px;background:#fff;color:#70818c;font-size:10px;padding:6px 11px}.chip.active{background:#e9f1f4;color:#2c758c;border-color:#bbd5df}.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.work{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;transition:transform .18s,box-shadow .18s}.work:hover{transform:translateY(-3px);box-shadow:0 8px 24px #1933480c}.work-art{height:104px;background:#eaf1f2;position:relative;padding:17px 19px;overflow:hidden;display:flex;justify-content:space-between;align-items:center}.work-art:after{content:'';width:120px;height:120px;border:1px solid #ffffffaa;border-radius:50%;position:absolute;right:-28px;top:-48px;box-shadow:0 0 0 22px #ffffff35,0 0 0 44px #ffffff25}.work-art.education{background:#eceff8;color:#667b9f}.work-art.community{background:#eff3e9;color:#6e8664}.work-art.ngo{background:#f6efe4;color:#a08b6b}.work-art.infrastructure{background:#e8f2f4;color:#4d8b9b}.work-art strong{font-family:Manrope;font-size:30px;letter-spacing:-1px;font-weight:750;display:block;line-height:1.2}.work-art small{font-size:9px}.work-art svg{height:39px;width:39px;opacity:.55;margin-right:8px}.work-body{padding:17px 18px}.meta{font-size:9px;color:#86949d;display:flex;justify-content:space-between;gap:8px;align-items:center}.tag{font-size:9px;font-weight:600;padding:3px 7px;border-radius:4px;display:inline-flex;gap:4px;align-items:center;background:#f1f5f6;color:#647986}.tag.good{color:#537b66;background:#eff5f0}.work h3{font-size:13px;line-height:1.55;margin:11px 0 7px;font-weight:750}.work p{font-size:10px;line-height:1.8;color:#7c8992}.work-footer{border-top:1px solid #edf0f3;margin-top:14px;padding-top:10px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#81919b}.work-footer button{padding:0;color:#347f97}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px;margin-bottom:20px}.panel-head{display:flex;gap:10px;align-items:center;margin-bottom:15px}.panel-head h3{font-size:13px;font-weight:750}.panel-head p{font-size:10px;color:var(--muted)}.service-item{border-top:1px solid #edf1f3;width:100%;padding:14px 0;display:flex;align-items:center;gap:12px;background:none;border-right:0;border-left:0;border-bottom:0;text-align:left}.service-item>svg{color:#66899b;width:18px}.service-item strong{font-size:11px;font-weight:650;display:block}.service-item small{font-size:10px;color:#8c99a3;display:block;margin-top:3px}.service-item .arrow{margin-left:auto;width:14px;color:#8c9aa3}.full{width:100%}.callout{border-radius:9px;padding:14px;background:#f0f5f7;font-size:10px;color:#6a8291;margin-top:13px;line-height:1.8}.timeline{border-left:1px solid #dbe6e9;margin:18px 0 0 6px;padding-left:19px}.timeline-item{position:relative;padding:0 0 22px}.timeline-item:before{content:'';position:absolute;left:-24px;top:5px;width:7px;height:7px;background:#8faebc;border:2px solid white;border-radius:100%}.timeline-item:last-child{padding-bottom:0}.timeline-item time{font-size:9px;color:#8a9ba5}.timeline-item strong{display:block;font-size:11px;margin:4px 0}.timeline-item p{font-size:10px;color:#83929c}.directory-preview{margin-top:28px}.directory-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.directory-mini{border:1px solid var(--line);background:#fff;border-radius:10px;padding:17px;display:flex;gap:12px;align-items:center;text-align:left}.directory-mini strong{font-size:11px;display:block;line-height:1.5}.directory-mini small{font-size:9px;color:#84939e}.directory-mini svg{color:#718d9d}.notice{font-size:10px;color:#81919c;margin-top:17px;line-height:1.8}.searchbox{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:white;border-radius:8px;padding:10px 13px;flex:1;min-width:190px}.searchbox svg{height:16px;width:16px;color:#8296a1}.searchbox input{border:0;background:none;outline:none;min-width:0;width:100%;font-size:12px;color:var(--ink)}.toolbar{display:flex;gap:12px;margin:24px 0 18px}.toolbar select{background:white;border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--ink);font-size:12px}.archive .works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.archive .work-art{height:130px}.results{font-size:11px;color:#81909c;margin:12px 0}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.directory-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;display:flex;flex-direction:column;align-items:flex-start}.directory-card .tag{margin:15px 0 9px}.directory-card h3{font-size:14px;line-height:1.5}.directory-card p{font-size:11px;color:#778b98;margin:9px 0 14px}.directory-card .location{font-size:10px;color:#8a9aa5;margin-top:auto;margin-bottom:15px}.directory-card .buttons{margin:0;gap:7px}.directory-card .button{font-size:10px;padding:7px 10px}.service-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:25px}.office-photo{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:9px;margin:17px 0}.info-list{padding:0;list-style:none}.info-list li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:13px;align-items:flex-start}.info-list strong{font-size:12px}.info-list p{font-size:11px;color:#7c8e99;margin-top:3px}.faq{margin-top:20px}details{border:1px solid var(--line);border-radius:9px;background:white;margin-bottom:10px;padding:17px 20px}summary{font-size:12px;font-weight:650;cursor:pointer}details p{margin-top:12px;color:#718693;font-size:12px}.profile{display:grid;grid-template-columns:1fr 1.4fr;gap:35px;align-items:start}.profile>img{width:100%;border-radius:13px}.profile p{color:#718390;margin:15px 0;font-size:13px}.empty{padding:50px;text-align:center;background:#fff;border:1px dashed #cbd9df;border-radius:12px;grid-column:1/-1;color:var(--muted)}footer{margin:25px 42px 0;padding:20px 0 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#92a0aa}footer a{color:#618196}dialog{border:1px solid var(--line);border-radius:15px;padding:35px;max-width:640px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 100px #0d273c35}dialog::backdrop{background:#0d273c80;backdrop-filter:blur(3px)}dialog .close{position:absolute;right:13px;top:8px;border:0;background:none;font-size:28px;color:#7c8c97}dialog h2{font-size:23px;margin:18px 0}dialog p{font-size:13px;color:#6b7e8c;margin:15px 0}dialog .work-art{border-radius:10px;height:130px}.source-note{border-left:3px solid #a2bbc5;padding:10px 15px;background:#f5f8f9;font-size:11px!important}.skip{position:fixed;top:-60px;left:20px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.scrim{display:none}body:has(dialog[open]){overflow:hidden}.mobile-only{display:none}
@media(min-width:1600px){main{padding-top:40px}.hero{min-height:380px}.hero-copy{padding:45px}.hero h2{font-size:43px}}
@media(max-width:1200px){aside{width:210px;padding:27px 15px}.shell{margin-left:210px}header{padding:0 25px}main{padding:27px 25px}.hero-copy{padding:27px}.hero h2{font-size:29px}.stats{gap:10px}.stat{padding:14px}.stat strong{font-size:23px}.iconbox{width:30px;height:30px}.content-grid{grid-template-columns:1.55fr 1fr;gap:17px}.directory-strip{grid-template-columns:repeat(2,1fr)}.archive .works-grid{grid-template-columns:repeat(2,1fr)}.directory-grid{grid-template-columns:repeat(2,1fr)}footer{margin:20px 25px 0}}
@media(max-width:900px){aside{width:235px;transform:translateX(-100%);transition:transform .2s}.shell{margin-left:0}.menu-button{display:block;padding:4px}.mobile-only{display:block}body.nav-open aside{transform:translateX(0)}body.nav-open .scrim{display:block;position:fixed;inset:0;background:#102b4360;z-index:25}.header-right a,.avatar{display:none}.crumb{margin-right:auto}header{height:67px;gap:14px}.content-grid{grid-template-columns:1.5fr 1fr}}
@media(max-width:650px){header{padding:0 17px}.crumb{font-size:10px;gap:7px}.crumb>span:first-child{display:none}.language{max-width:97px;font-size:11px}main{padding:24px 17px}.page-heading{align-items:start;margin-bottom:20px}h1{font-size:24px}.date{display:none}.hero{grid-template-columns:1fr;min-height:470px;display:flex;align-items:flex-end}.hero-image{position:absolute;inset:0;min-height:0}.hero-image img{object-position:50% 25%}.hero-image:after{background:linear-gradient(0deg,#12354afc 0%,#12354aee 35%,#12354a10 85%)}.hero-copy{padding:25px}.hero .eyebrow{margin-bottom:7px}.hero h2{font-size:29px;max-width:290px;margin:8px 0 12px}.hero p{font-size:11px;max-width:300px}.hero-caption{display:none}.buttons{margin-top:17px}.stats{grid-template-columns:repeat(2,1fr);margin-bottom:25px;gap:10px}.stat{padding:16px}.stat strong{font-size:25px}.content-grid{grid-template-columns:1fr}.works-grid{gap:11px}.work-body{padding:14px}.work-art{padding:15px;height:95px}.work-art strong{font-size:25px}.work-art svg{width:28px}.work h3{font-size:12px}.work p{font-size:10px}.meta{flex-wrap:wrap;font-size:8px}.work-footer{font-size:8px}.panel{padding:19px}.section-heading h2{font-size:17px}.directory-strip{gap:10px}.directory-mini{padding:14px;gap:10px}.directory-mini strong{font-size:10px}.directory-grid{grid-template-columns:1fr}.service-grid,.profile{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar select{flex:1}.archive .works-grid{grid-template-columns:1fr}.archive .work-art{height:125px}.archive .work h3{font-size:15px}.archive .work p{font-size:12px}.archive .meta{font-size:10px}.archive .work-body{padding:20px}.profile>img{max-height:350px;object-fit:cover;object-position:top}.profile{gap:20px}footer{margin:20px 17px 0;flex-direction:column;gap:8px}dialog{padding:25px}.intro{max-width:330px}.header-right{gap:0}}
/* Local community directories */
aside{overflow-y:auto}.nav-spacer{min-height:20px}.nav-item{font-size:12px}.community-shortcuts{margin-top:28px}.community-shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.community-shortcut-grid .directory-mini>svg:last-child{width:14px;margin-left:auto}.community-sourcebar{display:flex;align-items:center;justify-content:space-between;gap:10px}.community-stats{display:flex;flex-wrap:wrap;gap:30px;margin:24px 0 16px;padding:24px 28px;border:1px solid var(--line);background:white;border-radius:11px}.community-stats>div{min-width:100px}.community-stats strong{font-family:Manrope,sans-serif;font-size:30px;letter-spacing:-1px;display:block;line-height:1.2}.community-stats span{font-size:11px;color:var(--muted);display:block;margin-top:6px}.village-grid,.zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.village-card,.zone-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;min-width:0}.village-card h3{font-size:17px;line-height:1.5;margin-top:12px}.village-name-zh{font-size:13px;color:#718796;margin:4px 0 19px}.village-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:18px;border-top:1px solid var(--line)}.village-contact{display:flex;align-items:flex-start;gap:10px;min-width:0}.contact-portrait,.contact-initial{width:48px;height:57px;object-fit:cover;object-position:top;border-radius:7px;flex-shrink:0;background:#eef3f5}.contact-initial{height:48px;display:grid;place-items:center;color:#7290a1;font-weight:700;font-size:13px}.contact-details{min-width:0}.contact-role{display:block;font-size:9px;color:#8799a4;margin-bottom:3px}.contact-details strong{font-size:12px;display:block;overflow-wrap:anywhere}.phone-toggle{font-size:9px;margin-top:7px;padding:0}.phone-toggle svg{width:12px}.phone-reveal{font-size:11px;color:#2b758b}.phone-reveal:not([hidden]){display:block;margin-top:7px}.zone-heading{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.zone-number{font:750 25px Manrope,sans-serif;letter-spacing:-1px;color:#4c8599;background:#edf4f6;padding:9px 12px;border-radius:8px}.zone-heading h3{font-size:17px}.zone-heading small{font-size:10px;color:var(--muted)}.zone-contacts{padding:6px 0}.zone-person{display:flex;gap:13px;margin:18px 0}.zone-person .contact-initial{width:34px;height:34px;font-size:10px;background:#f2f5f7}.contact-email{display:block;font-size:10px;overflow-wrap:anywhere;color:#6f8a99;margin-top:4px}.contact-phone{display:flex;gap:6px;align-items:center;font-size:11px;color:#32758a;margin-top:6px}.contact-phone svg{width:12px;height:12px}.zone-areas{padding:14px 0 0;margin:0;border:0;border-top:1px solid var(--line);border-radius:0}.zone-areas summary{font-size:11px;color:#557586}.zone-areas summary span{display:inline-block;background:#edf3f6;padding:1px 7px;border-radius:5px;margin-left:5px;font-size:9px}.zone-areas ul{padding-left:17px;margin:15px 0 0;columns:2;column-gap:25px;font-size:11px;color:#778b96}.zone-areas li{margin-bottom:7px;break-inside:avoid}.area-match{background:#fff1c9;color:#6d571c}.committee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.committee-card{border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;gap:15px;align-items:flex-start;padding:21px;min-width:0}.committee-card>.contact-portrait{width:58px;height:72px}.committee-card>.contact-initial{width:42px;height:42px;font-size:11px}.committee-body{min-width:0;flex:1}.committee-number{font-size:9px;letter-spacing:1px;color:#9aa9b1}.committee-card h3{font-size:12px;margin-top:6px;line-height:1.65;overflow-wrap:anywhere}.committee-zh{font-size:11px;color:#6a8290;margin-top:3px}.committee-position{font-size:10px;color:#496b7e;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.committee-position span{display:block;font-size:8px;color:#95a3ab;margin-bottom:4px}.committee-chair{border-color:#a9c6d2;background:#f5fafc}.party-callout{border-left:3px solid #bda379;margin-top:15px}
@media(max-width:1200px){.committee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.village-contacts{grid-template-columns:1fr}.community-shortcut-grid{grid-template-columns:1fr}.community-shortcut-grid .directory-mini{padding:16px}.community-shortcut-grid .directory-mini strong{font-size:12px}}
@media(max-width:650px){.village-grid,.zone-grid,.committee-grid{grid-template-columns:1fr}.village-contacts{grid-template-columns:repeat(2,minmax(0,1fr))}.community-stats{gap:22px;padding:21px}.community-stats>div{min-width:70px}.community-stats strong{font-size:26px}.community-stats span{font-size:10px}.village-card,.zone-card{padding:20px}.village-contacts{display:flex;flex-wrap:wrap}.village-contact{flex:1;min-width:135px}.committee-card h3{font-size:14px}.committee-card>.contact-portrait{width:65px;height:80px}.zone-areas ul{columns:1}.committee-position{font-size:12px}}

.source-credit{font-size:9px;color:#8296a2;text-decoration:none;display:inline-flex;align-items:center;gap:4px;align-self:center}.source-credit:hover{text-decoration:underline}.source-credit svg{width:11px;height:11px}.community-sourcebar .source-credit{font-size:9px}
