*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#153633;background:#f8faf8;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.8}header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:white}a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700}.brand b{background:#1d5751;color:white;padding:2px 10px;font-size:23px}.brand small{display:block;font-size:9px;letter-spacing:.13em;color:#71908b}nav{display:flex;gap:30px;font-size:14px}nav a:last-child{color:#16756b}.hero{min-height:610px;display:flex;align-items:center;color:white;background:linear-gradient(90deg,rgba(9,43,41,.88),rgba(9,43,41,.27)),url('assets/water-landscape.jpg') center/cover}.hero-inner,.section{width:min(1180px,90%);margin:auto}.hero-inner{padding:90px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;color:#43877c}.hero .eyebrow{color:#b6d8ce}.hero h1{font-size:clamp(40px,6vw,74px);line-height:1.25;letter-spacing:.04em;margin:22px 0}.hero p{max-width:530px;color:#e3f0ec;font-size:17px}.button{display:inline-block;background:white;color:#174d46;padding:12px 22px;margin-top:22px;font-size:14px}.section{padding:100px 0}.split,.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%}h2{font-size:clamp(28px,3.3vw,42px);line-height:1.35;letter-spacing:.02em;margin:16px 0 24px}h3{font-size:19px;margin:14px 0}p{color:#5d716c}.lead{font-size:19px;line-height:1.9;color:#294e48}.map-section{background:#e9f0ed}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-head p{max-width:430px}.map-shell{border:8px solid white;box-shadow:0 15px 40px #21483d18}.caption{font-size:13px;color:#6c807a}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d6e3de;margin-top:40px}.cards article{padding:30px;background:#fff;min-height:235px}.cards article span{font-size:12px;color:#70a99a}.cards p{font-size:14px}.partners{background:#163c37;color:white}.partners p{color:#c3d5ce}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:35px}.partner-grid article{border:1px solid #618078;padding:28px}.partner-grid small{color:#b9d6c9}.partner-grid h3{margin-bottom:0}.contact{align-items:start}footer{background:#102f2b;color:#d8e8e1;padding:30px 5%;font-size:14px}footer span{float:right;color:#87a69b}#map{height:500px;position:relative;overflow:hidden;background:#dce9e7;touch-action:none;cursor:grab}#map:active{cursor:grabbing}.tiles,#dots{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tiles img{position:absolute;width:256px;height:256px}.map-controls{position:absolute;top:14px;left:14px;display:grid;box-shadow:0 2px 10px #0002}.map-controls button{width:38px;height:38px;border:0;border-bottom:1px solid #ddd;background:white;color:#184c45;font-size:22px;cursor:pointer}.attribution{position:absolute;bottom:0;right:0;background:#fffd;font-size:10px;padding:1px 5px}.attribution a{text-decoration:underline}@media(max-width:760px){header{height:auto;padding:16px 5%;display:block}nav{gap:15px;overflow:auto;white-space:nowrap;margin-top:14px;font-size:12px}.hero{min-height:510px}.section{padding:65px 0}.split,.contact{grid-template-columns:1fr;gap:12px}.section-head{display:block}.cards{grid-template-columns:1fr 1fr}.partner-grid{grid-template-columns:1fr}#map{height:380px}footer span{float:none;display:block}}
/* Blue and white visual direction */
body{color:#243f57;background:#fff}.brand b{background:#0878bc}.brand small,.eyebrow{color:#3283b9}nav a:last-child{color:#0878bc}.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(9,40,65,.86),rgba(9,40,65,.2))}.hero:before{content:"";position:absolute;inset:-3%;z-index:0;background:url('assets/water-landscape.jpg') center/cover;animation:hero-drift 22s ease-in-out infinite alternate;opacity:.65}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,28,50,.82),transparent)}.hero-inner{position:relative;z-index:1}@keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.08) translateX(-1%)}}@media(prefers-reduced-motion:reduce){.hero:before{animation:none}}.button{color:#0878bc}.lead{color:#304d62}.map-section{background:#f3f7fa}.cards article span{color:#398bbd}.partners{background:#eaf3fa;color:#23445b}.partners p,.partner-grid small{color:#5d778a}.partner-grid article{background:white;border:1px solid #d6e6ef}.logo{width:46px;height:46px;object-fit:contain;float:right}.goal-layout{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-top:35px}.goal-info{background:#eaf2f7;padding:32px}.goal-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.goal-buttons button{border:0;background:#087bbd;color:white;font-size:20px;text-align:left;padding:28px;min-height:120px;cursor:pointer}.goal-buttons button:nth-child(2){background:#299bc0}.goal-buttons button:nth-child(3){background:#23649f}.goal-buttons button:nth-child(4){background:#438bac}.goal-buttons button:hover,.goal-buttons button:focus-visible{filter:brightness(.85)}.goal-buttons span{float:right}footer{background:#124469}@media(max-width:760px){.goal-layout{grid-template-columns:1fr}.goal-buttons button{font-size:16px;padding:18px;min-height:100px}}
/* Reference-inspired editorial layout */
header{border-bottom:1px solid #edf0f2}.section-head h2{flex:1}.section-head p{font-size:15px}.map-shell{border:0;box-shadow:none}#map{height:560px;background:#b8d9e8}.map-legend{position:absolute;right:18px;bottom:28px;background:#fff;padding:18px 22px;min-width:180px;box-shadow:0 8px 25px #2344;display:grid;gap:7px;font-size:13px}.map-legend span{display:flex;align-items:center;gap:8px}.map-legend i{width:12px;height:12px;border-radius:50%;background:#147b72}.map-legend small{color:#667783}.map-fullscreen{position:absolute;right:14px;top:14px;background:white;border:0;width:40px;height:40px;font-size:22px;cursor:pointer}#map:fullscreen{height:100vh;width:100vw}.cards{grid-template-columns:repeat(4,1fr);gap:25px;background:transparent}.cards article{padding:0;min-height:0}.cards article h3{color:#0877b5;font-size:20px;line-height:1.4}.cards article small{color:#82919b}.cards a:hover h3{text-decoration:underline}.work-visual{height:180px;display:flex;justify-content:space-between;align-items:end;padding:20px;background:#d8e9f1;color:white;overflow:hidden}.work-visual span{color:white!important;letter-spacing:.1em;font-size:10px}.work-visual b{font-size:90px;font-weight:300;line-height:.7}.work-map{background:linear-gradient(135deg,#8fc3d7,#176494)}.work-global{background:linear-gradient(135deg,#a8d6de,#2477b2)}.work-region{background:linear-gradient(135deg,#92b6bf,#315b7d)}.work-cooperation{background:linear-gradient(135deg,#b3d6d9,#5089ae)}.partner-stats{display:flex;align-items:center;gap:45px;border-top:1px solid #cadfea;border-bottom:1px solid #cadfea;padding:22px 0}.partner-stats div{display:grid}.partner-stats strong{font-size:29px;color:#0877b5}.partner-stats span{font-size:13px;color:#597588}.partner-stats p{margin-left:auto}.contact select{display:block;margin-top:8px;width:100%;max-width:400px;padding:13px;border:1px solid #bacbd6;background:white;color:#23445b;font-size:15px}.contact label{font-size:14px;font-weight:600}.contact-pending{font-size:14px}.goal-buttons button:focus-visible,.map-controls button:focus-visible,.map-fullscreen:focus-visible{outline:3px solid #ffbc27;outline-offset:2px}@media(max-width:760px){.cards{grid-template-columns:1fr 1fr}.work-visual{height:130px}.map-legend{right:8px;bottom:24px;padding:10px;min-width:0;font-size:11px}.partner-stats{gap:20px;flex-wrap:wrap}.partner-stats p{width:100%;margin:0}#map{height:400px}}
.map-offline{position:absolute;left:62px;top:14px;z-index:2;padding:8px 12px;max-width:260px;background:#fff;color:#375263;font-size:12px;box-shadow:0 2px 10px #0002}.map-offline[hidden]{display:none}.collaborator-list:not(:empty){display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.collaborator-list article{background:white;padding:18px}.collaborator-list span{display:block;font-size:13px;color:#66808e}.contact-pending p{margin:7px 0}@media(max-width:760px){.collaborator-list:not(:empty){grid-template-columns:1fr}}

#observation-image{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}#map{background:#e7f2f8}.motion{display:block;margin-top:25px;background:#ffffff20;color:white;border:1px solid #ffffff80;padding:8px 16px;cursor:pointer}.hero.paused:before{animation-play-state:paused}.goal-buttons button[aria-pressed=true]{outline:3px solid #163c60;outline-offset:-5px}.section-head h2:before,.goals>h2:before{content:"";display:block;width:48px;height:3px;background:#147bb6;margin-bottom:22px}a:focus-visible,button:focus-visible{outline:3px solid #e9ae39;outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

:root{--blue:#1376b5}body{color:#53575b}header{height:108px;padding:0 max(calc((100vw - 1180px)/2),5%)}.brand{color:#508ec4;font-size:21px}.brand b{border-radius:50%;width:62px;height:62px;display:grid;place-items:center;font-size:32px;border:2px solid #508ec4;background:white;color:#508ec4}.utilities{display:flex;gap:20px}button{font-family:inherit}.utilities button{border:0;background:none;color:var(--blue);cursor:pointer;font-size:16px}.main-nav{position:relative;z-index:1100;display:flex;justify-content:space-evenly;padding:18px 5%;background:#f5f6f7;gap:20px}.main-nav details{position:relative}.main-nav summary{cursor:pointer;list-style:none;font-size:17px}.main-nav summary:after{content:'⌄';margin-left:12px}.main-nav details a{display:block;padding:10px 20px;background:white;white-space:nowrap}.main-nav details[open]{z-index:2}.main-nav details[open] a{position:relative;box-shadow:0 7px 15px #0001}.main-nav details[open] a:first-of-type{margin-top:18px}.main-nav:has(details[open]){margin-bottom:-118px}.hero{min-height:540px}.hero h1{font-weight:400;font-size:54px}.hero p{font-size:19px}.section{padding:80px 0}.section-head{display:block;text-align:center}.section-head p{max-width:none}.section-head h2:before,.goals>h2:before{margin:0 auto 22px}h2{font-weight:400;font-size:32px}.map-section{background:white}.cards{grid-template-columns:repeat(3,1fr);gap:30px}.work-detail{border:0;background:none;text-align:left;padding:0;font:inherit;cursor:pointer;width:100%}.work-detail:hover h3{text-decoration:underline}.work-visual{height:220px;border-radius:4px}.work-map{background:linear-gradient(#1776ac55,#123b5b77),url('assets/observations.png') center/cover}.work-detail p{font-size:17px}.goals>h2,.goals>p,.goals>.eyebrow{display:block;text-align:center}.goal-layout{grid-template-columns:1fr 2.8fr;gap:0}.goal-info{background:#d4dce2;min-height:390px;padding:28px}.goal-buttons{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,130px);gap:0}.goal-buttons button{padding:16px;grid-column:span 2;min-height:0;font-size:18px;transition:filter .2s,box-shadow .2s}.goal-buttons button b{display:block;font-size:55px;text-align:center;line-height:1.2;font-weight:300}.goal-buttons button:first-child{grid-column:span 2;grid-row:span 2;background:#1aafd0}.goal-buttons button:nth-child(2){background:#b64d55}.goal-buttons button:nth-child(3){background:#247caf}.goal-buttons button:nth-child(4){background:#659c74}.goal-buttons button:nth-child(5){background:#ca9c3d}.goal-buttons button:nth-child(6){background:#467e99}.goal-buttons button:nth-child(7){background:#726c9d}.goal-buttons button:nth-child(8){background:#205879}.goal-buttons button small{font-size:13px}.goal-buttons button[aria-pressed=true]{outline:4px solid white;outline-offset:-5px;filter:brightness(1.1)}#map-shell{position:relative;background:#b6d8e8}#map{height:580px;cursor:grab;z-index:1}.map-toolbar{position:absolute;bottom:16px;left:14px;right:14px;z-index:800;display:flex;gap:8px;flex-wrap:wrap}.map-toolbar button,#panel-close{background:white;border:1px solid #d6dfe5;padding:10px 16px;border-radius:4px;color:#344c60;cursor:pointer}.map-toolbar button:nth-child(4){margin-left:auto}#map-panel{position:absolute;right:16px;top:18px;z-index:900;background:white;box-shadow:0 12px 30px #0003;width:min(350px,90%);max-height:420px;overflow:auto;padding:20px}#map-panel[hidden]{display:none}#panel-close{float:right}.source-item{display:flex;gap:8px;padding:4px 0;font-size:12px;overflow-wrap:anywhere}.source-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:5px}#map-status{position:absolute;top:12px;left:55px;z-index:700;background:#fffe;font-size:12px;padding:5px 10px}#map-shell:fullscreen{width:100vw;height:100vh}#map-shell:fullscreen #map{height:100vh}.leaflet-container{font:inherit}.leaflet-control-attribution{font-size:10px!important}.partner-stats{margin-top:35px}dialog{border:0;border-radius:4px;padding:36px;width:min(650px,90vw);max-height:85vh;color:#455766}dialog::backdrop{background:#132b44aa;backdrop-filter:blur(4px)}.dialog-close{float:right;background:none;border:0;font-size:30px;cursor:pointer}#search-input{width:100%;padding:14px;border:1px solid #b7cad8;font-size:18px}#search-results a{display:block;padding:14px;border-bottom:1px solid #ddd;color:var(--blue)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#123b5b;color:white;z-index:3000;padding:8px 20px;border-radius:4px}#toast:empty{display:none}#back-top{position:fixed;bottom:20px;right:20px;border:0;background:#1376b5;color:white;padding:12px;z-index:1000;cursor:pointer}.dark{background:#152536;color:#e0e8ef}.dark .section,.dark .main-nav,.dark header,.dark .map-section,.dark .partners{background:#152536;color:#e0e8ef}.dark p{color:#bfd0df}.dark .work-detail,.dark .cards article{background:#152536}.dark .partner-grid article{background:#203b50}.dark .goal-info{background:#29445a}@media(max-width:760px){header{height:86px;padding:12px 5%}.brand{font-size:15px}.brand b{width:44px;height:44px;font-size:24px}.utilities{gap:8px}.utilities button{font-size:12px}.main-nav{overflow:visible;flex-wrap:wrap;gap:12px;padding:14px}.main-nav summary{font-size:13px}.main-nav:has(details[open]){margin-bottom:0}.main-nav details[open] a{font-size:12px}.hero h1{font-size:38px}.hero{min-height:490px}.cards{grid-template-columns:1fr}.goal-layout{grid-template-columns:1fr}.goal-info{min-height:160px}.goal-buttons{grid-template-columns:repeat(2,1fr);grid-template-rows:none}.goal-buttons button,.goal-buttons button:first-child{grid-column:auto;grid-row:auto;min-height:130px}#map{height:520px}.map-toolbar button{font-size:11px;padding:8px}.map-toolbar button:nth-child(4){margin-left:0}#map-status{max-width:70%}.work-visual{height:220px}}

.main-nav:has(details[open]){margin-bottom:0}.nav-dropdown{position:absolute;left:-16px;top:100%;padding-top:18px;min-width:180px}.main-nav details[open] a:first-of-type{margin-top:0}.main-nav details[open] a{box-shadow:none}.nav-dropdown a:hover{background:#e8f3fa;color:#1376b5}#map-shell.expanded{position:fixed;inset:0;z-index:4000}#map-shell.expanded #map{height:100vh}.goal-info a{display:block;margin-top:30px;text-decoration:underline}@media(max-width:760px){.nav-dropdown{left:auto;right:0}}

.work-region{background:repeating-linear-gradient(135deg,transparent 0 22px,#ffffff1c 23px 24px),linear-gradient(140deg,#9dc6d5,#28688e)}.work-cooperation{background:radial-gradient(circle at 25% 30%,#ffffff77 0 8px,transparent 9px),radial-gradient(circle at 60% 62%,#ffffff66 0 12px,transparent 13px),radial-gradient(circle at 80% 20%,#ffffff88 0 6px,transparent 7px),linear-gradient(140deg,#8ec4cb,#306c98)}
