/* GeoLayers v2.0.4 — datasets page */
.datasets-v2-page{background:var(--bg)}
.datasets-hero{padding-block:clamp(70px,8vw,112px)}
.datasets-hero .hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}
.dataset-hero-panel{position:relative;min-height:390px;perspective:900px}
.dataset-stack{position:absolute;width:260px;height:170px;border:1px solid rgba(126,229,235,.4);border-radius:30px;left:50%;top:50%;transform-style:preserve-3d;box-shadow:0 28px 70px rgba(1,22,38,.2);overflow:hidden}
.dataset-stack:before{content:"";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),radial-gradient(circle at 25% 35%,rgba(91,226,233,.85) 0 4px,transparent 5px),radial-gradient(circle at 73% 62%,rgba(255,255,255,.75) 0 3px,transparent 4px);background-size:34px 34px,34px 34px,auto,auto}
.dataset-stack span{position:absolute;border:1px solid rgba(255,255,255,.24);border-radius:46% 54% 52% 48%}
.dataset-stack span:nth-child(1){width:120px;height:72px;left:18px;top:28px;transform:rotate(-12deg)}
.dataset-stack span:nth-child(2){width:100px;height:64px;right:20px;bottom:25px;transform:rotate(27deg)}
.dataset-stack span:nth-child(3){width:72px;height:50px;left:100px;bottom:20px;transform:rotate(48deg)}
.ds-back{transform:translate(-42%,-28%) rotateX(58deg) rotateZ(-12deg);background:linear-gradient(135deg,rgba(44,208,179,.52),rgba(4,96,90,.22))}
.ds-mid{transform:translate(-49%,-48%) rotateX(58deg) rotateZ(-12deg);background:linear-gradient(135deg,rgba(48,209,222,.64),rgba(24,117,199,.28))}
.ds-front{transform:translate(-56%,-68%) rotateX(58deg) rotateZ(-12deg);background:linear-gradient(135deg,rgba(32,184,199,.72),rgba(8,119,197,.32))}
.dataset-hero-stat{position:absolute;display:grid;gap:2px;min-width:116px;padding:11px 13px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(5,34,51,.72);box-shadow:0 14px 34px rgba(1,18,31,.22);backdrop-filter:blur(12px)}
.dataset-hero-stat b{font-size:.84rem;color:#fff}.dataset-hero-stat span{font-size:.67rem;color:#a9cfd8}.stat-a{left:2%;top:74px}.stat-b{right:2%;top:138px}.stat-c{left:22%;bottom:20px}
.datasets-body{padding-block:34px 86px}
.seo-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:28px;align-items:end;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-sm)}
.seo-intro h2,.dataset-faq h2,.dataset-cta h2{margin:.45rem 0 .65rem;font-size:clamp(1.65rem,3vw,2.65rem);line-height:1.08;letter-spacing:-.04em}.seo-intro p,.dataset-cta p{margin:0;color:var(--muted)}
.popular-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.popular-links a{display:inline-flex;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:.75rem;font-weight:780;text-decoration:none}.popular-links a:hover{border-color:var(--blue);color:var(--blue);background:var(--surface-3)}
.dataset-search-panel{position:sticky;top:calc(var(--header-h) + 12px);z-index:30;margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(16px)}
.search-grid{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(160px,.65fr) minmax(160px,.65fr) auto;gap:12px;align-items:end}.search-grid label{display:grid;gap:6px;color:var(--ink);font-size:.74rem;font-weight:820}.search-grid input,.search-grid select{width:100%;min-height:46px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);outline:none}.search-grid input:focus,.search-grid select:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 15%,transparent)}.dataset-search-button{min-height:46px;padding:0 18px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#fff;font-weight:850;cursor:pointer}.dataset-search-button:hover{filter:brightness(1.05)}
.dataset-search-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:13px 0 11px;padding-top:13px;border-top:1px solid var(--line)}.dataset-search-meta p{margin:0;color:var(--muted);font-size:.78rem}.clear-filters{border:0;background:transparent;color:var(--blue);font-weight:800;font-size:.75rem;cursor:pointer}.dataset-chips{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:thin}.dataset-chip{flex:0 0 auto;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.7rem;font-weight:800;cursor:pointer}.dataset-chip:hover,.dataset-chip.active{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--blue)}
.data-guidance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 42px}.data-guidance>div{padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}.data-guidance strong{display:block;margin-bottom:3px;font-size:.82rem}.data-guidance span{display:block;color:var(--muted);font-size:.75rem;line-height:1.5}
.dataset-section{scroll-margin-top:calc(var(--header-h) + 150px);padding:36px 0 12px;border-top:1px solid var(--line)}.dataset-section:first-of-type{border-top:0}.dataset-section[hidden]{display:none!important}.dataset-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}.dataset-section-head>div{max-width:800px}.dataset-section-head h2{margin:.35rem 0 .45rem;font-size:clamp(1.45rem,2.6vw,2.25rem);line-height:1.12;letter-spacing:-.035em}.dataset-section-head p{margin:0;color:var(--muted);font-size:.86rem}.dataset-count{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:var(--surface-3);color:var(--blue);font-size:.68rem;font-weight:850}
.dataset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.dataset-card{min-width:0;display:flex;flex-direction:column;padding:21px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.dataset-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--blue) 35%,var(--line));box-shadow:var(--shadow)}.dataset-card[hidden]{display:none!important}.dataset-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px}.access-badge,.region-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border-radius:999px;font-size:.61rem;font-weight:880;letter-spacing:.02em}.access-free{background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success);border:1px solid color-mix(in srgb,var(--success) 30%,var(--line))}.access-paid{background:color-mix(in srgb,var(--amber) 14%,var(--surface));color:var(--warning);border:1px solid color-mix(in srgb,var(--amber) 38%,var(--line))}.region-badge{background:var(--surface-3);color:var(--muted);border:1px solid var(--line)}.dataset-card h3{margin:0 0 7px;color:var(--ink);font-size:1rem;line-height:1.32;letter-spacing:-.018em}.dataset-card .provider{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.data-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.data-tag{padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--blue);font-size:.61rem;font-weight:760}.dataset-note{margin:11px 0 0;padding:10px 11px;border-left:3px solid var(--cyan);border-radius:0 9px 9px 0;background:color-mix(in srgb,var(--cyan) 7%,var(--surface));color:var(--muted);font-size:.7rem;line-height:1.45}.dataset-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:17px}.dataset-link{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--blue);font-size:.68rem;font-weight:840;text-decoration:none}.dataset-link:hover{border-color:var(--blue);background:var(--surface-3)}mark{padding:.02em .12em;border-radius:3px;background:color-mix(in srgb,var(--amber) 55%,transparent);color:inherit}
.dataset-ad{margin:20px 0 34px}.dataset-ad[hidden]{display:none!important}
.dataset-faq{margin-top:52px;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-sm)}.dataset-faq .faq-list{margin-top:20px}.dataset-faq details{background:var(--surface-2)}
.dataset-cta{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:30px;align-items:center;margin-top:42px;padding:clamp(28px,5vw,48px);border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 86%,var(--cyan) 14%),var(--surface));box-shadow:var(--shadow)}.dataset-cta-actions{display:grid;gap:9px;min-width:220px}.dataset-cta .btn-ghost{min-height:42px}
@media(max-width:1100px){.datasets-hero .hero-grid{grid-template-columns:1fr}.dataset-hero-panel{min-height:300px;max-width:620px;width:100%;margin-inline:auto}.seo-intro{grid-template-columns:1fr}.popular-links{justify-content:flex-start}.search-grid{grid-template-columns:1fr 1fr}.dataset-search-button{min-height:46px}.dataset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dataset-cta{grid-template-columns:1fr}.dataset-cta-actions{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}}
@media(max-width:820px){.dataset-search-panel{position:relative;top:auto}.data-guidance{grid-template-columns:1fr}.dataset-section{scroll-margin-top:82px}.dataset-section-head{display:block}.dataset-count{display:inline-flex;margin-top:10px}.dataset-cta-actions{grid-template-columns:1fr}.dataset-hero-panel{min-height:270px}.dataset-stack{width:220px;height:145px}.stat-a{left:0}.stat-b{right:0}}
@media(max-width:620px){.search-grid{grid-template-columns:1fr}.dataset-grid{grid-template-columns:1fr}.dataset-search-meta{align-items:flex-start;flex-direction:column}.datasets-body{padding-top:24px}.seo-intro,.dataset-search-panel,.dataset-faq{padding:20px}.dataset-card{padding:18px}.dataset-hero-panel{min-height:235px}.dataset-stack{width:180px;height:118px;border-radius:22px}.dataset-hero-stat{min-width:96px;padding:8px 9px}.stat-a{top:40px}.stat-b{top:108px}.stat-c{left:16%;bottom:6px}.dataset-card-top{align-items:flex-start;flex-direction:column}.dataset-section{padding-top:30px}}
@media(prefers-reduced-motion:reduce){.dataset-card{transition:none}}

/* v2.0.5 regional dataset landing pages */
.regional-data-hero{padding-block:clamp(64px,7vw,96px)}
.region-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0 42px}
.region-directory a{display:block;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);transition:transform .2s ease,border-color .2s ease}
.region-directory a:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--blue) 40%,var(--line))}.region-directory strong{display:block;margin-bottom:5px}.region-directory span{display:block;color:var(--muted);font-size:.76rem;line-height:1.5}
.regional-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;align-items:start;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:28px}
.regional-intro p{margin:0;color:var(--muted);line-height:1.7}.regional-links{display:flex;flex-wrap:wrap;gap:8px}.regional-links a{display:inline-flex;padding:8px 11px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--blue);font-size:.72rem;font-weight:800;text-decoration:none}
.regional-note{margin-top:18px;padding:14px 16px;border-left:3px solid var(--cyan);background:color-mix(in srgb,var(--cyan) 7%,var(--surface));border-radius:0 12px 12px 0;color:var(--muted);font-size:.77rem;line-height:1.6}
@media(max-width:980px){.region-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.regional-intro{grid-template-columns:1fr}}
@media(max-width:620px){.region-directory{grid-template-columns:1fr}.regional-intro{padding:20px}}
