:root{--ink:#102b2a;--muted:#637674;--paper:#f7f8f3;--white:#fff;--teal:#0b675e;--mint:#d8eee6;--lime:#c8dc79;--line:#dce5df;--shadow:0 16px 40px rgba(20,54,50,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper)}a{color:inherit}button,input,select{font:inherit}.site-header{height:76px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:rgba(247,248,243,.94);border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:850;letter-spacing:.08em}.brand-mark{width:32px;height:32px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px}.brand-mark i{display:block;background:var(--teal);border-radius:5px 5px 1px 1px}.brand-mark i:nth-child(1){height:52%}.brand-mark i:nth-child(2){height:100%;background:#75aa7e}.brand-mark i:nth-child(3){height:75%;background:var(--lime)}.header-link{text-decoration:none;font-weight:700;color:var(--teal)}
.hero{min-height:560px;padding:clamp(58px,8vw,112px) clamp(24px,7vw,112px);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;background:linear-gradient(135deg,#e5f1e9 0%,#f7f8f3 55%,#eef0d7 100%);overflow:hidden}.eyebrow{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:850;color:var(--teal);margin:0 0 18px}.hero h1{font-size:clamp(4.5rem,9vw,9.4rem);line-height:.77;letter-spacing:-.075em;margin:0;max-width:780px}.title-data{position:relative;top:-.05em}.hero-text{font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.55;max-width:670px;margin:42px 0 0;color:#425c59}.hero-art{position:relative;min-height:420px}.globe{position:absolute;width:min(28vw,350px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 36% 30%,#f2f5bf 0 5%,#8ab888 26%,#16756a 62%,#0b4b49 100%);box-shadow:inset -34px -35px 70px rgba(0,30,35,.35),0 45px 90px rgba(23,80,71,.25)}.globe span{position:absolute;border:1px solid rgba(255,255,255,.45);border-radius:50%}.globe span:nth-child(1){inset:14% 34%}.globe span:nth-child(2){inset:34% 10%}.globe span:nth-child(3){inset:10%;transform:rotate(35deg)}.orbit{position:absolute;left:50%;top:50%;width:120%;height:48%;border:1px solid rgba(11,103,94,.35);border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg)}.orbit-two{width:75%;height:110%;transform:translate(-50%,-50%) rotate(38deg)}.data-dot{position:absolute;width:15px;height:15px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 7px rgba(200,220,121,.25)}.dot-one{top:17%;left:15%}.dot-two{right:5%;top:52%;background:#38a89b}.dot-three{bottom:8%;left:32%;background:#f1bf6b}
.explorer{padding:clamp(70px,8vw,120px) clamp(20px,5vw,80px);max-width:1600px;margin:auto}.section-heading{display:grid;grid-template-columns:1fr minmax(280px,520px);gap:60px;align-items:end;margin-bottom:38px}.section-heading h2{font-size:clamp(2.6rem,5vw,5rem);line-height:.95;letter-spacing:-.055em;margin:0}.section-intro{color:var(--muted);line-height:1.7;font-size:1.08rem;margin:0}.search-panel{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(0,1fr) clamp(190px,22%,320px) auto;gap:12px;align-items:stretch}.search-box{height:72px;border:2px solid var(--teal);border-radius:15px;display:flex;align-items:center;padding:0 20px;gap:14px;background:#fbfffd}.search-box:focus-within{box-shadow:0 0 0 5px rgba(11,103,94,.12)}.search-box svg{width:25px;fill:none;stroke:var(--teal);stroke-width:2}.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:clamp(1rem,2vw,1.24rem);color:var(--ink)}.search-box kbd{border:1px solid var(--line);background:#edf3ef;border-radius:6px;padding:3px 8px;color:var(--muted)}.filters{display:contents}.theme-filter{display:block}.filters select{display:block;width:100%;height:72px;padding:0 34px 0 16px;border:1px solid var(--line);border-radius:15px;background:var(--white);color:var(--ink);font-weight:700}.filters button,.empty-state button{padding:12px 18px;border:0;border-radius:15px;background:#e7efea;color:var(--teal);font-weight:800;cursor:pointer}.filters button{height:72px;align-self:stretch}.results-bar{display:flex;justify-content:space-between;gap:20px;padding:28px 4px 16px;color:var(--muted)}.results-bar p{margin:0}.results-bar strong{font-size:1.45rem;color:var(--ink)}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.dataset-card{background:var(--white);border:1px solid var(--line);border-radius:17px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}.dataset-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-visual{height:198px;position:relative;display:block;overflow:hidden;background:var(--teal);text-decoration:none}.card-visual::before,.card-visual::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.28);border-radius:50%}.card-visual::before{width:220px;height:220px;right:-35px;top:-54px}.card-visual::after{width:125px;height:125px;right:12px;top:-6px}.card-visual.climate{background:linear-gradient(135deg,#163e5c,#207f7a)}.card-visual.environment{background:linear-gradient(135deg,#28522f,#6f9c50)}.card-visual.social{background:linear-gradient(135deg,#5a3b78,#9a698e)}.card-visual.economic{background:linear-gradient(135deg,#83502d,#c18b42)}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to right,black,transparent)}.visual-action{position:absolute;right:18px;bottom:18px;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:var(--teal);font-size:1.35rem}.card-body{padding:22px;display:flex;flex-direction:column;flex:1}.card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.tag{padding:6px 10px;border-radius:99px;background:var(--mint);color:var(--teal);font-size:.72rem;font-weight:800}.dataset-title{font-size:1.27rem;line-height:1.27;margin:0 0 11px}.dataset-title button{padding:0;border:0;background:none;text-align:left;color:inherit;font-weight:800;cursor:pointer}.dataset-title button:hover{text-decoration:underline;text-decoration-color:#70a995;text-underline-offset:4px}.card-description{color:var(--muted);line-height:1.56;margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.card-meta{margin-top:auto;padding-top:17px;border-top:1px solid var(--line);display:grid;gap:8px;font-size:.86rem}.meta-row{display:grid;grid-template-columns:78px 1fr;gap:8px}.meta-row span:first-child{color:#879592;text-transform:uppercase;font-size:.66rem;letter-spacing:.08em;font-weight:800}.load-more{display:block;margin:38px auto 0;padding:14px 28px;border:1px solid var(--teal);border-radius:99px;background:transparent;color:var(--teal);font-weight:800;cursor:pointer}.empty-state{text-align:center;padding:80px 20px;background:#fff;border:1px dashed var(--line);border-radius:18px}.empty-state h3{font-size:1.5rem;margin:0 0 8px}.empty-state p{color:var(--muted);margin:0 0 20px}
dialog{width:min(760px,calc(100% - 32px));max-height:calc(100vh - 32px);border:0;border-radius:22px;padding:0;box-shadow:0 30px 100px rgba(8,38,35,.32);color:var(--ink)}dialog::backdrop{background:rgba(6,25,24,.65);backdrop-filter:blur(4px)}.dialog-close{position:sticky;float:right;top:16px;margin:16px 16px 0 0;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.7rem;line-height:1;cursor:pointer}.detail-hero{padding:45px 45px 30px;background:linear-gradient(135deg,#e4f2eb,#f6f5de)}.detail-hero h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;letter-spacing:-.045em;margin:15px 0}.detail-source{color:var(--teal);font-weight:800}.detail-body{padding:36px 45px 48px}.detail-description{font-size:1.08rem;line-height:1.75;color:#465e5b}.detail-list{display:grid;grid-template-columns:160px 1fr;margin:30px 0}.detail-list dt,.detail-list dd{padding:14px 0;border-top:1px solid var(--line);margin:0}.detail-list dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--muted)}.detail-links{display:flex;flex-wrap:wrap;gap:10px}.detail-links a{padding:12px 17px;border-radius:9px;background:var(--teal);color:#fff;text-decoration:none;font-weight:800}.detail-links a.secondary{background:#e5efea;color:var(--teal)}footer{padding:40px clamp(24px,5vw,80px);border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted)}footer span{font-weight:900;color:var(--ink);letter-spacing:.08em}footer p{margin:0}
@media(max-width:1050px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr .8fr}.section-heading{grid-template-columns:1fr}.section-intro{max-width:680px}}
@media(max-width:700px){.site-header{height:66px}.header-link{font-size:.82rem}.hero{grid-template-columns:1fr;min-height:auto;padding-top:72px}.hero-art{min-height:300px;order:-1}.globe{width:230px}.hero h1{font-size:4.8rem}.hero-text{margin-top:28px}.section-heading{gap:22px}.search-panel{padding:12px;border-radius:16px;grid-template-columns:minmax(0,1fr) auto}.search-box{height:62px;grid-column:1/-1}.search-box kbd{display:none}.filters select,.filters button{height:62px}.results-bar{align-items:flex-end}.results-bar p:last-child{text-align:right}.card-grid{grid-template-columns:1fr}.card-visual{height:210px}.detail-hero,.detail-body{padding-left:25px;padding-right:25px}.detail-list{grid-template-columns:1fr}.detail-list dt{padding-bottom:3px}.detail-list dd{padding-top:0;border-top:0}footer{display:block}footer p{margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dataset-card{transition:none}}
.card-visual img{width:100%;height:100%;display:block;object-fit:contain;background:#e6eee9}.card-visual:has(img)::before{display:none}.card-visual:has(img)::after{content:"";position:absolute;inset:0;width:auto;height:auto;right:auto;top:auto;border:0;border-radius:0;background:linear-gradient(to top,rgba(5,31,29,.68),transparent 52%);pointer-events:none}.card-visual:has(img) .visual-action{z-index:1}
