:root {
	--gb-ink: #242732;
	--gb-ink-soft: #363534;
	--gb-gold: #c9a751;
	--gb-gold-dark: #7a6424;
	--gb-gold-pale: #f6efd9;
	--gb-red: #b91817;
	--gb-flag-red: #db281c;
	--gb-yellow: #f4e410;
	--gb-green: #007c38;
	--gb-teal: #5fbbb9;
	--gb-teal-dark: #256a67;
	--gb-cream: #fbf8f0;
	--gb-paper: #ffffff;
	--gb-bg: #f6f7f8;
	--gb-text: #242732;
	--gb-muted: #5c6270;
	--gb-line: #dfe2e6;
	--gb-shadow: 0 18px 48px rgba(36, 39, 50, 0.1);
	--gb-shadow-soft: 0 8px 28px rgba(36, 39, 50, 0.08);
	--gb-radius: 18px;
	--gb-radius-sm: 12px;
	--gb-shell: min(1200px, calc(100% - 48px));
	--gb-transition: 180ms ease;
	color-scheme: light;
}

/* Catalog layout overrides: keep cards readable beside the filter rail. */
.gb-catalog .gb-resource-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(240px, 1fr));
	gap: 1.25rem;
}

.gb-catalog-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.gb-catalog-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.gb-catalog-card__body p {
	min-height: 0;
}

.gb-catalog-card footer {
	margin-top: auto;
	min-width: 0;
}

.gb-catalog-card footer span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.gb-catalog-card footer button {
	flex: 0 0 auto;
}

.gb-catalog-card__body p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.gb-catalog-card--historical {
	border-color: #d8c991;
	background: #fffdf5;
}

.gb-catalog-card--interactive {
	border-color: rgba(0, 124, 56, .42);
	background: #fbfffc;
}

.gb-catalog-card--interactive .gb-catalog-card__map {
	background: linear-gradient(135deg, #dcefe3, #f7f0cf);
}

.gb-catalog-card--interactive .gb-catalog-card__map::before {
	background: linear-gradient(135deg, #0b5f35, #c9a751 64%, #168447);
	opacity: .58;
}

.gb-catalog-card--interactive .gb-catalog-card__map span {
	background: #075d30;
	color: #fff;
}

.gb-catalog-card--interactive .gb-map-card__open {
	background: #007c38;
}

.gb-catalog-card--interactive .gb-map-card__open:hover,
.gb-catalog-card--interactive .gb-map-card__open:focus-visible {
	background: #075d30;
	color: #fff;
}

.gb-catalog-card__map--historical {
	background: linear-gradient(135deg, #e9e1c2, #f7f2df);
}

.gb-catalog-card__map--historical::before {
	background: linear-gradient(135deg, #8b783b, #c9a751 58%, #6b5a28);
	opacity: .52;
}

.gb-catalog-card__map--historical span {
	background: #493e1f;
	color: #fff;
}

.gb-catalog-load-more {
	display: block;
	margin: 1.5rem auto 0;
	border: 1px solid #183b4b;
	border-radius: 999px;
	padding: .75rem 1.2rem;
	background: #fff;
	color: #183b4b;
	font-weight: 800;
	cursor: pointer;
}

.gb-catalog-load-more:hover,
.gb-catalog-load-more:focus-visible {
	background: #183b4b;
	color: #fff;
}

.gb-catalog-load-more[hidden],
.gb-detail-actions[hidden] {
	display: none;
}

html[data-gb-theme="dark"] .gb-catalog-card--historical {
	border-color: #766838;
	background: #2c291d;
}

html[data-gb-theme="dark"] .gb-catalog-card--interactive {
	border-color: #28794d;
	background: #172a20;
}

@media (max-width: 1320px) {
	.gb-catalog {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 1.5rem;
	}

	.gb-catalog .gb-resource-grid {
		grid-template-columns: repeat(2, minmax(250px, 1fr));
	}
}

@media (max-width: 820px) {
	.gb-catalog {
		grid-template-columns: 1fr;
	}

	.gb-catalog__filters {
		position: static;
	}

	.gb-catalog .gb-resource-grid {
		grid-template-columns: 1fr;
	}
}

/* Resource modules ------------------------------------------------------- */
.gb-content-main:has(.gb-catalog),
.gb-content-main:has(.gb-geovisor),
.gb-content-main:has(.gb-ide-hero) { max-width: 100%; padding-left: 0; padding-right: 0; }
.gb-content-main:has(.gb-catalog),
.gb-content-main:has(.gb-geovisor),
.gb-content-main:has(.gb-ide-hero) { padding-top: 0; padding-bottom: 0; }
.gb-content-main:has(.gb-catalog) .wp-block-post-content,
.gb-content-main:has(.gb-geovisor) .wp-block-post-content,
.gb-content-main:has(.gb-ide-hero) .wp-block-post-content { box-sizing:border-box; width:100%; max-width:none !important; }
.gb-content-main:has(.gb-catalog) > .gb-page-title,
.gb-content-main:has(.gb-geovisor) > .gb-page-title,
.gb-content-main:has(.gb-ide-hero) > .gb-page-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.gb-module-hero { box-sizing:border-box; width:100%; max-width:1280px; margin-inline:auto; padding-block:clamp(3rem,6vw,5rem); padding-inline:clamp(1.25rem,5vw,5rem); background:linear-gradient(120deg,#24262a,#3b3e43); color:#fff; }
.gb-module-hero span,.gb-eyebrow { color:#c9a751; font-family:var(--wp--preset--font-family--archivo); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.gb-module-hero h2 { color:#fff; font-size:clamp(2.2rem,5vw,4rem); margin:.45rem 0 .75rem; }
.gb-module-hero p { max-width:720px; font-size:1.08rem; margin:0; opacity:.88; }
.gb-catalog { box-sizing:border-box; display:grid; width:100%; grid-template-columns:280px minmax(0,1fr); gap:2rem; max-width:1280px; margin:0 auto; padding:2rem 1.25rem 4rem; }
.gb-catalog__filters { position:sticky; top:1rem; align-self:start; padding:1.25rem; border:1px solid #dde3e5; border-radius:18px; background:#fff; box-shadow:0 12px 35px rgba(36,39,50,.07); }
.gb-filter-title,.gb-results-bar,.gb-catalog-card footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.gb-filter-title { padding-bottom:1rem; border-bottom:1px solid #e6e9ea; }
.gb-filter-title button { border:0; background:none; color:#6f5a1f; cursor:pointer; }
.gb-catalog__filters > label,.gb-catalog__filters fieldset { display:grid; gap:.45rem; margin:1rem 0; font-weight:700; border:0; padding:0; }
.gb-catalog__filters fieldset label { font-weight:400; }
.gb-catalog__filters input[type=search],.gb-catalog__filters select { width:100%; padding:.72rem .8rem; border:1px solid #cfd6d8; border-radius:9px; background:#fff; }
.gb-results-bar { margin-bottom:1rem; padding:.65rem 0; }
.gb-results-bar select { padding:.55rem .7rem; border:1px solid #d8dddf; border-radius:8px; background:#fff; }
.gb-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.gb-catalog-card { overflow:hidden; border:1px solid #dfe4e6; border-radius:15px; background:#fff; box-shadow:0 10px 30px rgba(36,39,50,.07); transition:transform .2s,box-shadow .2s; }
.gb-catalog-card:hover { transform:translateY(-3px); box-shadow:0 18px 40px rgba(36,39,50,.12); }
.gb-catalog-card__map { position:relative; min-height:170px; overflow:hidden; background:linear-gradient(135deg,#cce2d0,#edf1d7); }
.gb-catalog-card__map::before { content:""; position:absolute; inset:18px 25px; background:linear-gradient(135deg,#4f9e66,#d6bd48 55%,#b91817); opacity:.78; clip-path:polygon(12% 9%,64% 0,92% 24%,81% 58%,96% 91%,42% 100%,9% 77%,0 38%); }
.gb-catalog-card__map--1::before { background:linear-gradient(135deg,#1b7742,#59a75d); }
.gb-catalog-card__map--2::before { background:linear-gradient(135deg,#d6a542,#b91817); }
.gb-catalog-card__map--3::before { background:linear-gradient(135deg,#5fbbb9,#376b8a); }
.gb-catalog-card__map span { position:absolute; left:12px; top:12px; z-index:1; padding:.35rem .55rem; border-radius:999px; background:#fff; color:#24323a; font-size:.68rem; font-weight:800; }
.gb-catalog-card__body { padding:1rem; }
.gb-catalog-card__body small { color:#78631f; font-weight:800; }
.gb-catalog-card__body h3 { font-size:1.05rem; margin:.3rem 0 .5rem; }
.gb-catalog-card__body p { color:#62686c; font-size:.88rem; line-height:1.5; min-height:4em; }
.gb-catalog-card footer { border-top:1px solid #edf0f1; padding-top:.8rem; font-size:.75rem; color:#5d666a; }
.gb-catalog-card button,.gb-detail-actions button,.gb-catalog__filters > button { border:0; border-radius:999px; padding:.55rem .9rem; background:#183b4b; color:#fff; font-weight:800; cursor:pointer; }
.gb-empty-state { padding:3rem; text-align:center; background:#f6f5f1; border-radius:16px; }
.gb-resource-dialog { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:1rem; }
.gb-resource-dialog[hidden] { display:none; }
.gb-resource-dialog__backdrop { position:absolute; inset:0; background:rgba(17,27,34,.7); backdrop-filter:blur(4px); }
.gb-resource-dialog > section { position:relative; display:grid; grid-template-columns:1.2fr 1fr; width:min(980px,96vw); max-height:90vh; overflow:auto; border-radius:20px; background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.35); }
.gb-resource-dialog__close { position:absolute; right:14px; top:12px; z-index:2; width:42px; height:42px; border:0; border-radius:50%; background:#fff; font-size:1.6rem; cursor:pointer; }
.gb-resource-detail__preview { min-height:480px; display:grid; place-items:center; background:linear-gradient(135deg,#c2e0d0,#edf0d0); }
.gb-map-shape { width:70%; height:70%; background:linear-gradient(135deg,#397f4c,#c9a751 65%,#b91817); clip-path:polygon(13% 10%,60% 0,88% 22%,82% 57%,98% 88%,48% 100%,8% 78%,0 39%); filter:drop-shadow(0 15px 25px rgba(0,0,0,.18)); }
.gb-resource-detail__content { padding:3.5rem 2rem 2rem; }
.gb-resource-detail__content h2 { margin:.4rem 0 1rem; }
.gb-resource-detail__content dl { margin:1.5rem 0; }
.gb-resource-detail__content dl div { display:grid; grid-template-columns:110px 1fr; padding:.6rem 0; border-bottom:1px solid #e8ebec; }
.gb-resource-detail__content dt { font-weight:800; }
.gb-detail-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.gb-detail-actions button:nth-child(2) { background:#b91817; }
.gb-detail-actions button:nth-child(3) { background:#c9a751; color:#242732; }
.gb-geovisor { display:grid; grid-template-columns:280px 1fr; min-height:680px; background:#dbe6df; }
.gb-geovisor aside { display:flex; flex-direction:column; gap:.85rem; padding:1.4rem; background:#fff; box-shadow:8px 0 24px rgba(0,0,0,.08); z-index:2; }
.gb-geovisor aside strong { font-size:1.25rem; }
.gb-geovisor aside label { padding:.65rem; border-radius:8px; background:#f5f6f3; }
.gb-geovisor aside button { margin-top:auto; padding:.8rem; border:0; border-radius:9px; background:#183b4b; color:#fff; font-weight:800; }
.gb-geovisor__map { position:relative; display:grid; place-items:center; overflow:hidden; background-color:#dbe6df; background-image:linear-gradient(#b8cbc0 1px,transparent 1px),linear-gradient(90deg,#b8cbc0 1px,transparent 1px); background-size:42px 42px; }
.gb-map-label { position:absolute; padding:.3rem .55rem; border-radius:6px; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.15); font-size:.75rem; }
.gb-map-label--one { left:28%; top:30%; }.gb-map-label--two { left:48%; top:52%; }.gb-map-label--three { right:19%; top:44%; }
.gb-map-tools { position:absolute; right:1rem; top:1rem; display:grid; gap:.35rem; }.gb-map-tools button { width:40px;height:40px;border:0;border-radius:8px;background:#fff;font-size:1.25rem;box-shadow:0 3px 12px rgba(0,0,0,.14); }
.gb-map-legend { position:absolute; left:1rem; bottom:1rem; display:flex; align-items:center; gap:.4rem; padding:.75rem; border-radius:10px; background:#fff; box-shadow:0 4px 16px rgba(0,0,0,.14); }.gb-map-legend i { width:18px;height:10px;background:#4f9e66; }.gb-map-legend i:nth-of-type(2){background:#c9a751}.gb-map-legend i:nth-of-type(3){background:#b91817}
.gb-ide-hero { min-height:560px; display:grid; place-items:center; padding:3rem 1rem; text-align:center; color:#fff; background:linear-gradient(rgba(12,30,37,.38),rgba(12,30,37,.8)),linear-gradient(135deg,#496f61,#1c3944); }
.gb-ide-hero div { max-width:760px; }.gb-ide-hero span { text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#c9a751 }.gb-ide-hero h2 { color:#fff;font-size:clamp(3rem,8vw,6rem);margin:.5rem 0 }.gb-ide-hero p{font-size:1.2rem}.gb-ide-hero a,.gb-contact-band a { display:inline-block;padding:.8rem 1.2rem;border-radius:999px;background:#c9a751;color:#242732;font-weight:800;text-decoration:none }
.gb-ide-section { padding-block:5rem; padding-inline:clamp(1.25rem,5vw,5rem); text-align:center; }.gb-ide-section--soft { background:#f6f5f1; }.gb-ide-section>h2{font-size:clamp(2rem,4vw,3.2rem);margin:.35rem 0 2rem}.gb-ide-grid { display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;text-align:left }.gb-ide-grid--three{grid-template-columns:repeat(3,1fr)}.gb-ide-grid article{padding:1.4rem;border:1px solid #dde1e2;border-radius:15px;background:#fff;box-shadow:0 12px 30px rgba(36,39,50,.07)}.gb-ide-grid article span{font-size:.75rem;color:#6f5a1f}.gb-ide-grid article h3{font-size:1.05rem;margin:.4rem 0}.gb-ide-grid article p{font-size:.87rem;color:#646a6d}.gb-ide-grid article a{color:#6f5a1f;font-weight:800}
.gb-contact-band { display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:4rem;padding-inline:clamp(1.25rem,5vw,5rem);background:#242732;color:#fff }.gb-contact-band h2{color:#fff}.gb-contact-band div{max-width:720px}
@media(max-width:1000px){.gb-resource-grid{grid-template-columns:repeat(2,1fr)}.gb-ide-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.gb-catalog,.gb-geovisor{grid-template-columns:1fr}.gb-catalog__filters{position:static}.gb-resource-grid{grid-template-columns:1fr}.gb-resource-dialog>section{grid-template-columns:1fr}.gb-resource-detail__preview{min-height:260px}.gb-geovisor aside{order:2}.gb-geovisor__map{min-height:520px}.gb-ide-grid,.gb-ide-grid--three{grid-template-columns:1fr}.gb-contact-band{align-items:flex-start;flex-direction:column}}
@media (min-width:901px) and (max-width:1300px){.gb-nav__inner{gap:.65rem}.gb-nav a{font-size:.72rem}.gb-nav__visor{padding:0 .75rem}}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--gb-paper);
	color: var(--gb-text);
	margin: 0;
	overflow-x: hidden;
}

body,
button,
input,
select,
textarea {
	font-family: Ubuntu, "Segoe UI", Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.gb-brand__text strong,
.gb-nav a {
	font-family: Archivo, "Segoe UI", Arial, sans-serif;
}

a {
	color: inherit;
	text-underline-offset: 0.2em;
}

button,
input,
a {
	-webkit-tap-highlight-color: transparent;
}

button,
input {
	font: inherit;
}

button {
	cursor: pointer;
}

svg {
	display: block;
}

[hidden] {
	display: none !important;
}

.gb-shell,
.gb-container {
	margin-inline: auto;
	width: var(--gb-shell);
}

.gb-main {
	overflow: hidden;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.gb-skip-link {
	background: var(--gb-ink);
	border-radius: 0 0 8px 8px;
	color: #fff;
	font-weight: 700;
	left: 1rem;
	padding: 0.8rem 1rem;
	position: fixed;
	top: -6rem;
	z-index: 9999;
}

.gb-skip-link:focus {
	top: 0;
}

:where(a, button, input, textarea, select):focus-visible {
	outline: 3px solid var(--gb-teal);
	outline-offset: 3px;
}

/* Institutional header */
.gb-state-bar {
	background: var(--gb-ink);
	color: rgba(255, 255, 255, 0.86);
	font-size: 0.75rem;
	letter-spacing: 0.015em;
}

.gb-state-bar__inner {
	align-items: center;
	display: flex;
	gap: 0.65rem;
	min-height: 34px;
}

.gb-state-bar__ministry {
	margin-left: auto;
}

.gb-flag {
	display: grid;
	height: 15px;
	overflow: hidden;
	width: 23px;
}

.gb-flag i:nth-child(1),
.gb-footer__accent i:nth-child(1) {
	background: var(--gb-flag-red);
}

.gb-flag i:nth-child(2),
.gb-footer__accent i:nth-child(2) {
	background: var(--gb-yellow);
}

.gb-flag i:nth-child(3),
.gb-footer__accent i:nth-child(3) {
	background: var(--gb-green);
}

.gb-header {
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid var(--gb-line);
	position: relative;
	z-index: 100;
}

.gb-header__main {
	align-items: center;
	display: flex;
	justify-content: space-between;
	min-height: 86px;
}

.gb-brand {
	align-items: center;
	color: var(--gb-ink);
	display: inline-flex;
	gap: 0.75rem;
	text-decoration: none;
}

.gb-brand__mark {
	color: var(--gb-gold-dark);
	display: block;
	flex: 0 0 50px;
	width: 50px;
}

.gb-brand__text {
	display: grid;
	line-height: 1;
}

.gb-brand__text strong {
	font-size: 1.55rem;
	font-weight: 750;
	letter-spacing: -0.045em;
}

.gb-brand__text small {
	color: var(--gb-muted);
	font-size: 0.68rem;
	letter-spacing: 0.055em;
	margin-top: 0.45rem;
	text-transform: uppercase;
}

.gb-header__actions {
	align-items: center;
	display: flex;
	gap: 0.5rem;
}

.gb-icon-button,
.gb-menu-button {
	align-items: center;
	background: transparent;
	border: 1px solid var(--gb-line);
	border-radius: 999px;
	color: var(--gb-ink);
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	transition: background-color var(--gb-transition), border-color var(--gb-transition);
}

.gb-icon-button {
	width: 44px;
}

.gb-icon-button svg {
	height: 21px;
	width: 21px;
}

.gb-menu-button {
	display: none;
	font-weight: 700;
	gap: 0.5rem;
	padding: 0 0.9rem;
}

.gb-menu-button svg {
	height: 22px;
	width: 22px;
}

.gb-icon-button:hover,
.gb-menu-button:hover {
	background: var(--gb-bg);
	border-color: #c7cbd1;
}

.gb-nav {
	border-top: 1px solid var(--gb-line);
}

.gb-nav__inner {
	align-items: center;
	display: flex;
	gap: 1.75rem;
	min-height: 56px;
}

.gb-nav a {
	align-items: center;
	color: var(--gb-ink-soft);
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 650;
	min-height: 44px;
	position: relative;
	text-decoration: none;
	white-space: nowrap;
}

.gb-nav a:not(.gb-nav__visor)::after {
	background: var(--gb-gold);
	bottom: 1px;
	content: "";
	height: 3px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%) scaleX(0);
	transition: transform var(--gb-transition);
	width: 100%;
}

.gb-nav a:hover::after,
.gb-nav a[aria-current="page"]::after {
	transform: translateX(-50%) scaleX(1);
}

.gb-nav__visor {
	background: var(--gb-green);
	border-radius: 999px;
	color: #fff !important;
	gap: 0.45rem;
	margin-left: auto;
	padding: 0 1rem;
}

.gb-nav__visor:hover {
	background: #00652e;
}

.gb-nav__visor svg {
	height: 18px;
	width: 18px;
}

/* Buttons and shared headings */
.gb-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 999px;
	display: inline-flex;
	font-weight: 700;
	gap: 0.55rem;
	justify-content: center;
	line-height: 1.2;
	min-height: 48px;
	padding: 0 1.35rem;
	text-decoration: none;
	transition: background-color var(--gb-transition), border-color var(--gb-transition), color var(--gb-transition), transform var(--gb-transition);
}

.gb-button:hover {
	transform: translateY(-2px);
}

.gb-button--primary {
	background: var(--gb-green);
	color: #fff;
}

.gb-button--primary:hover {
	background: #00652e;
}

.gb-button--secondary {
	background: transparent;
	border-color: #aeb3bc;
	color: var(--gb-ink);
}

.gb-button--secondary:hover {
	background: #fff;
	border-color: var(--gb-ink);
}

.gb-button--dark {
	background: var(--gb-ink);
	color: #fff;
}

.gb-button--dark:hover {
	background: #0f1118;
}

.gb-button--gold {
	background: var(--gb-gold);
	color: #17191f;
}

.gb-button--gold:hover {
	background: #ddbd69;
}

.gb-kicker,
.gb-eyebrow {
	color: var(--gb-gold-dark);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.11em;
	margin: 0 0 0.8rem;
	text-transform: uppercase;
}

.gb-section {
	padding: 92px 0;
}

.gb-section-heading {
	align-items: end;
	display: flex;
	justify-content: space-between;
	margin-bottom: 2.4rem;
}

.gb-section-heading h2 {
	color: var(--gb-ink);
	font-size: clamp(2rem, 4vw, 3.15rem);
	font-weight: 720;
	letter-spacing: -0.055em;
	line-height: 1.03;
	margin: 0;
}

.gb-section-heading > p {
	color: var(--gb-muted);
	line-height: 1.65;
	margin: 0 0 0.15rem;
	max-width: 460px;
}

.gb-text-link {
	color: var(--gb-red);
	font-weight: 750;
	text-decoration: none;
}

.gb-text-link:hover {
	text-decoration: underline;
}

/* Hero */
.gb-hero {
	background:
		radial-gradient(circle at 72% 28%, rgba(95, 187, 185, 0.22), transparent 28%),
		linear-gradient(135deg, #fbf8f0 0%, #fff 58%, #f3f8f7 100%);
	border-bottom: 1px solid rgba(36, 39, 50, 0.08);
	min-height: 630px;
	position: relative;
}

.gb-hero::before {
	background-image:
		linear-gradient(rgba(36, 39, 50, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(36, 39, 50, 0.035) 1px, transparent 1px);
	background-size: 38px 38px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(to right, #000, transparent 78%);
	pointer-events: none;
	position: absolute;
}

.gb-hero__grid {
	align-items: center;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
	min-height: 630px;
	position: relative;
	z-index: 1;
}

.gb-hero__content {
	padding: 5rem 0;
}

.gb-eyebrow {
	align-items: center;
	display: flex;
}

.gb-eyebrow span {
	background: var(--gb-gold);
	border-radius: 999px;
	height: 8px;
	margin-right: 0.65rem;
	width: 8px;
}

.gb-hero h1 {
	color: var(--gb-ink);
	font-size: clamp(3rem, 5vw, 5.2rem);
	font-weight: 760;
	letter-spacing: -0.068em;
	line-height: 0.98;
	margin: 0;
	max-width: 760px;
}

.gb-hero h1 em {
	color: var(--gb-gold-dark);
	font-style: normal;
	font-weight: 500;
}

.gb-hero__lead {
	color: var(--gb-muted);
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.6;
	margin: 1.55rem 0 1.8rem;
	max-width: 650px;
}

.gb-search {
	align-items: center;
	background: #fff;
	border: 1px solid #cfd3d9;
	border-radius: 14px;
	box-shadow: 0 13px 36px rgba(36, 39, 50, 0.11);
	display: flex;
	max-width: 670px;
	padding: 0.42rem;
	transition: border-color var(--gb-transition), box-shadow var(--gb-transition);
}

.gb-search:focus-within {
	border-color: var(--gb-teal-dark);
	box-shadow: 0 0 0 3px rgba(95, 187, 185, 0.25), 0 13px 36px rgba(36, 39, 50, 0.11);
}

.gb-search > svg {
	flex: 0 0 22px;
	height: 22px;
	margin-left: 0.75rem;
	stroke: #717784;
	stroke-linecap: round;
	stroke-width: 1.8;
	width: 22px;
}

.gb-search input {
	background: transparent;
	border: 0;
	color: var(--gb-ink);
	flex: 1 1 auto;
	font-size: 1rem;
	min-height: 47px;
	min-width: 0;
	outline: 0;
	padding: 0 0.8rem;
}

.gb-search input::placeholder {
	color: #777e89;
	opacity: 1;
}

.gb-search button {
	background: var(--gb-ink);
	border: 0;
	border-radius: 10px;
	color: #fff;
	font-weight: 750;
	min-height: 46px;
	padding: 0 1.25rem;
}

.gb-search button:hover {
	background: #0f1118;
}

.gb-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 1.35rem;
}

.gb-trust-list {
	color: var(--gb-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.78rem;
	gap: 0.75rem 1.3rem;
	list-style: none;
	margin: 1.6rem 0 0;
	padding: 0;
}

.gb-trust-list li {
	align-items: center;
	display: flex;
	gap: 0.4rem;
}

.gb-trust-list span {
	align-items: center;
	background: rgba(0, 124, 56, 0.1);
	border-radius: 50%;
	color: var(--gb-green);
	display: inline-flex;
	font-size: 0.65rem;
	font-weight: 900;
	height: 19px;
	justify-content: center;
	width: 19px;
}

.gb-hero-map {
	height: 570px;
	position: relative;
}

.gb-hero-map__glow {
	background: radial-gradient(circle, rgba(201, 167, 81, 0.26), transparent 67%);
	border-radius: 50%;
	height: 480px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -48%);
	width: 480px;
}

.gb-hero-map__art {
	height: 100%;
	margin: auto;
	max-width: 620px;
	position: relative;
	width: 100%;
}

.gb-map-marker circle:first-child {
	animation: gb-pulse 2.6s ease-out infinite;
	transform-origin: center;
}

.gb-map-marker--delay circle:first-child {
	animation-delay: 0.8s;
}

.gb-map-marker--later circle:first-child {
	animation-delay: 1.55s;
}

@keyframes gb-pulse {
	0% { opacity: 0.35; transform: scale(0.7); }
	65%, 100% { opacity: 0; transform: scale(1.75); }
}

.gb-map-card {
	align-items: center;
	backdrop-filter: blur(12px);
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 13px;
	box-shadow: var(--gb-shadow-soft);
	display: flex;
	gap: 0.7rem;
	padding: 0.72rem 0.9rem;
	position: absolute;
}

.gb-map-card--top {
	right: 0;
	top: 105px;
}

.gb-map-card--bottom {
	bottom: 72px;
	left: -8px;
}

.gb-map-card__icon {
	align-items: center;
	border-radius: 9px;
	color: #fff;
	display: inline-flex;
	font-size: 1.1rem;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.gb-map-card__icon--red {
	background: var(--gb-red);
}

.gb-map-card__icon--green {
	background: var(--gb-green);
}

.gb-map-card > span:last-child {
	display: grid;
}

.gb-map-card strong {
	color: var(--gb-ink);
	font-size: 0.82rem;
}

.gb-map-card small {
	color: var(--gb-muted);
	font-size: 0.67rem;
	margin-top: 0.2rem;
}

/* Resource types */
.gb-section--types {
	background: #fff;
}

.gb-type-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, 1fr);
}

.gb-type-card {
	align-items: center;
	background: var(--gb-bg);
	border: 1px solid transparent;
	border-radius: var(--gb-radius-sm);
	display: grid;
	gap: 1rem;
	grid-template-columns: 58px 1fr auto;
	min-height: 130px;
	padding: 1.25rem;
	text-decoration: none;
	transition: border-color var(--gb-transition), box-shadow var(--gb-transition), transform var(--gb-transition);
}

.gb-type-card:hover {
	border-color: #cdd1d7;
	box-shadow: var(--gb-shadow-soft);
	transform: translateY(-3px);
}

.gb-type-card__icon {
	align-items: center;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 5px 16px rgba(36, 39, 50, 0.08);
	display: flex;
	height: 58px;
	justify-content: center;
	width: 58px;
}

.gb-type-card__icon svg {
	fill: none;
	height: 29px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	width: 29px;
}

.gb-type-card--gold .gb-type-card__icon {
	color: var(--gb-gold-dark);
}

.gb-type-card--teal .gb-type-card__icon {
	color: var(--gb-teal-dark);
}

.gb-type-card--red .gb-type-card__icon {
	color: var(--gb-red);
}

.gb-type-card--green .gb-type-card__icon {
	color: var(--gb-green);
}

.gb-type-card--ink .gb-type-card__icon {
	color: var(--gb-ink);
}

.gb-type-card--yellow .gb-type-card__icon {
	color: #6b6200;
}

.gb-type-card > span:nth-child(2) {
	display: grid;
}

.gb-type-card strong {
	color: var(--gb-ink);
	font-family: Archivo, "Segoe UI", sans-serif;
	font-size: 1rem;
}

.gb-type-card small {
	color: var(--gb-muted);
	font-size: 0.78rem;
	line-height: 1.45;
	margin-top: 0.38rem;
}

.gb-card-arrow {
	color: var(--gb-red);
	font-size: 1.3rem;
	transition: transform var(--gb-transition);
}

.gb-type-card:hover .gb-card-arrow {
	transform: translateX(4px);
}

/* Featured resources */
.gb-section--resources {
	background: var(--gb-bg);
}

.gb-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-bottom: 1.7rem;
}

.gb-filter button {
	background: #fff;
	border: 1px solid #cfd3d9;
	border-radius: 999px;
	color: var(--gb-ink-soft);
	font-size: 0.82rem;
	font-weight: 700;
	min-height: 42px;
	padding: 0 1rem;
}

.gb-filter button:hover {
	border-color: var(--gb-ink);
}

.gb-filter button.is-active,
.gb-filter button[aria-pressed="true"] {
	background: var(--gb-ink);
	border-color: var(--gb-ink);
	color: #fff;
}

.gb-filter [data-gb-filter=documentos],
.gb-resource-card[data-type=documentos] {
	display: none;
}

.gb-resource-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, 1fr);
}

.gb-resource-card {
	background: #fff;
	border: 1px solid #e0e3e7;
	border-radius: var(--gb-radius);
	box-shadow: 0 3px 14px rgba(36, 39, 50, 0.04);
	min-width: 0;
	overflow: hidden;
	transition: box-shadow var(--gb-transition), transform var(--gb-transition);
}

.gb-resource-card:hover {
	box-shadow: var(--gb-shadow-soft);
	transform: translateY(-4px);
}

.gb-resource-card__visual {
	background: #e9eee9;
	display: block;
	height: 194px;
	overflow: hidden;
	position: relative;
}

.gb-resource-card__visual svg {
	height: 100%;
	width: 100%;
}

.gb-resource-card__badge {
	background: rgba(36, 39, 50, 0.9);
	border-radius: 999px;
	color: #fff;
	font-size: 0.68rem;
	font-weight: 800;
	left: 0.8rem;
	letter-spacing: 0.045em;
	padding: 0.35rem 0.65rem;
	position: absolute;
	text-transform: uppercase;
	top: 0.8rem;
	z-index: 2;
}

.gb-resource-card__visual .land {
	fill: #d9d1ad;
	stroke: #fff;
	stroke-width: 3px;
}

.gb-resource-card__visual .contours {
	fill: none;
	stroke: rgba(255, 255, 255, 0.7);
	stroke-width: 2px;
}

.gb-resource-card__visual--roads {
	background: #d9e4e4;
}

.gb-resource-card__visual--roads .roads {
	fill: none;
	stroke: var(--gb-red);
	stroke-linecap: round;
	stroke-width: 4px;
}

.gb-resource-card__visual--protected {
	background: #dce7d7;
}

.gb-resource-card__visual--protected .region {
	stroke: rgba(255, 255, 255, 0.75);
	stroke-width: 2px;
}

.gb-resource-card__visual--protected .one {
	fill: #488c5a;
}

.gb-resource-card__visual--protected .two {
	fill: #6cab69;
}

.gb-resource-card__visual--protected .three {
	fill: #337453;
}

.gb-resource-card__visual--boundaries {
	background: #e8e2d4;
}

.gb-resource-card__visual--boundaries .boundaries {
	fill: none;
	stroke: var(--gb-ink);
	stroke-dasharray: 4 3;
	stroke-width: 2px;
}

.gb-resource-card__visual--boundaries .dots {
	fill: var(--gb-red);
	stroke: #fff;
	stroke-width: 2px;
}

.gb-resource-card__visual--land {
	background: #e0e5d2;
}

.gb-resource-card__visual--land .plot {
	stroke: #fff;
	stroke-width: 2px;
}

.gb-resource-card__visual--land .p1 {
	fill: #ac9d4f;
}

.gb-resource-card__visual--land .p2 {
	fill: #6b914d;
}

.gb-resource-card__visual--land .p3 {
	fill: #c6b46b;
}

.gb-resource-card__visual--land .p4 {
	fill: #4f7d49;
}

.gb-resource-card__visual--municipal {
	background: #e2e0ec;
}

.gb-resource-card__visual--municipal .municipal {
	fill: none;
	stroke: #fff;
	stroke-width: 2px;
}

.gb-resource-card__visual--municipal .bubbles {
	fill: rgba(185, 24, 23, 0.65);
	stroke: #fff;
	stroke-width: 2px;
}

.gb-resource-card__visual--water {
	background: #d5e7e9;
}

.gb-resource-card__visual--water .rivers {
	fill: none;
	stroke: #247c9a;
	stroke-linecap: round;
	stroke-width: 4px;
}

.gb-resource-card__body {
	padding: 1.3rem;
}

.gb-resource-card__owner {
	color: var(--gb-gold-dark);
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	margin: 0 0 0.55rem;
	text-transform: uppercase;
}

.gb-resource-card h3 {
	font-size: 1.16rem;
	letter-spacing: -0.025em;
	line-height: 1.25;
	margin: 0;
}

.gb-resource-card h3 a {
	text-decoration: none;
}

.gb-resource-card h3 a:hover {
	color: var(--gb-red);
}

.gb-resource-card__body > p:not(.gb-resource-card__owner) {
	color: var(--gb-muted);
	font-size: 0.83rem;
	line-height: 1.55;
	margin: 0.65rem 0 1.1rem;
}

.gb-resource-card__meta {
	border-top: 1px solid var(--gb-line);
	color: #68707d;
	display: flex;
	font-size: 0.7rem;
	gap: 1rem;
	padding-top: 0.8rem;
}

.gb-resource-card__meta span {
	align-items: center;
	display: flex;
	gap: 0.35rem;
}

.gb-resource-card__meta span::before {
	background: var(--gb-teal);
	border-radius: 50%;
	content: "";
	height: 6px;
	width: 6px;
}

/* GeoStories */
.gb-section--stories {
	background: var(--gb-ink);
	color: #fff;
	position: relative;
}

.gb-section--stories::before {
	background-image: radial-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px);
	background-size: 22px 22px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(135deg, #000, transparent 60%);
	pointer-events: none;
	position: absolute;
}

.gb-section--stories .gb-container {
	position: relative;
}

.gb-section-heading--light h2,
.gb-section-heading--light > p {
	color: #fff;
}

.gb-section-heading--light > p {
	color: rgba(255, 255, 255, 0.7);
}

.gb-section--stories .gb-kicker {
	color: #e3c97f;
}

.gb-story-grid {
	display: grid;
	gap: 1.4rem;
	grid-template-columns: 1.35fr 0.65fr;
}

.gb-story-card {
	background: #fff;
	border-radius: var(--gb-radius);
	color: var(--gb-ink);
	overflow: hidden;
}

.gb-story-card--featured {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	min-height: 370px;
}

.gb-story-card__visual {
	min-height: 270px;
	overflow: hidden;
}

.gb-story-card__visual img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.gb-story-card__visual--dashboard {
	border-radius: 10px;
	margin: 1.2rem 1.2rem 0;
	min-height: 188px;
}

.gb-story-card__body {
	align-items: start;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem;
}

.gb-story-card__label {
	background: var(--gb-gold-pale);
	border-radius: 999px;
	color: var(--gb-gold-dark);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	padding: 0.4rem 0.65rem;
	text-transform: uppercase;
}

.gb-story-card h3 {
	font-size: clamp(1.45rem, 2vw, 2.2rem);
	letter-spacing: -0.04em;
	line-height: 1.1;
	margin: 1rem 0 0;
}

.gb-story-card p {
	color: var(--gb-muted);
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 1rem 0 1.3rem;
}

.gb-story-card a {
	color: var(--gb-red);
	font-weight: 750;
	text-decoration: none;
}

.gb-story-card a:hover {
	text-decoration: underline;
}

.gb-story-card--dashboard {
	display: grid;
	grid-template-rows: 0.8fr auto;
}

.gb-story-card--dashboard .gb-story-card__body {
	display: block;
	padding-top: 1.5rem;
}

.gb-story-card--dashboard h3 {
	font-size: 1.55rem;
}

.gb-dashboard-preview {
	background: linear-gradient(145deg, #e7f2f1, #d9d6c7);
	margin: 1.2rem 1.2rem 0;
	min-height: 188px;
	padding: 1rem;
}

.gb-dashboard-preview__top {
	display: flex;
	gap: 0.3rem;
}

.gb-dashboard-preview__top span {
	background: var(--gb-red);
	border-radius: 50%;
	height: 7px;
	opacity: 0.7;
	width: 7px;
}

.gb-dashboard-preview__stats {
	display: grid;
	gap: 0.45rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 0.9rem;
}

.gb-dashboard-preview__stats i {
	background: rgba(255, 255, 255, 0.72);
	border-radius: 4px;
	height: 32px;
}

.gb-dashboard-preview__chart {
	align-items: end;
	background: rgba(255, 255, 255, 0.6);
	border-radius: 5px;
	display: flex;
	gap: 0.35rem;
	height: 86px;
	margin-top: 0.55rem;
	padding: 0.55rem;
}

.gb-dashboard-preview__chart span {
	background: var(--gb-teal-dark);
	border-radius: 3px 3px 0 0;
	flex: 1;
	height: var(--height);
	opacity: 0.83;
}

/* Open data CTA */
.gb-open-data {
	background: var(--gb-gold);
	padding: 64px 0;
}

.gb-open-data__inner {
	align-items: center;
	display: grid;
	gap: 1.6rem;
	grid-template-columns: 84px minmax(0, 1fr) auto;
}

.gb-open-data__mark {
	color: var(--gb-ink);
	width: 72px;
}

.gb-open-data__mark svg {
	display: block;
	width: 100%;
}

.gb-open-data__mark .gb-compass-ring {
	fill: none;
	stroke: var(--gb-green);
	stroke-dasharray: 20 6;
	stroke-linecap: square;
	stroke-width: 7;
}

.gb-open-data__mark .gb-compass-needle {
	fill: var(--gb-ink);
	stroke: none;
}

.gb-open-data .gb-kicker {
	color: #5d4d1d;
}

.gb-open-data h2 {
	color: var(--gb-ink);
	font-size: clamp(1.65rem, 3vw, 2.5rem);
	letter-spacing: -0.04em;
	line-height: 1.13;
	margin: 0;
}

.gb-open-data p:not(.gb-kicker) {
	color: #494532;
	line-height: 1.55;
	margin: 0.65rem 0 0;
	max-width: 760px;
}

/* Footer */
.gb-footer {
	background: #171920;
	color: rgba(255, 255, 255, 0.72);
}

.gb-footer__accent {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	height: 5px;
}

.gb-footer__grid {
	display: grid;
	gap: 3rem;
	grid-template-columns: 1.6fr 0.7fr 0.8fr 1.1fr;
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.gb-footer h2 {
	color: #fff;
	font-size: 0.9rem;
	letter-spacing: 0.015em;
	margin: 0 0 1.1rem;
}

.gb-footer__lockup {
	align-items: flex-start;
	display: flex;
	gap: 0.85rem;
}

.gb-footer .gb-brand__mark {
	color: #e2c778;
	flex-basis: 48px;
	width: 48px;
}

.gb-footer__lockup h2 {
	font-size: 1.5rem;
	letter-spacing: -0.04em;
	margin-bottom: 0.35rem;
}

.gb-footer__lockup p {
	font-size: 0.8rem;
	line-height: 1.55;
	margin: 0;
	max-width: 290px;
}

.gb-footer__institution {
	border-left: 3px solid var(--gb-gold);
	font-size: 0.75rem;
	line-height: 1.5;
	margin: 1.6rem 0 0;
	max-width: 320px;
	padding-left: 0.8rem;
}

.gb-footer ul {
	display: grid;
	gap: 0.7rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gb-footer a {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.8rem;
	text-decoration: none;
}

.gb-footer a:hover {
	color: #fff;
	text-decoration: underline;
}

.gb-footer__cta {
	background: rgba(255, 255, 255, 0.055);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--gb-radius-sm);
	padding: 1.35rem;
}

.gb-footer__cta p {
	font-size: 0.78rem;
	line-height: 1.55;
}

.gb-footer__cta .gb-button {
	color: #17191f;
	font-size: 0.78rem;
	margin-top: 0.5rem;
	min-height: 42px;
	text-decoration: none;
}

.gb-footer__bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	font-size: 0.7rem;
	justify-content: space-between;
	min-height: 72px;
}

.gb-footer__bottom div {
	display: flex;
	gap: 1.2rem;
}

/* WordPress content templates */
.gb-content-main {
	min-height: 52vh;
	padding-bottom: clamp(4rem, 8vw, 7rem);
	padding-top: clamp(3rem, 7vw, 6rem);
}

.gb-page-title {
	color: var(--gb-ink);
	font-size: clamp(2.5rem, 5vw, 4.8rem);
	font-weight: 740;
	letter-spacing: -0.06em;
	line-height: 1;
	margin-bottom: 2.5rem;
}

.gb-content-main :where(p, li) {
	line-height: 1.72;
}

.gb-content-main > :where(p, ul, ol, blockquote) {
	color: var(--gb-muted);
}

.gb-content-main .wp-block-post-featured-image {
	border-radius: var(--gb-radius);
	overflow: hidden;
}

.gb-post-grid {
	gap: 1.3rem;
}

.gb-post-card {
	background: #fff;
	border: 1px solid var(--gb-line);
	border-radius: var(--gb-radius-sm);
	overflow: hidden;
	padding: 1.15rem;
}

.gb-post-card .wp-block-post-featured-image {
	border-radius: 8px;
	margin: -1.15rem -1.15rem 1.1rem;
}

.gb-post-card .wp-block-post-date {
	color: var(--gb-gold-dark);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
}

.gb-post-card .wp-block-post-title {
	line-height: 1.2;
	margin: 0.55rem 0;
}

.gb-post-card .wp-block-post-title a {
	text-decoration: none;
}

.gb-post-card .wp-block-post-excerpt {
	color: var(--gb-muted);
	font-size: 0.86rem;
}

.wp-block-query-pagination {
	margin-top: 2.5rem;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	align-items: center;
	border: 1px solid var(--gb-line);
	border-radius: 999px;
	display: inline-flex;
	min-height: 42px;
	padding: 0 0.85rem;
	text-decoration: none;
}

.wp-block-query-pagination .current {
	background: var(--gb-ink);
	color: #fff;
}

.gb-post-terms a {
	color: var(--gb-red);
	font-size: 0.78rem;
	font-weight: 750;
}

.gb-post-byline {
	color: var(--gb-muted);
	font-size: 0.85rem;
	margin-bottom: 2rem;
}

.gb-search-results-form {
	margin-bottom: 2.4rem;
}

.gb-search-results-form .wp-block-search__inside-wrapper {
	border-color: var(--gb-line);
	border-radius: 12px;
	padding: 0.4rem;
}

.gb-search-results-form .wp-block-search__button {
	background: var(--gb-ink);
	border-radius: 8px;
	color: #fff;
}

.gb-site-search-results {
	margin-top: -0.75rem;
}

.gb-site-search-results .gb-module-hero,
.gb-site-search-results + .wp-block-query {
	display: none;
}

.gb-site-search-results .gb-catalog {
	padding-left: 0;
	padding-right: 0;
}

.gb-search-list {
	display: grid;
	gap: 1rem;
}

.gb-search-result {
	border-bottom: 1px solid var(--gb-line);
	padding: 1.25rem 0;
}

.gb-search-result .wp-block-post-title {
	margin: 0.4rem 0;
}

.gb-search-result .wp-block-post-title a {
	text-decoration: none;
}

.gb-search-result .wp-block-post-excerpt {
	color: var(--gb-muted);
}

.gb-empty-state {
	background: var(--gb-bg);
	border-radius: var(--gb-radius);
	padding: 2rem;
	text-align: center;
}

.gb-error-page {
	align-items: center;
	background:
		radial-gradient(circle at 50% 45%, rgba(95, 187, 185, 0.18), transparent 31%),
		var(--gb-cream);
	display: flex;
	min-height: 67vh;
	padding: 4rem 0;
	text-align: center;
}

.gb-error-page__inner {
	max-width: 720px;
}

.gb-error-page__code {
	color: var(--gb-gold);
	font-family: Archivo, sans-serif;
	font-size: clamp(5rem, 12vw, 9rem);
	font-weight: 800;
	letter-spacing: -0.08em;
	line-height: 0.8;
	margin: 0 0 2rem;
}

.gb-error-page h1 {
	font-size: clamp(2rem, 5vw, 3.6rem);
	letter-spacing: -0.055em;
	margin: 0;
}

.gb-error-page > div > p:not(.gb-error-page__code, .gb-kicker) {
	color: var(--gb-muted);
}

.gb-error-page .gb-search {
	margin: 2rem auto 1.2rem;
	text-align: left;
}

/* Dark appearance */
html[data-gb-theme="dark"] {
	--gb-paper: #171920;
	--gb-bg: #20232c;
	--gb-text: #f6f3ea;
	--gb-muted: #b8bdc7;
	--gb-line: #3b3f49;
	--gb-cream: #1d2028;
	color-scheme: dark;
}

html[data-gb-theme="dark"] .gb-header {
	background: rgba(23, 25, 32, 0.97);
}

html[data-gb-theme="dark"] .gb-brand,
html[data-gb-theme="dark"] .gb-icon-button,
html[data-gb-theme="dark"] .gb-menu-button,
html[data-gb-theme="dark"] .gb-nav a,
html[data-gb-theme="dark"] .gb-section-heading h2,
html[data-gb-theme="dark"] .gb-hero h1,
html[data-gb-theme="dark"] .gb-type-card strong,
html[data-gb-theme="dark"] .gb-resource-card h3,
html[data-gb-theme="dark"] .gb-page-title {
	color: var(--gb-text);
}

html[data-gb-theme="dark"] .gb-hero {
	background:
		radial-gradient(circle at 72% 28%, rgba(95, 187, 185, 0.16), transparent 28%),
		linear-gradient(135deg, #1d2028, #171920 58%, #172523);
}

html[data-gb-theme="dark"] .gb-hero::before {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
}

html[data-gb-theme="dark"] .gb-hero h1 em,
html[data-gb-theme="dark"] .gb-kicker,
html[data-gb-theme="dark"] .gb-eyebrow,
html[data-gb-theme="dark"] .gb-resource-card__owner {
	color: #dfc47a;
}

html[data-gb-theme="dark"] .gb-search,
html[data-gb-theme="dark"] .gb-map-card,
html[data-gb-theme="dark"] .gb-type-card__icon,
html[data-gb-theme="dark"] .gb-resource-card,
html[data-gb-theme="dark"] .gb-filter button,
html[data-gb-theme="dark"] .gb-post-card {
	background: #252832;
}

html[data-gb-theme="dark"] .gb-search input {
	color: #fff;
}

html[data-gb-theme="dark"] .gb-map-card strong {
	color: #fff;
}

html[data-gb-theme="dark"] .gb-section--types {
	background: var(--gb-paper);
}

html[data-gb-theme="dark"] .gb-type-card {
	background: #20232c;
}

html[data-gb-theme="dark"] .gb-type-card--ink .gb-type-card__icon {
	background: #2b2f39;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
	color: #f2f4f7;
}

html[data-gb-theme="dark"] .gb-filter button.is-active,
html[data-gb-theme="dark"] .gb-filter button[aria-pressed="true"] {
	background: #fff;
	border-color: #fff;
	color: #171920;
}

html[data-gb-theme="dark"] .gb-resource-card__meta {
	color: #afb5c0;
}

html[data-gb-theme="dark"] .gb-story-card {
	background: #252832;
	color: #fff;
}

html[data-gb-theme="dark"] .gb-story-card h3 {
	color: #fff;
}

/* Responsive layouts */
@media (max-width: 1100px) {
	.gb-nav__inner {
		gap: 1.1rem;
	}

	.gb-nav a {
		font-size: 0.78rem;
	}

	.gb-hero__grid {
		grid-template-columns: minmax(0, 1.05fr) minmax(370px, 0.95fr);
	}

	.gb-hero h1 {
		font-size: clamp(3rem, 6vw, 4.5rem);
	}

	.gb-type-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.gb-footer__grid {
		grid-template-columns: 1.4fr 0.7fr 0.8fr;
	}

	.gb-footer__cta {
		grid-column: 1 / -1;
	}
}

@media (max-width: 900px) {
	:root {
		--gb-shell: min(100% - 36px, 760px);
	}

	.gb-state-bar__ministry {
		display: none;
	}

	.gb-menu-button {
		display: inline-flex;
	}

	.gb-nav {
		background: var(--gb-paper);
		box-shadow: var(--gb-shadow-soft);
		display: none;
		left: 0;
		position: absolute;
		right: 0;
		top: 100%;
	}

	.gb-nav.is-open {
		display: block;
	}

	.gb-nav__inner {
		align-items: stretch;
		display: grid;
		gap: 0;
		padding-bottom: 1rem;
		padding-top: 0.5rem;
	}

	.gb-nav a {
		border-bottom: 1px solid var(--gb-line);
		font-size: 0.92rem;
		padding: 0 0.4rem;
	}

	.gb-nav a::after {
		display: none;
	}

	.gb-nav__visor {
		border: 0;
		justify-content: center;
		margin: 0.9rem 0 0;
	}

	.gb-hero__grid {
		grid-template-columns: 1fr;
	}

	.gb-hero__content {
		padding: 4.5rem 0 1rem;
	}

	.gb-hero-map {
		height: 500px;
		margin: -1.5rem auto 0;
		max-width: 620px;
		width: 100%;
	}

	.gb-section-heading {
		align-items: start;
		display: grid;
		gap: 1rem;
	}

	.gb-resource-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.gb-story-grid {
		grid-template-columns: 1fr;
	}

	.gb-story-card--dashboard {
		grid-template-columns: 0.8fr 1fr;
		grid-template-rows: 1fr;
	}

	.gb-open-data__inner {
		grid-template-columns: 72px 1fr;
	}

	.gb-open-data__inner .gb-button {
		grid-column: 2;
		justify-self: start;
	}
}

@media (max-width: 680px) {
	:root {
		--gb-shell: calc(100% - 28px);
	}

	.gb-state-bar {
		font-size: 0.66rem;
	}

	.gb-header__main {
		min-height: 72px;
	}

	.gb-brand__mark {
		flex-basis: 40px;
		width: 40px;
	}

	.gb-brand__text strong {
		font-size: 1.25rem;
	}

	.gb-brand__text small {
		display: none;
	}

	.gb-icon-button {
		display: none;
	}

	.gb-menu-button span {
		display: none;
	}

	.gb-menu-button {
		width: 44px;
	}

	.gb-hero__content {
		padding-top: 3.6rem;
	}

	.gb-hero h1 {
		font-size: clamp(2.75rem, 13vw, 4rem);
	}

	.gb-hero__lead {
		font-size: 1rem;
	}

	.gb-search {
		align-items: stretch;
		display: grid;
		grid-template-columns: 38px 1fr;
		padding: 0.4rem;
	}

	.gb-search > svg {
		align-self: center;
		margin-left: 0.55rem;
	}

	.gb-search button {
		grid-column: 1 / -1;
	}

	.gb-hero__actions {
		display: grid;
	}

	.gb-trust-list {
		display: grid;
		gap: 0.55rem;
	}

	.gb-hero-map {
		height: 425px;
		margin-top: -2rem;
	}

	.gb-hero-map__glow {
		height: 360px;
		width: 360px;
	}

	.gb-map-card {
		display: none;
	}

	.gb-section {
		padding: 68px 0;
	}

	.gb-section-heading h2 {
		font-size: 2.35rem;
	}

	.gb-type-grid,
	.gb-resource-grid {
		grid-template-columns: 1fr;
	}

	.gb-type-card {
		min-height: 112px;
	}

	.gb-section-heading--stack-mobile {
		display: flex;
	}

	.gb-filter {
		flex-wrap: nowrap;
		margin-right: -14px;
		overflow-x: auto;
		padding-bottom: 0.45rem;
	}

	.gb-filter button {
		flex: 0 0 auto;
	}

	.gb-story-card--featured,
	.gb-story-card--dashboard {
		display: block;
	}

	.gb-story-card__visual {
		min-height: 220px;
	}

	.gb-dashboard-preview {
		min-height: 205px;
	}

	.gb-open-data__inner {
		display: grid;
		grid-template-columns: 1fr;
		text-align: center;
	}

	.gb-open-data__mark {
		margin: auto;
	}

	.gb-open-data__inner .gb-button {
		grid-column: auto;
		justify-self: stretch;
	}

	.gb-footer__grid {
		gap: 2.3rem;
		grid-template-columns: 1fr 1fr;
	}

	.gb-footer__brand,
	.gb-footer__cta {
		grid-column: 1 / -1;
	}

	.gb-footer__bottom {
		align-items: flex-start;
		display: grid;
		gap: 0.8rem;
		padding-bottom: 1.2rem;
		padding-top: 1.2rem;
	}

	.gb-footer__bottom p {
		margin: 0;
	}

	.gb-footer__bottom div {
		flex-wrap: wrap;
		gap: 0.6rem 1rem;
	}

	.gb-post-grid {
		grid-template-columns: 1fr !important;
	}

	.gb-error-page .gb-search {
		text-align: inherit;
	}
}

@media (max-width: 410px) {
	.gb-state-bar__inner span:nth-child(2) {
		max-width: 245px;
	}

	.gb-type-card {
		gap: 0.8rem;
		grid-template-columns: 50px 1fr auto;
		padding: 1rem;
	}

	.gb-type-card__icon {
		height: 50px;
		width: 50px;
	}

	.gb-footer__grid {
		grid-template-columns: 1fr;
	}

	.gb-footer__brand,
	.gb-footer__cta {
		grid-column: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* GeoBolivia dark contrast refinements 2026-07-22 */
html[data-gb-theme="dark"] .gb-search input::placeholder {
  color: #b8bdc7;
}
html[data-gb-theme="dark"] .gb-button--secondary {
  color: #f6f3ea;
  border-color: #aeb3bc;
}
html[data-gb-theme="dark"] .gb-button--secondary:hover,
html[data-gb-theme="dark"] .gb-button--secondary:focus-visible {
  color: #ffffff;
  border-color: #ffffff;
  background: #2b2f39;
}
html[data-gb-theme="dark"] .gb-filter button:not(.is-active) {
  color: #e2e6ed;
  border-color: #858c99;
}
html[data-gb-theme="dark"] .gb-filter button:not(.is-active):hover,
html[data-gb-theme="dark"] .gb-filter button:not(.is-active):focus-visible {
  color: #ffffff;
  border-color: #ffffff;
}
html[data-gb-theme="dark"] .gb-open-data .gb-kicker {
  color: #49390b;
}
html[data-gb-theme="dark"] .gb-catalog__filters {
  color: #242732;
}
html[data-gb-theme="dark"] .gb-catalog__filters input[type="search"],
html[data-gb-theme="dark"] .gb-catalog__filters select,
html[data-gb-theme="dark"] .gb-results-bar select {
  color: #242732;
  background-color: #ffffff;
  color-scheme: light;
}
html[data-gb-theme="dark"] .gb-catalog__filters input[type="search"]::placeholder {
  color: #6b7280;
}

/* Official GeoBolivia identity and MPDyMA footer */
.gb-brand__official-logo {
	aspect-ratio: 1531 / 499;
	background-color: #fff;
	background-image: url("../images/geobolivia-logo-oficial.jpeg");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 100% auto;
	border-radius: 5px;
	display: block;
	flex: 0 0 auto;
	overflow: hidden;
	width: clamp(210px, 23vw, 285px);
}

.gb-brand:focus-visible .gb-brand__official-logo {
	outline: 3px solid var(--gb-gold);
	outline-offset: 4px;
}

html[data-gb-theme="dark"] .gb-brand__official-logo {
	background-color: transparent;
	background-image: url("../images/geobolivia-logo-oficial-dark.png");
	border-radius: 0;
}

.mpdyma-footer {
	background: #050505;
	border-top: 1px solid #292929;
	color: #b8b8b8;
}

.mpdyma-footer__accent {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	height: 5px;
}

.mpdyma-footer__accent i:nth-child(1) { background: var(--gb-flag-red); }
.mpdyma-footer__accent i:nth-child(2) { background: var(--gb-yellow); }
.mpdyma-footer__accent i:nth-child(3) { background: var(--gb-green); }

.mpdyma-footer__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 4.5rem);
	grid-template-columns: 1.15fr 1.7fr .7fr .8fr;
	padding-bottom: 3rem;
	padding-top: 3.5rem;
}

.mpdyma-footer h2 {
	color: #fff;
	font-family: Archivo, "Segoe UI", Arial, sans-serif;
	font-size: .95rem;
	font-weight: 800;
	letter-spacing: .01em;
	line-height: 1.35;
	margin: 0 0 1.15rem;
}

.mpdyma-footer__brand h2 {
	font-size: 1rem;
	margin: 1.15rem 0 .45rem;
	max-width: 310px;
	text-transform: uppercase;
}

.mpdyma-footer__brand p,
.mpdyma-footer__social p {
	font-size: .78rem;
	line-height: 1.55;
	margin: 0;
}

.mpdyma-footer__ministry-link {
	background: transparent;
	border-radius: 0;
	display: block;
	height: 218px;
	overflow: hidden;
	width: min(100%, 510px);
}

.mpdyma-footer__ministry-logo {
	background: url("../images/footer/mpdyma-logo-completo-transparent.png") center / auto 203px no-repeat;
	display: block;
	height: 100%;
	width: 100%;
}

.mpdyma-footer__ministry-logo {
	background-image: url(../images/footer/mpdyma-logo-completo-transparent.png?v=20260731b);
}

.mpdyma-footer ul {
	display: grid;
	gap: .8rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mpdyma-footer address {
	font-style: normal;
}

.mpdyma-footer__contact li {
	align-items: flex-start;
	display: grid;
	font-size: .8rem;
	gap: .75rem;
	grid-template-columns: 20px minmax(0, 1fr);
	line-height: 1.55;
}

.mpdyma-footer__contact svg {
	fill: none;
	height: 19px;
	margin-top: 2px;
	stroke: #c9a751;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	width: 19px;
}

.mpdyma-footer a {
	color: #dedede;
	text-decoration: none;
}

.mpdyma-footer a:hover,
.mpdyma-footer a:focus-visible {
	color: #fff;
	text-decoration: underline;
}

.mpdyma-footer__links a {
	font-size: .82rem;
}

.mpdyma-footer__social > div {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1rem;
}

.mpdyma-footer__social a {
	align-items: center;
	background: #1e1e1e;
	border: 1px solid #383838;
	border-radius: 50%;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	transition: background-color .2s, border-color .2s, color .2s;
	width: 42px;
}

.mpdyma-footer__social a:hover,
.mpdyma-footer__social a:focus-visible {
	background: #b8952c;
	border-color: #b8952c;
	color: #050505;
	text-decoration: none;
}

.mpdyma-footer__social svg {
	fill: currentColor;
	height: 21px;
	width: 21px;
}

.mpdyma-footer__bottom {
	border-top: 1px solid #242424;
	color: #777;
	font-size: .75rem;
	letter-spacing: .015em;
}

.mpdyma-footer__bottom .gb-shell {
	align-items: center;
	display: flex;
	min-height: 68px;
}

.mpdyma-footer__bottom p {
	margin: 0;
}

@media (max-width: 1100px) {
	.mpdyma-footer__grid {
		grid-template-columns: 1fr 1.45fr;
	}
}

@media (max-width: 680px) {
	.gb-brand__official-logo {
		width: 185px;
	}

	.mpdyma-footer__grid {
		gap: 2.25rem;
		grid-template-columns: 1fr;
		padding-bottom: 2.5rem;
		padding-top: 2.75rem;
	}

	.mpdyma-footer__brand h2 {
		max-width: 360px;
	}

	.mpdyma-footer__bottom .gb-shell {
		min-height: 76px;
		padding-bottom: .75rem;
		padding-top: .75rem;
	}
}

@media (max-width: 380px) {
	.gb-brand__official-logo {
		width: 155px;
	}
}

/* Legacy GeoStories and dashboards */
.gb-content-main:has(.gb-legacy-library) {
	max-width: 100%;
	padding: 0;
}

.gb-content-main:has(.gb-legacy-library) > .gb-page-title {
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.gb-content-main:has(.gb-legacy-library) .wp-block-post-content {
	box-sizing: border-box;
	max-width: none !important;
	width: 100%;
}

.gb-module-hero--legacy {
	background: linear-gradient(125deg, #24262a, #3b3e43);
}

.gb-legacy-library {
	box-sizing: border-box;
	padding-bottom: clamp(4rem, 7vw, 7rem);
	padding-top: clamp(3rem, 6vw, 5.5rem);
}

.gb-legacy-library__heading {
	align-items: end;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.gb-legacy-library__heading h2 {
	font-size: clamp(2rem, 4vw, 3.25rem);
	margin: .35rem 0 0;
}

.gb-legacy-library__heading > p {
	color: var(--gb-ink-soft);
	font-weight: 800;
	margin: 0 0 .45rem;
	white-space: nowrap;
}

.gb-legacy-note {
	background: #f4f0e4;
	border-left: 5px solid var(--gb-gold);
	border-radius: 0 12px 12px 0;
	color: var(--gb-ink-soft);
	display: grid;
	gap: .35rem;
	margin-bottom: 2rem;
	padding: 1rem 1.2rem;
}

.gb-legacy-note strong {
	color: var(--gb-ink);
}

.gb-legacy-note p {
	font-size: .9rem;
	line-height: 1.55;
	margin: 0;
}

.gb-legacy-grid {
	display: grid;
	gap: 1.35rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gb-legacy-card {
	--legacy-accent: var(--gb-green);
	--legacy-accent-alt: var(--gb-gold);
	background: #fff;
	border: 1px solid #dfe2e5;
	border-radius: 18px;
	box-shadow: 0 12px 34px rgba(20, 28, 31, .08);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.gb-legacy-card--production { --legacy-accent: #9d7b1f; --legacy-accent-alt: #007934; }
.gb-legacy-card--social { --legacy-accent: #8f2731; --legacy-accent-alt: #c9a751; }
.gb-legacy-card--safety { --legacy-accent: #a92d2d; --legacy-accent-alt: #c9a751; }
.gb-legacy-card--health { --legacy-accent: #007934; --legacy-accent-alt: #629c86; }
.gb-legacy-card--energy { --legacy-accent: #a78019; --legacy-accent-alt: #3b3e43; }
.gb-legacy-card--tourism { --legacy-accent: #9d7b1f; --legacy-accent-alt: #23704a; }
.gb-legacy-card--water { --legacy-accent: #406f70; --legacy-accent-alt: #c9a751; }
.gb-legacy-card--forest { --legacy-accent: #15613a; --legacy-accent-alt: #b8952c; }

.gb-legacy-card__visual {
	background: linear-gradient(135deg, var(--legacy-accent), #24262a 75%);
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-direction: column;
	height: 176px;
	justify-content: flex-end;
	overflow: hidden;
	padding: 1.35rem;
	position: relative;
}

.gb-legacy-card__visual::before {
	border: 1px solid rgba(255, 255, 255, .34);
	border-radius: 50%;
	content: '';
	height: 116px;
	position: absolute;
	right: -28px;
	top: -30px;
	width: 116px;
}

.gb-legacy-card__visual span,
.gb-legacy-card__visual strong {
	position: relative;
	z-index: 2;
}

.gb-legacy-card__visual span {
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.gb-legacy-card__visual strong {
	font-size: 1.15rem;
	line-height: 1.25;
	margin-top: .4rem;
}

.gb-legacy-card__visual i {
	background: var(--legacy-accent-alt);
	border-radius: 5px 5px 0 0;
	bottom: 0;
	opacity: .8;
	position: absolute;
	width: 24px;
}

.gb-legacy-card__visual i:nth-of-type(1) { height: 42px; right: 118px; }
.gb-legacy-card__visual i:nth-of-type(2) { height: 68px; right: 86px; }
.gb-legacy-card__visual i:nth-of-type(3) { height: 52px; right: 54px; }
.gb-legacy-card__visual i:nth-of-type(4) { height: 88px; right: 22px; }

.gb-legacy-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.35rem;
}

.gb-legacy-card__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	justify-content: space-between;
}

.gb-legacy-card__meta > span:last-child {
	color: #737980;
	font-size: .72rem;
	font-weight: 700;
}

.gb-legacy-status {
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 900;
	letter-spacing: .035em;
	padding: .36rem .62rem;
	text-transform: uppercase;
}

.gb-legacy-status--complete {
	background: #e5f3e9;
	color: #176438;
}

.gb-legacy-status--partial {
	background: #f4ead0;
	color: #725719;
}

.gb-legacy-card h3 {
	font-size: 1.22rem;
	line-height: 1.25;
	margin: 1rem 0 .65rem;
}

.gb-legacy-card__body > p {
	color: var(--gb-ink-soft);
	font-size: .9rem;
	line-height: 1.58;
	margin: 0 0 1.2rem;
}

.gb-legacy-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin-top: auto;
}

.gb-legacy-action {
	align-items: center;
	border: 1px solid #c9cdd1;
	border-radius: 999px;
	color: var(--gb-ink);
	display: inline-flex;
	font-size: .78rem;
	font-weight: 900;
	justify-content: center;
	min-height: 40px;
	padding: 0 .9rem;
	text-decoration: none;
}

.gb-legacy-action:hover,
.gb-legacy-action:focus-visible {
	border-color: var(--gb-green);
	color: var(--gb-green);
	text-decoration: none;
}

.gb-legacy-action--primary {
	background: var(--gb-green);
	border-color: var(--gb-green);
	color: #fff;
}

.gb-legacy-action--primary:hover,
.gb-legacy-action--primary:focus-visible {
	background: #00652e;
	border-color: #00652e;
	color: #fff;
}

html[data-gb-theme=dark] .gb-legacy-card {
	background: #1d2025;
	border-color: #373b42;
}

html[data-gb-theme=dark] .gb-legacy-note {
	background: #29271f;
	color: #d2cdbf;
}

html[data-gb-theme=dark] .gb-legacy-note strong,
html[data-gb-theme=dark] .gb-legacy-card h3 {
	color: #fff;
}

html[data-gb-theme=dark] .gb-legacy-card__body > p,
html[data-gb-theme=dark] .gb-legacy-library__heading > p {
	color: #c2c7cd;
}

html[data-gb-theme=dark] .gb-legacy-action {
	border-color: #5c6169;
	color: #fff;
}

@media (max-width: 1100px) {
	.gb-legacy-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.gb-legacy-library__heading {
		align-items: flex-start;
		flex-direction: column;
		gap: .5rem;
	}

	.gb-legacy-grid {
		grid-template-columns: 1fr;
	}
}

/* Final contrast guard for the primary GeoVisor navigation action. */
.gb-nav a.gb-nav__visor,
.gb-nav a.gb-nav__visor:visited,
html[data-gb-theme="dark"] .gb-nav a.gb-nav__visor {
	background-color: #007c38 !important;
	border: 2px solid #007c38 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
}

.gb-nav a.gb-nav__visor:hover,
.gb-nav a.gb-nav__visor:focus-visible,
html[data-gb-theme="dark"] .gb-nav a.gb-nav__visor:hover,
html[data-gb-theme="dark"] .gb-nav a.gb-nav__visor:focus-visible {
	background-color: #075d30 !important;
	border-color: #075d30 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
}

/* Ilustración detallada del territorio; las tarjetas y marcadores siguen siendo elementos animados independientes. */
.gb-hero-map__white-art {
	filter: drop-shadow(0 18px 18px rgba(4, 18, 24, .34));
}