/* ==================================================
   BASE
================================================== */

* {
	box-sizing: border-box;
}

html,
body {
	overflow-x: hidden;
}

body {
	background: var(--puv-white);
}

.puv-shell {
	width: min(1240px, calc(100% - 48px));
	margin-inline: auto;
}

.puv-section {
	padding: clamp(80px, 10vw, 150px) 0;
}

.puv-kicker {
	margin-bottom: 20px;
	color: var(--puv-blue);
	font-family: var(--puv-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.puv-kicker-light {
	color: var(--puv-yellow);
}

.puv-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 28px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition:
		transform .25s ease,
		background .25s ease,
		color .25s ease;
}

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

.puv-button-primary {
	background: var(--puv-yellow);
	color: var(--puv-navy);
}

.puv-button-primary:hover {
	background: #ffd35c;
	color: var(--puv-navy);
}

.puv-button-ghost {
	border: 1px solid rgba(255,255,255,.5);
	color: #fff;
}

.puv-button-ghost:hover {
	border-color: #fff;
	color: #fff;
}

.puv-button-light {
	background: #fff;
	color: var(--puv-navy);
}

.puv-button-dark {
	background: var(--puv-navy);
	color: #fff;
}

.puv-text-link {
	display: inline-block;
	margin-top: 20px;
	font-weight: 700;
	text-decoration: none;
}


/* ==================================================
   HEADER
================================================== */

.puv-header {
	position: absolute;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	color: #fff;
}

.puv-header-line {
	height: 4px;
	background:
		linear-gradient(
			90deg,
			var(--puv-yellow) 0 33.33%,
			var(--puv-blue) 33.33% 66.66%,
			var(--puv-red) 66.66% 100%
		);
}

.puv-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(1400px, calc(100% - 48px));
	min-height: 100px;
	margin-inline: auto;
}

.puv-brand {
	display: flex;
	flex-direction: column;
	color: #fff;
	text-decoration: none;
	line-height: 1;
}

.puv-brand:hover {
	color: #fff;
}

.puv-brand-stars {
	margin-bottom: 5px;
	color: var(--puv-yellow);
	font-size: 8px;
	letter-spacing: 4px;
}

.puv-brand-name {
	font-family: var(--puv-font-display);
	font-size: 24px;
	font-weight: 700;
}

.puv-brand-country {
	margin-top: 5px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.puv-menu {
	display: flex;
	align-items: center;
	gap: 29px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.puv-menu > li {
	position: relative;
}

.puv-menu a {
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.puv-menu a:hover {
	color: var(--puv-yellow);
}

.puv-menu .sub-menu {
	position: absolute;
	top: 28px;
	left: -20px;
	min-width: 220px;
	margin: 0;
	padding: 15px 0;
	background: rgba(7,27,51,.98);
	border-top: 2px solid var(--puv-yellow);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: .2s ease;
}

.puv-menu li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.puv-menu .sub-menu a {
	display: block;
	padding: 10px 20px;
}

.puv-menu-toggle {
	display: none;
}


/* ==================================================
   HERO
================================================== */

.puv-hero {
	position: relative;
	display: flex;
	align-items: center;
	background: var(--puv-navy);
	overflow: hidden;
}

.puv-hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.puv-hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			90deg,
			rgba(3,17,34,.93) 0%,
			rgba(3,17,34,.69) 46%,
			rgba(3,17,34,.22) 100%
		),
		linear-gradient(
			0deg,
			rgba(3,17,34,.7),
			transparent 45%
		);
}

.puv-hero-content {
	position: relative;
	z-index: 2;
	padding-top: 110px;
	color: #fff;
}

.puv-hero h1 {
	max-width: 900px;
	margin-bottom: 30px;
	color: #fff;
	font-size: clamp(55px, 8.3vw, 126px);
	line-height: .86;
	letter-spacing: -.045em;
}

.puv-hero h1 span {
	color: var(--puv-yellow);
}

.puv-hero-lead {
	max-width: 650px;
	margin-bottom: 38px;
	color: rgba(255,255,255,.87);
	font-size: clamp(17px, 1.5vw, 21px);
}

.puv-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.puv-scroll-indicator {
	position: absolute;
	z-index: 2;
	right: 50%;
	bottom: 35px;
	width: 1px;
	height: 65px;
	background: rgba(255,255,255,.25);
}

.puv-scroll-indicator span {
	display: block;
	width: 1px;
	height: 25px;
	background: var(--puv-yellow);
	animation: puv-scroll 2s infinite;
}

@keyframes puv-scroll {
	0%   { transform: translateY(0); opacity: 1; }
	80%  { transform: translateY(40px); opacity: 0; }
	100% { transform: translateY(0); opacity: 0; }
}


/* ==================================================
   INTRO
================================================== */

.puv-intro {
	background: var(--puv-white);
}

.puv-intro-grid {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: clamp(60px, 10vw, 160px);
	align-items: end;
}

.puv-intro h2 {
	font-size: clamp(42px, 5vw, 76px);
}

.puv-intro-copy {
	padding-bottom: 10px;
}

.puv-intro-copy p {
	font-size: 19px;
}


/* ==================================================
   CARDS
================================================== */

.puv-pillars {
	background: #fff;
}

.puv-section-heading {
	max-width: 780px;
	margin-bottom: 70px;
}

.puv-section-heading h2 {
	margin-bottom: 20px;
}

.puv-card-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--puv-grey);
	border-left: 1px solid var(--puv-grey);
}

.puv-card {
	position: relative;
	min-height: 430px;
	padding: 48px 42px;
	border-right: 1px solid var(--puv-grey);
	border-bottom: 1px solid var(--puv-grey);
	color: var(--puv-text);
	text-decoration: none;
	transition: .3s ease;
}



.puv-card-number {
	display: block;
	margin-bottom: 100px;
	color: var(--puv-red);
	font-size: 12px;
	font-weight: 700;
}

.puv-card h3 {
	font-size: 31px;
}

.puv-card-arrow {
	position: absolute;
	right: 40px;
	bottom: 35px;
	font-size: 28px;
}


/* ==================================================
   MEDIA / CARACAS
================================================== */

.puv-media-section {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: min(850px, 90vh);
	overflow: hidden;
	background: var(--puv-navy);
}

.puv-section-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.puv-media-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			0deg,
			rgba(3,17,34,.94),
			rgba(3,17,34,.18) 75%
		);
}

.puv-media-content {
	position: relative;
	z-index: 2;
	padding-bottom: clamp(70px, 9vw, 130px);
	color: #fff;
}

.puv-media-content h2 {
	max-width: 950px;
	color: #fff;
	font-size: clamp(40px, 5vw, 74px);
}



/* ==================================================
   TERRITORY
================================================== */

.puv-territory {
	background: #f1f2f3;
}

.puv-territory-grid {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: clamp(50px, 9vw, 130px);
}

.puv-territory-copy h2 {
	font-size: clamp(42px, 5vw, 70px);
}

.puv-territory-copy p {
	max-width: 550px;
	font-size: 18px;
}

.puv-map-frame {
	box-shadow: 0 40px 80px rgba(7,27,51,.15);
}



.puv-map-frame img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}


/* ==================================================
   HISTORY
================================================== */

.puv-history {
	background: var(--puv-navy);
	color: rgba(255,255,255,.78);
}

.puv-history h2 {
	color: #fff;
	font-size: clamp(48px, 6vw, 82px);
}

.puv-timeline {
	grid-template-columns: repeat(3, 1fr);
	margin: 80px 0 55px;
	border-top: 1px solid rgba(255,255,255,.22);
}

.puv-timeline-item {
	padding: 45px 45px 40px 0;
}

.puv-timeline-item::before {
	position: absolute;
	left: 0;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--puv-yellow);
	content: "";
}

.puv-timeline-item span {
	display: block;
	margin-bottom: 30px;
	color: var(--puv-yellow);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}

.puv-timeline-item strong {
	display: block;
	margin-bottom: 12px;
	color: #fff;
	font-family: var(--puv-font-display);
	font-size: 30px;
}


/* ==================================================
   FINAL CTA
================================================== */

.puv-final-cta {
	padding: clamp(90px, 11vw, 160px) 0;
	background: var(--puv-yellow);
}

.puv-final-cta-inner {
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	gap: 100px;
	align-items: end;
}

.puv-final-cta .puv-kicker {
	color: var(--puv-red);
}

.puv-final-cta h2 {
	margin: 0;
	font-size: clamp(48px, 6vw, 82px);
}



/* ==================================================
   FOOTER
================================================== */

.puv-footer {
	padding: 85px 0 28px;
	background: #030d19;
	color: rgba(255,255,255,.65);
}

.puv-footer-grid {
	display: grid;
	grid-template-columns: 2fr repeat(3, 1fr);
	gap: 60px;
	padding-bottom: 70px;
}

.puv-footer-brand {
	color: #fff;
	font-family: var(--puv-font-display);
	font-size: 30px;
	font-weight: 700;
}

.puv-footer-brand span {
	display: block;
}

.puv-footer-stars {
	margin-top: 15px;
	color: var(--puv-yellow);
	letter-spacing: 5px;
}

.puv-footer-title {
	margin-bottom: 20px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.puv-footer-grid a {
	display: block;
	margin-bottom: 10px;
	color: rgba(255,255,255,.65);
	text-decoration: none;
}

.puv-footer-grid a:hover {
	color: var(--puv-yellow);
}

.puv-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	padding-top: 25px;
	border-top: 1px solid rgba(255,255,255,.1);
}


/* ==================================================
   RESPONSIVE
================================================== */

@media (max-width: 980px) {

	.puv-navigation {
		position: fixed;
		inset: 0;
		z-index: 150;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgba(3,13,25,.98);
		opacity: 0;
		visibility: hidden;
		transition: .25s ease;
	}

	.puv-navigation.is-open {
		opacity: 1;
		visibility: visible;
	}

	.puv-menu {
		display: block;
		width: min(500px, calc(100% - 50px));
	}

	.puv-menu > li {
		border-bottom: 1px solid rgba(255,255,255,.12);
	}

	.puv-menu a {
		display: block;
		padding: 15px 0;
		font-size: 20px;
	}

	.puv-menu .sub-menu {
		position: static;
		min-width: 0;
		padding: 0 0 10px 20px;
		background: transparent;
		border: 0;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.puv-menu .sub-menu a {
		padding: 8px 0;
		font-size: 15px;
	}

	.puv-menu-toggle {
		position: relative;
		z-index: 200;
		display: flex;
		flex-direction: column;
		gap: 5px;
		width: 40px;
		padding: 8px;
		border: 0;
		background: transparent;
	}

	.puv-menu-toggle span {
		display: block;
		width: 100%;
		height: 2px;
		background: #fff;
	}

	.puv-intro-grid,
	.puv-territory-grid,
	.puv-final-cta-inner {
		grid-template-columns: 1fr;
		gap: 45px;
	}

	.puv-card-grid {
		grid-template-columns: 1fr;
	}

	.puv-card {
		min-height: 300px;
	}

	.puv-card-number {
		margin-bottom: 55px;
	}

	.puv-timeline {
		grid-template-columns: 1fr;
		border-top: 0;
		border-left: 1px solid rgba(255,255,255,.2);
	}

	.puv-timeline-item {
		padding: 25px 30px 35px;
	}

	.puv-timeline-item::before {
		top: 31px;
		left: -6px;
	}

	.puv-footer-grid {
		grid-template-columns: 1fr 1fr;
	}

}


@media (max-width: 600px) {

	.puv-shell,
	.puv-header-inner {
		width: min(100% - 30px, 1240px);
	}

	.puv-header-inner {
		min-height: 82px;
	}

	.puv-brand-name {
		font-size: 20px;
	}

	.puv-brand-stars {
		font-size: 6px;
	}

	.puv-hero-content {
		padding-top: 90px;
	}

	.puv-hero h1 {
		font-size: clamp(51px, 16vw, 78px);
	}

	.puv-hero-lead {
		font-size: 16px;
	}

	.puv-hero-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.puv-button {
		width: 100%;
	}

	.puv-section {
		padding: 80px 0;
	}

	.puv-card {
		padding: 35px 28px;
	}

	.puv-media-section {
		min-height: 75svh;
	}

	.puv-footer-grid {
		grid-template-columns: 1fr;
	}

	.puv-footer-bottom {
		flex-direction: column;
	}

}


/* PUV FIX — menu toggle solo en dispositivos moviles */
@media (min-width: 981px) {
	.puv-menu-toggle {
		display: none !important;
	}
}

@media (max-width: 980px) {
	.puv-menu-toggle {
		display: flex !important;
	}
}

/* ==================================================
   PUV FIX — TOGGLE MOVIL VISUAL
   ================================================== */

@media (max-width: 980px) {
	.puv-menu-toggle {
		-webkit-appearance: none;
		appearance: none;
		display: inline-flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 5px;
		width: 46px;
		height: 46px;
		padding: 0;
		border: 1px solid rgba(255,255,255,.28);
		border-radius: 10px;
		background: rgba(7,27,51,.30);
		box-shadow: none;
		outline: none;
		cursor: pointer;
	}

	.puv-menu-toggle:hover,
	.puv-menu-toggle:active {
		background: rgba(7,27,51,.45);
		border-color: rgba(255,255,255,.55);
	}

	.puv-menu-toggle:focus,
	.puv-menu-toggle:focus-visible {
		outline: 2px solid rgba(242,196,76,.95);
		outline-offset: 2px;
		box-shadow: none;
	}

	.puv-menu-toggle span {
		display: block;
		width: 20px;
		height: 2px;
		margin: 0;
		border-radius: 999px;
		background: #fff;
		flex: 0 0 auto;
	}
}

/* ==================================================
   PUV — MENU MOVIL FROSTED / LIQUID GLASS
   ================================================== */

@media (max-width: 980px) {

	.puv-menu-toggle {
		position: relative;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 5px;

		width: 46px;
		height: 46px;
		padding: 0;

		background:
			linear-gradient(
				135deg,
				rgba(255,255,255,.14),
				rgba(7,27,51,.30)
			);

		-webkit-backdrop-filter: blur(14px) saturate(135%);
		backdrop-filter: blur(14px) saturate(135%);

		border: 1px solid var(--puv-red);
		border-radius: 11px;

		box-shadow:
			inset 0 1px 0 rgba(255,255,255,.18),
			inset 0 -1px 0 rgba(255,255,255,.04),
			0 8px 28px rgba(0,0,0,.16);

		outline: none;
		transition:
			background .25s ease,
			border-color .25s ease,
			box-shadow .25s ease,
			transform .2s ease;
	}

	.puv-menu-toggle span {
		display: block;
		width: 21px;
		height: 2px;
		margin: 0;

		background: #fff;
		border-radius: 999px;

		transform-origin: center;
		transition:
			transform .28s ease,
			opacity .2s ease,
			width .28s ease;
	}

	.puv-menu-toggle:hover {
		background:
			linear-gradient(
				135deg,
				rgba(255,255,255,.20),
				rgba(7,27,51,.38)
			);

		box-shadow:
			inset 0 1px 0 rgba(255,255,255,.24),
			0 10px 30px rgba(0,0,0,.20);
	}

	.puv-menu-toggle:active {
		transform: scale(.96);
	}

	.puv-menu-toggle[aria-expanded="true"] span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.puv-menu-toggle[aria-expanded="true"] span:nth-child(2) {
		opacity: 0;
		width: 0;
	}

	.puv-menu-toggle[aria-expanded="true"] span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.puv-menu-toggle:focus-visible {
		outline: 2px solid var(--puv-yellow);
		outline-offset: 3px;
	}
}


/* ==================================================
   PUV — PULIDO FINAL HEADER + HERO
   ================================================== */

/* ---------- HERO GENERAL ---------- */

.puv-hero {
	min-height: 100svh;
	isolation: isolate;
}

.puv-hero-video {
	object-position: center center;
}

/*
 * Oscurecimiento concentrado en la zona del texto.
 * Dejamos respirar el paisaje hacia la derecha.
 */
.puv-hero-overlay {
	background:
		linear-gradient(
			90deg,
			rgba(3,17,34,.94) 0%,
			rgba(3,17,34,.76) 36%,
			rgba(3,17,34,.42) 58%,
			rgba(3,17,34,.12) 100%
		),
		linear-gradient(
			0deg,
			rgba(3,17,34,.68) 0%,
			rgba(3,17,34,.18) 38%,
			transparent 65%
		);
}

.puv-hero-content {
	padding-top: 120px;
	padding-bottom: 80px;
}

.puv-hero .puv-kicker {
	margin-bottom: 22px;
}

.puv-hero h1 {
	max-width: 850px;
	margin-top: 0;
	margin-bottom: 28px;
	font-size: clamp(58px, 7.3vw, 112px);
	line-height: .90;
	letter-spacing: -.038em;
	text-wrap: balance;
}

.puv-hero-lead {
	max-width: 610px;
	margin-bottom: 36px;
	font-size: clamp(17px, 1.35vw, 20px);
	line-height: 1.6;
}

.puv-hero-actions {
	gap: 12px;
}

.puv-hero .puv-button {
	min-height: 54px;
	padding-inline: 30px;
}

.puv-hero .puv-button-ghost {
	background: rgba(7,27,51,.15);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

/* Indicador realmente centrado */
.puv-scroll-indicator {
	left: 50%;
	right: auto;
	bottom: 28px;
	transform: translateX(-50%);
}


/* ---------- HEADER ESCRITORIO ---------- */

@media (min-width: 981px) {

	.puv-header-inner {
		min-height: 96px;
	}

	.puv-brand-name {
		letter-spacing: -.015em;
	}

}


/* ---------- TABLET / MOVIL ---------- */

@media (max-width: 980px) {

	.puv-hero-overlay {
		background:
			linear-gradient(
				90deg,
				rgba(3,17,34,.91) 0%,
				rgba(3,17,34,.65) 58%,
				rgba(3,17,34,.28) 100%
			),
			linear-gradient(
				0deg,
				rgba(3,17,34,.72) 0%,
				rgba(3,17,34,.18) 55%,
				rgba(3,17,34,.25) 100%
			);
	}

	.puv-hero-content {
		padding-top: 110px;
		padding-bottom: 75px;
	}

	.puv-hero h1 {
		font-size: clamp(54px, 11vw, 86px);
		line-height: .91;
	}

}


/* ---------- MOVIL ---------- */

@media (max-width: 600px) {

	.puv-hero {
		min-height: 100svh;
	}

	.puv-hero-content {
		padding-top: 105px;
		padding-bottom: 72px;
	}

	.puv-hero .puv-kicker {
		margin-bottom: 18px;
		font-size: 11px;
		letter-spacing: .12em;
	}

	.puv-hero h1 {
		max-width: 100%;
		margin-bottom: 24px;
		font-size: clamp(47px, 14.2vw, 66px);
		line-height: .92;
		letter-spacing: -.035em;
	}

	.puv-hero-lead {
		max-width: 95%;
		margin-bottom: 28px;
		font-size: 16px;
		line-height: 1.55;
	}

	.puv-hero-actions {
		gap: 10px;
	}

	.puv-hero .puv-button {
		min-height: 52px;
	}

	.puv-scroll-indicator {
		display: none;
	}

}



/* ==================================================
   PUV — INTRO / VISION DE PAIS
   ================================================== */

.puv-intro {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#f8f9fb 100%
		);
}

/* Línea institucional tricolor */
.puv-intro::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background:
		linear-gradient(
			90deg,
			var(--puv-yellow) 0 33.33%,
			var(--puv-blue) 33.33% 66.66%,
			var(--puv-red) 66.66% 100%
		);
}

.puv-intro-grid {
	grid-template-columns:
		minmax(0, 1.12fr)
		minmax(320px, .88fr);
	gap: clamp(65px, 9vw, 145px);
	align-items: center;
}

.puv-intro .puv-kicker {
	margin-bottom: 20px;
}

.puv-intro h2 {
	max-width: 820px;
	margin: 0;
	color: var(--puv-navy);
	font-size: clamp(45px, 4.7vw, 72px);
	line-height: .98;
	letter-spacing: -.035em;
	text-wrap: balance;
}

.puv-intro-copy {
	position: relative;
	max-width: 610px;
	padding: 4px 0 4px 34px;
	border-left: 1px solid rgba(7,27,51,.15);
}

/* Acento rojo sobre el eje vertical */
.puv-intro-copy::before {
	content: "";
	position: absolute;
	top: 0;
	left: -2px;
	width: 3px;
	height: 72px;
	border-radius: 999px;
	background: var(--puv-red);
}

.puv-intro-copy p {
	max-width: 580px;
	margin: 0;
	color: var(--puv-text);
	font-size: clamp(17px, 1.35vw, 19px);
	line-height: 1.75;
}

.puv-intro .puv-text-link {
	position: relative;
	margin-top: 26px;
	padding-bottom: 5px;
	color: var(--puv-navy);
	font-weight: 700;
	text-decoration: none;
}

.puv-intro .puv-text-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 36px;
	height: 2px;
	background: var(--puv-yellow);
	transition: width .25s ease;
}

.puv-intro .puv-text-link:hover::after {
	width: 100%;
}


/* ---------- TABLET ---------- */

@media (max-width: 980px) {

	.puv-intro-grid {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 42px;
	}

	.puv-intro-copy {
		max-width: 700px;
		padding-left: 28px;
	}

}


/* ---------- MOVIL ---------- */

@media (max-width: 600px) {

	.puv-intro.puv-section {
		padding-top: 76px;
		padding-bottom: 78px;
	}

	.puv-intro-grid {
		gap: 34px;
	}

	.puv-intro .puv-kicker {
		margin-bottom: 16px;
	}

	.puv-intro h2 {
		font-size: clamp(39px, 11.5vw, 52px);
		line-height: 1;
	}

	.puv-intro h2 br {
		display: none;
	}

	.puv-intro-copy {
		padding-left: 22px;
	}

	.puv-intro-copy::before {
		height: 58px;
	}

	.puv-intro-copy p {
		font-size: 16px;
		line-height: 1.65;
	}

}


/* PUV — TRES PILARES */
.puv-pillars{
	background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);
}

.puv-section-heading h2{
	color:var(--puv-navy);
	font-size:clamp(44px,4.6vw,70px);
	line-height:.98;
	letter-spacing:-.035em;
}

.puv-card-grid{
	border:0;
	gap:1px;
	background:rgba(7,27,51,.12);
}

.puv-card{
	min-height:440px;
	padding:46px 40px;
	border:0;
	background:#fff;
	overflow:hidden;
	transition:transform .3s ease,background .3s ease,color .3s ease;
}

.puv-card::before{
	content:"";
	position:absolute;
	top:0;left:0;
	width:100%;
	height:4px;
	background:var(--puv-yellow);
}

.puv-card:nth-child(2)::before{background:var(--puv-blue);}
.puv-card:nth-child(3)::before{background:var(--puv-red);}

.puv-card-number{
	margin-bottom:92px;
	font-size:13px;
	letter-spacing:.18em;
}

.puv-card h3{
	max-width:280px;
	margin-bottom:20px;
	color:var(--puv-navy);
	font-size:clamp(28px,2.2vw,34px);
	line-height:1.05;
}

.puv-card p{
	max-width:320px;
	line-height:1.7;
}

.puv-card-arrow{
	transition:transform .3s ease;
}

.puv-card:hover{
	background:var(--puv-navy);
	color:#fff;
	transform:translateY(-6px);
}

.puv-card:hover h3{color:#fff;}
.puv-card:hover .puv-card-arrow{transform:translateX(7px);}

@media(max-width:980px){
	.puv-card-grid{gap:1px;}
	.puv-card{min-height:330px;}
	.puv-card-number{margin-bottom:55px;}
}

@media(max-width:600px){
	.puv-section-heading{margin-bottom:45px;}
	.puv-section-heading h2{font-size:clamp(38px,11vw,50px);}
	.puv-card{padding:34px 28px;min-height:300px;}
}

/* ==================================================
   PUV — BLOQUE AUDIOVISUAL CARACAS
   ================================================== */

.puv-media-section{
	min-height:min(860px,92svh);
	isolation:isolate;
}

.puv-section-video{
	object-position:center 48%;
	transform:scale(1.015);
}

.puv-media-overlay{
	background:
		linear-gradient(
			90deg,
			rgba(3,17,34,.70) 0%,
			rgba(3,17,34,.28) 52%,
			rgba(3,17,34,.08) 100%
		),
		linear-gradient(
			0deg,
			rgba(3,17,34,.96) 0%,
			rgba(3,17,34,.68) 28%,
			rgba(3,17,34,.15) 72%,
			rgba(3,17,34,.18) 100%
		);
}

.puv-media-content{
	max-width:1240px;
	padding-bottom:clamp(76px,8vw,120px);
}

.puv-media-content .puv-kicker{
	margin-bottom:20px;
}

.puv-media-content h2{
	max-width:980px;
	margin:0 0 34px;
	font-size:clamp(46px,5.3vw,78px);
	line-height:.98;
	letter-spacing:-.038em;
	text-wrap:balance;
	text-shadow:0 3px 24px rgba(0,0,0,.18);
}

.puv-media-content h2 span{
	display:block;
	margin-top:8px;
	color:var(--puv-yellow);
}

.puv-media-content .puv-button-light{
	background:rgba(255,255,255,.94);
	-webkit-backdrop-filter:blur(10px);
	backdrop-filter:blur(10px);
	box-shadow:0 12px 30px rgba(0,0,0,.14);
}

/* Móvil */
@media(max-width:600px){

	.puv-media-section{
		min-height:82svh;
	}

	.puv-section-video{
		object-position:center center;
		transform:scale(1.02);
	}

	.puv-media-overlay{
		background:
			linear-gradient(
				0deg,
				rgba(3,17,34,.96) 0%,
				rgba(3,17,34,.72) 42%,
				rgba(3,17,34,.20) 78%,
				rgba(3,17,34,.22) 100%
			);
	}

	.puv-media-content{
		padding-bottom:62px;
	}

	.puv-media-content h2{
		margin-bottom:28px;
		font-size:clamp(39px,10.8vw,52px);
		line-height:1;
	}

	.puv-media-content h2 span{
		margin-top:7px;
	}

	.puv-media-content .puv-button{
		width:100%;
	}
}

/* PUV — KICKER HERO CON MAYOR LEGIBILIDAD */
.puv-hero .puv-kicker {
	color: #6fb6ff;
	font-weight: 700;
	letter-spacing: .16em;
	text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

/* ==================================================
   PUV — TERRITORIO / REPUBLICA Y REGIONES
   ================================================== */

.puv-territory {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(
			135deg,
			#f4f5f6 0%,
			#eceff2 100%
		);
}

.puv-territory-grid {
	grid-template-columns:
		minmax(0,.86fr)
		minmax(0,1.14fr);
	gap: clamp(60px,8vw,125px);
	align-items: center;
}

/* ---------- COLUMNA EDITORIAL ---------- */

.puv-territory-copy {
	position: relative;
}

.puv-territory-copy .puv-kicker {
	margin-bottom: 20px;
	color: var(--puv-blue);
}

.puv-territory-copy h2 {
	max-width: 620px;
	margin: 0 0 30px;
	color: var(--puv-navy);
	font-size: clamp(46px,4.8vw,72px);
	line-height: .98;
	letter-spacing: -.037em;
	text-wrap: balance;
}

.puv-territory-copy p {
	max-width: 535px;
	margin: 0;
	color: var(--puv-text);
	font-size: clamp(17px,1.3vw,19px);
	line-height: 1.75;
}

/* Línea territorial */
.puv-territory-copy::before {
	content: "";
	position: absolute;
	left: -30px;
	top: 4px;
	width: 2px;
	height: 92px;
	background:
		linear-gradient(
			180deg,
			var(--puv-yellow) 0 33.33%,
			var(--puv-blue) 33.33% 66.66%,
			var(--puv-red) 66.66% 100%
		);
}

.puv-territory .puv-text-link {
	position: relative;
	margin-top: 28px;
	padding-bottom: 5px;
	color: var(--puv-navy);
	text-decoration: none;
}

.puv-territory .puv-text-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 34px;
	height: 2px;
	background: var(--puv-blue);
	transition: width .25s ease;
}

.puv-territory .puv-text-link:hover::after {
	width: 100%;
}


/* ---------- MAPA / VIDEO ---------- */

.puv-map-frame {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--puv-navy);
	border: 1px solid rgba(7,27,51,.12);
	box-shadow:
		0 35px 70px rgba(7,27,51,.14),
		0 4px 14px rgba(7,27,51,.08);
}

/* Franja institucional superior */
.puv-map-frame::before {
	content: "";
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background:
		linear-gradient(
			90deg,
			var(--puv-yellow) 0 33.33%,
			var(--puv-blue) 33.33% 66.66%,
			var(--puv-red) 66.66% 100%
		);
}

/* Marco interior discreto */
.puv-map-frame::after {
	content: "";
	position: absolute;
	z-index: 2;
	inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
}

.puv-map-frame video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.01);
}


/* ---------- TABLET ---------- */

@media (max-width:980px) {

	.puv-territory-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.puv-territory-copy {
		max-width: 720px;
		padding-left: 24px;
	}

	.puv-territory-copy::before {
		left: 0;
	}

	.puv-map-frame {
		width: 100%;
		max-width: 850px;
	}

}


/* ---------- MOVIL ---------- */

@media (max-width:600px) {

	.puv-territory.puv-section {
		padding-top: 78px;
		padding-bottom: 82px;
	}

	.puv-territory-grid {
		gap: 38px;
	}

	.puv-territory-copy {
		padding-left: 18px;
	}

	.puv-territory-copy::before {
		height: 70px;
	}

	.puv-territory-copy h2 {
		margin-bottom: 24px;
		font-size: clamp(39px,11vw,52px);
		line-height: 1;
	}

	.puv-territory-copy p {
		font-size: 16px;
		line-height: 1.65;
	}

	.puv-map-frame {
		aspect-ratio: 4 / 3;
		box-shadow: 0 22px 45px rgba(7,27,51,.13);
	}

}

/* ==================================================
   PUV — HISTORIA / MEMORIA INSTITUCIONAL 1811
   ================================================== */

.puv-history {
	background: radial-gradient(
			circle at 82% 20%,
			rgba(255,255,255,.055),
			transparent 32%
		),
		linear-gradient(
			135deg,
			#071b33 0%,
			#041526 100%
		);
}

/* 1811 monumental al fondo */
.puv-history::before {
	content: "1811";
	position: absolute;
	top: 45px;
	right: -18px;
	color: rgba(255,255,255,.025);
	font-family: var(--puv-font-display);
	font-size: clamp(150px,22vw,350px);
	font-weight: 700;
	line-height: .8;
	letter-spacing: -.06em;
	pointer-events: none;
}

.puv-history > .puv-shell {
	position: relative;
	z-index: 2;
}

.puv-history .puv-section-heading {
	max-width: 860px;
}

.puv-history .puv-kicker {
	margin-bottom: 20px;
}

.puv-history h2 {
	margin: 0 0 25px;
	max-width: 850px;
	font-size: clamp(52px,6vw,84px);
	line-height: .95;
	letter-spacing: -.04em;
	text-wrap: balance;
}

.puv-history .puv-section-heading > p {
	max-width: 650px;
	margin: 0;
	color: rgba(255,255,255,.70);
	font-size: clamp(17px,1.35vw,19px);
	line-height: 1.7;
}


/* ---------- LINEA TEMPORAL ---------- */

.puv-timeline {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	margin: 78px 0 58px;
	border: 0;
}

/* Línea tricolor que conecta las tres etapas */
.puv-timeline::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background:
		linear-gradient(
			90deg,
			var(--puv-yellow) 0 33.33%,
			var(--puv-blue) 33.33% 66.66%,
			var(--puv-red) 66.66% 100%
		);
	opacity: .85;
}

.puv-timeline-item {
	position: relative;
	min-height: 230px;
	padding: 48px 46px 38px 0;
}

/* Separadores discretos */
.puv-timeline-item:not(:last-child) {
	border-right: 1px solid rgba(255,255,255,.08);
}

.puv-timeline-item:nth-child(2),
.puv-timeline-item:nth-child(3) {
	padding-left: 42px;
}

/* Marcadores */
.puv-timeline-item::before {
	top: -6px;
	width: 13px;
	height: 13px;
	border: 3px solid var(--puv-navy);
	box-shadow: 0 0 0 1px rgba(255,255,255,.18);
}

.puv-timeline-item:nth-child(1)::before {
	background: var(--puv-yellow);
}

.puv-timeline-item:nth-child(2)::before {
	left: 42px;
	background: var(--puv-blue);
}

.puv-timeline-item:nth-child(3)::before {
	left: 42px;
	background: var(--puv-red);
}

.puv-timeline-item span {
	margin-bottom: 27px;
	font-size: 12px;
	letter-spacing: .16em;
}

.puv-timeline-item:nth-child(1) span {
	color: var(--puv-yellow);
}

.puv-timeline-item:nth-child(2) span {
	color: #6fb6ff;
}

.puv-timeline-item:nth-child(3) span {
	color: #ff7878;
}

.puv-timeline-item strong {
	max-width: 300px;
	margin-bottom: 14px;
	font-size: clamp(27px,2.2vw,32px);
	line-height: 1.08;
}

.puv-timeline-item p {
	max-width: 330px;
	margin: 0;
	color: rgba(255,255,255,.64);
	line-height: 1.65;
}


/* ---------- BOTON ---------- */

.puv-history .puv-button-light {
	background: rgba(255,255,255,.94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 10px 28px rgba(0,0,0,.15);
}


/* ---------- TABLET / MOVIL ---------- */

@media (max-width:980px) {

	.puv-timeline {
		grid-template-columns: 1fr;
		margin-top: 55px;
		padding-left: 28px;
		border: 0;
	}

	.puv-timeline::before {
		top: 0;
		bottom: 0;
		left: 0;
		right: auto;
		width: 2px;
		height: auto;
		background:
			linear-gradient(
				180deg,
				var(--puv-yellow) 0 33.33%,
				var(--puv-blue) 33.33% 66.66%,
				var(--puv-red) 66.66% 100%
			);
	}

	.puv-timeline-item,
	.puv-timeline-item:nth-child(2),
	.puv-timeline-item:nth-child(3) {
		min-height: 0;
		padding: 10px 0 42px 26px;
		border-right: 0;
	}

	.puv-timeline-item::before,
	.puv-timeline-item:nth-child(2)::before,
	.puv-timeline-item:nth-child(3)::before {
		top: 16px;
		left: -34px;
	}

	.puv-timeline-item span {
		margin-bottom: 18px;
	}

}


/* ---------- MOVIL ---------- */

@media (max-width:600px) {

	.puv-history.puv-section {
		padding-top: 82px;
		padding-bottom: 84px;
	}

	.puv-history::before {
		top: 65px;
		right: -10px;
		font-size: 160px;
	}

	.puv-history h2 {
		font-size: clamp(43px,12vw,56px);
		line-height: .98;
	}

	.puv-history .puv-section-heading > p {
		font-size: 16px;
	}

	.puv-timeline {
		margin-bottom: 44px;
	}

	.puv-history .puv-button {
		width: 100%;
	}
}

/* PUV — CTA FINAL / PARTICIPA */
.puv-final-cta{
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(circle at 88% 20%,rgba(255,255,255,.28),transparent 28%),
		var(--puv-yellow);
}

.puv-final-cta::before{
	content:"";
	position:absolute;
	left:0;top:0;
	width:100%;height:4px;
	background:linear-gradient(90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-final-cta-inner{
	position:relative;
	z-index:2;
	grid-template-columns:1.2fr .8fr;
	gap:clamp(60px,8vw,110px);
	align-items:center;
}

.puv-final-cta h2{
	color:var(--puv-navy);
	font-size:clamp(52px,6vw,84px);
	line-height:.95;
	letter-spacing:-.04em;
	text-wrap:balance;
}

.puv-final-cta p{
	max-width:480px;
	color:var(--puv-navy);
	font-size:18px;
	line-height:1.7;
}

.puv-final-cta .puv-button-dark{
	margin-top:20px;
	box-shadow:0 12px 30px rgba(7,27,51,.18);
}

@media(max-width:600px){
	.puv-final-cta-inner{gap:35px;}
	.puv-final-cta h2{font-size:clamp(42px,12vw,56px);}
	.puv-final-cta p{font-size:16px;}
	.puv-final-cta .puv-button{width:100%;}
}

/* ==================================================
   PUV — AJUSTE VISUAL 1811 EN HISTORIA
   ================================================== */

.puv-history{
	position: relative;
	overflow: hidden;
}

.puv-history::after{
	content: "1811";
	position: absolute;
	top: 34px;
	right: clamp(18px, 4vw, 70px);
	font-family: var(--puv-font-display);
	font-size: clamp(180px, 22vw, 360px);
	line-height: .82;
	letter-spacing: -.05em;
	color: rgba(255,255,255,.075);
	white-space: nowrap;
}

.puv-history .puv-shell{
	position: relative;
	z-index: 2;
}

@media (max-width: 980px){
	.puv-history::after{
		top: 22px;
		right: 14px;
		font-size: clamp(120px, 28vw, 220px);
		color: rgba(255,255,255,.06);
	}
}

/* PUV — elimina el 1811 antiguo para evitar duplicado */
.puv-history::before {
	content: none !important;
}

/* ==================================================
   PUV — AJUSTE TITULAR Y TEXTO EN HISTORIA
   ================================================== */

.puv-history .puv-section-heading,
.puv-history .puv-timeline,
.puv-history .puv-button {
	position: relative;
	z-index: 2;
}

.puv-history h2 {
	position: relative;
	z-index: 2;
	color: rgba(255,255,255,.96) !important;
	opacity: 1 !important;
	text-shadow: 0 10px 30px rgba(0,0,0,.18);
}

.puv-history .puv-section-heading p {
	position: relative;
	z-index: 2;
	color: rgba(255,255,255,.82) !important;
	opacity: 1 !important;
}

.puv-history::after {
	z-index: 1;
	pointer-events: none;
}

/* ==================================================
   PUV — FOOTER INSTITUCIONAL FINAL
   ================================================== */

.puv-footer{
	position:relative;
	overflow:hidden;
	padding:90px 0 30px;
	background:
		radial-gradient(
			circle at 8% 0%,
			rgba(255,255,255,.045),
			transparent 30%
		),
		linear-gradient(
			135deg,
			#041526 0%,
			#020a13 100%
		);
}

/* Línea institucional superior */
.puv-footer::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:3px;
	background:
		linear-gradient(
			90deg,
			var(--puv-yellow) 0 33.33%,
			var(--puv-blue) 33.33% 66.66%,
			var(--puv-red) 66.66% 100%
		);
}

.puv-footer-grid{
	grid-template-columns:1.7fr repeat(3,1fr);
	gap:clamp(45px,6vw,80px);
	padding-bottom:72px;
}

.puv-footer-brand{
	max-width:320px;
	font-size:clamp(29px,2.4vw,36px);
	line-height:1.03;
	letter-spacing:-.025em;
}

.puv-footer-stars{
	margin-top:18px;
	font-size:9px;
	letter-spacing:6px;
}

.puv-footer-title{
	position:relative;
	margin-bottom:24px;
	padding-bottom:12px;
	color:#fff;
	font-size:11px;
	letter-spacing:.18em;
}

/* Pequeño acento amarillo */
.puv-footer-title::after{
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:24px;
	height:2px;
	background:var(--puv-yellow);
}

.puv-footer-grid a{
	position:relative;
	width:max-content;
	max-width:100%;
	margin-bottom:12px;
	color:rgba(255,255,255,.62);
	font-size:14px;
	transition:
		color .22s ease,
		transform .22s ease;
}

.puv-footer-grid a:hover{
	color:#fff;
	transform:translateX(4px);
}

.puv-footer-bottom{
	align-items:center;
	padding-top:27px;
	border-top:1px solid rgba(255,255,255,.11);
	color:rgba(255,255,255,.43);
	font-size:11px;
	line-height:1.6;
}


/* ---------- TABLET ---------- */

@media(max-width:980px){

	.puv-footer-grid{
		grid-template-columns:1.4fr 1fr 1fr;
	}

	.puv-footer-grid > div:last-child{
		grid-column:2 / -1;
	}

}


/* ---------- MOVIL ---------- */

@media(max-width:600px){

	.puv-footer{
		padding-top:70px;
		padding-bottom:24px;
	}

	.puv-footer-grid{
		grid-template-columns:1fr;
		gap:42px;
		padding-bottom:55px;
	}

	.puv-footer-grid > div:last-child{
		grid-column:auto;
	}

	.puv-footer-brand{
		font-size:31px;
	}

	.puv-footer-bottom{
		flex-direction:column;
		align-items:flex-start;
		gap:10px;
		padding-top:22px;
	}

}


/* ==================================================
   PUV — PAGINA PROYECTO PAIS
   ================================================== */

.puv-project-page {
	background: #fff;
}


/* --------------------------------------------------
   HERO
   -------------------------------------------------- */

.puv-project-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 82svh;
	padding: 180px 0 105px;
	overflow: hidden;
	background:
		radial-gradient(
			circle at 82% 28%,
			rgba(35,104,180,.26),
			transparent 32%
		),
		linear-gradient(
			135deg,
			#071b33 0%,
			#030d19 100%
		);
	color: #fff;
}

.puv-project-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background:
		linear-gradient(
			90deg,
			var(--puv-yellow) 0 33.33%,
			var(--puv-blue) 33.33% 66.66%,
			var(--puv-red) 66.66% 100%
		);
}

.puv-project-hero-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.puv-project-hero-bg span {
	position: absolute;
	right: -2vw;
	bottom: -4vw;
	color: rgba(255,255,255,.035);
	font-family: var(--puv-font-display);
	font-size: clamp(180px,27vw,470px);
	font-weight: 700;
	line-height: .72;
	letter-spacing: -.07em;
}

.puv-project-hero-inner {
	position: relative;
	z-index: 2;
}

.puv-project-hero .puv-kicker {
	margin-bottom: 22px;
	color: #6fb6ff;
}

.puv-project-hero h1 {
	max-width: 1000px;
	margin: 0 0 30px;
	color: #fff;
	font-size: clamp(62px,8vw,118px);
	line-height: .88;
	letter-spacing: -.045em;
}

.puv-project-hero h1 span {
	color: var(--puv-yellow);
}

.puv-project-hero p {
	max-width: 650px;
	margin: 0 0 38px;
	color: rgba(255,255,255,.79);
	font-size: clamp(18px,1.45vw,21px);
	line-height: 1.65;
}


/* --------------------------------------------------
   INTRO
   -------------------------------------------------- */

.puv-project-intro {
	position: relative;
	background:
		linear-gradient(
			180deg,
			#fff 0%,
			#f7f8fa 100%
		);
}

.puv-project-intro-grid {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(60px,9vw,140px);
	align-items: start;
}

.puv-project-intro .puv-kicker {
	margin-bottom: 20px;
}

.puv-project-intro h2 {
	max-width: 690px;
	margin: 0;
	color: var(--puv-navy);
	font-size: clamp(46px,5vw,74px);
	line-height: .97;
	letter-spacing: -.04em;
	text-wrap: balance;
}

.puv-project-intro-copy {
	position: relative;
	padding-left: 32px;
	border-left: 1px solid rgba(7,27,51,.15);
}

.puv-project-intro-copy::before {
	content: "";
	position: absolute;
	top: 0;
	left: -2px;
	width: 3px;
	height: 82px;
	background: var(--puv-red);
}

.puv-project-intro-copy p {
	margin: 0 0 24px;
	color: var(--puv-text);
	font-size: 18px;
	line-height: 1.8;
}


/* --------------------------------------------------
   CUATRO PREGUNTAS
   -------------------------------------------------- */

.puv-project-questions {
	background: #fff;
}

.puv-project-question-grid {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 1px;
	background: rgba(7,27,51,.12);
}

.puv-project-question {
	position: relative;
	min-height: 330px;
	padding: 45px 42px;
	overflow: hidden;
	background: #fff;
}

.puv-project-question::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--puv-yellow);
}

.puv-project-question:nth-child(2)::before {
	background: var(--puv-blue);
}

.puv-project-question:nth-child(3)::before {
	background: var(--puv-red);
}

.puv-project-question:nth-child(4)::before {
	background: var(--puv-navy);
}

.puv-project-question > span {
	display: block;
	margin-bottom: 70px;
	color: var(--puv-red);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
}

.puv-project-question h3 {
	margin: 0 0 18px;
	color: var(--puv-navy);
	font-size: clamp(29px,2.4vw,36px);
}

.puv-project-question p {
	max-width: 420px;
	margin: 0;
	line-height: 1.7;
}


/* --------------------------------------------------
   PRINCIPIOS
   -------------------------------------------------- */

.puv-project-principles {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(
			135deg,
			#071b33,
			#030d19
		);
	color: rgba(255,255,255,.72);
}

.puv-project-principles::after {
	content: "05";
	position: absolute;
	right: -20px;
	bottom: -55px;
	color: rgba(255,255,255,.025);
	font-family: var(--puv-font-display);
	font-size: clamp(190px,24vw,390px);
	font-weight: 700;
	line-height: 1;
}

.puv-project-principles-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: clamp(65px,9vw,140px);
}

.puv-project-principles h2 {
	max-width: 650px;
	margin: 0;
	color: #fff;
	font-size: clamp(48px,5.4vw,78px);
	line-height: .96;
	letter-spacing: -.04em;
}

.puv-project-principle-list > div {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 22px;
	align-items: center;
	padding: 24px 0;
	border-bottom: 1px solid rgba(255,255,255,.12);
}

.puv-project-principle-list strong {
	color: var(--puv-yellow);
	font-size: 12px;
	letter-spacing: .15em;
}

.puv-project-principle-list span {
	color: #fff;
	font-size: clamp(19px,1.6vw,23px);
	line-height: 1.35;
}


/* --------------------------------------------------
   CAMINOS / ENLACES
   -------------------------------------------------- */

.puv-project-paths {
	background: #f1f2f3;
}

.puv-project-path-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1px;
	background: rgba(7,27,51,.13);
}

.puv-project-path-grid > a {
	position: relative;
	min-height: 380px;
	padding: 44px 38px;
	overflow: hidden;
	background: #fff;
	color: var(--puv-text);
	text-decoration: none;
	transition:
		background .3s ease,
		color .3s ease,
		transform .3s ease;
}

.puv-project-path-grid > a > span {
	display: block;
	margin-bottom: 82px;
	color: var(--puv-red);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
}

.puv-project-path-grid h3 {
	margin: 0 0 18px;
	color: var(--puv-navy);
	font-size: clamp(28px,2.3vw,35px);
	line-height: 1.07;
}

.puv-project-path-grid p {
	line-height: 1.7;
}

.puv-project-path-grid strong {
	position: absolute;
	left: 38px;
	bottom: 35px;
	color: var(--puv-navy);
	font-size: 14px;
}

.puv-project-path-grid > a:hover {
	background: var(--puv-navy);
	color: #fff;
	transform: translateY(-5px);
}

.puv-project-path-grid > a:hover h3,
.puv-project-path-grid > a:hover strong {
	color: #fff;
}


/* --------------------------------------------------
   CTA FINAL
   -------------------------------------------------- */

.puv-project-final {
	position: relative;
	padding: clamp(90px,11vw,155px) 0;
	overflow: hidden;
	background: var(--puv-yellow);
}

.puv-project-final::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background:
		linear-gradient(
			90deg,
			var(--puv-yellow) 0 33.33%,
			var(--puv-blue) 33.33% 66.66%,
			var(--puv-red) 66.66% 100%
		);
}

.puv-project-final-inner {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: clamp(60px,8vw,110px);
	align-items: center;
}

.puv-project-final h2 {
	max-width: 800px;
	margin: 0;
	color: var(--puv-navy);
	font-size: clamp(50px,5.8vw,82px);
	line-height: .96;
	letter-spacing: -.04em;
}

.puv-project-final p {
	max-width: 450px;
	color: var(--puv-navy);
	font-size: 18px;
	line-height: 1.7;
}

.puv-project-final .puv-button {
	margin-top: 20px;
}


/* ==================================================
   RESPONSIVE PROYECTO PAIS
   ================================================== */

@media (max-width:980px) {

	.puv-project-intro-grid,
	.puv-project-principles-grid,
	.puv-project-final-inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.puv-project-question-grid {
		grid-template-columns: 1fr 1fr;
	}

	.puv-project-path-grid {
		grid-template-columns: 1fr;
	}

	.puv-project-path-grid > a {
		min-height: 300px;
	}

}


@media (max-width:600px) {

	.puv-project-hero {
		min-height: 90svh;
		padding: 135px 0 75px;
	}

	.puv-project-hero-bg span {
		right: -5px;
		bottom: 5%;
		font-size: 38vw;
	}

	.puv-project-hero h1 {
		font-size: clamp(48px,14vw,65px);
		line-height: .91;
	}

	.puv-project-hero p {
		font-size: 16px;
	}

	.puv-project-hero .puv-button {
		width: 100%;
	}

	.puv-project-intro-grid {
		gap: 35px;
	}

	.puv-project-intro h2 {
		font-size: clamp(39px,11.5vw,52px);
	}

	.puv-project-intro-copy {
		padding-left: 22px;
	}

	.puv-project-intro-copy p {
		font-size: 16px;
		line-height: 1.7;
	}

	.puv-project-question-grid {
		grid-template-columns: 1fr;
	}

	.puv-project-question {
		min-height: 280px;
		padding: 34px 28px;
	}

	.puv-project-question > span {
		margin-bottom: 50px;
	}

	.puv-project-principles h2 {
		font-size: clamp(41px,11.5vw,54px);
	}

	.puv-project-principle-list > div {
		grid-template-columns: 44px 1fr;
		gap: 14px;
	}

	.puv-project-path-grid > a {
		min-height: 285px;
		padding: 34px 28px;
	}

	.puv-project-path-grid > a > span {
		margin-bottom: 55px;
	}

	.puv-project-path-grid strong {
		left: 28px;
	}

	.puv-project-final h2 {
		font-size: clamp(41px,11.5vw,55px);
	}

	.puv-project-final p {
		font-size: 16px;
	}

	.puv-project-final .puv-button {
		width: 100%;
	}

}

/* ==================================================
   PUV — MODELO DE REPUBLICA
   ================================================== */

.puv-republic-page{
	background:#fff;
}


/* HERO */

.puv-republic-hero{
	position:relative;
	display:flex;
	align-items:flex-end;
	min-height:82svh;
	padding:180px 0 105px;
	overflow:hidden;
	background:
		radial-gradient(circle at 82% 28%,
			rgba(35,104,180,.28),
			transparent 34%),
		linear-gradient(135deg,#071b33 0%,#030d19 100%);
	color:#fff;
}

.puv-republic-hero::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(
		90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-republic-hero-bg{
	position:absolute;
	inset:0;
	pointer-events:none;
}

.puv-republic-hero-bg span{
	position:absolute;
	right:clamp(15px,3vw,55px);
	bottom:5%;
	color:rgba(255,255,255,.075);
	font-family:var(--puv-font-display);
	font-size:clamp(105px,15vw,250px);
	font-weight:700;
	line-height:.82;
	letter-spacing:-.055em;
	white-space:nowrap;
}

.puv-republic-hero-inner{
	position:relative;
	z-index:2;
}

.puv-republic-hero .puv-kicker{
	margin-bottom:22px;
	color:#6fb6ff;
}

.puv-republic-hero h1{
	max-width:980px;
	margin:0 0 30px;
	color:#fff;
	font-size:clamp(64px,8vw,118px);
	line-height:.88;
	letter-spacing:-.045em;
}

.puv-republic-hero h1 span{
	color:var(--puv-yellow);
}

.puv-republic-hero p{
	max-width:680px;
	margin:0 0 38px;
	color:rgba(255,255,255,.82);
	font-size:clamp(18px,1.45vw,21px);
	line-height:1.65;
}


/* INTRO */

.puv-republic-intro{
	background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);
}

.puv-republic-intro-grid{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:clamp(60px,9vw,140px);
	align-items:start;
}

.puv-republic-intro h2{
	max-width:700px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(46px,5vw,74px);
	line-height:.97;
	letter-spacing:-.04em;
}

.puv-republic-intro-copy{
	position:relative;
	padding-left:32px;
	border-left:1px solid rgba(7,27,51,.15);
}

.puv-republic-intro-copy::before{
	content:"";
	position:absolute;
	top:0;
	left:-2px;
	width:3px;
	height:82px;
	background:var(--puv-red);
}

.puv-republic-intro-copy p{
	margin:0 0 24px;
	color:var(--puv-text);
	font-size:18px;
	line-height:1.8;
}


/* CUATRO PILARES */

.puv-republic-pillars{
	background:#fff;
}

.puv-republic-pillar-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:1px;
	background:rgba(7,27,51,.12);
}

.puv-republic-pillar{
	position:relative;
	min-height:325px;
	padding:44px 42px;
	background:#fff;
}

.puv-republic-pillar::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:3px;
	background:var(--puv-yellow);
}

.puv-republic-pillar:nth-child(2)::before{background:var(--puv-blue);}
.puv-republic-pillar:nth-child(3)::before{background:var(--puv-red);}
.puv-republic-pillar:nth-child(4)::before{background:var(--puv-navy);}

.puv-republic-pillar > span{
	display:block;
	margin-bottom:68px;
	color:var(--puv-red);
	font-size:12px;
	font-weight:700;
	letter-spacing:.18em;
}

.puv-republic-pillar h3{
	margin:0 0 18px;
	color:var(--puv-navy);
	font-size:clamp(29px,2.4vw,36px);
}

.puv-republic-pillar p{
	max-width:420px;
	margin:0;
	line-height:1.7;
}


/* SEPARACION DEL PODER */

.puv-republic-power{
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(circle at 85% 18%,
			rgba(255,255,255,.055),
			transparent 30%),
		linear-gradient(135deg,#071b33,#030d19);
	color:rgba(255,255,255,.80);
}

.puv-republic-power-grid{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:clamp(65px,9vw,140px);
}

.puv-republic-power h2{
	max-width:650px;
	margin:0 0 28px;
	color:#fff;
	font-size:clamp(48px,5.4vw,78px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-republic-power p{
	max-width:600px;
	color:rgba(255,255,255,.78);
	font-size:18px;
	line-height:1.75;
}

.puv-republic-power-list > div{
	display:grid;
	grid-template-columns:58px 1fr;
	gap:22px;
	align-items:center;
	padding:25px 0;
	border-bottom:1px solid rgba(255,255,255,.14);
}

.puv-republic-power-list strong{
	color:var(--puv-yellow);
	font-size:12px;
	letter-spacing:.16em;
}

.puv-republic-power-list span{
	color:rgba(255,255,255,.96);
	font-size:clamp(19px,1.6vw,23px);
	line-height:1.35;
}


/* TERRITORIO */

.puv-republic-territory{
	background:linear-gradient(135deg,#f4f5f6,#eceff2);
}

.puv-republic-territory-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:clamp(60px,9vw,140px);
	align-items:center;
}

.puv-republic-territory h2{
	max-width:700px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(46px,5vw,72px);
	line-height:.98;
	letter-spacing:-.038em;
}

.puv-republic-territory-copy{
	position:relative;
	padding-left:32px;
}

.puv-republic-territory-copy::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:3px;
	height:90px;
	background:linear-gradient(
		180deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-republic-territory-copy p{
	margin:0 0 23px;
	font-size:18px;
	line-height:1.75;
}


/* GARANTIAS */

.puv-republic-guarantees{
	background:#fff;
}

.puv-republic-guarantee-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	background:rgba(7,27,51,.12);
}

.puv-republic-guarantee-grid > div{
	min-height:190px;
	padding:32px;
	background:#fff;
}

.puv-republic-guarantee-grid span{
	display:block;
	margin-bottom:42px;
	color:var(--puv-red);
	font-size:11px;
	font-weight:700;
	letter-spacing:.16em;
}

.puv-republic-guarantee-grid strong{
	display:block;
	color:var(--puv-navy);
	font-family:var(--puv-font-display);
	font-size:clamp(22px,1.8vw,28px);
	line-height:1.15;
}


/* CAMINOS */

.puv-republic-paths{
	background:#f1f2f3;
}

.puv-republic-path-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	background:rgba(7,27,51,.13);
}

.puv-republic-path-grid > a{
	position:relative;
	min-height:370px;
	padding:44px 38px;
	background:#fff;
	color:var(--puv-text);
	text-decoration:none;
	transition:background .3s ease,color .3s ease,transform .3s ease;
}

.puv-republic-path-grid > a > span{
	display:block;
	margin-bottom:80px;
	color:var(--puv-red);
	font-size:12px;
	font-weight:700;
	letter-spacing:.16em;
}

.puv-republic-path-grid h3{
	margin:0 0 18px;
	color:var(--puv-navy);
	font-size:clamp(28px,2.3vw,35px);
	line-height:1.07;
}

.puv-republic-path-grid p{
	line-height:1.7;
}

.puv-republic-path-grid strong{
	position:absolute;
	left:38px;
	bottom:35px;
	color:var(--puv-navy);
}

.puv-republic-path-grid > a:hover{
	background:var(--puv-navy);
	color:#fff;
	transform:translateY(-5px);
}

.puv-republic-path-grid > a:hover h3,
.puv-republic-path-grid > a:hover strong{
	color:#fff;
}


/* CTA FINAL */

.puv-republic-final{
	position:relative;
	padding:clamp(90px,11vw,155px) 0;
	background:var(--puv-yellow);
}

.puv-republic-final::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(
		90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-republic-final-inner{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:clamp(60px,8vw,110px);
	align-items:center;
}

.puv-republic-final h2{
	max-width:800px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(50px,5.8vw,82px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-republic-final p{
	max-width:450px;
	color:var(--puv-navy);
	font-size:18px;
	line-height:1.7;
}

.puv-republic-final .puv-button{
	margin-top:20px;
}


/* RESPONSIVE */

@media(max-width:980px){

	.puv-republic-intro-grid,
	.puv-republic-power-grid,
	.puv-republic-territory-grid,
	.puv-republic-final-inner{
		grid-template-columns:1fr;
		gap:48px;
	}

	.puv-republic-path-grid{
		grid-template-columns:1fr;
	}

	.puv-republic-guarantee-grid{
		grid-template-columns:repeat(2,1fr);
	}
}

@media(max-width:600px){

	.puv-republic-hero{
		min-height:90svh;
		padding:135px 0 75px;
	}

	.puv-republic-hero-bg span{
		right:10px;
		bottom:8%;
		font-size:22vw;
		color:rgba(255,255,255,.065);
	}

	.puv-republic-hero h1{
		font-size:clamp(49px,14vw,66px);
	}

	.puv-republic-hero p{
		font-size:16px;
	}

	.puv-republic-hero .puv-button{
		width:100%;
	}

	.puv-republic-intro h2,
	.puv-republic-territory h2{
		font-size:clamp(39px,11vw,52px);
	}

	.puv-republic-intro-copy,
	.puv-republic-territory-copy{
		padding-left:22px;
	}

	.puv-republic-intro-copy p,
	.puv-republic-territory-copy p,
	.puv-republic-power p{
		font-size:16px;
	}

	.puv-republic-pillar-grid{
		grid-template-columns:1fr;
	}

	.puv-republic-pillar{
		min-height:280px;
		padding:34px 28px;
	}

	.puv-republic-pillar > span{
		margin-bottom:48px;
	}

	.puv-republic-power h2{
		font-size:clamp(41px,11.5vw,54px);
	}

	.puv-republic-power-list > div{
		grid-template-columns:44px 1fr;
		gap:14px;
	}

	.puv-republic-guarantee-grid{
		grid-template-columns:1fr;
	}

	.puv-republic-guarantee-grid > div{
		min-height:155px;
	}

	.puv-republic-path-grid > a{
		min-height:285px;
		padding:34px 28px;
	}

	.puv-republic-path-grid > a > span{
		margin-bottom:55px;
	}

	.puv-republic-path-grid strong{
		left:28px;
	}

	.puv-republic-final h2{
		font-size:clamp(41px,11.5vw,55px);
	}

	.puv-republic-final p{
		font-size:16px;
	}

	.puv-republic-final .puv-button{
		width:100%;
	}
}

/* ==================================================
   PUV — PROYECTO ECONOMICO
   ================================================== */

.puv-economy-page{
	background:#fff;
}

/* HERO */
.puv-economy-hero{
	position:relative;
	display:flex;
	align-items:flex-end;
	min-height:82svh;
	padding:180px 0 105px;
	overflow:hidden;
	background:
		radial-gradient(circle at 82% 28%,
			rgba(35,104,180,.28),
			transparent 34%),
		linear-gradient(135deg,#071b33 0%,#030d19 100%);
	color:#fff;
}

.puv-economy-hero::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(
		90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-economy-hero-bg{
	position:absolute;
	inset:0;
	pointer-events:none;
}

.puv-economy-hero-bg span{
	position:absolute;
	right:clamp(15px,3vw,55px);
	bottom:5%;
	color:rgba(255,255,255,.075);
	font-family:var(--puv-font-display);
	font-size:clamp(100px,14vw,230px);
	font-weight:700;
	line-height:.82;
	letter-spacing:-.055em;
	white-space:nowrap;
}

.puv-economy-hero-inner{
	position:relative;
	z-index:2;
}

.puv-economy-hero .puv-kicker{
	margin-bottom:22px;
	color:#6fb6ff;
}

.puv-economy-hero h1{
	max-width:1080px;
	margin:0 0 30px;
	color:#fff;
	font-size:clamp(60px,7.6vw,112px);
	line-height:.89;
	letter-spacing:-.045em;
}

.puv-economy-hero h1 span{
	color:var(--puv-yellow);
}

.puv-economy-hero p{
	max-width:680px;
	margin:0 0 38px;
	color:rgba(255,255,255,.82);
	font-size:clamp(18px,1.45vw,21px);
	line-height:1.65;
}


/* INTRO */
.puv-economy-intro{
	background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);
}

.puv-economy-intro-grid{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:clamp(60px,9vw,140px);
	align-items:start;
}

.puv-economy-intro h2{
	max-width:700px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(46px,5vw,74px);
	line-height:.97;
	letter-spacing:-.04em;
}

.puv-economy-intro-copy{
	position:relative;
	padding-left:32px;
	border-left:1px solid rgba(7,27,51,.15);
}

.puv-economy-intro-copy::before{
	content:"";
	position:absolute;
	top:0;
	left:-2px;
	width:3px;
	height:82px;
	background:var(--puv-red);
}

.puv-economy-intro-copy p{
	margin:0 0 24px;
	color:var(--puv-text);
	font-size:18px;
	line-height:1.8;
}


/* PILARES */
.puv-economy-pillars{
	background:#fff;
}

.puv-economy-pillar-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:1px;
	background:rgba(7,27,51,.12);
}

.puv-economy-pillar{
	position:relative;
	min-height:325px;
	padding:44px 42px;
	background:#fff;
}

.puv-economy-pillar::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:3px;
	background:var(--puv-yellow);
}

.puv-economy-pillar:nth-child(2)::before{background:var(--puv-blue);}
.puv-economy-pillar:nth-child(3)::before{background:var(--puv-red);}
.puv-economy-pillar:nth-child(4)::before{background:var(--puv-navy);}

.puv-economy-pillar > span{
	display:block;
	margin-bottom:68px;
	color:var(--puv-red);
	font-size:12px;
	font-weight:700;
	letter-spacing:.18em;
}

.puv-economy-pillar h3{
	margin:0 0 18px;
	color:var(--puv-navy);
	font-size:clamp(29px,2.4vw,36px);
}

.puv-economy-pillar p{
	max-width:420px;
	margin:0;
	line-height:1.7;
}


/* CRECIMIENTO */
.puv-economy-growth{
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(circle at 85% 18%,
			rgba(255,255,255,.06),
			transparent 30%),
		linear-gradient(135deg,#071b33,#030d19);
	color:rgba(255,255,255,.80);
}

.puv-economy-growth-grid{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:clamp(65px,9vw,140px);
}

.puv-economy-growth h2{
	max-width:670px;
	margin:0 0 28px;
	color:#fff;
	font-size:clamp(48px,5.4vw,78px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-economy-growth p{
	max-width:590px;
	color:rgba(255,255,255,.80);
	font-size:18px;
	line-height:1.75;
}

.puv-economy-growth-list > div{
	display:grid;
	grid-template-columns:58px 1fr;
	gap:22px;
	align-items:center;
	padding:25px 0;
	border-bottom:1px solid rgba(255,255,255,.14);
}

.puv-economy-growth-list strong{
	color:var(--puv-yellow);
	font-size:12px;
	letter-spacing:.16em;
}

.puv-economy-growth-list span{
	color:rgba(255,255,255,.96);
	font-size:clamp(19px,1.6vw,23px);
	line-height:1.35;
}


/* OPORTUNIDADES */
.puv-economy-opportunity{
	background:linear-gradient(135deg,#f4f5f6,#eceff2);
}

.puv-economy-opportunity-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:clamp(60px,9vw,140px);
	align-items:center;
}

.puv-economy-opportunity h2{
	max-width:720px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(46px,5vw,72px);
	line-height:.98;
	letter-spacing:-.038em;
}

.puv-economy-opportunity-copy{
	position:relative;
	padding-left:32px;
}

.puv-economy-opportunity-copy::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:3px;
	height:90px;
	background:linear-gradient(
		180deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-economy-opportunity-copy p{
	margin:0 0 23px;
	font-size:18px;
	line-height:1.75;
}


/* MARCO INSTITUCIONAL */
.puv-economy-framework{
	background:#fff;
}

.puv-economy-framework-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	background:rgba(7,27,51,.12);
}

.puv-economy-framework-grid > div{
	min-height:190px;
	padding:32px;
	background:#fff;
}

.puv-economy-framework-grid span{
	display:block;
	margin-bottom:42px;
	color:var(--puv-red);
	font-size:11px;
	font-weight:700;
	letter-spacing:.16em;
}

.puv-economy-framework-grid strong{
	display:block;
	color:var(--puv-navy);
	font-family:var(--puv-font-display);
	font-size:clamp(22px,1.8vw,28px);
	line-height:1.15;
}


/* CAMINOS */
.puv-economy-paths{
	background:#f1f2f3;
}

.puv-economy-path-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	background:rgba(7,27,51,.13);
}

.puv-economy-path-grid > a{
	position:relative;
	min-height:370px;
	padding:44px 38px;
	background:#fff;
	color:var(--puv-text);
	text-decoration:none;
	transition:background .3s ease,color .3s ease,transform .3s ease;
}

.puv-economy-path-grid > a > span{
	display:block;
	margin-bottom:80px;
	color:var(--puv-red);
	font-size:12px;
	font-weight:700;
	letter-spacing:.16em;
}

.puv-economy-path-grid h3{
	margin:0 0 18px;
	color:var(--puv-navy);
	font-size:clamp(28px,2.3vw,35px);
	line-height:1.07;
}

.puv-economy-path-grid p{
	line-height:1.7;
}

.puv-economy-path-grid strong{
	position:absolute;
	left:38px;
	bottom:35px;
	color:var(--puv-navy);
}

.puv-economy-path-grid > a:hover{
	background:var(--puv-navy);
	color:#fff;
	transform:translateY(-5px);
}

.puv-economy-path-grid > a:hover h3,
.puv-economy-path-grid > a:hover strong{
	color:#fff;
}


/* CTA FINAL */
.puv-economy-final{
	position:relative;
	padding:clamp(90px,11vw,155px) 0;
	background:var(--puv-yellow);
}

.puv-economy-final::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(
		90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-economy-final-inner{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:clamp(60px,8vw,110px);
	align-items:center;
}

.puv-economy-final h2{
	max-width:820px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(50px,5.8vw,82px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-economy-final p{
	max-width:450px;
	color:var(--puv-navy);
	font-size:18px;
	line-height:1.7;
}

.puv-economy-final .puv-button{
	margin-top:20px;
}


/* RESPONSIVE */
@media(max-width:980px){

	.puv-economy-intro-grid,
	.puv-economy-growth-grid,
	.puv-economy-opportunity-grid,
	.puv-economy-final-inner{
		grid-template-columns:1fr;
		gap:48px;
	}

	.puv-economy-path-grid{
		grid-template-columns:1fr;
	}

	.puv-economy-framework-grid{
		grid-template-columns:repeat(2,1fr);
	}
}

@media(max-width:600px){

	.puv-economy-hero{
		min-height:90svh;
		padding:135px 0 75px;
	}

	.puv-economy-hero-bg span{
		right:10px;
		bottom:8%;
		font-size:20vw;
		color:rgba(255,255,255,.07);
	}

	.puv-economy-hero h1{
		font-size:clamp(47px,13.5vw,64px);
	}

	.puv-economy-hero p{
		font-size:16px;
	}

	.puv-economy-hero .puv-button{
		width:100%;
	}

	.puv-economy-intro h2,
	.puv-economy-opportunity h2{
		font-size:clamp(39px,11vw,52px);
	}

	.puv-economy-intro-copy,
	.puv-economy-opportunity-copy{
		padding-left:22px;
	}

	.puv-economy-intro-copy p,
	.puv-economy-opportunity-copy p,
	.puv-economy-growth p{
		font-size:16px;
	}

	.puv-economy-pillar-grid{
		grid-template-columns:1fr;
	}

	.puv-economy-pillar{
		min-height:280px;
		padding:34px 28px;
	}

	.puv-economy-pillar > span{
		margin-bottom:48px;
	}

	.puv-economy-growth h2{
		font-size:clamp(41px,11.5vw,54px);
	}

	.puv-economy-growth-list > div{
		grid-template-columns:44px 1fr;
		gap:14px;
	}

	.puv-economy-framework-grid{
		grid-template-columns:1fr;
	}

	.puv-economy-framework-grid > div{
		min-height:155px;
	}

	.puv-economy-path-grid > a{
		min-height:285px;
		padding:34px 28px;
	}

	.puv-economy-path-grid > a > span{
		margin-bottom:55px;
	}

	.puv-economy-path-grid strong{
		left:28px;
	}

	.puv-economy-final h2{
		font-size:clamp(41px,11.5vw,55px);
	}

	.puv-economy-final p{
		font-size:16px;
	}

	.puv-economy-final .puv-button{
		width:100%;
	}
}

/* ==================================================
   PUV — PROPUESTAS
   ================================================== */

.puv-proposals-page{
	background:#fff;
}

/* HERO */

.puv-proposals-hero{
	position:relative;
	display:flex;
	align-items:flex-end;
	min-height:82svh;
	padding:180px 0 105px;
	overflow:hidden;
	background:
		radial-gradient(circle at 82% 28%,
			rgba(35,104,180,.28),
			transparent 34%),
		linear-gradient(135deg,#071b33 0%,#030d19 100%);
	color:#fff;
}

.puv-proposals-hero::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(
		90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-proposals-hero-bg{
	position:absolute;
	inset:0;
	pointer-events:none;
}

.puv-proposals-hero-bg span{
	position:absolute;
	right:clamp(15px,3vw,55px);
	bottom:5%;
	color:rgba(255,255,255,.075);
	font-family:var(--puv-font-display);
	font-size:clamp(95px,13vw,215px);
	font-weight:700;
	line-height:.82;
	letter-spacing:-.055em;
	white-space:nowrap;
}

.puv-proposals-hero-inner{
	position:relative;
	z-index:2;
}

.puv-proposals-hero .puv-kicker{
	margin-bottom:22px;
	color:#6fb6ff;
}

.puv-proposals-hero h1{
	max-width:1050px;
	margin:0 0 30px;
	color:#fff;
	font-size:clamp(60px,7.7vw,112px);
	line-height:.89;
	letter-spacing:-.045em;
}

.puv-proposals-hero h1 span{
	color:var(--puv-yellow);
}

.puv-proposals-hero p{
	max-width:680px;
	margin:0 0 38px;
	color:rgba(255,255,255,.82);
	font-size:clamp(18px,1.45vw,21px);
	line-height:1.65;
}


/* INTRO */

.puv-proposals-intro{
	background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);
}

.puv-proposals-intro-grid{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:clamp(60px,9vw,140px);
	align-items:start;
}

.puv-proposals-intro h2{
	max-width:690px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(46px,5vw,74px);
	line-height:.97;
	letter-spacing:-.04em;
}

.puv-proposals-intro-copy{
	position:relative;
	padding-left:32px;
	border-left:1px solid rgba(7,27,51,.15);
}

.puv-proposals-intro-copy::before{
	content:"";
	position:absolute;
	top:0;
	left:-2px;
	width:3px;
	height:82px;
	background:var(--puv-red);
}

.puv-proposals-intro-copy p{
	margin:0 0 24px;
	font-size:18px;
	line-height:1.8;
}


/* AREAS */

.puv-proposals-areas{
	background:#fff;
}

.puv-proposals-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	background:rgba(7,27,51,.12);
}

.puv-proposal-card{
	position:relative;
	min-height:300px;
	padding:40px 34px;
	background:#fff;
	transition:transform .3s ease,box-shadow .3s ease;
}

.puv-proposal-card::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:3px;
	background:var(--puv-yellow);
}

.puv-proposal-card:nth-child(2)::before,
.puv-proposal-card:nth-child(5)::before{
	background:var(--puv-blue);
}

.puv-proposal-card:nth-child(3)::before,
.puv-proposal-card:nth-child(6)::before{
	background:var(--puv-red);
}

.puv-proposal-card span{
	display:block;
	margin-bottom:62px;
	color:var(--puv-red);
	font-size:11px;
	font-weight:700;
	letter-spacing:.17em;
}

.puv-proposal-card h3{
	margin:0 0 17px;
	color:var(--puv-navy);
	font-size:clamp(25px,2vw,32px);
	line-height:1.08;
}

.puv-proposal-card p{
	margin:0;
	line-height:1.7;
}

.puv-proposal-card:hover{
	z-index:2;
	transform:translateY(-5px);
	box-shadow:0 20px 45px rgba(7,27,51,.10);
}


/* METODO */

.puv-proposals-method{
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(circle at 84% 18%,
			rgba(255,255,255,.06),
			transparent 30%),
		linear-gradient(135deg,#071b33,#030d19);
	color:rgba(255,255,255,.80);
}

.puv-proposals-method-grid{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:clamp(65px,9vw,140px);
}

.puv-proposals-method h2{
	max-width:650px;
	margin:0;
	color:#fff;
	font-size:clamp(48px,5.4vw,78px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-proposals-method-list > div{
	display:grid;
	grid-template-columns:58px 1fr;
	gap:22px;
	align-items:center;
	padding:25px 0;
	border-bottom:1px solid rgba(255,255,255,.14);
}

.puv-proposals-method-list strong{
	color:var(--puv-yellow);
	font-size:12px;
	letter-spacing:.16em;
}

.puv-proposals-method-list span{
	color:rgba(255,255,255,.96);
	font-size:clamp(19px,1.6vw,23px);
	line-height:1.35;
}


/* CAMINOS */

.puv-proposals-paths{
	background:#f1f2f3;
}

.puv-proposals-path-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	background:rgba(7,27,51,.13);
}

.puv-proposals-path-grid > a{
	position:relative;
	min-height:370px;
	padding:44px 38px;
	background:#fff;
	color:var(--puv-text);
	text-decoration:none;
	transition:background .3s ease,color .3s ease,transform .3s ease;
}

.puv-proposals-path-grid > a > span{
	display:block;
	margin-bottom:80px;
	color:var(--puv-red);
	font-size:12px;
	font-weight:700;
	letter-spacing:.16em;
}

.puv-proposals-path-grid h3{
	margin:0 0 18px;
	color:var(--puv-navy);
	font-size:clamp(28px,2.3vw,35px);
	line-height:1.07;
}

.puv-proposals-path-grid p{
	line-height:1.7;
}

.puv-proposals-path-grid strong{
	position:absolute;
	left:38px;
	bottom:35px;
	color:var(--puv-navy);
}

.puv-proposals-path-grid > a:hover{
	background:var(--puv-navy);
	color:#fff;
	transform:translateY(-5px);
}

.puv-proposals-path-grid > a:hover h3,
.puv-proposals-path-grid > a:hover strong{
	color:#fff;
}


/* CTA FINAL */

.puv-proposals-final{
	position:relative;
	padding:clamp(90px,11vw,155px) 0;
	background:var(--puv-yellow);
}

.puv-proposals-final::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(
		90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-proposals-final-inner{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:clamp(60px,8vw,110px);
	align-items:center;
}

.puv-proposals-final h2{
	max-width:820px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(50px,5.8vw,82px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-proposals-final p{
	max-width:450px;
	color:var(--puv-navy);
	font-size:18px;
	line-height:1.7;
}

.puv-proposals-final .puv-button{
	margin-top:20px;
}


/* RESPONSIVE */

@media(max-width:980px){

	.puv-proposals-intro-grid,
	.puv-proposals-method-grid,
	.puv-proposals-final-inner{
		grid-template-columns:1fr;
		gap:48px;
	}

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

	.puv-proposals-path-grid{
		grid-template-columns:1fr;
	}
}

@media(max-width:600px){

	.puv-proposals-hero{
		min-height:90svh;
		padding:135px 0 75px;
	}

	.puv-proposals-hero-bg span{
		right:10px;
		bottom:8%;
		font-size:18vw;
		color:rgba(255,255,255,.07);
	}

	.puv-proposals-hero h1{
		font-size:clamp(47px,13.5vw,64px);
	}

	.puv-proposals-hero p{
		font-size:16px;
	}

	.puv-proposals-hero .puv-button{
		width:100%;
	}

	.puv-proposals-intro h2{
		font-size:clamp(39px,11vw,52px);
	}

	.puv-proposals-intro-copy{
		padding-left:22px;
	}

	.puv-proposals-intro-copy p{
		font-size:16px;
	}

	.puv-proposals-grid{
		grid-template-columns:1fr;
	}

	.puv-proposal-card{
		min-height:260px;
		padding:34px 28px;
	}

	.puv-proposal-card span{
		margin-bottom:46px;
	}

	.puv-proposals-method h2{
		font-size:clamp(41px,11.5vw,54px);
	}

	.puv-proposals-method-list > div{
		grid-template-columns:44px 1fr;
		gap:14px;
	}

	.puv-proposals-path-grid > a{
		min-height:285px;
		padding:34px 28px;
	}

	.puv-proposals-path-grid > a > span{
		margin-bottom:55px;
	}

	.puv-proposals-path-grid strong{
		left:28px;
	}

	.puv-proposals-final h2{
		font-size:clamp(41px,11.5vw,55px);
	}

	.puv-proposals-final p{
		font-size:16px;
	}

	.puv-proposals-final .puv-button{
		width:100%;
	}
}

/* ==================================================
   PUV — PARTICIPA
   ================================================== */

.puv-participate-page{
	background:#fff;
}


/* HERO */

.puv-participate-hero{
	position:relative;
	display:flex;
	align-items:flex-end;
	min-height:82svh;
	padding:180px 0 105px;
	overflow:hidden;
	background:
		radial-gradient(circle at 82% 28%,
			rgba(35,104,180,.28),
			transparent 34%),
		linear-gradient(135deg,#071b33 0%,#030d19 100%);
	color:#fff;
}

.puv-participate-hero::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(
		90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-participate-hero-bg{
	position:absolute;
	inset:0;
	pointer-events:none;
}

.puv-participate-hero-bg span{
	position:absolute;
	right:clamp(15px,3vw,55px);
	bottom:5%;
	color:rgba(255,255,255,.075);
	font-family:var(--puv-font-display);
	font-size:clamp(100px,14vw,235px);
	font-weight:700;
	line-height:.82;
	letter-spacing:-.055em;
	white-space:nowrap;
}

.puv-participate-hero-inner{
	position:relative;
	z-index:2;
}

.puv-participate-hero .puv-kicker{
	margin-bottom:22px;
	color:#6fb6ff;
}

.puv-participate-hero h1{
	max-width:1050px;
	margin:0 0 30px;
	color:#fff;
	font-size:clamp(62px,8vw,116px);
	line-height:.89;
	letter-spacing:-.045em;
}

.puv-participate-hero h1 span{
	color:var(--puv-yellow);
}

.puv-participate-hero p{
	max-width:680px;
	margin:0 0 38px;
	color:rgba(255,255,255,.82);
	font-size:clamp(18px,1.45vw,21px);
	line-height:1.65;
}


/* INTRO */

.puv-participate-intro{
	background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);
}

.puv-participate-intro-grid{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:clamp(60px,9vw,140px);
	align-items:start;
}

.puv-participate-intro h2{
	max-width:720px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(46px,5vw,74px);
	line-height:.97;
	letter-spacing:-.04em;
}

.puv-participate-intro-copy{
	position:relative;
	padding-left:32px;
	border-left:1px solid rgba(7,27,51,.15);
}

.puv-participate-intro-copy::before{
	content:"";
	position:absolute;
	top:0;
	left:-2px;
	width:3px;
	height:82px;
	background:var(--puv-red);
}

.puv-participate-intro-copy p{
	margin:0 0 24px;
	font-size:18px;
	line-height:1.8;
}


/* OPCIONES */

.puv-participate-options{
	background:#fff;
}

.puv-participate-option-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:1px;
	background:rgba(7,27,51,.12);
}

.puv-participate-option{
	position:relative;
	min-height:310px;
	padding:44px 42px;
	background:#fff;
}

.puv-participate-option::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:3px;
	background:var(--puv-yellow);
}

.puv-participate-option:nth-child(2)::before{
	background:var(--puv-blue);
}

.puv-participate-option:nth-child(3)::before{
	background:var(--puv-red);
}

.puv-participate-option:nth-child(4)::before{
	background:var(--puv-navy);
}

.puv-participate-option > span{
	display:block;
	margin-bottom:65px;
	color:var(--puv-red);
	font-size:12px;
	font-weight:700;
	letter-spacing:.18em;
}

.puv-participate-option h3{
	margin:0 0 18px;
	color:var(--puv-navy);
	font-size:clamp(28px,2.3vw,35px);
	line-height:1.08;
}

.puv-participate-option p{
	max-width:430px;
	margin:0;
	line-height:1.7;
}


/* FORMULARIO */

.puv-participate-form-section{
	position:relative;
	background:
		radial-gradient(circle at 80% 15%,
			rgba(35,104,180,.09),
			transparent 30%),
		#f1f3f5;
}

.puv-participate-form-grid{
	display:grid;
	grid-template-columns:.82fr 1.18fr;
	gap:clamp(55px,8vw,120px);
	align-items:start;
}

.puv-participate-form-copy{
	position:sticky;
	top:130px;
}

.puv-participate-form-copy h2{
	max-width:610px;
	margin:0 0 30px;
	color:var(--puv-navy);
	font-size:clamp(46px,5vw,72px);
	line-height:.97;
	letter-spacing:-.04em;
}

.puv-participate-form-copy p{
	max-width:510px;
	margin:0 0 18px;
	font-size:17px;
	line-height:1.7;
}

.puv-participate-form-card{
	position:relative;
	padding:clamp(34px,4vw,58px);
	background:rgba(255,255,255,.93);
	border:1px solid rgba(7,27,51,.10);
	box-shadow:0 24px 70px rgba(7,27,51,.10);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}


/* GRAVITY FORMS — INTEGRACION VISUAL */

.puv-participate-form-card .gform_wrapper{
	margin:0;
}

.puv-participate-form-card .gform_fields{
	row-gap:25px;
	column-gap:22px;
}

.puv-participate-form-card .gfield_label{
	margin-bottom:9px;
	color:var(--puv-navy);
	font-size:14px;
	font-weight:700;
	letter-spacing:.01em;
}

.puv-participate-form-card input[type="text"],
.puv-participate-form-card input[type="email"],
.puv-participate-form-card input[type="tel"],
.puv-participate-form-card input[type="url"],
.puv-participate-form-card input[type="number"],
.puv-participate-form-card select,
.puv-participate-form-card textarea{
	width:100%;
	min-height:54px;
	padding:13px 15px !important;
	color:var(--puv-navy);
	background:#fff;
	border:1px solid rgba(7,27,51,.18);
	border-radius:2px;
	box-shadow:none;
	font-family:var(--puv-font-body);
	font-size:16px;
	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		background .2s ease;
}

.puv-participate-form-card textarea{
	min-height:150px;
	resize:vertical;
}

.puv-participate-form-card input:focus,
.puv-participate-form-card select:focus,
.puv-participate-form-card textarea:focus{
	outline:none;
	border-color:var(--puv-blue);
	box-shadow:0 0 0 3px rgba(35,104,180,.11);
}

.puv-participate-form-card .gfield_description{
	color:rgba(7,27,51,.65);
	font-size:13px;
	line-height:1.55;
}


/* CONSENTIMIENTOS */

.puv-participate-form-card .gfield--type-consent{
	margin-top:4px;
	padding:18px 20px;
	background:rgba(7,27,51,.035);
	border-left:3px solid var(--puv-blue);
}

.puv-participate-form-card .gfield_consent_label{
	color:rgba(7,27,51,.78);
	font-size:13px;
	line-height:1.55;
}

.puv-participate-form-card input[type="checkbox"]{
	width:18px;
	height:18px;
	margin-right:9px;
	accent-color:var(--puv-blue);
}


/* VALIDACIONES */

.puv-participate-form-card .gfield_validation_message,
.puv-participate-form-card .validation_message{
	padding:8px 0 0;
	background:transparent;
	border:0;
	color:var(--puv-red);
	font-size:13px;
}

.puv-participate-form-card .gform_validation_errors{
	padding:18px 20px;
	background:rgba(190,20,35,.06);
	border:1px solid rgba(190,20,35,.20);
	border-radius:0;
	box-shadow:none;
}


/* BOTON FORMULARIO */

.puv-participate-form-card .gform_footer{
	margin-top:32px;
	padding:0;
}

.puv-participate-form-card .gform_button{
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	min-height:56px;
	padding:15px 28px !important;
	background:var(--puv-navy) !important;
	border:0 !important;
	border-radius:0 !important;
	color:#fff !important;
	font-family:var(--puv-font-body);
	font-size:14px !important;
	font-weight:700 !important;
	letter-spacing:.04em;
	cursor:pointer;
	transition:
		transform .2s ease,
		background .2s ease;
}

.puv-participate-form-card .gform_button:hover{
	background:var(--puv-red) !important;
	transform:translateY(-2px);
}


/* MENSAJE DE CONFIRMACION */

.puv-participate-form-card .gform_confirmation_message{
	padding:30px;
	background:#fff;
	border-top:4px solid var(--puv-yellow);
	color:var(--puv-navy);
	font-size:18px;
	line-height:1.7;
}


/* FUTURO ORGANIZATIVO */

.puv-participate-future{
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(circle at 84% 18%,
			rgba(255,255,255,.06),
			transparent 30%),
		linear-gradient(135deg,#071b33,#030d19);
	color:rgba(255,255,255,.80);
}

.puv-participate-future-grid{
	display:grid;
	grid-template-columns:.95fr 1.05fr;
	gap:clamp(65px,9vw,140px);
	align-items:start;
}

.puv-participate-future h2{
	max-width:690px;
	margin:0;
	color:#fff;
	font-size:clamp(48px,5.4vw,78px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-participate-future-grid > div:last-child{
	position:relative;
	padding-left:32px;
	border-left:1px solid rgba(255,255,255,.16);
}

.puv-participate-future-grid > div:last-child::before{
	content:"";
	position:absolute;
	top:0;
	left:-2px;
	width:3px;
	height:88px;
	background:var(--puv-yellow);
}

.puv-participate-future p{
	margin:0 0 24px;
	color:rgba(255,255,255,.80);
	font-size:18px;
	line-height:1.75;
}


/* CTA FINAL */

.puv-participate-final{
	position:relative;
	padding:clamp(90px,11vw,155px) 0;
	overflow:hidden;
	background:var(--puv-yellow);
}

.puv-participate-final::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(
		90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%);
}

.puv-participate-final-inner{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:clamp(60px,8vw,110px);
	align-items:center;
}

.puv-participate-final h2{
	max-width:820px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(50px,5.8vw,82px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-participate-final p{
	max-width:450px;
	color:var(--puv-navy);
	font-size:18px;
	line-height:1.7;
}

.puv-participate-final .puv-button{
	margin-top:20px;
}


/* ==================================================
   RESPONSIVE PARTICIPA
   ================================================== */

@media(max-width:980px){

	.puv-participate-intro-grid,
	.puv-participate-form-grid,
	.puv-participate-future-grid,
	.puv-participate-final-inner{
		grid-template-columns:1fr;
		gap:48px;
	}

	.puv-participate-form-copy{
		position:static;
	}

}

@media(max-width:600px){

	.puv-participate-hero{
		min-height:90svh;
		padding:135px 0 75px;
	}

	.puv-participate-hero-bg span{
		right:10px;
		bottom:8%;
		font-size:20vw;
		color:rgba(255,255,255,.07);
	}

	.puv-participate-hero h1{
		font-size:clamp(49px,14vw,66px);
	}

	.puv-participate-hero p{
		font-size:16px;
	}

	.puv-participate-hero .puv-button{
		width:100%;
	}

	.puv-participate-intro h2,
	.puv-participate-form-copy h2{
		font-size:clamp(39px,11vw,52px);
	}

	.puv-participate-intro-copy{
		padding-left:22px;
	}

	.puv-participate-intro-copy p{
		font-size:16px;
	}

	.puv-participate-option-grid{
		grid-template-columns:1fr;
	}

	.puv-participate-option{
		min-height:275px;
		padding:34px 28px;
	}

	.puv-participate-option > span{
		margin-bottom:48px;
	}

	.puv-participate-form-card{
		padding:26px 20px;
	}

	.puv-participate-form-card .gform_fields{
		row-gap:20px;
	}

	.puv-participate-form-card .gfield--type-consent{
		padding:16px;
	}

	.puv-participate-form-card .gform_button{
		width:100% !important;
	}

	.puv-participate-future h2{
		font-size:clamp(41px,11.5vw,54px);
	}

	.puv-participate-future-grid > div:last-child{
		padding-left:22px;
	}

	.puv-participate-future p{
		font-size:16px;
	}

	.puv-participate-final h2{
		font-size:clamp(41px,11.5vw,55px);
	}

	.puv-participate-final p{
		font-size:16px;
	}

	.puv-participate-final .puv-button{
		width:100%;
	}
}

/* ==================================================
   PUV — HISTORIA
   ================================================== */

.puv-history-page{
	background:#fff;
}


/* ==================================================
   HERO
   ================================================== */

.puv-history-hero{
	position:relative;
	display:flex;
	align-items:flex-end;
	min-height:82svh;
	padding:180px 0 105px;
	overflow:hidden;
	background:
		radial-gradient(
			circle at 80% 25%,
			rgba(35,104,180,.27),
			transparent 34%
		),
		linear-gradient(
			135deg,
			#071b33 0%,
			#030d19 100%
		);
	color:#fff;
}

.puv-history-hero::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(
		90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%
	);
}

.puv-history-hero-year{
	position:absolute;
	inset:0;
	pointer-events:none;
}

.puv-history-hero-year span{
	position:absolute;
	right:clamp(20px,4vw,75px);
	bottom:-3%;
	color:rgba(255,255,255,.075);
	font-family:var(--puv-font-display);
	font-size:clamp(190px,25vw,420px);
	font-weight:700;
	line-height:.82;
	letter-spacing:-.065em;
}

.puv-history-hero-inner{
	position:relative;
	z-index:2;
}

.puv-history-hero .puv-kicker{
	margin-bottom:22px;
	color:#6fb6ff;
}

.puv-history-hero h1{
	max-width:1100px;
	margin:0 0 30px;
	color:#fff;
	font-size:clamp(58px,7.4vw,108px);
	line-height:.9;
	letter-spacing:-.045em;
}

.puv-history-hero h1 span{
	color:var(--puv-yellow);
}

.puv-history-hero p{
	max-width:690px;
	margin:0 0 38px;
	color:rgba(255,255,255,.82);
	font-size:clamp(18px,1.45vw,21px);
	line-height:1.65;
}


/* ==================================================
   INTRO
   ================================================== */

.puv-history-intro{
	background:linear-gradient(180deg,#fff,#f7f8fa);
}

.puv-history-intro-grid{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:clamp(60px,9vw,140px);
	align-items:start;
}

.puv-history-intro h2{
	max-width:680px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(48px,5.2vw,76px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-history-intro-copy{
	position:relative;
	padding-left:32px;
	border-left:1px solid rgba(7,27,51,.15);
}

.puv-history-intro-copy::before{
	content:"";
	position:absolute;
	left:-2px;
	top:0;
	width:3px;
	height:84px;
	background:var(--puv-red);
}

.puv-history-intro-copy p{
	margin:0 0 24px;
	color:var(--puv-text);
	font-size:18px;
	line-height:1.8;
}


/* ==================================================
   TIMELINE
   ================================================== */

.puv-history-timeline{
	position:relative;
	background:#fff;
}

.puv-history-timeline-list{
	position:relative;
	margin-top:70px;
}

.puv-history-timeline-list::before{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:180px;
	width:1px;
	background:rgba(7,27,51,.16);
}

.puv-history-moment{
	position:relative;
	display:grid;
	grid-template-columns:180px 1fr;
	min-height:320px;
	padding:0 0 70px;
}

.puv-history-moment:last-child{
	padding-bottom:0;
}

.puv-history-date{
	position:relative;
	padding-right:45px;
	color:var(--puv-navy);
	font-family:var(--puv-font-display);
	font-size:clamp(42px,4vw,62px);
	font-weight:700;
	line-height:1;
	letter-spacing:-.04em;
}

.puv-history-date::after{
	content:"";
	position:absolute;
	top:16px;
	right:-7px;
	z-index:2;
	width:13px;
	height:13px;
	background:var(--puv-red);
	border:4px solid #fff;
	border-radius:50%;
	box-shadow:0 0 0 1px rgba(7,27,51,.12);
}

.puv-history-moment:nth-child(2) .puv-history-date::after{
	background:var(--puv-blue);
}

.puv-history-moment:nth-child(3) .puv-history-date::after{
	background:var(--puv-yellow);
}

.puv-history-moment:nth-child(4) .puv-history-date::after{
	background:var(--puv-red);
}

.puv-history-moment:nth-child(5) .puv-history-date::after{
	background:var(--puv-blue);
}

.puv-history-moment-content{
	max-width:780px;
	padding-left:65px;
}

.puv-history-moment-content > span{
	display:block;
	margin-bottom:15px;
	color:var(--puv-red);
	font-size:12px;
	font-weight:700;
	letter-spacing:.16em;
	text-transform:uppercase;
}

.puv-history-moment-content h3{
	max-width:720px;
	margin:0 0 20px;
	color:var(--puv-navy);
	font-size:clamp(30px,2.7vw,42px);
	line-height:1.05;
	letter-spacing:-.025em;
}

.puv-history-moment-content p{
	max-width:650px;
	margin:0 0 22px;
	font-size:17px;
	line-height:1.75;
}

.puv-history-moment-content a{
	color:var(--puv-navy);
	font-size:14px;
	font-weight:700;
	text-decoration:none;
	border-bottom:1px solid rgba(7,27,51,.28);
}

.puv-history-moment-content a:hover{
	color:var(--puv-red);
	border-color:var(--puv-red);
}

.puv-history-moment-future .puv-history-date{
	color:var(--puv-red);
}

.puv-history-moment-future .puv-history-date::after{
	background:var(--puv-red);
	box-shadow:
		0 0 0 1px rgba(7,27,51,.12),
		0 0 0 7px rgba(190,20,35,.08);
}

.puv-history-moment-future .puv-history-moment-content{
	padding-top:3px;
}


/* ==================================================
   PREGUNTAS QUE PERMANECEN
   ================================================== */

.puv-history-questions{
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(
			circle at 85% 20%,
			rgba(255,255,255,.06),
			transparent 30%
		),
		linear-gradient(
			135deg,
			#071b33,
			#030d19
		);
	color:rgba(255,255,255,.82);
}

.puv-history-questions::after{
	content:"?";
	position:absolute;
	right:2vw;
	bottom:-16%;
	color:rgba(255,255,255,.035);
	font-family:var(--puv-font-display);
	font-size:clamp(260px,35vw,560px);
	font-weight:700;
	line-height:1;
	pointer-events:none;
}

.puv-history-questions-grid{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:clamp(65px,9vw,140px);
}

.puv-history-questions h2{
	max-width:690px;
	margin:0;
	color:rgba(255,255,255,.97);
	font-size:clamp(48px,5.3vw,78px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-history-question-list > div{
	display:grid;
	grid-template-columns:58px 1fr;
	gap:22px;
	align-items:center;
	padding:25px 0;
	border-bottom:1px solid rgba(255,255,255,.14);
}

.puv-history-question-list strong{
	color:var(--puv-yellow);
	font-size:12px;
	letter-spacing:.16em;
}

.puv-history-question-list span{
	color:rgba(255,255,255,.96);
	font-size:clamp(19px,1.6vw,23px);
	line-height:1.4;
}


/* ==================================================
   ARCHIVO 1811
   ================================================== */

.puv-history-1811{
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(
			circle at 20% 30%,
			rgba(255,255,255,.32),
			transparent 32%
		),
		var(--puv-yellow);
}

.puv-history-1811::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(
		90deg,
		var(--puv-yellow) 0 33.33%,
		var(--puv-blue) 33.33% 66.66%,
		var(--puv-red) 66.66% 100%
	);
}

.puv-history-1811-grid{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:clamp(60px,8vw,120px);
	align-items:center;
}

.puv-history-1811-number{
	color:rgba(7,27,51,.09);
	font-family:var(--puv-font-display);
	font-size:clamp(150px,20vw,320px);
	font-weight:700;
	line-height:.75;
	letter-spacing:-.07em;
}

.puv-history-1811-content{
	position:relative;
	z-index:2;
}

.puv-history-1811-content h2{
	margin:0 0 25px;
	color:var(--puv-navy);
	font-size:clamp(55px,6.5vw,92px);
	line-height:.92;
	letter-spacing:-.045em;
}

.puv-history-1811-content p{
	max-width:590px;
	margin:0 0 34px;
	color:var(--puv-navy);
	font-size:18px;
	line-height:1.75;
}


/* ==================================================
   CTA FINAL
   ================================================== */

.puv-history-final{
	position:relative;
	padding:clamp(90px,11vw,155px) 0;
	background:#f1f2f3;
}

.puv-history-final-inner{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:clamp(60px,8vw,110px);
	align-items:center;
}

.puv-history-final h2{
	max-width:820px;
	margin:0;
	color:var(--puv-navy);
	font-size:clamp(50px,5.8vw,82px);
	line-height:.96;
	letter-spacing:-.04em;
}

.puv-history-final p{
	max-width:450px;
	color:var(--puv-text);
	font-size:18px;
	line-height:1.7;
}

.puv-history-final .puv-button{
	margin-top:20px;
}


/* ==================================================
   RESPONSIVE HISTORIA
   ================================================== */

@media(max-width:980px){

	.puv-history-intro-grid,
	.puv-history-questions-grid,
	.puv-history-1811-grid,
	.puv-history-final-inner{
		grid-template-columns:1fr;
		gap:48px;
	}

	.puv-history-timeline-list::before{
		left:135px;
	}

	.puv-history-moment{
		grid-template-columns:135px 1fr;
	}

	.puv-history-moment-content{
		padding-left:45px;
	}

	.puv-history-1811-number{
		font-size:clamp(140px,32vw,260px);
	}

}


@media(max-width:600px){

	.puv-history-hero{
		min-height:90svh;
		padding:135px 0 75px;
	}

	.puv-history-hero-year span{
		right:8px;
		bottom:6%;
		font-size:45vw;
		color:rgba(255,255,255,.065);
	}

	.puv-history-hero h1{
		font-size:clamp(45px,12.8vw,61px);
	}

	.puv-history-hero p{
		font-size:16px;
	}

	.puv-history-hero .puv-button{
		width:100%;
	}

	.puv-history-intro h2{
		font-size:clamp(39px,11vw,52px);
	}

	.puv-history-intro-copy{
		padding-left:22px;
	}

	.puv-history-intro-copy p{
		font-size:16px;
	}

	.puv-history-timeline-list{
		margin-top:50px;
	}

	.puv-history-timeline-list::before{
		left:25px;
	}

	.puv-history-moment{
		display:block;
		min-height:0;
		padding:0 0 70px 55px;
	}

	.puv-history-date{
		margin-bottom:18px;
		padding:0;
		font-size:40px;
	}

	.puv-history-date::after{
		top:11px;
		left:-36px;
		right:auto;
	}

	.puv-history-moment-content{
		padding-left:0;
	}

	.puv-history-moment-content h3{
		font-size:clamp(28px,8.5vw,38px);
	}

	.puv-history-moment-content p{
		font-size:16px;
	}

	.puv-history-questions h2{
		font-size:clamp(41px,11.5vw,54px);
	}

	.puv-history-question-list > div{
		grid-template-columns:44px 1fr;
		gap:14px;
	}

	.puv-history-1811-number{
		margin-bottom:5px;
		font-size:43vw;
	}

	.puv-history-1811-content h2{
		font-size:clamp(48px,14vw,65px);
	}

	.puv-history-1811-content p{
		font-size:16px;
	}

	.puv-history-1811-content .puv-button{
		width:100%;
	}

	.puv-history-final h2{
		font-size:clamp(41px,11.5vw,55px);
	}

	.puv-history-final p{
		font-size:16px;
	}

	.puv-history-final .puv-button{
		width:100%;
	}

}


/* ==========================================================
   PUV — REPÚBLICA 1811
   ========================================================== */

.puv-1811-page {
	overflow: hidden;
	background:
		linear-gradient(180deg, #f7f5ef 0%, #ffffff 34%, #f4f3ee 100%);
	color: var(--puv-text);
}


/* HERO
---------------------------------------------------------- */

.puv-1811-hero {
	position: relative;
	min-height: 82vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background:
		radial-gradient(circle at 75% 24%, rgba(255, 211, 0, .17), transparent 34%),
		radial-gradient(circle at 20% 80%, rgba(0, 76, 153, .25), transparent 40%),
		linear-gradient(135deg, #06101f 0%, #0a1d35 52%, #06101f 100%);
	color: #fff;
	isolation: isolate;
}

.puv-1811-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 46px 46px;
	-webkit-mask-image: linear-gradient(to bottom, #000, transparent 85%);
	mask-image: linear-gradient(to bottom, #000, transparent 85%);
	pointer-events: none;
}

.puv-1811-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 170px;
	background: linear-gradient(to bottom, transparent, rgba(0,0,0,.26));
	pointer-events: none;
}

.puv-1811-hero-year {
	position: absolute;
	inset: 50% auto auto 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	width: 100%;
	text-align: center;
	pointer-events: none;
}

.puv-1811-hero-year span {
	display: block;
	font-family: var(--puv-font-display);
	font-size: clamp(10rem, 30vw, 34rem);
	font-weight: 700;
	line-height: .72;
	letter-spacing: -.08em;
	color: rgba(255,255,255,.055);
	white-space: nowrap;
}

.puv-1811-hero-inner {
	position: relative;
	z-index: 2;
	padding-top: clamp(9rem, 14vw, 13rem);
	padding-bottom: clamp(7rem, 12vw, 11rem);
}

.puv-1811-hero h1 {
	max-width: 1050px;
	margin: 1rem 0 1.6rem;
	font-family: var(--puv-font-display);
	font-size: clamp(3.2rem, 7vw, 7rem);
	font-weight: 700;
	line-height: .94;
	letter-spacing: -.055em;
	color: #fff;
}

.puv-1811-hero h1 span {
	color: var(--puv-yellow);
}

.puv-1811-hero p {
	max-width: 760px;
	margin: 0 0 2.2rem;
	font-size: clamp(1.08rem, 1.5vw, 1.32rem);
	line-height: 1.68;
	color: rgba(255,255,255,.79);
}


/* INTRO
---------------------------------------------------------- */

.puv-1811-intro {
	position: relative;
	padding-top: clamp(6rem, 10vw, 10rem);
	padding-bottom: clamp(6rem, 10vw, 10rem);
}

.puv-1811-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: start;
}

.puv-1811-intro h2 {
	max-width: 680px;
	margin: .8rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.5rem, 4.5vw, 4.7rem);
	line-height: 1;
	letter-spacing: -.045em;
}

.puv-1811-intro-copy {
	padding-top: .4rem;
}

.puv-1811-intro-copy p {
	margin: 0 0 1.6rem;
	font-size: clamp(1.08rem, 1.45vw, 1.26rem);
	line-height: 1.78;
	color: rgba(15,26,40,.74);
}


/* PROVINCIAS
---------------------------------------------------------- */

.puv-1811-provinces {
	padding-top: clamp(5rem, 8vw, 8rem);
	padding-bottom: clamp(6rem, 10vw, 10rem);
	background:
		linear-gradient(180deg, rgba(235,232,222,.38), rgba(255,255,255,.8));
	border-top: 1px solid rgba(10,29,53,.07);
	border-bottom: 1px solid rgba(10,29,53,.07);
}

.puv-1811-province-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin-top: clamp(3rem, 5vw, 5rem);
}

.puv-1811-province-grid article {
	position: relative;
	min-height: 190px;
	padding: 1.6rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: rgba(255,255,255,.78);
	border: 1px solid rgba(10,29,53,.09);
	border-radius: 20px;
	box-shadow: 0 18px 50px rgba(4,15,30,.06);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.puv-1811-province-grid article:hover {
	transform: translateY(-5px);
	border-color: rgba(0,76,153,.22);
	box-shadow: 0 24px 60px rgba(4,15,30,.10);
}

.puv-1811-province-grid article span {
	font-family: var(--puv-font-body);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .15em;
	color: rgba(10,29,53,.38);
}

.puv-1811-province-grid article h3 {
	margin: 0;
	font-family: var(--puv-font-display);
	font-size: clamp(1.7rem, 2.3vw, 2.35rem);
	letter-spacing: -.035em;
}

.puv-1811-provinces-note {
	max-width: 860px;
	margin-top: 2.6rem;
	padding-left: 1.5rem;
	border-left: 3px solid var(--puv-yellow);
}

.puv-1811-provinces-note p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.72;
	color: rgba(15,26,40,.68);
}


/* CONSTITUCIÓN
---------------------------------------------------------- */

.puv-1811-constitution {
	padding-top: clamp(7rem, 11vw, 11rem);
	padding-bottom: clamp(7rem, 11vw, 11rem);
	background: radial-gradient(circle at 18% 20%, rgba(0,76,153,.23), transparent 34%),
		linear-gradient(130deg, #07111f 0%, #0b1c31 100%);
	color: #fff;
}

.puv-1811-constitution::after {
	content: "CONSTITUCIÓN";
	right: -1vw;
	bottom: -2vw;
	font-family: var(--puv-font-display);
	font-size: clamp(4rem, 11vw, 12rem);
	font-weight: 700;
	letter-spacing: -.06em;
	color: rgba(255,255,255,.025);
}

.puv-1811-constitution-grid {
	display: grid;
	grid-template-columns: minmax(220px, .55fr) minmax(0, 1.1fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: center;
}

.puv-1811-document-mark {
	font-family: var(--puv-font-display);
	font-size: clamp(4.5rem, 9vw, 9.5rem);
	font-weight: 700;
	line-height: .76;
	letter-spacing: -.06em;
	color: var(--puv-yellow);
	text-shadow: 0 20px 60px rgba(0,0,0,.25);
}

.puv-1811-constitution-content {
	z-index: 2;
}

.puv-1811-constitution h2 {
	max-width: 800px;
	margin: .8rem 0 2rem;
	font-family: var(--puv-font-display);
	font-size: clamp(2.7rem, 5vw, 5.1rem);
	line-height: .98;
	letter-spacing: -.045em;
	color: #fff;
}

.puv-1811-constitution p {
	max-width: 790px;
	margin: 0 0 1.35rem;
	font-size: clamp(1.03rem, 1.35vw, 1.22rem);
	line-height: 1.75;
	color: rgba(255,255,255,.72);
}


/* ARQUITECTURA
---------------------------------------------------------- */

.puv-1811-architecture {
	padding-top: clamp(7rem, 11vw, 11rem);
	padding-bottom: clamp(7rem, 11vw, 11rem);
	background: #fff;
}

.puv-1811-architecture-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: clamp(3rem, 5vw, 5rem);
}

.puv-1811-architecture-grid article {
	position: relative;
	padding: clamp(2rem, 3.5vw, 3.4rem);
	min-height: 270px;
	border-radius: 24px;
	background:
		linear-gradient(145deg, rgba(247,248,250,.96), rgba(236,240,244,.76));
	border: 1px solid rgba(10,29,53,.08);
	box-shadow: 0 24px 70px rgba(3,15,28,.055);
}

.puv-1811-architecture-grid article span {
	display: inline-flex;
	margin-bottom: 3rem;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .16em;
	color: var(--puv-blue);
}

.puv-1811-architecture-grid h3 {
	margin: 0 0 .8rem;
	font-family: var(--puv-font-display);
	font-size: clamp(2rem, 3vw, 3rem);
	letter-spacing: -.04em;
}

.puv-1811-architecture-grid p {
	max-width: 530px;
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(15,26,40,.66);
}


/* PERSPECTIVA
---------------------------------------------------------- */

.puv-1811-perspective {
	padding-top: clamp(7rem, 11vw, 11rem);
	padding-bottom: clamp(7rem, 11vw, 11rem);
	background:
		linear-gradient(135deg, #07101c 0%, #111d2c 100%);
	color: #fff;
}

.puv-1811-perspective-grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
	gap: clamp(4rem, 9vw, 9rem);
}

.puv-1811-perspective h2 {
	max-width: 650px;
	margin: .8rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.7rem, 5vw, 5rem);
	line-height: .98;
	letter-spacing: -.045em;
	color: #fff;
}

.puv-1811-perspective-list {
	border-top: 1px solid rgba(255,255,255,.14);
}

.puv-1811-perspective-list > div {
	display: grid;
	grid-template-columns: 55px 1fr;
	gap: 1rem;
	padding: 1.55rem 0;
	border-bottom: 1px solid rgba(255,255,255,.14);
}

.puv-1811-perspective-list strong {
	font-size: .75rem;
	letter-spacing: .12em;
	color: var(--puv-yellow);
}

.puv-1811-perspective-list span {
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.55;
	color: rgba(255,255,255,.77);
}


/* 1811 → HOY
---------------------------------------------------------- */

.puv-1811-today {
	position: relative;
	padding-top: clamp(7rem, 11vw, 11rem);
	padding-bottom: clamp(7rem, 11vw, 11rem);
	background:
		radial-gradient(circle at 82% 20%, rgba(255,255,255,.3), transparent 32%),
		var(--puv-yellow);
	color: #07111f;
}

.puv-1811-today-grid {
	display: grid;
	grid-template-columns: minmax(230px, .62fr) minmax(0, 1fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: center;
}

.puv-1811-today-number {
	font-family: var(--puv-font-display);
	font-size: clamp(4.3rem, 8.5vw, 8.5rem);
	font-weight: 700;
	line-height: .72;
	letter-spacing: -.06em;
	color: rgba(7,17,31,.94);
}

.puv-1811-today-number span {
	display: inline-block;
	margin: .14em 0;
	color: rgba(7,17,31,.3);
}

.puv-1811-today h2 {
	max-width: 780px;
	margin: .8rem 0 1.8rem;
	font-family: var(--puv-font-display);
	font-size: clamp(2.7rem, 5vw, 5rem);
	line-height: .98;
	letter-spacing: -.045em;
	color: #07111f;
}

.puv-1811-today p {
	max-width: 760px;
	margin: 0 0 1.25rem;
	font-size: clamp(1.03rem, 1.35vw, 1.2rem);
	line-height: 1.72;
	color: rgba(7,17,31,.74);
}

.puv-1811-today .puv-button {
	margin-top: 1rem;
}


/* DOCUMENTOS
---------------------------------------------------------- */

.puv-1811-documents {
	padding-top: clamp(6rem, 9vw, 9rem);
	padding-bottom: clamp(6rem, 9vw, 9rem);
	background: #fff;
}

.puv-1811-documents-inner {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: end;
}

.puv-1811-documents h2 {
	margin: .8rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(3rem, 5vw, 5.2rem);
	line-height: .94;
	letter-spacing: -.05em;
}

.puv-1811-documents p {
	max-width: 620px;
	margin: 0 0 1.7rem;
	font-size: clamp(1.03rem, 1.35vw, 1.2rem);
	line-height: 1.72;
	color: rgba(15,26,40,.68);
}


/* FINAL
---------------------------------------------------------- */

.puv-1811-final {
	position: relative;
	padding-top: clamp(5.5rem, 8vw, 8rem);
	padding-bottom: clamp(5.5rem, 8vw, 8rem);
	background:
		linear-gradient(120deg, #f0c900 0%, var(--puv-yellow) 48%, #ffe568 100%);
	color: #07111f;
}

.puv-1811-final-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .75fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
}

.puv-1811-final h2 {
	max-width: 800px;
	margin: .8rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.8rem, 5vw, 5.1rem);
	line-height: .95;
	letter-spacing: -.045em;
	color: #07111f;
}

.puv-1811-final p {
	max-width: 570px;
	margin: 0 0 1.7rem;
	font-size: clamp(1.03rem, 1.35vw, 1.18rem);
	line-height: 1.7;
	color: rgba(7,17,31,.74);
}


/* KICKERS EN FONDO OSCURO
---------------------------------------------------------- */

.puv-1811-page .puv-kicker-light {
	color: #6fb6ff;
}


/* RESPONSIVE
---------------------------------------------------------- */

@media (max-width: 1050px) {

	.puv-1811-province-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.puv-1811-constitution-grid,
	.puv-1811-today-grid {
		grid-template-columns: minmax(180px, .5fr) minmax(0, 1fr);
	}

}


@media (max-width: 820px) {

	.puv-1811-hero {
		min-height: auto;
	}

	.puv-1811-hero-inner {
		padding-top: 9rem;
		padding-bottom: 7rem;
	}

	.puv-1811-hero-year span {
		font-size: clamp(9rem, 42vw, 18rem);
		color: rgba(255,255,255,.045);
	}

	.puv-1811-intro-grid,
	.puv-1811-constitution-grid,
	.puv-1811-perspective-grid,
	.puv-1811-today-grid,
	.puv-1811-documents-inner,
	.puv-1811-final-inner {
		grid-template-columns: 1fr;
	}

	.puv-1811-constitution-grid,
	.puv-1811-today-grid {
		gap: 3.5rem;
	}

	.puv-1811-document-mark {
		font-size: clamp(4rem, 19vw, 7rem);
	}

	.puv-1811-architecture-grid {
		grid-template-columns: 1fr;
	}

	.puv-1811-perspective-grid {
		gap: 3.5rem;
	}

	.puv-1811-documents-inner,
	.puv-1811-final-inner {
		align-items: start;
	}

}


@media (max-width: 560px) {

	.puv-1811-hero h1 {
		font-size: clamp(2.9rem, 14vw, 4.6rem);
	}

	.puv-1811-province-grid {
		grid-template-columns: 1fr;
	}

	.puv-1811-province-grid article {
		min-height: 155px;
	}

	.puv-1811-architecture-grid article {
		min-height: auto;
		padding: 1.7rem;
	}

	.puv-1811-architecture-grid article span {
		margin-bottom: 2rem;
	}

	.puv-1811-perspective-list > div {
		grid-template-columns: 42px 1fr;
	}

	.puv-1811-today-number {
		font-size: clamp(4rem, 20vw, 6.2rem);
	}

}



/* ==========================================================
   PUV — FIX VISIBILIDAD REPÚBLICA 1811
   ========================================================== */

body.page-id-14 main.puv-1811-page {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	height: auto !important;
	min-height: 100vh !important;
}

body.page-id-14 main.puv-1811-page > section {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	height: auto !important;
}

body.page-id-14 .puv-1811-hero {
	display: flex !important;
	min-height: 82vh !important;
	visibility: visible !important;
	opacity: 1 !important;
}



/* ==========================================================
   PUV — PUENTE HISTÓRICO 7-8-8
   ========================================================== */

.puv-1811-bridge {
	position: relative;
	padding-top: clamp(6rem, 10vw, 10rem);
	padding-bottom: clamp(6rem, 10vw, 10rem);
	overflow: hidden;
	background:
		radial-gradient(
			circle at 82% 15%,
			rgba(0,76,153,.09),
			transparent 34%
		),
		linear-gradient(
			180deg,
			#f8f7f2 0%,
			#ffffff 100%
		);
}

.puv-1811-bridge::before {
	content: "7  →  8  →  8";
	position: absolute;
	right: -1vw;
	top: 0;
	font-family: var(--puv-font-display);
	font-size: clamp(5rem, 13vw, 14rem);
	font-weight: 700;
	line-height: .8;
	letter-spacing: -.06em;
	color: rgba(7,27,51,.025);
	white-space: nowrap;
	pointer-events: none;
}

.puv-1811-bridge > .puv-shell {
	position: relative;
	z-index: 2;
}

.puv-1811-bridge-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: clamp(2.8rem, 5vw, 4.8rem);
}

.puv-1811-bridge-grid article {
	position: relative;
	min-height: 390px;
	padding: clamp(1.8rem, 3vw, 2.8rem);
	display: flex;
	flex-direction: column;
	border-radius: 24px;
	background:
		linear-gradient(
			145deg,
			rgba(255,255,255,.94),
			rgba(240,243,246,.86)
		);
	border: 1px solid rgba(7,27,51,.09);
	box-shadow:
		0 25px 70px rgba(5,18,32,.07),
		inset 0 1px 0 rgba(255,255,255,.9);
	overflow: hidden;
}

.puv-1811-bridge-grid article::after {
	content: "→";
	position: absolute;
	top: 50%;
	right: -23px;
	z-index: 4;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: translateY(-50%);
	border-radius: 50%;
	background: var(--puv-yellow);
	color: #07111f;
	font-size: 1.4rem;
	font-weight: 800;
	box-shadow: 0 12px 30px rgba(5,18,32,.16);
}

.puv-1811-bridge-grid article:last-child::after {
	display: none;
}

.puv-1811-bridge-grid article strong {
	display: block;
	margin-bottom: 1.8rem;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: var(--puv-blue);
}

.puv-1811-bridge-grid article span {
	display: block;
	margin-bottom: 1.6rem;
	font-family: var(--puv-font-display);
	font-size: clamp(6rem, 10vw, 9rem);
	font-weight: 700;
	line-height: .7;
	letter-spacing: -.07em;
	color: #071b33;
}

.puv-1811-bridge-grid article:nth-child(2) span {
	color: var(--puv-blue);
}

.puv-1811-bridge-grid article:nth-child(3) {
	background:
		radial-gradient(
			circle at 85% 12%,
			rgba(255,211,0,.22),
			transparent 35%
		),
		linear-gradient(
			145deg,
			#071b33 0%,
			#0c294c 100%
		);
	border-color: rgba(255,255,255,.08);
	box-shadow: 0 28px 80px rgba(5,18,32,.17);
}

.puv-1811-bridge-grid article:nth-child(3) strong {
	color: #6fb6ff;
}

.puv-1811-bridge-grid article:nth-child(3) span {
	color: var(--puv-yellow);
}

.puv-1811-bridge-grid h3 {
	margin: auto 0 .9rem;
	font-family: var(--puv-font-display);
	font-size: clamp(1.7rem, 2.5vw, 2.55rem);
	line-height: 1;
	letter-spacing: -.035em;
	color: #071b33;
}

.puv-1811-bridge-grid article:nth-child(3) h3 {
	color: #fff;
}

.puv-1811-bridge-grid p {
	margin: 0;
	font-size: .98rem;
	line-height: 1.68;
	color: rgba(15,26,40,.67);
}

.puv-1811-bridge-grid article:nth-child(3) p {
	color: rgba(255,255,255,.72);
}

.puv-1811-bridge-note {
	max-width: 900px;
	margin-top: clamp(2.5rem, 5vw, 4.5rem);
	padding: 1.7rem 0 1.7rem 1.6rem;
	border-left: 4px solid var(--puv-yellow);
}

.puv-1811-bridge-note p {
	margin: 0;
	font-size: clamp(1rem, 1.35vw, 1.18rem);
	line-height: 1.75;
	color: rgba(15,26,40,.7);
}


/* RESPONSIVE PUENTE 7-8-8 */

@media (max-width: 900px) {

	.puv-1811-bridge-grid {
		grid-template-columns: 1fr;
		gap: 1.4rem;
	}

	.puv-1811-bridge-grid article {
		min-height: 310px;
	}

	.puv-1811-bridge-grid article::after {
		top: auto;
		right: 50%;
		bottom: -34px;
		transform: translateX(50%) rotate(90deg);
	}

	.puv-1811-bridge-grid article span {
		font-size: clamp(5.5rem, 20vw, 8rem);
	}

}


@media (max-width: 560px) {

	.puv-1811-bridge {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}

	.puv-1811-bridge::before {
		font-size: 6rem;
	}

	.puv-1811-bridge-grid article {
		min-height: 280px;
		padding: 1.7rem;
		border-radius: 20px;
	}

	.puv-1811-bridge-note {
		padding-left: 1.2rem;
	}

}



/* ==========================================================
   PUV — DOCUMENTOS
   ========================================================== */

.puv-documents-page {
	overflow: hidden;
	background: #f7f7f4;
	color: var(--puv-text);
}


/* HERO */

.puv-documents-hero {
	position: relative;
	min-height: 76vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 20%, rgba(255,211,0,.16), transparent 32%),
		radial-gradient(circle at 18% 82%, rgba(0,76,153,.28), transparent 38%),
		linear-gradient(135deg, #06101f 0%, #0a203c 100%);
	color: #fff;
}

.puv-documents-hero::before {
	content: "ARCHIVO";
	position: absolute;
	right: -2vw;
	bottom: -2vw;
	font-family: var(--puv-font-display);
	font-size: clamp(7rem, 20vw, 22rem);
	font-weight: 700;
	line-height: .72;
	letter-spacing: -.07em;
	color: rgba(255,255,255,.035);
	pointer-events: none;
}

.puv-documents-hero-inner {
	position: relative;
	z-index: 2;
	padding-top: clamp(9rem, 14vw, 13rem);
	padding-bottom: clamp(7rem, 11vw, 10rem);
}

.puv-documents-hero h1 {
	max-width: 1050px;
	margin: .9rem 0 1.7rem;
	font-family: var(--puv-font-display);
	font-size: clamp(3.2rem, 7vw, 7rem);
	font-weight: 700;
	line-height: .94;
	letter-spacing: -.055em;
	color: #fff;
}

.puv-documents-hero h1 span {
	color: var(--puv-yellow);
}

.puv-documents-hero p {
	max-width: 740px;
	margin: 0 0 2.2rem;
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	line-height: 1.7;
	color: rgba(255,255,255,.78);
}


/* INTRO */

.puv-documents-intro {
	background: #fff;
}

.puv-documents-intro-grid {
	display: grid;
	grid-template-columns: .95fr 1fr;
	gap: clamp(3rem, 8vw, 8rem);
	align-items: start;
}

.puv-documents-intro h2 {
	max-width: 680px;
	margin: .7rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.6rem, 4.8vw, 4.8rem);
	line-height: .98;
	letter-spacing: -.045em;
}

.puv-documents-intro-grid > div:last-child p {
	margin: 0 0 1.5rem;
	font-size: clamp(1.05rem, 1.4vw, 1.22rem);
	line-height: 1.75;
	color: rgba(15,26,40,.7);
}


/* DOCUMENTOS FUNDAMENTALES */

.puv-documents-foundation {
	background:
		linear-gradient(180deg, #f2f3f2 0%, #fafafa 100%);
	border-top: 1px solid rgba(7,27,51,.07);
}

.puv-documents-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: clamp(3rem, 5vw, 5rem);
}

.puv-document-card {
	position: relative;
	min-height: 360px;
	padding: clamp(2rem, 3.5vw, 3.2rem);
	display: flex;
	flex-direction: column;
	border-radius: 24px;
	background: rgba(255,255,255,.86);
	border: 1px solid rgba(7,27,51,.09);
	box-shadow: 0 22px 65px rgba(4,15,30,.065);
}

.puv-document-card-featured {
	background:
		radial-gradient(circle at 90% 5%, rgba(255,211,0,.2), transparent 35%),
		linear-gradient(145deg, #071b33, #0b294b);
	color: #fff;
}

.puv-document-number {
	display: block;
	margin-bottom: 1.2rem;
	font-family: var(--puv-font-display);
	font-size: clamp(3.5rem, 6vw, 6rem);
	font-weight: 700;
	line-height: .8;
	letter-spacing: -.06em;
	color: rgba(7,27,51,.13);
}

.puv-document-card-featured .puv-document-number {
	color: var(--puv-yellow);
}

.puv-document-card small {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--puv-blue);
}

.puv-document-card-featured small {
	color: #6fb6ff;
}

.puv-document-card h3 {
	margin: 1.5rem 0 1rem;
	font-family: var(--puv-font-display);
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1;
	letter-spacing: -.04em;
}

.puv-document-card-featured h3 {
	color: #fff;
}

.puv-document-card p {
	margin: 0 0 1.4rem;
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(15,26,40,.66);
}

.puv-document-card-featured p {
	color: rgba(255,255,255,.72);
}

.puv-document-author {
	margin-bottom: 1.2rem;
	font-size: .83rem;
	font-weight: 700;
	color: var(--puv-blue);
}

.puv-document-status {
	margin-top: auto;
	padding-top: 1.2rem;
	border-top: 1px solid rgba(7,27,51,.1);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(7,27,51,.48);
}

.puv-document-card-featured .puv-document-status {
	border-color: rgba(255,255,255,.14);
	color: rgba(255,255,255,.58);
}


/* JERARQUÍA */

.puv-documents-hierarchy {
	background:
		radial-gradient(circle at 15% 25%, rgba(0,76,153,.25), transparent 35%),
		linear-gradient(135deg, #06101f 0%, #0c213b 100%);
	color: #fff;
}

.puv-documents-hierarchy-grid {
	display: grid;
	grid-template-columns: .9fr 1fr;
	gap: clamp(4rem, 9vw, 9rem);
}

.puv-documents-hierarchy h2 {
	margin: .8rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.7rem, 5vw, 5rem);
	line-height: .96;
	letter-spacing: -.045em;
	color: #fff;
}

.puv-documents-hierarchy-list {
	border-top: 1px solid rgba(255,255,255,.14);
}

.puv-documents-hierarchy-list > div {
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 1rem;
	padding: 1.65rem 0;
	border-bottom: 1px solid rgba(255,255,255,.14);
}

.puv-documents-hierarchy-list strong {
	color: var(--puv-yellow);
	font-size: .78rem;
	letter-spacing: .12em;
}

.puv-documents-hierarchy-list span {
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	color: rgba(255,255,255,.8);
}


/* ARCHIVO HISTÓRICO */

.puv-documents-history {
	background: #fff;
}

.puv-documents-history-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 1.2rem;
	margin-top: clamp(3rem, 5vw, 5rem);
}

.puv-documents-history-grid article {
	min-height: 300px;
	padding: 2rem;
	border-radius: 22px;
	background: #f5f5f2;
	border: 1px solid rgba(7,27,51,.08);
}

.puv-documents-history-grid article > span {
	display: block;
	margin-bottom: 3rem;
	font-family: var(--puv-font-display);
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--puv-blue);
}

.puv-documents-history-grid h3 {
	margin: 0 0 .9rem;
	font-family: var(--puv-font-display);
	font-size: clamp(1.8rem, 2.5vw, 2.6rem);
	letter-spacing: -.035em;
}

.puv-documents-history-grid p {
	line-height: 1.7;
	color: rgba(15,26,40,.66);
}

.puv-documents-history-grid small {
	display: block;
	margin-top: 1.4rem;
	font-weight: 700;
	color: rgba(7,27,51,.42);
}


/* CRITERIO EDITORIAL */

.puv-documents-criteria {
	background: #f2f3f1;
}

.puv-documents-criteria-grid {
	display: grid;
	grid-template-columns: .9fr 1fr;
	gap: clamp(4rem, 9vw, 9rem);
}

.puv-documents-criteria h2 {
	margin: .7rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.5rem, 4.5vw, 4.5rem);
	line-height: .98;
	letter-spacing: -.045em;
}

.puv-documents-criteria-list {
	border-top: 1px solid rgba(7,27,51,.14);
}

.puv-documents-criteria-list > div {
	padding: 1.35rem 0;
	border-bottom: 1px solid rgba(7,27,51,.14);
}

.puv-documents-criteria-list strong {
	display: block;
	margin-bottom: .35rem;
	color: var(--puv-blue);
}

.puv-documents-criteria-list span {
	color: rgba(15,26,40,.68);
}


/* FINAL */

.puv-documents-final {
	padding: clamp(5rem, 8vw, 8rem) 0;
	background:
		linear-gradient(120deg, #f0c900 0%, var(--puv-yellow) 50%, #ffe568 100%);
	color: #07111f;
}

.puv-documents-final-inner {
	display: grid;
	grid-template-columns: 1fr .8fr;
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
}

.puv-documents-final h2 {
	margin: .7rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.7rem, 5vw, 5rem);
	line-height: .96;
	letter-spacing: -.045em;
}

.puv-documents-final p {
	margin: 0 0 1.7rem;
	font-size: clamp(1.03rem, 1.35vw, 1.18rem);
	line-height: 1.7;
	color: rgba(7,17,31,.72);
}


/* RESPONSIVE */

@media (max-width: 820px) {

	.puv-documents-intro-grid,
	.puv-documents-hierarchy-grid,
	.puv-documents-criteria-grid,
	.puv-documents-final-inner {
		grid-template-columns: 1fr;
	}

	.puv-documents-grid {
		grid-template-columns: 1fr;
	}

	.puv-documents-history-grid {
		grid-template-columns: 1fr;
	}

	.puv-document-card {
		min-height: 310px;
	}

}

@media (max-width: 560px) {

	.puv-documents-hero {
		min-height: auto;
	}

	.puv-documents-hero-inner {
		padding-top: 9rem;
		padding-bottom: 6rem;
	}

	.puv-documents-hero h1 {
		font-size: clamp(3rem, 14vw, 4.6rem);
	}

	.puv-document-card {
		min-height: auto;
		padding: 1.7rem;
		border-radius: 20px;
	}

}



/* ==========================================================
   PUV — ACTUALIDAD
   ========================================================== */

.puv-news-page {
	overflow: hidden;
	background: #f6f7f7;
	color: var(--puv-text);
}


/* HERO */

.puv-news-hero {
	position: relative;
	min-height: 78vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 22%, rgba(255,211,0,.15), transparent 32%),
		radial-gradient(circle at 15% 80%, rgba(0,76,153,.30), transparent 38%),
		linear-gradient(135deg, #06101f 0%, #0b2748 100%);
	color: #fff;
}

.puv-news-hero::after {
	content: "ACTUALIDAD";
	position: absolute;
	right: -3vw;
	bottom: -1vw;
	font-family: var(--puv-font-display);
	font-weight: 700;
	font-size: clamp(6rem, 17vw, 19rem);
	line-height: .72;
	letter-spacing: -.07em;
	color: rgba(255,255,255,.035);
	pointer-events: none;
}

.puv-news-hero-inner {
	position: relative;
	z-index: 2;
	padding-top: clamp(9rem, 14vw, 13rem);
	padding-bottom: clamp(7rem, 11vw, 10rem);
}

.puv-news-hero h1 {
	max-width: 1050px;
	margin: .9rem 0 1.7rem;
	font-family: var(--puv-font-display);
	font-size: clamp(3.3rem, 7vw, 7rem);
	font-weight: 700;
	line-height: .94;
	letter-spacing: -.055em;
	color: #fff;
}

.puv-news-hero h1 span {
	color: var(--puv-yellow);
}

.puv-news-hero p {
	max-width: 760px;
	margin: 0 0 2rem;
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	line-height: 1.72;
	color: rgba(255,255,255,.78);
}


/* INTRO */

.puv-news-intro {
	background: #fff;
}

.puv-news-intro-grid {
	display: grid;
	grid-template-columns: .95fr 1fr;
	gap: clamp(3rem, 8vw, 8rem);
	align-items: start;
}

.puv-news-intro h2 {
	margin: .7rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.7rem, 4.8vw, 4.8rem);
	line-height: .97;
	letter-spacing: -.045em;
}

.puv-news-intro-grid > div:last-child p {
	margin: 0 0 1.4rem;
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.75;
	color: rgba(15,26,40,.69);
}


/* PUBLICACIONES */

.puv-news-publications {
	background: #f4f5f4;
}

.puv-news-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 1.4rem;
	margin-top: clamp(3rem, 5vw, 5rem);
}

.puv-news-card {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	border-radius: 24px;
	background: #fff;
	border: 1px solid rgba(7,27,51,.08);
	box-shadow: 0 20px 60px rgba(5,18,35,.06);
}

.puv-news-card-media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #dfe4e8;
}

.puv-news-card-media img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform .5s ease;
}

.puv-news-card:hover .puv-news-card-media img {
	transform: scale(1.035);
}

.puv-news-card-content {
	padding: clamp(1.8rem, 3vw, 2.7rem);
}

.puv-news-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem 1.2rem;
	margin-bottom: 1.15rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--puv-blue);
}

.puv-news-card h3 {
	margin: 0 0 1rem;
	font-family: var(--puv-font-display);
	font-size: clamp(1.9rem, 2.8vw, 3rem);
	line-height: 1.02;
	letter-spacing: -.04em;
}

.puv-news-card h3 a {
	color: inherit;
	text-decoration: none;
}

.puv-news-card-excerpt {
	color: rgba(15,26,40,.66);
	line-height: 1.7;
}

.puv-news-read {
	display: inline-block;
	margin-top: 1.2rem;
	font-weight: 700;
	text-decoration: none;
	color: var(--puv-blue);
}

.puv-news-card-featured {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	background:
		radial-gradient(circle at 95% 5%, rgba(255,211,0,.18), transparent 35%),
		linear-gradient(140deg, #07182d, #0c2c50);
	color: #fff;
}

.puv-news-card-featured .puv-news-card-media {
	aspect-ratio: auto;
	min-height: 430px;
}

.puv-news-card-featured .puv-news-card-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2.5rem, 5vw, 5rem);
}

.puv-news-card-featured h3 {
	color: #fff;
}

.puv-news-card-featured .puv-news-card-excerpt {
	color: rgba(255,255,255,.72);
}

.puv-news-card-featured .puv-news-read {
	color: var(--puv-yellow);
}


/* SIN PUBLICACIONES */

.puv-news-empty {
	margin-top: clamp(3rem, 5vw, 5rem);
	padding: clamp(3rem, 6vw, 6rem);
	border-radius: 28px;
	background:
		radial-gradient(circle at 85% 15%, rgba(255,211,0,.16), transparent 30%),
		linear-gradient(140deg, #07182d, #0b2a4c);
	color: #fff;
}

.puv-news-empty > span {
	display: block;
	margin-bottom: 1.2rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	color: #6fb6ff;
}

.puv-news-empty h3 {
	max-width: 760px;
	margin: 0 0 1.2rem;
	font-family: var(--puv-font-display);
	font-size: clamp(2.4rem, 4.6vw, 4.8rem);
	line-height: .98;
	letter-spacing: -.045em;
	color: #fff;
}

.puv-news-empty p {
	max-width: 650px;
	margin: 0;
	font-size: 1.08rem;
	line-height: 1.7;
	color: rgba(255,255,255,.70);
}


/* LÍNEAS EDITORIALES */

.puv-news-pillars {
	background: #fff;
}

.puv-news-pillars-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 1rem;
	margin-top: clamp(3rem, 5vw, 5rem);
}

.puv-news-pillars-grid article {
	min-height: 280px;
	padding: 2rem;
	border-radius: 22px;
	background: #f3f4f3;
	border: 1px solid rgba(7,27,51,.07);
}

.puv-news-pillars-grid article > span {
	display: block;
	margin-bottom: 3rem;
	font-family: var(--puv-font-display);
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--puv-blue);
}

.puv-news-pillars-grid h3 {
	margin: 0 0 .8rem;
	font-family: var(--puv-font-display);
	font-size: clamp(1.6rem, 2vw, 2.2rem);
	letter-spacing: -.035em;
}

.puv-news-pillars-grid p {
	margin: 0;
	line-height: 1.68;
	color: rgba(15,26,40,.66);
}


/* FINAL */

.puv-news-final {
	padding: clamp(5rem, 8vw, 8rem) 0;
	background:
		linear-gradient(120deg, #f0c900 0%, var(--puv-yellow) 50%, #ffe56b 100%);
}

.puv-news-final-inner {
	display: grid;
	grid-template-columns: 1fr .78fr;
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
}

.puv-news-final h2 {
	margin: .7rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.7rem, 5vw, 5rem);
	line-height: .96;
	letter-spacing: -.045em;
	color: #07111f;
}

.puv-news-final p {
	margin: 0 0 1.7rem;
	font-size: clamp(1.03rem, 1.35vw, 1.18rem);
	line-height: 1.7;
	color: rgba(7,17,31,.72);
}


/* RESPONSIVE */

@media (max-width: 900px) {

	.puv-news-intro-grid,
	.puv-news-final-inner {
		grid-template-columns: 1fr;
	}

	.puv-news-pillars-grid {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}

	.puv-news-card-featured {
		grid-template-columns: 1fr;
	}

	.puv-news-card-featured .puv-news-card-media {
		min-height: 320px;
	}
}

@media (max-width: 680px) {

	.puv-news-grid {
		grid-template-columns: 1fr;
	}

	.puv-news-pillars-grid {
		grid-template-columns: 1fr;
	}

	.puv-news-card-featured {
		grid-column: auto;
	}

	.puv-news-hero {
		min-height: auto;
	}

	.puv-news-hero-inner {
		padding-top: 9rem;
		padding-bottom: 6rem;
	}

	.puv-news-hero h1 {
		font-size: clamp(3rem, 14vw, 4.8rem);
	}
}



/* ==========================================================
   PUV — VIDEOS
   ========================================================== */

.puv-videos-page {
	overflow: hidden;
	background: #f6f7f6;
	color: var(--puv-text);
}


/* HERO */

.puv-videos-hero {
	position: relative;
	min-height: 78vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 18%, rgba(255,211,0,.16), transparent 32%),
		radial-gradient(circle at 12% 85%, rgba(0,76,153,.30), transparent 38%),
		linear-gradient(135deg, #06101f 0%, #0a2849 100%);
	color: #fff;
}

.puv-videos-hero::after {
	content: "VIDEO";
	position: absolute;
	right: -2vw;
	bottom: -2vw;
	font-family: var(--puv-font-display);
	font-size: clamp(8rem, 22vw, 24rem);
	font-weight: 700;
	line-height: .72;
	letter-spacing: -.07em;
	color: rgba(255,255,255,.035);
	pointer-events: none;
}

.puv-videos-hero-inner {
	position: relative;
	z-index: 2;
	padding-top: clamp(9rem,14vw,13rem);
	padding-bottom: clamp(7rem,11vw,10rem);
}

.puv-videos-hero h1 {
	max-width: 1050px;
	margin: .9rem 0 1.7rem;
	font-family: var(--puv-font-display);
	font-size: clamp(3.3rem,7vw,7rem);
	font-weight: 700;
	line-height: .94;
	letter-spacing: -.055em;
	color: #fff;
}

.puv-videos-hero h1 span {
	color: var(--puv-yellow);
}

.puv-videos-hero p {
	max-width: 760px;
	margin: 0 0 2.2rem;
	font-size: clamp(1.05rem,1.5vw,1.3rem);
	line-height: 1.72;
	color: rgba(255,255,255,.78);
}


/* INTRO */

.puv-videos-intro {
	background: #fff;
}

.puv-videos-intro-grid {
	display: grid;
	grid-template-columns: .95fr 1fr;
	gap: clamp(3rem,8vw,8rem);
	align-items: start;
}

.puv-videos-intro h2 {
	margin: .7rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.7rem,4.8vw,4.8rem);
	line-height: .97;
	letter-spacing: -.045em;
}

.puv-videos-intro-grid > div:last-child p {
	margin: 0 0 1.4rem;
	font-size: clamp(1.05rem,1.4vw,1.2rem);
	line-height: 1.75;
	color: rgba(15,26,40,.69);
}


/* VIDEO DESTACADO */

.puv-videos-featured {
	background:
		radial-gradient(circle at 90% 12%, rgba(255,211,0,.10), transparent 28%),
		linear-gradient(135deg,#06101f,#0b2848);
	color: #fff;
}

.puv-videos-featured-grid {
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	gap: clamp(2.5rem,6vw,6rem);
	align-items: center;
	margin-top: 2.5rem;
}

.puv-video-placeholder {
	position: relative;
	aspect-ratio: 16 / 9;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 26px;
	background:
		linear-gradient(rgba(6,16,31,.25),rgba(6,16,31,.65)),
		radial-gradient(circle at 70% 30%,rgba(111,182,255,.30),transparent 40%),
		#102b48;
	border: 1px solid rgba(255,255,255,.12);
	box-shadow: 0 30px 90px rgba(0,0,0,.25);
}

.puv-video-placeholder::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg,transparent 30%,rgba(255,255,255,.05));
	pointer-events: none;
}

.puv-video-play {
	position: relative;
	z-index: 2;
	width: 92px;
	height: 92px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--puv-yellow);
	box-shadow: 0 15px 50px rgba(255,211,0,.20);
	color: #07111f;
}

.puv-video-play span {
	margin-left: 6px;
	font-size: 1.8rem;
}

.puv-video-placeholder-label {
	position: absolute;
	left: 1.7rem;
	bottom: 1.5rem;
	z-index: 2;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .15em;
	color: rgba(255,255,255,.62);
}

.puv-video-type {
	display: block;
	margin-bottom: 1.1rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #6fb6ff;
}

.puv-videos-featured-copy h2 {
	margin: 0 0 1.4rem;
	font-family: var(--puv-font-display);
	font-size: clamp(2.5rem,4.4vw,4.7rem);
	line-height: .98;
	letter-spacing: -.045em;
	color: #fff;
}

.puv-videos-featured-copy p {
	font-size: 1.08rem;
	line-height: 1.75;
	color: rgba(255,255,255,.72);
}

.puv-video-status {
	margin-top: 2rem;
	padding-top: 1.2rem;
	border-top: 1px solid rgba(255,255,255,.14);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .13em;
	color: var(--puv-yellow);
}


/* BIBLIOTECA */

.puv-videos-library {
	background: #f5f6f5;
}

.puv-videos-grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 1.2rem;
	margin-top: clamp(3rem,5vw,5rem);
}

.puv-videos-grid article {
	min-height: 330px;
	display: flex;
	flex-direction: column;
	padding: 2rem;
	border-radius: 22px;
	background: #fff;
	border: 1px solid rgba(7,27,51,.08);
	box-shadow: 0 18px 55px rgba(5,18,35,.045);
}

.puv-videos-grid article > span {
	margin-bottom: 2.5rem;
	font-family: var(--puv-font-display);
	font-size: 2.6rem;
	color: rgba(7,60,110,.35);
}

.puv-videos-grid small {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--puv-blue);
}

.puv-videos-grid h3 {
	margin: .9rem 0 1rem;
	font-family: var(--puv-font-display);
	font-size: clamp(1.8rem,2.4vw,2.5rem);
	line-height: 1.02;
	letter-spacing: -.035em;
}

.puv-videos-grid p {
	margin: 0 0 1.5rem;
	line-height: 1.7;
	color: rgba(15,26,40,.65);
}

.puv-videos-grid strong {
	margin-top: auto;
	padding-top: 1.1rem;
	border-top: 1px solid rgba(7,27,51,.10);
	font-size: .69rem;
	letter-spacing: .12em;
	color: rgba(7,27,51,.42);
}


/* FUNCIÓN PÚBLICA */

.puv-videos-purpose {
	background:
		radial-gradient(circle at 15% 20%,rgba(0,76,153,.25),transparent 35%),
		linear-gradient(135deg,#06101f,#0b223e);
	color: #fff;
}

.puv-videos-purpose-grid {
	display: grid;
	grid-template-columns: .9fr 1fr;
	gap: clamp(4rem,9vw,9rem);
}

.puv-videos-purpose h2 {
	margin: .7rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.8rem,5vw,5rem);
	line-height: .96;
	letter-spacing: -.045em;
	color: #fff;
}

.puv-videos-purpose-list {
	border-top: 1px solid rgba(255,255,255,.14);
}

.puv-videos-purpose-list > div {
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 1rem;
	padding: 1.65rem 0;
	border-bottom: 1px solid rgba(255,255,255,.14);
}

.puv-videos-purpose-list strong {
	color: var(--puv-yellow);
	font-size: .78rem;
	letter-spacing: .12em;
}

.puv-videos-purpose-list span {
	font-size: clamp(1.05rem,1.5vw,1.25rem);
	color: rgba(255,255,255,.80);
}


/* FINAL */

.puv-videos-final {
	padding: clamp(5rem,8vw,8rem) 0;
	background:
		linear-gradient(120deg,#f0c900 0%,var(--puv-yellow) 50%,#ffe568 100%);
}

.puv-videos-final-inner {
	display: grid;
	grid-template-columns: 1fr .8fr;
	gap: clamp(3rem,7vw,7rem);
	align-items: center;
}

.puv-videos-final h2 {
	margin: .7rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.7rem,5vw,5rem);
	line-height: .96;
	letter-spacing: -.045em;
	color: #07111f;
}

.puv-videos-final p {
	margin: 0 0 1.7rem;
	font-size: clamp(1.03rem,1.35vw,1.18rem);
	line-height: 1.7;
	color: rgba(7,17,31,.72);
}


/* RESPONSIVE */

@media (max-width: 900px) {

	.puv-videos-intro-grid,
	.puv-videos-featured-grid,
	.puv-videos-purpose-grid,
	.puv-videos-final-inner {
		grid-template-columns: 1fr;
	}

	.puv-videos-grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
}

@media (max-width: 620px) {

	.puv-videos-hero {
		min-height: auto;
	}

	.puv-videos-hero-inner {
		padding-top: 9rem;
		padding-bottom: 6rem;
	}

	.puv-videos-hero h1 {
		font-size: clamp(3rem,14vw,4.8rem);
	}

	.puv-videos-grid {
		grid-template-columns: 1fr;
	}

	.puv-video-play {
		width: 72px;
		height: 72px;
	}

}



/* ==========================================================
   PUV — QUIENES SOMOS
   ========================================================== */

.puv-about-page {
	overflow: hidden;
	background: #f6f7f6;
	color: var(--puv-text);
}


/* HERO */

.puv-about-hero {
	position: relative;
	min-height: 82vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 20%, rgba(255,211,0,.16), transparent 32%),
		radial-gradient(circle at 15% 84%, rgba(0,76,153,.32), transparent 40%),
		linear-gradient(135deg, #06101f 0%, #0b294b 100%);
	color: #fff;
}

.puv-about-hero::after {
	content: "PUV";
	position: absolute;
	right: -1vw;
	bottom: -3vw;
	font-family: var(--puv-font-display);
	font-size: clamp(12rem, 31vw, 34rem);
	font-weight: 700;
	line-height: .7;
	letter-spacing: -.08em;
	color: rgba(255,255,255,.035);
	pointer-events: none;
}

.puv-about-hero-inner {
	position: relative;
	z-index: 2;
	padding-top: clamp(9rem,14vw,13rem);
	padding-bottom: clamp(7rem,11vw,10rem);
}

.puv-about-hero h1 {
	max-width: 1150px;
	margin: .9rem 0 1.8rem;
	font-family: var(--puv-font-display);
	font-size: clamp(3.2rem,6.7vw,6.8rem);
	font-weight: 700;
	line-height: .94;
	letter-spacing: -.055em;
	color: #fff;
}

.puv-about-hero h1 span {
	color: var(--puv-yellow);
}

.puv-about-hero p {
	max-width: 790px;
	margin: 0;
	font-size: clamp(1.05rem,1.5vw,1.3rem);
	line-height: 1.72;
	color: rgba(255,255,255,.78);
}


/* ESTRUCTURA DOS COLUMNAS */

.puv-about-split {
	display: grid;
	grid-template-columns: .9fr 1fr;
	gap: clamp(3rem,8vw,8rem);
	align-items: start;
}

.puv-about-split h2 {
	margin: .7rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.6rem,4.8vw,4.8rem);
	line-height: .97;
	letter-spacing: -.045em;
}

.puv-about-split > div:last-child p {
	margin: 0 0 1.4rem;
	font-size: clamp(1.05rem,1.4vw,1.2rem);
	line-height: 1.76;
	color: rgba(15,26,40,.69);
}


/* QUÉ ES */

.puv-about-what {
	background: #fff;
}


/* POR QUÉ NACE */

.puv-about-origin {
	background:
		radial-gradient(circle at 85% 15%, rgba(255,211,0,.10), transparent 30%),
		linear-gradient(135deg,#06101f,#0b2848);
	color: #fff;
}

.puv-about-origin h2 {
	color: #fff;
}

.puv-about-origin .puv-about-split > div:last-child p {
	color: rgba(255,255,255,.74);
}


/* EQUIPO */

.puv-about-team {
	background: #f4f5f4;
}

.puv-about-team-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 1.5rem;
	margin-top: clamp(3rem,5vw,5rem);
}

.puv-person-card {
	overflow: hidden;
	display: grid;
	grid-template-columns: .82fr 1.18fr;
	min-height: 440px;
	border-radius: 26px;
	background: #fff;
	border: 1px solid rgba(7,27,51,.08);
	box-shadow: 0 24px 70px rgba(5,18,35,.06);
}

.puv-person-photo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 440px;
	overflow: hidden;
	background:
		radial-gradient(circle at 70% 25%, rgba(111,182,255,.26), transparent 35%),
		linear-gradient(145deg,#07182d,#0d3156);
}

.puv-person-photo::before {
	content: "";
	position: absolute;
	width: 72%;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.10);
}

.puv-person-photo::after {
	content: "";
	position: absolute;
	width: 45%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: rgba(255,255,255,.035);
}

.puv-person-photo span {
	position: relative;
	z-index: 2;
	font-size: .68rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .15em;
	text-align: center;
	color: rgba(255,255,255,.50);
}

.puv-person-content {
	padding: clamp(2rem,3.5vw,3.4rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.puv-person-content small {
	display: block;
	margin-bottom: 1rem;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--puv-blue);
}

.puv-person-content h3 {
	margin: 0 0 1.2rem;
	font-family: var(--puv-font-display);
	font-size: clamp(2.2rem,3vw,3.4rem);
	line-height: .98;
	letter-spacing: -.045em;
}

.puv-person-content p {
	margin: 0;
	line-height: 1.75;
	color: rgba(15,26,40,.66);
}


/* PRINCIPIOS */

.puv-about-principles {
	background: #fff;
}

.puv-about-principles-grid {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 1rem;
	margin-top: clamp(3rem,5vw,5rem);
}

.puv-about-principles-grid article {
	min-height: 310px;
	display: flex;
	flex-direction: column;
	padding: 2rem;
	border-radius: 22px;
	background: #f3f4f3;
	border: 1px solid rgba(7,27,51,.07);
}

.puv-about-principles-grid article > span {
	margin-bottom: 3rem;
	font-family: var(--puv-font-display);
	font-size: 2.4rem;
	font-weight: 700;
	color: var(--puv-blue);
}

.puv-about-principles-grid h3 {
	margin: 0 0 .8rem;
	font-family: var(--puv-font-display);
	font-size: clamp(1.7rem,2.2vw,2.4rem);
	letter-spacing: -.035em;
}

.puv-about-principles-grid p {
	margin: 0;
	line-height: 1.7;
	color: rgba(15,26,40,.65);
}


/* QUÉ NO PRETENDE SER */

.puv-about-not {
	background:
		radial-gradient(circle at 18% 25%,rgba(0,76,153,.27),transparent 36%),
		linear-gradient(135deg,#06101f,#0b223e);
	color: #fff;
}

.puv-about-not h2 {
	color: #fff;
}

.puv-about-not .puv-about-split > div:last-child p {
	color: rgba(255,255,255,.74);
}


/* MÉTODO */

.puv-about-method {
	background: #f4f5f4;
}

.puv-about-method-flow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .8rem;
	margin-top: clamp(3rem,5vw,5rem);
	padding: clamp(2rem,3vw,3rem);
	border-radius: 24px;
	background: #fff;
	border: 1px solid rgba(7,27,51,.08);
	box-shadow: 0 18px 55px rgba(5,18,35,.045);
}

.puv-about-method-flow span {
	font-family: var(--puv-font-display);
	font-size: clamp(1.15rem,1.7vw,1.7rem);
	font-weight: 700;
	letter-spacing: -.025em;
	color: #10253e;
}

.puv-about-method-flow b {
	font-size: 1.3rem;
	color: var(--puv-yellow);
}


/* CONSTRUCCIÓN ABIERTA */

.puv-about-open {
	background: #fff;
}

.puv-about-open .puv-button {
	margin-top: .7rem;
}


/* FINAL */

.puv-about-final {
	padding: clamp(5rem,8vw,8rem) 0;
	background:
		linear-gradient(120deg,#efc800 0%,var(--puv-yellow) 50%,#ffe568 100%);
	color: #07111f;
}

.puv-about-final-inner {
	display: grid;
	grid-template-columns: 1fr .55fr;
	gap: clamp(3rem,7vw,7rem);
	align-items: center;
}

.puv-about-final h2 {
	margin: .7rem 0 0;
	max-width: 850px;
	font-family: var(--puv-font-display);
	font-size: clamp(2.8rem,5vw,5rem);
	line-height: .96;
	letter-spacing: -.045em;
	color: #07111f;
}


/* RESPONSIVE */

@media (max-width: 1050px) {

	.puv-person-card {
		grid-template-columns: 1fr;
	}

	.puv-person-photo {
		min-height: 330px;
	}

	.puv-about-principles-grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

}

@media (max-width: 820px) {

	.puv-about-split,
	.puv-about-final-inner {
		grid-template-columns: 1fr;
	}

	.puv-about-team-grid {
		grid-template-columns: 1fr;
	}

	.puv-about-method-flow {
		flex-direction: column;
		align-items: flex-start;
	}

	.puv-about-method-flow b {
		transform: rotate(90deg);
		margin-left: .4rem;
	}

}

@media (max-width: 600px) {

	.puv-about-hero {
		min-height: auto;
	}

	.puv-about-hero-inner {
		padding-top: 9rem;
		padding-bottom: 6rem;
	}

	.puv-about-hero h1 {
		font-size: clamp(3rem,13.5vw,4.6rem);
	}

	.puv-about-principles-grid {
		grid-template-columns: 1fr;
	}

	.puv-person-photo {
		min-height: 285px;
	}

}



/* ==========================================================
   PUV — POLITICA DE PRIVACIDAD / LEGAL
   ========================================================== */

.puv-legal-page {
	overflow: hidden;
	background: #f5f6f5;
	color: var(--puv-text);
}


/* HERO */

.puv-legal-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(10rem, 15vw, 14rem) 0 clamp(6rem, 9vw, 9rem);
	background:
		radial-gradient(circle at 82% 18%, rgba(255,211,0,.13), transparent 30%),
		radial-gradient(circle at 15% 80%, rgba(0,76,153,.28), transparent 38%),
		linear-gradient(135deg,#06101f,#0a2747);
	color: #fff;
}

.puv-legal-hero::after {
	content: "LEGAL";
	position: absolute;
	right: -1vw;
	bottom: -2vw;
	font-family: var(--puv-font-display);
	font-size: clamp(8rem,22vw,24rem);
	font-weight: 700;
	line-height: .72;
	letter-spacing: -.075em;
	color: rgba(255,255,255,.035);
	pointer-events: none;
}

.puv-legal-hero .puv-shell {
	position: relative;
	z-index: 2;
}

.puv-legal-hero h1 {
	max-width: 900px;
	margin: .8rem 0 1.5rem;
	font-family: var(--puv-font-display);
	font-size: clamp(3.5rem,7vw,7rem);
	font-weight: 700;
	line-height: .92;
	letter-spacing: -.055em;
	color: #fff;
}

.puv-legal-hero h1 span {
	color: var(--puv-yellow);
}

.puv-legal-hero p {
	max-width: 720px;
	margin: 0;
	font-size: clamp(1.05rem,1.4vw,1.22rem);
	line-height: 1.72;
	color: rgba(255,255,255,.76);
}


/* CUERPO */

.puv-legal-body {
	background: #f5f6f5;
}

.puv-legal-layout {
	display: grid;
	grid-template-columns: 280px minmax(0,760px);
	gap: clamp(3rem,7vw,7rem);
	align-items: start;
	justify-content: center;
}


/* ASIDE */

.puv-legal-aside {
	position: sticky;
	top: 120px;
	padding: 1.8rem;
	border-radius: 20px;
	background:
		linear-gradient(145deg,#07182d,#0d3156);
	color: #fff;
	box-shadow: 0 20px 60px rgba(5,18,35,.10);
}

.puv-legal-aside > span {
	display: block;
	margin-bottom: 2.2rem;
	font-family: var(--puv-font-display);
	font-size: 3rem;
	font-weight: 700;
	line-height: .8;
	color: var(--puv-yellow);
}

.puv-legal-aside strong {
	display: block;
	margin-bottom: 1.4rem;
	font-size: .95rem;
	line-height: 1.45;
	color: #fff;
}

.puv-legal-aside p {
	margin: 0;
	font-size: .82rem;
	line-height: 1.65;
	color: rgba(255,255,255,.62);
}

.puv-legal-aside a {
	display: inline-block;
	margin-top: .45rem;
	color: #6fb6ff;
	text-decoration: none;
	word-break: break-word;
}


/* DOCUMENTO */

.puv-legal-document {
	padding: clamp(2.5rem,5vw,5rem);
	border-radius: 26px;
	background: #fff;
	border: 1px solid rgba(7,27,51,.08);
	box-shadow: 0 24px 70px rgba(5,18,35,.055);
}

.puv-legal-document .puv-legal-updated {
	margin: 0 0 3rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(7,27,51,.12);
	font-size: .82rem;
	color: rgba(15,26,40,.55);
}

.puv-legal-document h2 {
	margin: 3.8rem 0 1.3rem;
	padding-top: .3rem;
	font-family: var(--puv-font-display);
	font-size: clamp(1.9rem,3vw,2.8rem);
	line-height: 1;
	letter-spacing: -.035em;
	color: #0a2039;
}

.puv-legal-document h2:first-of-type {
	margin-top: 0;
}

.puv-legal-document p,
.puv-legal-document li {
	font-size: 1rem;
	line-height: 1.8;
	color: rgba(15,26,40,.72);
}

.puv-legal-document p {
	margin: 0 0 1.25rem;
}

.puv-legal-document ul,
.puv-legal-document ol {
	margin: 1rem 0 1.7rem;
	padding-left: 1.5rem;
}

.puv-legal-document li {
	margin-bottom: .6rem;
}

.puv-legal-document strong {
	color: #10253e;
}

.puv-legal-document a {
	color: var(--puv-blue);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}


/* RESPONSIVE */

@media (max-width: 900px) {

	.puv-legal-layout {
		grid-template-columns: 1fr;
	}

	.puv-legal-aside {
		position: relative;
		top: auto;
	}

}

@media (max-width: 600px) {

	.puv-legal-hero {
		padding-top: 9rem;
		padding-bottom: 5.5rem;
	}

	.puv-legal-hero h1 {
		font-size: clamp(3.2rem,14vw,4.8rem);
	}

	.puv-legal-document {
		padding: 1.6rem;
		border-radius: 20px;
	}

	.puv-legal-document h2 {
		margin-top: 3rem;
	}

}


/* ======================================================
   PUV — COMPLIANZ COOKIE BANNER
   ====================================================== */

.cmplz-cookiebanner {
    background: rgba(7, 20, 41, 0.96) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 22px 70px rgba(0,0,0,.42) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner .cmplz-header {
    color: #ffffff !important;
    font-family: var(--puv-font-display, inherit) !important;
    font-weight: 700 !important;
}

.cmplz-cookiebanner .cmplz-message {
    color: rgba(255,255,255,.82) !important;
    line-height: 1.6 !important;
}

.cmplz-cookiebanner .cmplz-btn {
    border-radius: 999px !important;
    font-weight: 700 !important;
    transition: transform .18s ease, opacity .18s ease !important;
}

.cmplz-cookiebanner .cmplz-btn:hover {
    transform: translateY(-1px);
}

.cmplz-cookiebanner .cmplz-accept {
    background: var(--puv-yellow, #ffd400) !important;
    border-color: var(--puv-yellow, #ffd400) !important;
    color: #071429 !important;
}

.cmplz-cookiebanner .cmplz-deny {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    color: #ffffff !important;
}

.cmplz-cookiebanner .cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-save-preferences {
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    color: #ffffff !important;
}

.cmplz-cookiebanner .cmplz-category,
.cmplz-cookiebanner .cmplz-categories {
    color: #ffffff !important;
}

.cmplz-cookiebanner a {
    color: var(--puv-yellow, #ffd400) !important;
}

@media (max-width: 600px) {
    .cmplz-cookiebanner {
        margin: 12px !important;
        width: calc(100% - 24px) !important;
        max-width: none !important;
        border-radius: 18px !important;
    }

    .cmplz-cookiebanner .cmplz-buttons {
        gap: 8px !important;
    }
}

/* ======================================================
   FIN PUV — COMPLIANZ COOKIE BANNER
   ====================================================== */


/* ======================================================
   PUV — FOOTER LEGAL
   ====================================================== */

.puv-footer-legal {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 18px;
	padding-bottom: 28px;
	font-size: 13px;
}

.puv-footer-legal a,
.puv-footer-consent {
	color: rgba(255,255,255,.62);
	text-decoration: none;
	font: inherit;
	transition: color .18s ease;
}

.puv-footer-consent {
	appearance: none;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
}

.puv-footer-legal a:hover,
.puv-footer-consent:hover {
	color: var(--puv-yellow, #ffd400);
}

.puv-footer-legal > span {
	color: rgba(255,255,255,.22);
}

@media (max-width: 600px) {
	.puv-footer-legal {
		gap: 8px;
		padding-top: 14px;
		padding-bottom: 24px;
		font-size: 12px;
	}
}

/* ======================================================
   FIN PUV — FOOTER LEGAL
   ====================================================== */


/* ==========================================================
   PUV — BIBLIOTECA DOCUMENTAL 2026
   Página: /documentos/ — ID 15
   ========================================================== */

body.page-id-15 .puv-documents-page {
    background:
        radial-gradient(circle at 85% 10%, rgba(25, 92, 190, .18), transparent 32%),
        radial-gradient(circle at 10% 45%, rgba(255, 205, 0, .07), transparent 28%),
        #071426;
    color: var(--puv-text, #f4f7fb);
    overflow: hidden;
}

body.page-id-15 .puv-documents-hero {
    position: relative;
    min-height: 72vh;
    display: flex;
    align-items: flex-end;
    padding: 170px 0 100px;
    background:
        linear-gradient(180deg, rgba(4, 14, 30, .20), rgba(4, 14, 30, .92)),
        radial-gradient(circle at 80% 25%, rgba(33, 115, 255, .30), transparent 36%);
}

body.page-id-15 .puv-documents-hero::after {
    content: "ARCHIVO";
    position: absolute;
    right: -20px;
    bottom: -42px;
    font-family: var(--puv-font-display);
    font-size: clamp(100px, 17vw, 260px);
    line-height: .8;
    letter-spacing: -.05em;
    color: rgba(255,255,255,.025);
    pointer-events: none;
}

body.page-id-15 .puv-documents-hero-inner {
	max-width: 1050px;
}

body.page-id-15 .puv-documents-hero h1 {
    max-width: 900px;
    margin: 18px 0 28px;
    font-family: var(--puv-font-display);
    font-size: clamp(58px, 8vw, 126px);
    line-height: .86;
    letter-spacing: -.035em;
}

body.page-id-15 .puv-documents-hero p {
    max-width: 720px;
    margin: 0 0 34px;
    font-size: clamp(18px, 1.7vw, 23px);
    line-height: 1.6;
    color: rgba(244,247,251,.78);
}

body.page-id-15 .puv-documents-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

body.page-id-15 .puv-documents-intro {
    padding-top: 120px;
    padding-bottom: 120px;
}

body.page-id-15 .puv-documents-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
    gap: clamp(50px, 8vw, 130px);
    align-items: start;
}

body.page-id-15 .puv-documents-intro h2,
body.page-id-15 .puv-document-collection-header h2,
body.page-id-15 .puv-documents-note h2,
body.page-id-15 .puv-documents-final h2 {
    font-family: var(--puv-font-display);
    letter-spacing: -.025em;
}

body.page-id-15 .puv-documents-intro h2 {
    max-width: 700px;
    margin-top: 16px;
    font-size: clamp(42px, 5vw, 76px);
    line-height: .98;
}

body.page-id-15 .puv-documents-intro-grid p {
    color: rgba(244,247,251,.70);
    font-size: 17px;
    line-height: 1.75;
}

body.page-id-15 .puv-document-collection {
    position: relative;
    padding-top: 100px;
    padding-bottom: 120px;
    border-top: 1px solid rgba(255,255,255,.07);
}

body.page-id-15 .puv-document-collection-header {
    display: grid;
    grid-template-columns: 110px minmax(0, 850px);
    gap: 35px;
    margin-bottom: 55px;
}

body.page-id-15 .puv-document-collection-number {
    font-family: var(--puv-font-display);
    font-size: 74px;
    line-height: .9;
    color: rgba(255,255,255,.11);
}

body.page-id-15 .puv-document-collection-header h2 {
    margin: 13px 0 18px;
    font-size: clamp(38px, 4.5vw, 67px);
    line-height: 1;
}

body.page-id-15 .puv-document-collection-header p {
    max-width: 760px;
    margin: 0;
    color: rgba(244,247,251,.66);
    font-size: 17px;
    line-height: 1.7;
}

body.page-id-15 .puv-documents-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

body.page-id-15 .puv-document-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 360px;
    padding: 34px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 20px 70px rgba(0,0,0,.16);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition:
        transform .25s ease,
        border-color .25s ease,
        background .25s ease;
}

body.page-id-15 .puv-document-card:hover {
    transform: translateY(-5px);
    border-color: rgba(111,182,255,.36);
    background:
        linear-gradient(145deg, rgba(255,255,255,.10), rgba(27,90,170,.07));
}

body.page-id-15 .puv-document-card-featured {
    border-color: rgba(255,205,0,.25);
}

body.page-id-15 .puv-document-card-current {
    border-color: rgba(111,182,255,.50);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 0 55px rgba(48,120,255,.10);
}

body.page-id-15 .puv-document-card-current::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: #6fb6ff;
}

body.page-id-15 .puv-document-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 30px;
}

body.page-id-15 .puv-document-meta {
    color: rgba(255,255,255,.48);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.page-id-15 .puv-document-status {
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    color: #6fb6ff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
}

body.page-id-15 .puv-document-card-current .puv-document-status {
    background: #6fb6ff;
    border-color: #6fb6ff;
    color: #071426;
}

body.page-id-15 .puv-document-card h3 {
    max-width: 580px;
    margin: 0 0 19px;
    font-family: var(--puv-font-display);
    font-size: clamp(27px, 2.5vw, 39px);
    line-height: 1.04;
}

body.page-id-15 .puv-document-card > p {
    max-width: 590px;
    margin: 0 0 32px;
    color: rgba(244,247,251,.67);
    font-size: 15px;
    line-height: 1.7;
}

body.page-id-15 .puv-document-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.07);
}

body.page-id-15 .puv-document-actions a {
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-decoration: none;
    text-transform: uppercase;
}

body.page-id-15 .puv-document-actions a:first-child {
    color: #6fb6ff;
}

body.page-id-15 .puv-document-actions a:hover {
    opacity: .72;
}

body.page-id-15 .puv-documents-note {
    padding-top: 110px;
    padding-bottom: 110px;
    background: rgba(0,0,0,.15);
    border-top: 1px solid rgba(255,255,255,.06);
}

body.page-id-15 .puv-documents-note-inner {
    max-width: 900px;
}

body.page-id-15 .puv-documents-note h2 {
    margin: 15px 0 25px;
    font-size: clamp(45px, 5vw, 75px);
}

body.page-id-15 .puv-documents-note p {
    max-width: 770px;
    color: rgba(244,247,251,.67);
    font-size: 17px;
    line-height: 1.75;
}

body.page-id-15 .puv-documents-final {
    padding: 110px 0;
    background:
        linear-gradient(115deg, rgba(255,205,0,.95), rgba(255,183,0,.93));
    color: #071426;
}

body.page-id-15 .puv-documents-final-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 55px;
}

body.page-id-15 .puv-documents-final h2 {
    max-width: 730px;
    margin: 14px 0 20px;
    font-size: clamp(44px, 5vw, 75px);
    line-height: .98;
}

body.page-id-15 .puv-documents-final p {
    max-width: 690px;
    margin: 0;
    color: rgba(7,20,38,.72);
    font-size: 17px;
    line-height: 1.7;
}

@media (max-width: 900px) {

    body.page-id-15 .puv-documents-hero {
        min-height: 620px;
        padding: 145px 0 75px;
    }

    body.page-id-15 .puv-documents-hero h1 {
        font-size: clamp(54px, 15vw, 92px);
    }

    body.page-id-15 .puv-documents-intro-grid,
    body.page-id-15 .puv-documents-grid {
        grid-template-columns: 1fr;
    }

    body.page-id-15 .puv-document-collection-header {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    body.page-id-15 .puv-document-collection-number {
        font-size: 54px;
    }

    body.page-id-15 .puv-documents-final-inner {
        display: grid;
        grid-template-columns: 1fr;
        align-items: start;
    }
}

@media (max-width: 600px) {

    body.page-id-15 .puv-documents-hero {
        min-height: 560px;
        padding: 125px 0 65px;
    }

    body.page-id-15 .puv-documents-hero::after {
        font-size: 105px;
        bottom: -10px;
    }

    body.page-id-15 .puv-documents-hero h1 {
        font-size: clamp(51px, 17vw, 76px);
    }

    body.page-id-15 .puv-documents-intro,
    body.page-id-15 .puv-document-collection,
    body.page-id-15 .puv-documents-note {
        padding-top: 75px;
        padding-bottom: 75px;
    }

    body.page-id-15 .puv-document-card {
        min-height: 0;
        padding: 25px;
        border-radius: 18px;
    }

    body.page-id-15 .puv-document-card-top {
        display: grid;
        justify-items: start;
        gap: 12px;
        margin-bottom: 24px;
    }

    body.page-id-15 .puv-document-actions {
        display: grid;
        gap: 13px;
    }

    body.page-id-15 .puv-documents-final {
        padding: 80px 0;
    }
}

/* PUV — FIN BIBLIOTECA DOCUMENTAL 2026 */

/* ==========================================================
   PUV — DOCUMENTOS — CONTRASTE Y GLASSMORPHISM FINAL
   ========================================================== */

/* HERO */
body.page-id-15 .puv-documents-hero .puv-kicker {
    color: #6fb6ff !important;
}

body.page-id-15 .puv-documents-hero h1 {
    color: #ffffff !important;
}

body.page-id-15 .puv-documents-hero p {
    color: rgba(244,247,251,.76) !important;
}


/* FRANJA BLANCA — TRANSPARENCIA DOCUMENTAL */
body.page-id-15 .puv-documents-intro {
    position: relative;
    background:
        radial-gradient(circle at 85% 25%, rgba(111,182,255,.10), transparent 34%),
        #f7f8fa !important;
    color: #071426 !important;
}

body.page-id-15 .puv-documents-intro .puv-kicker {
    color: #075a9e !important;
}

body.page-id-15 .puv-documents-intro h2 {
    color: #071426 !important;
}

body.page-id-15 .puv-documents-intro-grid p {
    color: rgba(7,20,38,.72) !important;
}


/* CABECERAS DE COLECCIONES */
body.page-id-15 .puv-document-collection-number {
    color: rgba(255,255,255,.17) !important;
    text-shadow: 0 0 35px rgba(111,182,255,.08);
}

body.page-id-15 .puv-document-collection-header .puv-kicker {
    color: #2196e8 !important;
}

body.page-id-15 .puv-document-collection-header h2 {
    color: #f7f9fc !important;
    text-shadow: 0 8px 35px rgba(0,0,0,.12);
}

body.page-id-15 .puv-document-collection-header p {
    color: rgba(234,240,248,.72) !important;
}


/* TARJETAS */
body.page-id-15 .puv-document-card {
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.105) 0%,
            rgba(255,255,255,.055) 48%,
            rgba(74,130,205,.035) 100%
        ) !important;

    border-color: rgba(169,201,239,.16) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.09),
        inset 0 -1px 0 rgba(0,0,0,.12),
        0 24px 70px rgba(0,0,0,.18) !important;

    backdrop-filter: blur(20px) saturate(115%);
    -webkit-backdrop-filter: blur(20px) saturate(115%);
}

body.page-id-15 .puv-document-card:hover {
    border-color: rgba(111,182,255,.42) !important;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.14),
            rgba(59,115,190,.075)
        ) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 28px 80px rgba(0,0,0,.24),
        0 0 45px rgba(42,119,218,.07) !important;
}


/* TARJETA DESTACADA */
body.page-id-15 .puv-document-card-featured {
    border-color: rgba(255,200,51,.36) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 24px 70px rgba(0,0,0,.17),
        0 0 42px rgba(255,196,0,.035) !important;
}


/* PODER EJECUTIVO — DOCUMENTO VIGENTE */
body.page-id-15 .puv-document-card-current {
    border-color: rgba(111,182,255,.60) !important;

    background:
        linear-gradient(
            145deg,
            rgba(57,128,219,.16),
            rgba(255,255,255,.065)
        ) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 24px 75px rgba(0,0,0,.20),
        0 0 50px rgba(69,145,244,.10) !important;
}


/* TEXTO DE TARJETAS */
body.page-id-15 .puv-document-card h3 {
    color: #f7f9fc !important;
}

body.page-id-15 .puv-document-card > p {
    color: rgba(229,237,247,.73) !important;
}

body.page-id-15 .puv-document-meta {
    color: rgba(218,228,241,.62) !important;
}

body.page-id-15 .puv-document-status {
    color: #73bdff !important;
    border-color: rgba(111,182,255,.24) !important;
    background: rgba(5,25,49,.18);
}


/* VERSIÓN VIGENTE */
body.page-id-15 .puv-document-card-current .puv-document-status {
    color: #041426 !important;
    background: #74bdff !important;
    border-color: #74bdff !important;
    box-shadow: 0 0 25px rgba(111,182,255,.16);
}


/* BOTONES PDF */
body.page-id-15 .puv-document-actions {
    gap: 10px;
}

body.page-id-15 .puv-document-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 39px;
    padding: 0 14px;
    border-radius: 8px;
    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

body.page-id-15 .puv-document-actions a:first-child {
    color: #071426 !important;
    background: #70baff;
    border: 1px solid #70baff;
}

body.page-id-15 .puv-document-actions a:last-child {
    color: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(255,255,255,.17);
    background: rgba(255,255,255,.025);
}

body.page-id-15 .puv-document-actions a:hover {
    opacity: 1 !important;
    transform: translateY(-2px);
}

body.page-id-15 .puv-document-actions a:first-child:hover {
    background: #91caff;
}

body.page-id-15 .puv-document-actions a:last-child:hover {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.28);
}


/* CRITERIO EDITORIAL */
body.page-id-15 .puv-documents-note {
    background:
        radial-gradient(circle at 20% 40%, rgba(29,105,199,.08), transparent 35%),
        rgba(2,12,25,.28) !important;
}

body.page-id-15 .puv-documents-note .puv-kicker {
    color: #168bdc !important;
}

body.page-id-15 .puv-documents-note h2 {
    color: #f6f8fb !important;
}

body.page-id-15 .puv-documents-note p {
    color: rgba(229,237,247,.72) !important;
}


/* CTA FINAL AMARILLO */
body.page-id-15 .puv-documents-final .puv-kicker {
    color: rgba(7,20,38,.68) !important;
}

body.page-id-15 .puv-documents-final h2 {
    color: #071426 !important;
}


/* MÓVIL */
@media (max-width: 600px) {

    body.page-id-15 .puv-document-collection-number {
        color: rgba(255,255,255,.21) !important;
    }

    body.page-id-15 .puv-document-card h3 {
        font-size: 29px !important;
        line-height: 1.05 !important;
    }

    body.page-id-15 .puv-document-actions a {
        width: 100%;
    }
}

/* PUV — FIN CONTRASTE DOCUMENTOS */

/* PUV — DOCUMENTOS — GLASS MÁS SÓLIDO */

body.page-id-15 .puv-document-card {
    background:
        linear-gradient(
            145deg,
            rgba(31, 53, 82, .92) 0%,
            rgba(21, 42, 69, .88) 55%,
            rgba(18, 40, 68, .84) 100%
        ) !important;

    border-color: rgba(143, 190, 239, .24) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 24px 70px rgba(0,0,0,.24) !important;

    backdrop-filter: blur(14px) saturate(110%);
    -webkit-backdrop-filter: blur(14px) saturate(110%);
}

body.page-id-15 .puv-document-card:hover {
    background:
        linear-gradient(
            145deg,
            rgba(38, 65, 100, .94),
            rgba(24, 52, 86, .90)
        ) !important;

    border-color: rgba(111,182,255,.45) !important;
}

body.page-id-15 .puv-document-card-featured {
    background:
        linear-gradient(
            145deg,
            rgba(35, 57, 83, .94),
            rgba(24, 46, 73, .90)
        ) !important;

    border-color: rgba(255, 199, 52, .38) !important;
}

body.page-id-15 .puv-document-card-current {
    background:
        linear-gradient(
            145deg,
            rgba(34, 76, 125, .94),
            rgba(23, 52, 87, .91)
        ) !important;

    border-color: rgba(111,182,255,.62) !important;
}

/* PUV — FIN GLASS MÁS SÓLIDO */

body.page-id-15 .puv-documents-hero::after {
	bottom: -8px !important;

	font-size: clamp(95px, 14vw, 190px) !important;
	letter-spacing: .015em !important;
}

@media (max-width: 600px) {
    body.page-id-15 .puv-documents-hero::after {
        font-size: 78px !important;
        bottom: 4px !important;
        color: rgba(255,255,255,.065) !important;
    }
}

/* PUV — ARCHIVO WATERMARK FINAL */

body.page-id-15 .puv-documents-hero::after {
	bottom: 8px !important;

	width: auto !important;
	max-width: 94vw !important;

	font-size: clamp(82px, 11vw, 160px) !important;
	letter-spacing: .025em !important;

	color: rgba(255,255,255,.10) !important;
}

@media (max-width: 600px) {
    body.page-id-15 .puv-documents-hero::after {
        font-size: clamp(54px, 18vw, 74px) !important;
        letter-spacing: .01em !important;
        bottom: 8px !important;
        color: rgba(255,255,255,.085) !important;
    }
}

/* PUV — FIN ARCHIVO WATERMARK FINAL */

/* PUV — ARCHIVO — ENCUADRE DEFINITIVO */

body.page-id-15 .puv-documents-hero::after {
	bottom: 28px !important;

	font-size: clamp(76px, 9vw, 132px) !important;
	line-height: .82 !important;
	letter-spacing: .01em !important;

	color: rgba(255,255,255,.09) !important;
}

@media (max-width: 600px) {
    body.page-id-15 .puv-documents-hero::after {
        font-size: clamp(48px, 15vw, 66px) !important;
        bottom: 18px !important;
        color: rgba(255,255,255,.075) !important;
    }
}

/* PUV — FIN ARCHIVO ENCUADRE */

/* PUV — DOCUMENTOS — ELIMINAR WATERMARK DUPLICADO */



/* PUV — FIN WATERMARK DUPLICADO */

/* ==========================================================
   PUV — DOCUMENTOS — HERO GEOMETRÍA DEFINITIVA
   Basado en proporciones del sistema PUV / República 1811
   ========================================================== */

body.page-id-15 .puv-documents-hero {
    position: relative !important;

    min-height: auto !important;

    display: block !important;
    align-items: initial !important;

    padding: 0 !important;

    overflow: hidden;
}


/* Contenedor: vuelve al ancho normal PUV */
body.page-id-15 .puv-documents-hero-inner {
    position: relative;
    z-index: 2;

    max-width: none !important;

    padding-top: clamp(8.5rem, 11vw, 10.5rem) !important;
    padding-bottom: clamp(6rem, 8vw, 7.5rem) !important;
}


/* Kicker */
body.page-id-15 .puv-documents-hero .puv-kicker {
    margin-bottom: 20px !important;
}


/* Título: misma escala editorial que los héroes buenos de PUV */
body.page-id-15 .puv-documents-hero h1 {
    max-width: 1050px !important;

    margin: 1rem 0 1.6rem !important;

    font-size: clamp(3.2rem, 7vw, 7rem) !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;

    color: #fff !important;
}


/* Descripción */
body.page-id-15 .puv-documents-hero p {
    max-width: 760px !important;

    margin: 0 0 2.2rem !important;

    font-size: clamp(1.08rem, 1.5vw, 1.32rem) !important;
    line-height: 1.68 !important;

    color: rgba(255,255,255,.79) !important;
}


/* Botones */
body.page-id-15 .puv-documents-hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 14px !important;
}


/* Watermark único */
body.page-id-15 .puv-documents-hero::before {
    content: none !important;
    display: none !important;
}

body.page-id-15 .puv-documents-hero::after {
    content: "ARCHIVO" !important;

    position: absolute !important;

    left: 50% !important;
    right: auto !important;

    bottom: 1.7rem !important;

    transform: translateX(-50%) !important;

    z-index: 1 !important;

    width: max-content !important;
    max-width: none !important;

    white-space: nowrap !important;

    font-family: var(--puv-font-display) !important;

    font-size: clamp(5rem, 9vw, 8.3rem) !important;
    line-height: .8 !important;

    letter-spacing: .005em !important;

    color: rgba(255,255,255,.075) !important;

    opacity: 1 !important;

    pointer-events: none !important;
}


/* TABLET */
@media (max-width: 820px) {

    body.page-id-15 .puv-documents-hero-inner {
        padding-top: 8.5rem !important;
        padding-bottom: 6.5rem !important;
    }

    body.page-id-15 .puv-documents-hero h1 {
        font-size: clamp(3rem, 10vw, 5.4rem) !important;
    }

    body.page-id-15 .puv-documents-hero::after {
        font-size: clamp(4.5rem, 14vw, 7rem) !important;
        bottom: 1.4rem !important;
    }
}


/* MÓVIL */
@media (max-width: 560px) {

    body.page-id-15 .puv-documents-hero-inner {
        padding-top: 7.5rem !important;
        padding-bottom: 6rem !important;
    }

    body.page-id-15 .puv-documents-hero h1 {
        max-width: 100% !important;

        font-size: clamp(2.9rem, 14vw, 4.6rem) !important;
        line-height: .94 !important;
    }

    body.page-id-15 .puv-documents-hero p {
        font-size: 1.05rem !important;
        line-height: 1.65 !important;
    }

    body.page-id-15 .puv-documents-hero-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    body.page-id-15 .puv-documents-hero-actions .puv-button {
        width: 100%;
        justify-content: center;
    }

    body.page-id-15 .puv-documents-hero::after {
        font-size: clamp(3.5rem, 16vw, 5rem) !important;
        bottom: 1rem !important;

        color: rgba(255,255,255,.065) !important;
    }
}

/* PUV — FIN HERO DOCUMENTOS GEOMETRÍA */

/* ==========================================================
   PUV — PROYECTO ECONÓMICO
   ARQUITECTURA FISCAL FEDERAL
   ========================================================== */

.puv-economy-federal {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 84% 18%, rgba(47,126,226,.18), transparent 34%),
        radial-gradient(circle at 8% 85%, rgba(255,196,0,.07), transparent 27%),
        #07172c;

    color: #f7f9fc;
}


/* CABECERA */
.puv-economy-federal .puv-section-heading {
    max-width: 980px;
    margin-bottom: clamp(3.5rem, 6vw, 5.5rem);
}

.puv-economy-federal .puv-kicker {
    color: #6fb6ff;
}

.puv-economy-federal .puv-section-heading h2 {
    max-width: 940px;
    margin: 0 0 1.6rem;

    font-family: var(--puv-font-display);
    font-size: clamp(3rem, 5.6vw, 5.6rem);
    line-height: .96;
    letter-spacing: -.045em;

    color: #fff;
}

.puv-economy-federal-lead {
    max-width: 790px;

    margin: 0;

    font-size: clamp(1.05rem, 1.45vw, 1.28rem);
    line-height: 1.72;

    color: rgba(235,241,249,.76);
}


/* CIRCUITO ECONÓMICO */
.puv-economy-circuit {
    position: relative;

    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));

    gap: 12px;

    margin-bottom: 28px;
}

.puv-economy-circuit > div {
    position: relative;

    min-height: 178px;

    padding: 25px 22px;

    border: 1px solid rgba(126,183,240,.20);
    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(31,58,91,.94),
            rgba(18,42,71,.90)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 20px 55px rgba(0,0,0,.18);

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.puv-economy-circuit > div::after {
    content: "→";

    position: absolute;
    top: 50%;
    right: -15px;

    z-index: 5;

    transform: translateY(-50%);

    width: 18px;

    color: rgba(111,182,255,.55);

    font-size: 18px;
    text-align: center;
}

.puv-economy-circuit > div:last-child::after {
    display: none;
}

.puv-economy-circuit span {
    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;

    color: #6fb6ff;
}

.puv-economy-circuit strong {
    max-width: 175px;

    font-family: var(--puv-font-display);
    font-size: clamp(1.35rem, 1.7vw, 1.75rem);
    font-weight: 500;
    line-height: 1.05;

    color: #fff;
}


/* PRINCIPIO 1 PROVINCIA = 1 TESORERÍA */
.puv-economy-federal-rule {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);

    gap: 30px;
    align-items: center;

    margin: 0 0 clamp(4rem, 7vw, 6.5rem);

    padding: 30px 34px;

    border: 1px solid rgba(255,198,35,.35);
    border-radius: 18px;

    background:
        linear-gradient(
            110deg,
            rgba(255,197,33,.13),
            rgba(31,67,107,.84)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 20px 60px rgba(0,0,0,.16);
}

.puv-economy-federal-rule span {
    color: #ffc629;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.puv-economy-federal-rule strong {
    font-family: var(--puv-font-display);
    font-size: clamp(1.7rem, 3vw, 2.7rem);
    font-weight: 500;
    line-height: 1.05;

    color: #fff;
}


/* TRES CATEGORÍAS ECONÓMICAS */
.puv-economy-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;
}

.puv-economy-category-grid article {
    position: relative;
    overflow: hidden;

    min-height: 340px;

    padding: 30px;

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(142,190,238,.20);
    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(31,55,84,.95),
            rgba(19,41,68,.91)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 22px 65px rgba(0,0,0,.18);
}

.puv-economy-category-grid article::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background: var(--puv-yellow);
}

.puv-economy-category-grid article:nth-child(2)::before {
    background: #6fb6ff;
}

.puv-economy-category-grid article:nth-child(3)::before {
    background: var(--puv-red);
}

.puv-economy-category-grid article > span {
    margin-bottom: 3.2rem;

    color: rgba(255,255,255,.34);

    font-family: var(--puv-font-display);
    font-size: 3.2rem;
    line-height: 1;
}

.puv-economy-category-grid h3 {
    margin: 0 0 1rem;

    font-family: var(--puv-font-display);
    font-size: clamp(1.85rem, 2.7vw, 2.65rem);
    font-weight: 500;
    line-height: 1.02;

    color: #fff;
}

.puv-economy-category-grid p {
    margin: 0 0 2rem;

    font-size: .98rem;
    line-height: 1.7;

    color: rgba(230,238,248,.71);
}

.puv-economy-category-grid article > strong {
    margin-top: auto;
    padding-top: 18px;

    border-top: 1px solid rgba(255,255,255,.09);

    color: #79c0ff;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.45;
    text-transform: uppercase;
}


/* TABLET */
@media (max-width: 980px) {

    .puv-economy-circuit {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .puv-economy-circuit > div::after {
        display: none;
    }

    .puv-economy-category-grid {
        grid-template-columns: 1fr;
    }

    .puv-economy-category-grid article {
        min-height: 290px;
    }
}


/* MÓVIL */
@media (max-width: 600px) {

    .puv-economy-federal .puv-section-heading h2 {
        font-size: clamp(2.7rem, 13vw, 4.1rem);
    }

    .puv-economy-circuit {
        grid-template-columns: 1fr;
    }

    .puv-economy-circuit > div {
        min-height: 135px;
    }

    .puv-economy-circuit strong {
        max-width: none;
    }

    .puv-economy-federal-rule {
        grid-template-columns: 1fr;
        gap: 15px;

        padding: 25px;
    }

    .puv-economy-category-grid article {
        min-height: 0;
        padding: 25px;
    }

    .puv-economy-category-grid article > span {
        margin-bottom: 2rem;
    }
}

/* PUV — FIN ARQUITECTURA FISCAL FEDERAL */

/* ==========================================================
   PUV — PROYECTO ECONOMICO — FASE 2
   RECURSOS ESTRATEGICOS Y RETORNO TERRITORIAL
   ========================================================== */

.puv-economy-strategic {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 85% 15%, rgba(255,194,28,.10), transparent 30%),
        radial-gradient(circle at 12% 78%, rgba(45,122,220,.15), transparent 32%),
        #08182d;

    color: #f7f9fc;
}

.puv-economy-strategic .puv-section-heading {
    max-width: 980px;
    margin-bottom: clamp(3.5rem, 6vw, 5.5rem);
}

.puv-economy-strategic .puv-kicker {
    color: #6fb6ff;
}

.puv-economy-strategic .puv-section-heading h2 {
    max-width: 1000px;
    margin: 0 0 1.6rem;

    font-family: var(--puv-font-display);
    font-size: clamp(3rem, 5.5vw, 5.5rem);
    line-height: .96;
    letter-spacing: -.045em;

    color: #fff;
}

.puv-economy-strategic-lead {
    max-width: 800px;
    margin: 0;

    font-size: clamp(1.05rem, 1.45vw, 1.28rem);
    line-height: 1.72;

    color: rgba(234,241,249,.75);
}


/* TRES PRINCIPIOS */
.puv-economy-strategic-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;

    margin-bottom: clamp(5rem, 8vw, 8rem);
}

.puv-economy-strategic-grid article {
    position: relative;
    overflow: hidden;

    min-height: 350px;
    padding: 30px;

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(142,190,238,.22);
    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(34,59,89,.95),
            rgba(19,41,68,.91)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 24px 65px rgba(0,0,0,.20);
}

.puv-economy-strategic-grid article::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background: #6fb6ff;
}

.puv-economy-strategic-grid article:nth-child(2)::before {
    background: var(--puv-yellow);
}

.puv-economy-strategic-grid article:nth-child(3)::before {
    background: var(--puv-red);
}

.puv-economy-strategic-grid article > span {
    margin-bottom: 3rem;

    font-family: var(--puv-font-display);
    font-size: 3.2rem;
    line-height: 1;

    color: rgba(255,255,255,.32);
}

.puv-economy-strategic-grid h3 {
    margin: 0 0 1rem;

    font-family: var(--puv-font-display);
    font-size: clamp(1.85rem, 2.6vw, 2.6rem);
    font-weight: 500;
    line-height: 1.03;

    color: #fff;
}

.puv-economy-strategic-grid p {
    margin: 0 0 2rem;

    font-size: .98rem;
    line-height: 1.72;

    color: rgba(231,238,247,.72);
}

.puv-economy-strategic-grid article > strong {
    margin-top: auto;
    padding-top: 18px;

    border-top: 1px solid rgba(255,255,255,.09);

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .07em;
    text-transform: uppercase;

    color: #7bc2ff;
}


/* CADENA DE TRANSFORMACION */
.puv-economy-transformation {
    padding: clamp(2.5rem, 5vw, 4.5rem);

    border: 1px solid rgba(255,255,255,.11);
    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            rgba(26,54,88,.96),
            rgba(13,35,62,.94)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 30px 80px rgba(0,0,0,.20);
}

.puv-economy-transformation-heading {
    max-width: 770px;
    margin-bottom: 3rem;
}

.puv-economy-transformation-heading h3 {
    margin: 0 0 1.2rem;

    font-family: var(--puv-font-display);
    font-size: clamp(2.5rem, 4vw, 4.3rem);
    font-weight: 500;
    line-height: .98;

    color: #fff;
}

.puv-economy-transformation-heading p {
    max-width: 700px;

    margin: 0;

    font-size: 1rem;
    line-height: 1.72;

    color: rgba(232,239,248,.72);
}


/* 5 PASOS */
.puv-economy-value-chain {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));

    gap: 10px;
}

.puv-economy-value-chain > div {
    position: relative;

    min-height: 125px;
    padding: 20px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    border: 1px solid rgba(121,182,239,.16);
    border-radius: 14px;

    background: rgba(6,24,45,.55);
}

.puv-economy-value-chain > div::after {
    content: "→";

    position: absolute;
    top: 50%;
    right: -12px;

    z-index: 3;

    transform: translateY(-50%);

    color: rgba(111,182,255,.60);

    font-size: 17px;
}

.puv-economy-value-chain > div:last-child::after {
    display: none;
}

.puv-economy-value-chain span {
    font-family: var(--puv-font-ui);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;

    color: #ffc629;
}

.puv-economy-value-chain strong {
    font-family: var(--puv-font-display);
    font-size: clamp(1.25rem, 1.5vw, 1.55rem);
    font-weight: 500;
    line-height: 1.05;

    color: #fff;
}


/* NOTA DE PARAMETROS */
.puv-economy-parameter-note {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);

    gap: clamp(30px, 6vw, 80px);

    margin-top: 28px;
    padding: 32px 36px;

    border: 1px solid rgba(255,198,41,.32);
    border-radius: 20px;

    background:
        linear-gradient(
            115deg,
            rgba(255,198,41,.11),
            rgba(22,51,84,.91)
        );
}

.puv-economy-parameter-note span {
    display: block;

    margin-bottom: 12px;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;

    color: #ffc629;
}

.puv-economy-parameter-note h3 {
    margin: 0;

    font-family: var(--puv-font-display);
    font-size: clamp(1.8rem, 3vw, 2.9rem);
    font-weight: 500;
    line-height: 1.04;

    color: #fff;
}

.puv-economy-parameter-note p {
    margin: 0;

    align-self: center;

    font-size: .98rem;
    line-height: 1.75;

    color: rgba(235,241,249,.73);
}


/* TABLET */
@media (max-width: 980px) {

    .puv-economy-strategic-grid {
        grid-template-columns: 1fr;
    }

    .puv-economy-strategic-grid article {
        min-height: 280px;
    }

    .puv-economy-value-chain {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .puv-economy-value-chain > div::after {
        display: none;
    }

    .puv-economy-parameter-note {
        grid-template-columns: 1fr;
    }
}


/* MOVIL */
@media (max-width: 600px) {

    .puv-economy-strategic .puv-section-heading h2 {
        font-size: clamp(2.7rem, 13vw, 4.1rem);
    }

    .puv-economy-strategic-grid article {
        min-height: 0;
        padding: 25px;
    }

    .puv-economy-strategic-grid article > span {
        margin-bottom: 2rem;
    }

    .puv-economy-transformation {
        padding: 25px;
        border-radius: 18px;
    }

    .puv-economy-value-chain {
        grid-template-columns: 1fr;
    }

    .puv-economy-value-chain > div {
        min-height: 105px;
    }

    .puv-economy-parameter-note {
        padding: 25px;
    }
}

/* PUV — FIN PROYECTO ECONOMICO FASE 2 */

/* ==========================================================
   PUV — PROYECTO ECONOMICO — FASE 3
   SEMILLEROS EMPRESARIALES + INFRAESTRUCTURA FEDERAL
   ========================================================== */


/* ==========================================================
   PROVINCIAS COMO SEMILLEROS EMPRESARIALES
   ========================================================== */

.puv-economy-enterprise {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 88% 12%, rgba(255,196,35,.12), transparent 30%),
        radial-gradient(circle at 8% 88%, rgba(63,137,226,.13), transparent 30%),
        #f4f7fb;

    color: #071426;
}

.puv-economy-enterprise-intro {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, .75fr);

    gap: clamp(45px, 8vw, 110px);
    align-items: start;

    margin-bottom: clamp(4rem, 7vw, 6.5rem);
}

.puv-economy-enterprise .puv-kicker {
    color: #346ca8;
}

.puv-economy-enterprise-intro h2 {
    max-width: 780px;
    margin: 0;

    font-family: var(--puv-font-display);
    font-size: clamp(3rem, 5.5vw, 5.6rem);
    font-weight: 500;
    line-height: .96;
    letter-spacing: -.045em;

    color: #071426;
}

.puv-economy-enterprise-intro p {
    margin: 0 0 1.35rem;

    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.75;

    color: rgba(7,20,38,.72);
}


/* CICLO DE CRECIMIENTO */
.puv-economy-enterprise-cycle {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));

    gap: 12px;

    margin-bottom: 28px;
}

.puv-economy-enterprise-cycle > div {
    position: relative;

    min-height: 250px;
    padding: 25px 22px;

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(20,57,94,.12);
    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.98),
            rgba(236,242,249,.96)
        );

    box-shadow:
        0 22px 60px rgba(14,40,68,.08);
}

.puv-economy-enterprise-cycle > div::after {
    content: "→";

    position: absolute;
    top: 50%;
    right: -16px;

    z-index: 5;

    transform: translateY(-50%);

    color: rgba(36,104,175,.45);

    font-size: 19px;
}

.puv-economy-enterprise-cycle > div:last-child::after {
    display: none;
}

.puv-economy-enterprise-cycle span {
    display: block;

    margin-bottom: 2.6rem;

    font-family: var(--puv-font-display);
    font-size: 2.7rem;
    line-height: 1;

    color: rgba(25,72,120,.22);
}

.puv-economy-enterprise-cycle strong {
    display: block;

    margin-bottom: 1rem;

    font-family: var(--puv-font-display);
    font-size: clamp(1.35rem, 1.65vw, 1.7rem);
    font-weight: 500;
    line-height: 1.06;

    color: #071426;
}

.puv-economy-enterprise-cycle p {
    margin: auto 0 0;

    font-size: .92rem;
    line-height: 1.65;

    color: rgba(7,20,38,.65);
}


/* PROVINCIA DE ORIGEN */
.puv-economy-origin {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .7fr);

    gap: 20px;

    margin-top: 28px;
}

.puv-economy-origin-main,
.puv-economy-origin-note {
    border-radius: 22px;
}

.puv-economy-origin-main {
    padding: clamp(2rem, 4vw, 3.4rem);

    background:
        linear-gradient(
            135deg,
            #0b2341,
            #102f55
        );

    box-shadow:
        0 28px 70px rgba(6,28,54,.16);
}

.puv-economy-origin-label {
    display: block;

    margin-bottom: 1.3rem;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;

    color: #6fb6ff;
}

.puv-economy-origin-main h3 {
    max-width: 680px;

    margin: 0 0 1.4rem;

    font-family: var(--puv-font-display);
    font-size: clamp(2.3rem, 4vw, 4rem);
    font-weight: 500;
    line-height: .98;

    color: #fff;
}

.puv-economy-origin-main p {
    max-width: 720px;

    margin: 0;

    font-size: 1rem;
    line-height: 1.75;

    color: rgba(236,242,250,.74);
}

.puv-economy-origin-note {
    padding: clamp(2rem, 3vw, 2.8rem);

    border: 1px solid rgba(216,165,24,.28);

    background:
        linear-gradient(
            145deg,
            rgba(255,202,49,.18),
            rgba(255,245,209,.96)
        );
}

.puv-economy-origin-note > span {
    display: block;

    margin-bottom: 1.1rem;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;

    color: #8a6400;
}

.puv-economy-origin-note > strong {
    display: block;

    margin-bottom: 1.4rem;

    font-family: var(--puv-font-display);
    font-size: clamp(2rem, 3vw, 3.1rem);
    font-weight: 500;
    line-height: 1;

    color: #071426;
}

.puv-economy-origin-note p {
    margin: 0;

    font-size: .94rem;
    line-height: 1.7;

    color: rgba(7,20,38,.68);
}


/* ==========================================================
   INFRAESTRUCTURA FEDERAL ABIERTA
   ========================================================== */

.puv-economy-infrastructure {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 80% 12%, rgba(57,129,220,.18), transparent 32%),
        radial-gradient(circle at 10% 95%, rgba(255,196,35,.08), transparent 30%),
        #06162b;

    color: #fff;
}

.puv-economy-infrastructure .puv-section-heading {
    max-width: 1000px;

    margin-bottom: clamp(3.8rem, 7vw, 6rem);
}

.puv-economy-infrastructure .puv-kicker {
    color: #6fb6ff;
}

.puv-economy-infrastructure .puv-section-heading h2 {
    max-width: 980px;

    margin: 0 0 1.6rem;

    font-family: var(--puv-font-display);
    font-size: clamp(3rem, 5.5vw, 5.5rem);
    font-weight: 500;
    line-height: .96;
    letter-spacing: -.045em;

    color: #fff;
}

.puv-economy-infrastructure-lead {
    max-width: 780px;

    margin: 0;

    font-size: clamp(1.05rem, 1.4vw, 1.25rem);
    line-height: 1.72;

    color: rgba(234,241,249,.74);
}


/* CUATRO PRINCIPIOS */
.puv-economy-infrastructure-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px;

    margin-bottom: 24px;
}

.puv-economy-infrastructure-grid article {
    position: relative;

    min-height: 270px;

    padding: clamp(1.7rem, 3vw, 2.5rem);

    border: 1px solid rgba(131,186,239,.20);
    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(31,57,88,.95),
            rgba(17,40,67,.91)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 24px 65px rgba(0,0,0,.18);
}

.puv-economy-infrastructure-grid article::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 3px;
    height: 100%;

    background: #6fb6ff;
}

.puv-economy-infrastructure-grid article:nth-child(2)::before {
    background: var(--puv-yellow);
}

.puv-economy-infrastructure-grid article:nth-child(3)::before {
    background: var(--puv-red);
}

.puv-economy-infrastructure-grid article:nth-child(4)::before {
    background: #76c89f;
}

.puv-economy-infrastructure-grid article > span {
    display: block;

    margin-bottom: 2.5rem;

    font-family: var(--puv-font-display);
    font-size: 3rem;
    line-height: 1;

    color: rgba(255,255,255,.28);
}

.puv-economy-infrastructure-grid h3 {
    margin: 0 0 1rem;

    font-family: var(--puv-font-display);
    font-size: clamp(1.8rem, 2.5vw, 2.6rem);
    font-weight: 500;
    line-height: 1.04;

    color: #fff;
}

.puv-economy-infrastructure-grid p {
    max-width: 590px;

    margin: 0;

    font-size: .98rem;
    line-height: 1.72;

    color: rgba(232,239,248,.72);
}


/* PRINCIPIO INSTITUCIONAL */
.puv-economy-infrastructure-principle {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);

    gap: clamp(25px, 5vw, 70px);
    align-items: center;

    padding: clamp(2rem, 4vw, 3rem);

    border: 1px solid rgba(255,198,41,.30);
    border-radius: 20px;

    background:
        linear-gradient(
            110deg,
            rgba(255,198,41,.11),
            rgba(23,51,84,.92)
        );
}

.puv-economy-infrastructure-principle span {
    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .14em;
    text-transform: uppercase;

    color: #ffc629;
}

.puv-economy-infrastructure-principle strong {
    max-width: 850px;

    font-family: var(--puv-font-display);
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 500;
    line-height: 1.04;

    color: #fff;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1020px) {

    .puv-economy-enterprise-cycle {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .puv-economy-enterprise-cycle > div::after {
        display: none;
    }

    .puv-economy-origin {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 820px) {

    .puv-economy-enterprise-intro {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .puv-economy-infrastructure-grid {
        grid-template-columns: 1fr;
    }

    .puv-economy-infrastructure-principle {
        grid-template-columns: 1fr;

        gap: 18px;
    }
}


@media (max-width: 600px) {

    .puv-economy-enterprise-intro h2,
    .puv-economy-infrastructure .puv-section-heading h2 {
        font-size: clamp(2.7rem, 13vw, 4.1rem);
    }

    .puv-economy-enterprise-cycle {
        grid-template-columns: 1fr;
    }

    .puv-economy-enterprise-cycle > div {
        min-height: 210px;
    }

    .puv-economy-origin-main,
    .puv-economy-origin-note {
        padding: 25px;

        border-radius: 18px;
    }

    .puv-economy-infrastructure-grid article {
        min-height: 0;

        padding: 25px;
    }

    .puv-economy-infrastructure-grid article > span {
        margin-bottom: 2rem;
    }

    .puv-economy-infrastructure-principle {
        padding: 25px;
    }
}

/* PUV — FIN PROYECTO ECONOMICO FASE 3 */

/* ==========================================================
   PUV — PROYECTO ECONOMICO — FASE 4
   DISCIPLINA FISCAL + ESTADO DEL MODELO + DOCUMENTACION
   ========================================================== */

.puv-economy-discipline {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 86% 14%, rgba(48,126,224,.14), transparent 30%),
        radial-gradient(circle at 8% 90%, rgba(255,196,35,.08), transparent 28%),
        #f5f7fa;

    color: #071426;
}


/* CABECERA */
.puv-economy-discipline .puv-section-heading {
    max-width: 1000px;
    margin-bottom: clamp(3.8rem, 7vw, 6rem);
}

.puv-economy-discipline .puv-kicker {
    color: #376fa9;
}

.puv-economy-discipline .puv-section-heading h2 {
    max-width: 940px;
    margin: 0 0 1.6rem;

    font-family: var(--puv-font-display);
    font-size: clamp(3rem, 5.5vw, 5.5rem);
    font-weight: 500;
    line-height: .96;
    letter-spacing: -.045em;

    color: #071426;
}

.puv-economy-discipline-lead {
    max-width: 790px;
    margin: 0;

    font-size: clamp(1.05rem, 1.4vw, 1.25rem);
    line-height: 1.75;

    color: rgba(7,20,38,.70);
}


/* CUATRO PRINCIPIOS */
.puv-economy-discipline-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px;

    margin-bottom: clamp(5rem, 8vw, 7.5rem);
}

.puv-economy-discipline-grid article {
    position: relative;
    overflow: hidden;

    min-height: 300px;
    padding: clamp(1.8rem, 3vw, 2.6rem);

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(24,63,103,.12);
    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.99),
            rgba(235,241,248,.97)
        );

    box-shadow:
        0 24px 65px rgba(10,40,70,.08);
}

.puv-economy-discipline-grid article::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 4px;
    height: 100%;

    background: #347ac5;
}

.puv-economy-discipline-grid article:nth-child(2)::before {
    background: var(--puv-yellow);
}

.puv-economy-discipline-grid article:nth-child(3)::before {
    background: var(--puv-red);
}

.puv-economy-discipline-grid article:nth-child(4)::before {
    background: #489b79;
}

.puv-economy-discipline-grid article > span {
    display: block;

    margin-bottom: 2.5rem;

    font-family: var(--puv-font-display);
    font-size: 3rem;
    line-height: 1;

    color: rgba(24,72,122,.20);
}

.puv-economy-discipline-grid h3 {
    max-width: 540px;
    margin: 0 0 1.1rem;

    font-family: var(--puv-font-display);
    font-size: clamp(1.9rem, 2.6vw, 2.7rem);
    font-weight: 500;
    line-height: 1.03;

    color: #071426;
}

.puv-economy-discipline-grid p {
    max-width: 600px;
    margin: 0 0 2rem;

    font-size: .98rem;
    line-height: 1.72;

    color: rgba(7,20,38,.67);
}

.puv-economy-discipline-grid article > strong {
    margin-top: auto;
    padding-top: 18px;

    border-top: 1px solid rgba(7,20,38,.10);

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .07em;
    text-transform: uppercase;

    color: #376fa9;
}


/* ESTADO DEL MODELO */
.puv-economy-status {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);

    gap: clamp(45px, 8vw, 110px);

    padding: clamp(2.5rem, 5vw, 4.5rem);

    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            #081b33,
            #102f55
        );

    box-shadow:
        0 32px 80px rgba(7,28,53,.18);
}

.puv-economy-status .puv-kicker {
    color: #6fb6ff;
}

.puv-economy-status-heading h3 {
    max-width: 600px;

    margin: 0 0 1.3rem;

    font-family: var(--puv-font-display);
    font-size: clamp(2.5rem, 4vw, 4.3rem);
    font-weight: 500;
    line-height: .98;

    color: #fff;
}

.puv-economy-status-heading p {
    max-width: 600px;
    margin: 0;

    font-size: 1rem;
    line-height: 1.75;

    color: rgba(235,241,249,.72);
}


/* LISTA PRINCIPIO / MECANISMO / HIPOTESIS */
.puv-economy-status-list {
    display: grid;
    gap: 12px;
}

.puv-economy-status-list > div {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);

    gap: 20px;

    padding: 23px 0;

    border-bottom: 1px solid rgba(255,255,255,.10);
}

.puv-economy-status-list > div:first-child {
    padding-top: 0;
}

.puv-economy-status-list > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.puv-economy-status-list > div > span {
    font-family: var(--puv-font-display);
    font-size: 2rem;
    line-height: 1;

    color: rgba(111,182,255,.48);
}

.puv-economy-status-list strong {
    display: block;

    margin-bottom: .6rem;

    font-family: var(--puv-font-display);
    font-size: 1.55rem;
    font-weight: 500;
    line-height: 1.05;

    color: #fff;
}

.puv-economy-status-list p {
    margin: 0;

    font-size: .94rem;
    line-height: 1.68;

    color: rgba(232,239,248,.69);
}


/* DOCUMENTACION TECNICA */
.puv-economy-documents {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, .75fr);

    gap: clamp(40px, 7vw, 90px);
    align-items: center;

    margin-top: 28px;
    padding: clamp(2.4rem, 5vw, 4rem);

    border: 1px solid rgba(196,149,17,.25);
    border-radius: 24px;

    background:
        linear-gradient(
            120deg,
            rgba(255,199,38,.15),
            rgba(255,248,224,.98)
        );

    box-shadow:
        0 24px 70px rgba(36,46,58,.08);
}

.puv-economy-documents .puv-kicker {
    color: #806000;
}

.puv-economy-documents h3 {
    margin: 0 0 1.2rem;

    font-family: var(--puv-font-display);
    font-size: clamp(2.4rem, 4vw, 4rem);
    font-weight: 500;
    line-height: .98;

    color: #071426;
}

.puv-economy-documents p {
    max-width: 680px;
    margin: 0;

    font-size: 1rem;
    line-height: 1.75;

    color: rgba(7,20,38,.68);
}

.puv-economy-document-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;

    gap: 12px;
}

.puv-economy-document-actions .puv-button {
    width: 100%;
    justify-content: center;
    text-align: center;
}

.puv-economy-document-actions .puv-button-outline {
    border: 1px solid rgba(7,20,38,.28);

    background: rgba(255,255,255,.60);

    color: #071426;
}

.puv-economy-document-actions .puv-button-outline:hover {
    background: #071426;
    border-color: #071426;

    color: #fff;
}

.puv-economy-library-link {
    display: inline-flex;
    justify-content: center;

    padding: 10px;

    font-family: var(--puv-font-ui);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;

    color: #173d68;

    text-decoration: none;
}

.puv-economy-library-link:hover {
    color: #071426;
}


/* RESPONSIVE */
@media (max-width: 900px) {

    .puv-economy-status,
    .puv-economy-documents {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 760px) {

    .puv-economy-discipline-grid {
        grid-template-columns: 1fr;
    }

    .puv-economy-discipline-grid article {
        min-height: 0;
    }
}


@media (max-width: 600px) {

    .puv-economy-discipline .puv-section-heading h2 {
        font-size: clamp(2.7rem, 13vw, 4.1rem);
    }

    .puv-economy-discipline-grid article {
        padding: 25px;
    }

    .puv-economy-status,
    .puv-economy-documents {
        padding: 25px;

        border-radius: 18px;
    }

    .puv-economy-status-list > div {
        grid-template-columns: 38px minmax(0, 1fr);

        gap: 14px;
    }
}

/* PUV — FIN PROYECTO ECONOMICO FASE 4 */

/* ==========================================================
   PUV — PROYECTO PAIS
   ARQUITECTURA INTEGRADA
   ========================================================== */

.puv-project-architecture {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 84% 15%, rgba(45,122,220,.18), transparent 30%),
        radial-gradient(circle at 8% 88%, rgba(255,196,35,.08), transparent 28%),
        #07172c;

    color: #fff;
}


/* CABECERA */
.puv-project-architecture-heading {
    max-width: 1000px;

    margin-bottom: clamp(4rem, 7vw, 6.5rem);
}

.puv-project-architecture .puv-kicker {
    color: #6fb6ff;
}

.puv-project-architecture-heading h2 {
    max-width: 920px;

    margin: 0 0 1.6rem;

    font-family: var(--puv-font-display);
    font-size: clamp(3.2rem, 6vw, 6rem);
    font-weight: 500;
    line-height: .94;
    letter-spacing: -.05em;

    color: #fff;
}

.puv-project-architecture-heading p {
    max-width: 790px;

    margin: 0;

    font-size: clamp(1.05rem, 1.45vw, 1.28rem);
    line-height: 1.72;

    color: rgba(234,241,249,.75);
}


/* SISTEMA VERTICAL */
.puv-project-system {
    position: relative;

    display: grid;
    gap: 18px;

    margin-bottom: 30px;
}

.puv-project-system::before {
    content: "";

    position: absolute;
    top: 60px;
    bottom: 60px;
    left: 48px;

    width: 1px;

    background:
        linear-gradient(
            to bottom,
            rgba(111,182,255,.15),
            rgba(111,182,255,.65),
            rgba(255,198,41,.45),
            rgba(111,182,255,.15)
        );
}

.puv-project-system-item {
    position: relative;

    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);

    gap: 28px;

    min-height: 190px;
    padding: 28px 34px;

    border: 1px solid rgba(132,185,237,.20);
    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(31,57,88,.95),
            rgba(17,40,67,.91)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 24px 65px rgba(0,0,0,.18);
}

.puv-project-system-number {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    border: 1px solid rgba(111,182,255,.35);
    border-radius: 50%;

    background: #0d2949;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;

    color: #6fb6ff;
}

.puv-project-system-content > span {
    display: block;

    margin-bottom: 10px;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;

    color: #6fb6ff;
}

.puv-project-system-content h3 {
    max-width: 760px;

    margin: 0 0 1rem;

    font-family: var(--puv-font-display);
    font-size: clamp(2rem, 3.2vw, 3.3rem);
    font-weight: 500;
    line-height: 1;

    color: #fff;
}

.puv-project-system-content p {
    max-width: 790px;

    margin: 0;

    font-size: .98rem;
    line-height: 1.72;

    color: rgba(232,239,248,.71);
}

.puv-project-system-content a {
    display: inline-flex;

    margin-top: 18px;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;

    color: #ffc629;
}

.puv-project-system-content a:hover {
    color: #fff;
}


/* ACENTOS POR NIVEL */
.puv-project-system-item:nth-child(1) {
    border-left: 3px solid var(--puv-yellow);
}

.puv-project-system-item:nth-child(2) {
    border-left: 3px solid #6fb6ff;
}

.puv-project-system-item:nth-child(3) {
    border-left: 3px solid var(--puv-red);
}

.puv-project-system-item:nth-child(4) {
    border-left: 3px solid #65b68f;
}

.puv-project-system-item:nth-child(5) {
    border-left: 3px solid #b7c9dc;
}


/* RESUMEN */
.puv-project-architecture-summary {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1fr);

    gap: clamp(35px, 7vw, 90px);
    align-items: center;

    margin-top: 30px;
    padding: clamp(2.2rem, 4vw, 3.5rem);

    border: 1px solid rgba(255,198,41,.32);
    border-radius: 22px;

    background:
        linear-gradient(
            110deg,
            rgba(255,198,41,.12),
            rgba(23,51,84,.92)
        );
}

.puv-project-architecture-summary span {
    display: block;

    margin-bottom: 12px;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;

    color: #ffc629;
}

.puv-project-architecture-summary h3 {
    margin: 0;

    font-family: var(--puv-font-display);
    font-size: clamp(2rem, 3.5vw, 3.6rem);
    font-weight: 500;
    line-height: 1;

    color: #fff;
}

.puv-project-architecture-summary p {
    margin: 0;

    font-size: 1rem;
    line-height: 1.75;

    color: rgba(235,241,249,.73);
}


/* PUERTAS DE ENTRADA */
.puv-project-architecture-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 16px;

    margin-top: 28px;
}

.puv-project-architecture-links a {
    min-height: 190px;

    padding: 26px;

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(139,188,235,.18);
    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(27,52,82,.94),
            rgba(16,37,63,.90)
        );

    text-decoration: none;

    transition:
        transform .25s ease,
        border-color .25s ease,
        background .25s ease;
}

.puv-project-architecture-links a:hover {
    transform: translateY(-4px);

    border-color: rgba(111,182,255,.45);

    background:
        linear-gradient(
            145deg,
            rgba(35,67,103,.97),
            rgba(20,45,75,.94)
        );
}

.puv-project-architecture-links span {
    margin-bottom: auto;

    font-family: var(--puv-font-display);
    font-size: 2.5rem;

    color: rgba(255,255,255,.26);
}

.puv-project-architecture-links strong {
    display: block;

    margin-bottom: 8px;

    font-family: var(--puv-font-display);
    font-size: clamp(1.55rem, 2vw, 2rem);
    font-weight: 500;

    color: #fff;
}

.puv-project-architecture-links small {
    font-size: .9rem;
    line-height: 1.55;

    color: rgba(229,237,247,.66);
}


/* TABLET */
@media (max-width: 900px) {

    .puv-project-architecture-summary {
        grid-template-columns: 1fr;
    }

    .puv-project-architecture-links {
        grid-template-columns: 1fr;
    }

    .puv-project-architecture-links a {
        min-height: 155px;
    }
}


/* MOVIL */
@media (max-width: 600px) {

    .puv-project-architecture-heading h2 {
        font-size: clamp(2.8rem, 13vw, 4.3rem);
    }

    .puv-project-system::before {
        left: 29px;
    }

    .puv-project-system-item {
        grid-template-columns: 58px minmax(0, 1fr);

        gap: 18px;

        padding: 23px 20px;
    }

    .puv-project-system-number {
        width: 40px;
        height: 40px;
    }

    .puv-project-system-content h3 {
        font-size: clamp(1.8rem, 8vw, 2.6rem);
    }

    .puv-project-architecture-summary {
        padding: 25px;

        border-radius: 18px;
    }
}

/* PUV — FIN ARQUITECTURA INTEGRADA */

/* ==========================================================
   PUV — PROYECTO PAIS — NAVEGACION 4 RAMAS
   ========================================================== */

body.page-id-9 .puv-project-path-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1050px) {
    body.page-id-9 .puv-project-path-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    body.page-id-9 .puv-project-path-grid {
        grid-template-columns: 1fr;
    }
}

/* PUV — FIN NAVEGACION 4 RAMAS */

/* ==========================================================
   PUV — MODELO REPUBLICA — MAPA INSTITUCIONAL 2026
   ========================================================== */

.puv-republic-institutions {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(circle at 86% 10%, rgba(53,129,224,.17), transparent 31%),
        radial-gradient(circle at 8% 90%, rgba(255,196,35,.08), transparent 28%),
        #07172c;

    color: #fff;
}


/* ==========================================================
   CABECERA
   ========================================================== */

.puv-republic-institutions-heading {
    max-width: 1000px;
    margin-bottom: clamp(4rem, 7vw, 6.5rem);
}

.puv-republic-institutions .puv-kicker {
    color: #6fb6ff;
}

.puv-republic-institutions-heading h2 {
    max-width: 940px;
    margin: 0 0 1.6rem;

    font-family: var(--puv-font-display);
    font-size: clamp(3.2rem, 6vw, 6rem);
    font-weight: 500;
    line-height: .94;
    letter-spacing: -.05em;

    color: #fff;
}

.puv-republic-institutions-heading p {
    max-width: 800px;
    margin: 0;

    font-size: clamp(1.05rem, 1.45vw, 1.28rem);
    line-height: 1.72;

    color: rgba(235,241,249,.75);
}


/* ==========================================================
   EJECUTIVO DUAL
   ========================================================== */

.puv-republic-executive {
    margin-bottom: clamp(5rem, 8vw, 7rem);
}

.puv-republic-executive-label {
    margin-bottom: 18px;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;

    color: #ffc629;
}

.puv-republic-executive-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);

    gap: 18px;
}

.puv-republic-executive-grid article {
    position: relative;
    overflow: hidden;

    min-height: 410px;
    padding: clamp(2rem, 4vw, 3.4rem);

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(139,190,238,.22);
    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            rgba(34,61,94,.96),
            rgba(18,42,71,.92)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 28px 75px rgba(0,0,0,.20);
}

.puv-republic-president::before,
.puv-republic-octimvirate::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 4px;
}

.puv-republic-president::before {
    background: var(--puv-yellow);
}

.puv-republic-octimvirate::before {
    background: #6fb6ff;
}

.puv-republic-executive-grid article > span {
    display: block;
    margin-bottom: 2.8rem;

    font-family: var(--puv-font-display);
    font-size: 3.5rem;
    line-height: 1;

    color: rgba(255,255,255,.26);
}

.puv-republic-executive-grid h3 {
    max-width: 650px;
    margin: 0 0 1.2rem;

    font-family: var(--puv-font-display);
    font-size: clamp(2.3rem, 4vw, 4rem);
    font-weight: 500;
    line-height: .98;

    color: #fff;
}

.puv-republic-executive-grid p {
    max-width: 650px;
    margin: 0;

    font-size: .98rem;
    line-height: 1.75;

    color: rgba(234,241,249,.72);
}


/* JEFATURA DEL ESTADO */
.puv-republic-role {
    margin-top: auto;
    padding-top: 24px;

    border-top: 1px solid rgba(255,255,255,.10);
}

.puv-republic-role strong {
    display: block;
    margin-bottom: 7px;

    font-family: var(--puv-font-display);
    font-size: 1.6rem;
    font-weight: 500;

    color: #ffc629;
}

.puv-republic-role small {
    color: rgba(235,241,249,.62);
}


/* LOS OCHO PRESIDENTES */
.puv-republic-eight {
    display: grid;
    grid-template-columns: repeat(8, 1fr);

    gap: 7px;

    margin-top: auto;
    padding-top: 26px;

    border-top: 1px solid rgba(255,255,255,.10);
}

.puv-republic-eight i {
    aspect-ratio: 1;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(111,182,255,.32);
    border-radius: 50%;

    background: rgba(7,29,54,.70);

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    font-style: normal;

    color: #79c0ff;
}


/* SELECCION PRESIDENCIAL */
.puv-republic-executive-note {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);

    gap: 30px;
    align-items: center;

    margin-top: 18px;
    padding: 27px 32px;

    border: 1px solid rgba(255,198,41,.30);
    border-radius: 18px;

    background:
        linear-gradient(
            110deg,
            rgba(255,198,41,.11),
            rgba(24,53,86,.92)
        );
}

.puv-republic-executive-note span {
    font-family: var(--puv-font-ui);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .13em;
    text-transform: uppercase;

    color: #ffc629;
}

.puv-republic-executive-note strong {
    max-width: 790px;

    font-family: var(--puv-font-display);
    font-size: clamp(1.5rem, 2.5vw, 2.4rem);
    font-weight: 500;
    line-height: 1.05;

    color: #fff;
}


/* ==========================================================
   NIVELES INSTITUCIONALES
   ========================================================== */

.puv-republic-level {
    position: relative;

    padding: clamp(2.5rem, 5vw, 4rem);

    border: 1px solid rgba(134,187,239,.18);
    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            rgba(27,53,84,.94),
            rgba(16,38,65,.91)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 25px 70px rgba(0,0,0,.17);
}

.puv-republic-level-heading {
    max-width: 800px;
    margin-bottom: 3rem;
}

.puv-republic-level-heading > span {
    display: block;
    margin-bottom: 12px;

    font-family: var(--puv-font-ui);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;

    color: #6fb6ff;
}

.puv-republic-level-heading h3 {
    margin: 0;

    font-family: var(--puv-font-display);
    font-size: clamp(2.4rem, 4vw, 4rem);
    font-weight: 500;
    line-height: .98;

    color: #fff;
}


/* GRID DE INSTITUCIONES */
.puv-republic-institution-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 13px;
}

.puv-republic-institution-grid article {
    min-height: 210px;
    padding: 24px;

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(124,180,234,.16);
    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(37,66,99,.91),
            rgba(21,46,75,.88)
        );
}

.puv-republic-institution-grid article > span {
    margin-bottom: auto;

    font-family: var(--puv-font-display);
    font-size: 2.7rem;
    line-height: 1;

    color: rgba(255,255,255,.22);
}

.puv-republic-institution-grid h4 {
    margin: 2rem 0 .7rem;

    font-family: var(--puv-font-display);
    font-size: clamp(1.35rem, 1.8vw, 1.8rem);
    font-weight: 500;
    line-height: 1.05;

    color: #fff;
}

.puv-republic-institution-grid p {
    margin: 0;

    font-size: .88rem;
    line-height: 1.6;

    color: rgba(229,238,248,.66);
}


/* ==========================================================
   CONECTOR FEDERAL
   ========================================================== */

.puv-republic-connector {
    display: grid;
    grid-template-columns: 1fr auto 1fr;

    gap: 20px;
    align-items: center;

    margin: 30px 0;
}

.puv-republic-connector span {
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(111,182,255,.40)
        );
}

.puv-republic-connector span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(111,182,255,.40),
            transparent
        );
}

.puv-republic-connector strong {
    padding: 10px 18px;

    border: 1px solid rgba(111,182,255,.28);
    border-radius: 999px;

    font-family: var(--puv-font-ui);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;

    color: #6fb6ff;

    background: #0a223e;
}


/* ==========================================================
   NIVEL REGIONAL
   ========================================================== */

.puv-republic-level-regional {
    background:
        linear-gradient(
            145deg,
            rgba(35,57,83,.95),
            rgba(19,40,66,.92)
        );
}

.puv-republic-level-regional .puv-republic-level-heading > span {
    color: #ffc629;
}

.puv-republic-regional-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.puv-republic-regional-grid article {
    border-top: 3px solid rgba(255,198,41,.78);
}


/* ==========================================================
   CONTROL
   ========================================================== */

.puv-republic-control {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);

    gap: clamp(40px, 7vw, 90px);
    align-items: center;

    margin-top: 30px;
    padding: clamp(2.3rem, 4vw, 3.5rem);

    border: 1px solid rgba(204,75,75,.24);
    border-radius: 22px;

    background:
        linear-gradient(
            120deg,
            rgba(151,40,48,.15),
            rgba(23,49,80,.94)
        );
}

.puv-republic-control h3 {
    max-width: 620px;
    margin: 0;

    font-family: var(--puv-font-display);
    font-size: clamp(2.2rem, 3.6vw, 3.7rem);
    font-weight: 500;
    line-height: .98;

    color: #fff;
}

.puv-republic-control p {
    margin: 0;

    font-size: 1rem;
    line-height: 1.75;

    color: rgba(235,241,249,.72);
}


/* ==========================================================
   DOCUMENTO VIGENTE
   ========================================================== */

.puv-republic-current-doc {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;

    gap: 35px;
    align-items: center;

    margin-top: 24px;
    padding: 28px 32px;

    border: 1px solid rgba(255,198,41,.32);
    border-radius: 18px;

    background:
        linear-gradient(
            110deg,
            rgba(255,198,41,.12),
            rgba(27,54,87,.94)
        );
}

.puv-republic-current-doc span {
    display: block;
    margin-bottom: 8px;

    font-family: var(--puv-font-ui);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;

    color: #ffc629;
}

.puv-republic-current-doc strong {
    display: block;

    max-width: 710px;

    font-family: var(--puv-font-display);
    font-size: clamp(1.5rem, 2.4vw, 2.35rem);
    font-weight: 500;
    line-height: 1.05;

    color: #fff;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 980px) {

    .puv-republic-executive-grid {
        grid-template-columns: 1fr;
    }

    .puv-republic-institution-grid,
    .puv-republic-regional-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .puv-republic-control {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 760px) {

    .puv-republic-executive-note {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .puv-republic-current-doc {
        grid-template-columns: 1fr;
    }

    .puv-republic-current-doc .puv-button {
        width: 100%;
        justify-content: center;
    }
}


@media (max-width: 600px) {

    .puv-republic-institutions-heading h2 {
        font-size: clamp(2.8rem, 13vw, 4.3rem);
    }

    .puv-republic-executive-grid article {
        min-height: 0;
        padding: 25px;
    }

    .puv-republic-eight {
        grid-template-columns: repeat(4, 1fr);
    }

    .puv-republic-level {
        padding: 25px;
        border-radius: 18px;
    }

    .puv-republic-institution-grid,
    .puv-republic-regional-grid {
        grid-template-columns: 1fr;
    }

    .puv-republic-institution-grid article {
        min-height: 170px;
    }

    .puv-republic-control,
    .puv-republic-current-doc {
        padding: 25px;
        border-radius: 18px;
    }
}

/* PUV — FIN MAPA INSTITUCIONAL 2026 */



/* ==========================================================
   PUV — PROYECTO PAIS — MAPA TERRITORIAL INTERACTIVO
   ========================================================== */

.puv-project-territory {
    position: relative;

    display: grid;
    grid-template-columns: minmax(260px, .68fr) minmax(0, 1.32fr);

    gap: clamp(32px, 5vw, 75px);
    align-items: center;

    margin: 0 0 clamp(4rem, 7vw, 6.5rem);
    padding: clamp(2rem, 4vw, 4rem);

    overflow: hidden;

    border: 1px solid rgba(124,180,234,.20);
    border-radius: 28px;

    background:
        radial-gradient(circle at 78% 45%, rgba(31,94,168,.20), transparent 34%),
        linear-gradient(145deg, rgba(20,47,78,.96), rgba(9,29,52,.96));

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 35px 90px rgba(0,0,0,.22);
}


/* COPY */
.puv-project-territory-copy {
    position: relative;
    z-index: 2;
}

.puv-project-territory-copy h3 {
    max-width: 520px;

    margin: 0 0 1.3rem;

    font-family: var(--puv-font-display);
    font-size: clamp(2.7rem, 4.6vw, 4.8rem);
    font-weight: 500;
    line-height: .94;
    letter-spacing: -.045em;

    color: #fff;
}

.puv-project-territory-copy > p {
    max-width: 510px;

    margin: 0;

    font-size: 1rem;
    line-height: 1.75;

    color: rgba(234,241,249,.72);
}


/* 8 PROVINCIAS */
.puv-project-territory-principle {
    display: grid;
    grid-template-columns: auto 1fr;

    gap: 18px;
    align-items: center;

    margin-top: 32px;
    padding-top: 25px;

    border-top: 1px solid rgba(255,255,255,.10);
}

.puv-project-territory-principle strong {
    font-family: var(--puv-font-display);
    font-size: clamp(4rem, 6vw, 6rem);
    font-weight: 500;
    line-height: .8;

    color: var(--puv-yellow);
}

.puv-project-territory-principle span {
    max-width: 240px;

    font-size: .82rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .035em;

    color: rgba(237,243,249,.72);
}


/* MAPA */
.puv-project-territory-map {
    position: relative;
    min-width: 0;
}

.puv-project-map-stage {
    position: relative;

    width: 100%;
    min-height: 430px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 15px 0 25px;
}

.puv-project-map-stage svg {
    display: block;

    width: 100%;
    height: auto;
    max-height: 570px;

    overflow: visible;

    filter:
        drop-shadow(0 22px 32px rgba(0,0,0,.20));
}


/* PROVINCIAS SVG */
.puv-project-map-stage .puv-province {
    opacity: 1;

    cursor: pointer;

    transition:
        opacity .25s ease,
        filter .25s ease,
        transform .25s ease;
}

.puv-project-map-stage .puv-province path {
    transition:
        stroke .22s ease,
        stroke-width .22s ease,
        filter .22s ease;
}

.puv-project-territory.is-map-hovering
.puv-project-map-stage
.puv-province:not(.is-active) {
    opacity: .28;
}

.puv-project-map-stage .puv-province.is-active {
    opacity: 1;

    filter:
        brightness(1.13)
        drop-shadow(0 8px 14px rgba(0,0,0,.24));
}

.puv-project-map-stage .puv-province.is-active path {
    stroke: #ffffff;
    stroke-width: 2.4;
}


/* LISTA */
.puv-project-province-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 8px;

    margin-top: 6px;
}

.puv-project-province-list > div {
    position: relative;

    min-height: 74px;
    padding: 14px 13px;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    border: 1px solid rgba(124,180,234,.16);
    border-radius: 12px;

    background: rgba(8,29,52,.56);

    cursor: pointer;

    transition:
        transform .22s ease,
        border-color .22s ease,
        background .22s ease,
        opacity .22s ease;
}

.puv-project-province-list > div:hover,
.puv-project-province-list > div:focus,
.puv-project-province-list > div.is-active {
    transform: translateY(-3px);

    border-color: rgba(255,255,255,.35);

    background: rgba(31,66,103,.92);

    outline: none;
}

.puv-project-territory.is-map-hovering
.puv-project-province-list > div:not(.is-active) {
    opacity: .42;
}

.puv-project-province-list span {
    display: block;

    margin-bottom: 9px;

    font-family: var(--puv-font-ui);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;

    color: #6fb6ff;
}

.puv-project-province-list strong {
    display: block;

    font-family: var(--puv-font-display);
    font-size: 1.04rem;
    font-weight: 500;
    line-height: 1.05;

    color: #fff;
}


/* ACENTO INFERIOR */
.puv-project-territory::after {
    content: "★ ★ ★ ★ ★ ★ ★ ★";

    position: absolute;
    right: 36px;
    bottom: 18px;

    font-size: 7px;
    letter-spacing: 5px;

    color: rgba(255,198,41,.25);

    pointer-events: none;
}


/* RESPONSIVE */
@media (max-width: 1050px) {

    .puv-project-territory {
        grid-template-columns: 1fr;
    }

    .puv-project-territory-copy {
        max-width: 750px;
    }

    .puv-project-map-stage {
        min-height: 0;
    }
}


@media (max-width: 760px) {

    .puv-project-province-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .puv-project-territory {
        padding: 28px 22px;
        border-radius: 20px;
    }

    .puv-project-map-stage {
        padding-top: 5px;
    }
}


@media (max-width: 480px) {

    .puv-project-territory-copy h3 {
        font-size: clamp(2.6rem, 12vw, 3.7rem);
    }

    .puv-project-province-list > div {
        min-height: 68px;
    }

    .puv-project-territory-principle strong {
        font-size: 4.3rem;
    }
}

/* PUV — FIN MAPA TERRITORIAL INTERACTIVO */

/* ==========================================================
   PUV — MODELO REPUBLICA — TERRITORIO + OCTIMVIRATO
   ========================================================== */

.puv-republic-territory-bridge {
    position: relative;

    margin-bottom: clamp(4.5rem, 8vw, 7rem);
    padding: clamp(2.2rem, 5vw, 4.5rem);

    overflow: hidden;

    border: 1px solid rgba(117,178,238,.20);
    border-radius: 28px;

    background:
        radial-gradient(circle at 20% 55%, rgba(31,94,168,.18), transparent 34%),
        radial-gradient(circle at 86% 16%, rgba(255,198,41,.07), transparent 28%),
        linear-gradient(145deg, rgba(17,43,73,.98), rgba(7,24,44,.98));

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 35px 90px rgba(0,0,0,.22);
}


/* CABECERA */
.puv-republic-territory-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);

    gap: clamp(35px, 6vw, 85px);
    align-items: end;

    margin-bottom: clamp(3rem, 6vw, 5rem);
}

.puv-republic-territory-intro h3 {
    max-width: 760px;

    margin: 0;

    font-family: var(--puv-font-display);
    font-size: clamp(2.7rem, 4.8vw, 5rem);
    font-weight: 500;
    line-height: .95;
    letter-spacing: -.045em;

    color: #fff;
}

.puv-republic-territory-intro > p {
    margin: 0;

    font-size: 1rem;
    line-height: 1.75;

    color: rgba(234,241,249,.72);
}


/* MAPA + FLUJO */
.puv-republic-territory-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);

    gap: clamp(30px, 5vw, 65px);
    align-items: center;
}


/* MAPA */
.puv-republic-territory-map {
    position: relative;

    min-height: 430px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.puv-republic-territory-map svg {
    display: block;

    width: 100%;
    height: auto;

    max-height: 560px;

    overflow: visible;

    filter:
        drop-shadow(0 24px 35px rgba(0,0,0,.22));
}


/* PROVINCIAS */
.puv-republic-territory-map .puv-province {
    opacity: 1;

    cursor: pointer;

    transition:
        opacity .24s ease,
        filter .24s ease;
}

.puv-republic-territory-map .puv-province path {
    transition:
        stroke .22s ease,
        stroke-width .22s ease,
        filter .22s ease;
}

.puv-republic-territory-bridge.is-province-active
.puv-republic-territory-map
.puv-province:not(.is-active) {
    opacity: .23;
}

.puv-republic-territory-map .puv-province.is-active {
    opacity: 1;

    filter:
        brightness(1.16)
        drop-shadow(0 8px 16px rgba(0,0,0,.25));
}

.puv-republic-territory-map .puv-province.is-active path {
    stroke: #fff;
    stroke-width: 2.4;
}


/* FLUJO CONSTITUCIONAL */
.puv-republic-government-flow {
    position: relative;

    display: flex;
    flex-direction: column;

    gap: 8px;
}

.puv-republic-flow-step,
.puv-republic-flow-result {
    position: relative;

    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);

    gap: 18px;
    align-items: center;

    min-height: 96px;

    padding: 18px 21px;

    border: 1px solid rgba(120,181,239,.18);
    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(38,68,102,.92),
            rgba(18,44,74,.90)
        );

    transition:
        border-color .22s ease,
        background .22s ease,
        transform .22s ease;
}

.puv-republic-flow-step > span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border: 1px solid rgba(111,182,255,.30);
    border-radius: 50%;

    font-family: var(--puv-font-ui);
    font-size: 10px;
    font-weight: 800;

    color: #6fb6ff;

    background: #0b294a;
}

.puv-republic-flow-step small,
.puv-republic-flow-result small {
    display: block;

    margin-bottom: 5px;

    font-family: var(--puv-font-ui);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;

    color: rgba(120,190,255,.78);
}

.puv-republic-flow-step strong,
.puv-republic-flow-result strong {
    display: block;

    font-family: var(--puv-font-display);
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    font-weight: 500;
    line-height: 1.05;

    color: #fff;
}

.puv-republic-flow-arrow {
    height: 27px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 20px;

    color: rgba(111,182,255,.50);
}


/* OCTIMVIRATO */
.puv-republic-flow-step-main {
    border-color: rgba(255,198,41,.38);

    background:
        linear-gradient(
            135deg,
            rgba(255,198,41,.13),
            rgba(25,54,89,.96)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07);
}

.puv-republic-flow-step-main > span {
    border-color: rgba(255,198,41,.45);

    color: var(--puv-yellow);

    background: rgba(80,63,13,.45);
}

.puv-republic-flow-step-main small {
    color: var(--puv-yellow);
}


/* RESULTADO */
.puv-republic-flow-result {
    grid-template-columns: 1fr;

    min-height: 112px;

    padding: 24px 25px;

    border-color: rgba(197,55,65,.32);

    background:
        linear-gradient(
            135deg,
            rgba(151,40,48,.18),
            rgba(19,45,75,.96)
        );
}

.puv-republic-flow-result small {
    color: rgba(255,153,160,.78);
}

.puv-republic-flow-result strong {
    max-width: 340px;

    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
}


/* LISTA DE OCHO PROVINCIAS */
.puv-republic-eight-provinces {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));

    gap: 7px;

    margin-top: 32px;
}

.puv-republic-eight-provinces > div {
    min-height: 82px;

    padding: 13px 10px;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    border: 1px solid rgba(125,183,238,.16);
    border-radius: 11px;

    background: rgba(7,28,51,.62);

    cursor: pointer;

    transition:
        opacity .22s ease,
        transform .22s ease,
        border-color .22s ease,
        background .22s ease;
}

.puv-republic-eight-provinces > div:hover,
.puv-republic-eight-provinces > div:focus,
.puv-republic-eight-provinces > div.is-active {
    transform: translateY(-3px);

    border-color: rgba(255,255,255,.34);

    background: rgba(36,69,105,.92);

    outline: none;
}

.puv-republic-territory-bridge.is-province-active
.puv-republic-eight-provinces > div:not(.is-active) {
    opacity: .35;
}

.puv-republic-eight-provinces span {
    display: block;

    margin-bottom: 9px;

    font-family: var(--puv-font-ui);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;

    color: #6fb6ff;
}

.puv-republic-eight-provinces strong {
    font-family: var(--puv-font-display);
    font-size: .96rem;
    font-weight: 500;
    line-height: 1.05;

    color: #fff;
}


/* NOTA CONSTITUCIONAL */
.puv-republic-territory-note {
    display: grid;
    grid-template-columns: minmax(260px, .75fr) minmax(0, 1fr);

    gap: 30px;
    align-items: center;

    margin-top: 18px;
    padding: 22px 25px;

    border: 1px solid rgba(255,198,41,.28);
    border-radius: 14px;

    background:
        linear-gradient(
            110deg,
            rgba(255,198,41,.09),
            rgba(18,45,75,.90)
        );
}

.puv-republic-territory-note strong {
    font-family: var(--puv-font-display);
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    font-weight: 500;

    color: var(--puv-yellow);
}

.puv-republic-territory-note span {
    font-size: .9rem;
    line-height: 1.6;

    color: rgba(235,241,249,.68);
}


/* DETALLE 8 ESTRELLAS */
.puv-republic-territory-bridge::after {
    content: "★ ★ ★ ★ ★ ★ ★ ★";

    position: absolute;
    right: 34px;
    top: 24px;

    font-size: 7px;
    letter-spacing: 5px;

    color: rgba(255,198,41,.18);

    pointer-events: none;
}


/* RESPONSIVE */
@media (max-width: 1050px) {

    .puv-republic-territory-intro,
    .puv-republic-territory-layout {
        grid-template-columns: 1fr;
    }

    .puv-republic-territory-intro > p {
        max-width: 760px;
    }

    .puv-republic-eight-provinces {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}


@media (max-width: 720px) {

    .puv-republic-territory-bridge {
        padding: 28px 22px;

        border-radius: 20px;
    }

    .puv-republic-territory-map {
        min-height: 0;
    }

    .puv-republic-eight-provinces {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .puv-republic-territory-note {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}


@media (max-width: 480px) {

    .puv-republic-territory-intro h3 {
        font-size: clamp(2.5rem, 12vw, 3.7rem);
    }

    .puv-republic-flow-step,
    .puv-republic-flow-result {
        padding: 17px;
    }
}

/* PUV — FIN TERRITORIO + OCTIMVIRATO */

/* ==========================================================
   PUV — MODELO REPUBLICA — VISUALES INSTITUCIONALES
   ========================================================== */

.puv-republic-institutional-visuals {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    gap: clamp(18px, 3vw, 32px);
    margin: clamp(2.2rem, 4vw, 3.7rem) 0 clamp(2.7rem, 5vw, 4.5rem);
}

.puv-republic-visual {
    position: relative;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(124,180,234,.18);
    border-radius: 22px;
    background: #0a1c31;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.05),
        0 24px 55px rgba(0,0,0,.24);
}

.puv-republic-visual-media {
    position: relative;
    overflow: hidden;
}

.puv-republic-visual-media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.puv-republic-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .65s cubic-bezier(.22,.61,.36,1),
        filter .45s ease;
}


/* OCTIMVIRATO PRINCIPAL */

.puv-republic-visual-main {
    min-height: 520px;
}

.puv-republic-visual-main .puv-republic-visual-media {
    position: absolute;
    inset: 0;
}

.puv-republic-visual-main img {
    object-position: center center;
    filter:
        saturate(.90)
        contrast(1.04)
        brightness(.80);
}

.puv-republic-visual-main .puv-republic-visual-media::after {
    background:
        linear-gradient(
            to top,
            rgba(5,18,34,.98) 3%,
            rgba(6,23,42,.78) 32%,
            rgba(6,23,42,.18) 68%,
            rgba(6,23,42,.06) 100%
        ),
        linear-gradient(
            110deg,
            rgba(7,25,46,.38),
            transparent 55%
        );
}

.puv-republic-visual-main figcaption {
    position: absolute;
    z-index: 2;
    left: clamp(22px, 4vw, 42px);
    right: clamp(22px, 4vw, 42px);
    bottom: clamp(24px, 4vw, 40px);
    max-width: 600px;
}

.puv-republic-visual-main figcaption span,
.puv-republic-visual-secondary figcaption span {
    display: block;
    margin-bottom: 9px;
    font-family: var(--puv-font-ui);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #6fb6ff;
}

.puv-republic-visual-main figcaption strong {
    display: block;
    margin-bottom: 10px;
    font-family: var(--puv-font-display);
    font-size: clamp(2.7rem, 4.8vw, 4.8rem);
    font-weight: 500;
    line-height: .92;
    letter-spacing: -.035em;
    color: #fff;
}

.puv-republic-visual-main figcaption p {
    max-width: 570px;
    margin: 0;
    font-size: .96rem;
    line-height: 1.65;
    color: rgba(238,243,249,.75);
}


/* CAMARA FEDERAL SECUNDARIA */

.puv-republic-visual-secondary {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-height: 520px;
}

.puv-republic-visual-secondary .puv-republic-visual-media {
    min-height: 370px;
}

.puv-republic-visual-secondary img {
    object-position: center center;
    filter:
        saturate(.80)
        contrast(1.03)
        brightness(.76);
}

.puv-republic-visual-secondary .puv-republic-visual-media::after {
    background:
        linear-gradient(
            to top,
            rgba(7,24,43,.78),
            rgba(7,24,43,.08) 55%
        );
}

.puv-republic-visual-secondary figcaption {
    position: relative;
    padding: 20px 22px 23px;
    border-top: 1px solid rgba(255,255,255,.06);
    background:
        linear-gradient(
            135deg,
            rgba(24,52,83,.96),
            rgba(10,31,55,.98)
        );
}

.puv-republic-visual-secondary figcaption strong {
    display: block;
    font-family: var(--puv-font-display);
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    font-weight: 500;
    line-height: 1.05;
    color: #fff;
}


/* DETALLE OCHO ESTRELLAS */

.puv-republic-visual-main::before {
    content: "★★★★★★★★";
    position: absolute;
    z-index: 3;
    top: 22px;
    right: 25px;
    font-size: 8px;
    letter-spacing: 4px;
    color: rgba(255,198,41,.50);
    pointer-events: none;
}


/* HOVER */

@media (hover:hover) {

    .puv-republic-visual:hover img {
        transform: scale(1.035);
        filter:
            saturate(1)
            contrast(1.05)
            brightness(.86);
    }

}


/* RESPONSIVE */

@media (max-width: 980px) {

    .puv-republic-institutional-visuals {
        grid-template-columns: 1fr;
    }

    .puv-republic-visual-main {
        min-height: 500px;
    }

    .puv-republic-visual-secondary {
        min-height: 0;
        grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr);
        grid-template-rows: auto;
    }

    .puv-republic-visual-secondary .puv-republic-visual-media {
        min-height: 330px;
    }

    .puv-republic-visual-secondary figcaption {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        border-top: 0;
        border-left: 1px solid rgba(255,255,255,.06);
    }
}


@media (max-width: 650px) {

    .puv-republic-visual-main {
        min-height: 460px;
    }

    .puv-republic-visual-secondary {
        grid-template-columns: 1fr;
    }

    .puv-republic-visual-secondary .puv-republic-visual-media {
        min-height: 260px;
    }

    .puv-republic-visual-secondary figcaption {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.06);
    }

    .puv-republic-visual-main figcaption strong {
        font-size: clamp(2.6rem, 12vw, 3.7rem);
    }
}

/* PUV — FIN VISUALES INSTITUCIONALES */

/* ==========================================================
   PUV — REPUBLICA 1811 — SELLO HISTORICO
   ========================================================== */

.puv-1811-constitution {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.puv-1811-constitution > .puv-shell {
    position: relative;
    z-index: 2;
}


/* SELLO DOCUMENTAL */

.puv-1811-seal-watermark {
	z-index: 0;

	width: clamp(390px, 48vw, 720px);
	aspect-ratio: 1 / 1;

	right: clamp(-250px, -13vw, -100px);
	top: 50%;

	transform: translateY(-50%)
        rotate(-7deg);

	border-radius: 50%;

	overflow: hidden;

	opacity: .105;

	pointer-events: none;

	filter: grayscale(1)
        sepia(.20)
        contrast(1.15);

	mix-blend-mode: luminosity;
}

.puv-1811-seal-watermark img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 50%;
}


/* AURA DOCUMENTAL */

.puv-1811-constitution::after {
    content: "";

    position: absolute;
    z-index: 1;

    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 88% 48%,
            rgba(244,196,48,.055),
            transparent 37%
        );
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .puv-1811-seal-watermark {
        width: clamp(360px, 70vw, 600px);

        right: -190px;

        opacity: .09;
    }

}


@media (max-width: 620px) {

    .puv-1811-seal-watermark {
        width: 420px;

        right: -250px;
        top: 55%;

        opacity: .07;
    }

}


/* PUV — FIN SELLO HISTORICO 1811 */

/* ==========================================================
   PUV — DOCUMENTOS — ESCUDO INSTITUCIONAL
   ========================================================== */

.puv-documents-intro {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.puv-documents-intro > .puv-shell {
    position: relative;
    z-index: 2;
}


/* ESCUDO COMO MARCA DE AGUA */

.puv-documents-coat-watermark {
    position: absolute;

    z-index: 0;

    width: clamp(340px, 38vw, 590px);

    right: clamp(-180px, -8vw, -75px);
    top: 50%;

    transform:
        translateY(-50%)
        rotate(2deg);

    opacity: .075;

    pointer-events: none;

    filter:
        grayscale(1)
        contrast(1.08)
        brightness(1.08);

    mix-blend-mode: luminosity;
}

.puv-documents-coat-watermark img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
}


/* LUZ INSTITUCIONAL MUY SUTIL */

.puv-documents-intro::after {
    content: "";

    position: absolute;
    z-index: 1;

    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 88% 48%,
            rgba(31,94,168,.09),
            transparent 36%
        );
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .puv-documents-coat-watermark {
        width: clamp(320px, 58vw, 500px);

        right: -150px;

        opacity: .06;
    }

}


@media (max-width: 620px) {

    .puv-documents-coat-watermark {
        width: 360px;

        right: -220px;
        top: 55%;

        opacity: .045;
    }

}


/* PUV — FIN ESCUDO INSTITUCIONAL */

/* ==========================================================
   PUV — QUIENES SOMOS — BANDERA EDITORIAL
   ========================================================== */

.puv-about-flag-bridge {
    position: relative;

    min-height: clamp(420px, 56vw, 650px);

    display: flex;
    align-items: flex-end;

    overflow: hidden;
    isolation: isolate;

    background: #071426;
}


/* BANDERA */

.puv-about-flag-media {
    position: absolute;
    z-index: 0;
    inset: 0;
}

.puv-about-flag-media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;

    filter:
        saturate(.86)
        contrast(1.04)
        brightness(.63);

    transform: scale(1.015);
}


/* OVERLAYS */

.puv-about-flag-bridge::before {
    content: "";

    position: absolute;
    z-index: 1;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(5,17,31,.94) 0%,
            rgba(5,20,38,.78) 44%,
            rgba(5,20,38,.30) 78%,
            rgba(5,20,38,.18) 100%
        ),
        linear-gradient(
            to top,
            rgba(5,17,31,.88),
            transparent 55%
        );

    pointer-events: none;
}

.puv-about-flag-bridge::after {
    content: "";

    position: absolute;
    z-index: 1;
    inset: 0;

    background:
        radial-gradient(
            circle at 78% 30%,
            rgba(244,196,48,.08),
            transparent 30%
        );

    pointer-events: none;
}


/* CONTENIDO */

.puv-about-flag-content {
    position: relative;
    z-index: 2;

    width: 100%;

    padding-top: clamp(90px, 12vw, 150px);
    padding-bottom: clamp(55px, 7vw, 85px);
}

.puv-about-flag-stars {
    margin-bottom: 18px;

    font-size: 10px;
    letter-spacing: 8px;

    color: rgba(244,196,48,.78);
}

.puv-about-flag-content h2 {
    max-width: 760px;

    margin:
        0
        0
        20px;

    font-family: var(--puv-font-display);
    font-size: clamp(3rem, 6.2vw, 6.5rem);
    font-weight: 500;

    line-height: .90;
    letter-spacing: -.045em;

    color: #fff;
}

.puv-about-flag-content p {
    max-width: 610px;

    margin: 0;

    font-size: 1rem;
    line-height: 1.72;

    color: rgba(238,243,249,.76);
}


/* RESPONSIVE */

@media (max-width: 760px) {

    .puv-about-flag-bridge {
        min-height: 500px;
    }

    .puv-about-flag-media img {
        object-position: 60% center;
    }

    .puv-about-flag-bridge::before {
        background:
            linear-gradient(
                to top,
                rgba(5,17,31,.97) 5%,
                rgba(5,19,35,.76) 55%,
                rgba(5,19,35,.35) 100%
            );
    }

    .puv-about-flag-stars {
        font-size: 8px;
        letter-spacing: 5px;
    }

}


@media (max-width: 480px) {

    .puv-about-flag-content h2 {
        font-size: clamp(3rem, 14vw, 4.4rem);
    }

}


/* PUV — FIN BANDERA EDITORIAL */

/* ==========================================================
   PUV — PROPUESTAS — ECONOMIA 2026
   ========================================================== */

.puv-proposals-economic {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 84% 16%,
            rgba(31,94,168,.13),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #091c31,
            #071426
        );
}


/* CABECERA */

.puv-proposals-economic-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);

    gap: clamp(40px, 7vw, 100px);
    align-items: end;

    margin-bottom: clamp(3.5rem, 7vw, 6rem);
}

.puv-proposals-economic-heading h2 {
    max-width: 760px;

    margin: 0;

    font-family: var(--puv-font-display);
    font-size: clamp(3rem, 5.8vw, 6rem);
    font-weight: 500;

    line-height: .91;
    letter-spacing: -.045em;

    color: #fff;
}

.puv-proposals-economic-intro p {
    margin: 0 0 14px;

    font-size: .98rem;
    line-height: 1.72;

    color: rgba(237,243,249,.70);
}


/* GRID */

.puv-proposals-economic-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 12px;
}

.puv-economic-proposal {
    position: relative;

    min-height: 350px;

    padding: clamp(24px, 3vw, 34px);

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(118,179,238,.16);
    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(24,53,86,.86),
            rgba(11,33,58,.92)
        );

    transition:
        transform .22s ease,
        border-color .22s ease,
        background .22s ease;
}

@media (hover:hover) {

    .puv-economic-proposal:hover {
        transform: translateY(-4px);

        border-color: rgba(111,182,255,.30);

        background:
            linear-gradient(
                145deg,
                rgba(30,66,105,.92),
                rgba(12,36,63,.96)
            );
    }

}


/* NUMERO + ESTADO */

.puv-economic-proposal-top {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;

    margin-bottom: 42px;
}

.puv-economic-proposal-top > span {
    font-family: var(--puv-font-ui);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;

    color: #6fb6ff;
}

.puv-economic-proposal-top small {
    padding: 7px 9px;

    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;

    font-family: var(--puv-font-ui);
    font-size: 8px;
    font-weight: 800;

    letter-spacing: .08em;
    text-transform: uppercase;

    color: rgba(240,245,250,.65);
}

.puv-economic-proposal-top small.is-principle {
    color: #9fd4ff;
    border-color: rgba(111,182,255,.28);
}

.puv-economic-proposal-top small.is-development {
    color: #f4d36d;
    border-color: rgba(244,196,48,.27);
}

.puv-economic-proposal-top small.is-simulation {
    color: #f3aaa9;
    border-color: rgba(198,40,40,.30);
}


/* TEXTO */

.puv-economic-proposal h3 {
    max-width: 430px;

    margin: auto 0 16px;

    font-family: var(--puv-font-display);
    font-size: clamp(1.7rem, 2.5vw, 2.45rem);
    font-weight: 500;

    line-height: .98;
    letter-spacing: -.025em;

    color: #fff;
}

.puv-economic-proposal > p,
.puv-economic-proposal-wide p {
    margin: 0;

    font-size: .9rem;
    line-height: 1.68;

    color: rgba(235,242,249,.66);
}


/* HIPOTESIS */

.puv-economic-proposal-note {
    margin-top: 20px;
    padding-top: 17px;

    border-top: 1px solid rgba(255,255,255,.09);

    font-size: .78rem;
    line-height: 1.6;

    color: rgba(241,194,194,.74);
}


/* PROPUESTA ANCHA */

.puv-economic-proposal-wide {
    grid-column: 1 / -1;

    min-height: 0;
}

.puv-economic-proposal-wide-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);

    gap: clamp(35px, 6vw, 80px);
    align-items: end;
}

.puv-economic-proposal-wide h3 {
    margin: 0;

    max-width: 650px;

    font-size: clamp(2.1rem, 3.7vw, 3.8rem);
}

.puv-economic-proposal-wide p + p {
    margin-top: 13px;
}


/* FOOTER DEL BLOQUE */

.puv-proposals-economic-footer {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;

    margin-top: 22px;
    padding: 25px 28px;

    border: 1px solid rgba(244,196,48,.22);
    border-radius: 15px;

    background:
        linear-gradient(
            115deg,
            rgba(244,196,48,.075),
            rgba(15,40,69,.82)
        );
}

.puv-proposals-economic-footer span {
    display: block;

    margin-bottom: 4px;

    font-family: var(--puv-font-ui);
    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .12em;

    color: var(--puv-yellow);
}

.puv-proposals-economic-footer strong {
    display: block;

    font-family: var(--puv-font-display);
    font-size: clamp(1.25rem, 2vw, 1.8rem);
    font-weight: 500;

    color: #fff;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .puv-proposals-economic-heading {
        grid-template-columns: 1fr;
    }

    .puv-proposals-economic-intro {
        max-width: 760px;
    }

    .puv-proposals-economic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 700px) {

    .puv-proposals-economic-grid {
        grid-template-columns: 1fr;
    }

    .puv-economic-proposal-wide {
        grid-column: auto;
    }

    .puv-economic-proposal-wide-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .puv-proposals-economic-footer {
        align-items: flex-start;
        flex-direction: column;
    }

}


/* PUV — FIN PROPUESTAS ECONOMIA 2026 */

/* ==========================================================
   PUV — QUIENES SOMOS — PERFIL ENMANUEL
   ========================================================== */

.puv-about-enmanuel-profile {
    max-width: 680px;
}

.puv-about-person-expertise {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;

    margin-top: 22px;
}

.puv-about-person-expertise span {
    display: inline-flex;
    align-items: center;

    min-height: 31px;

    padding: 7px 10px;

    border: 1px solid rgba(111,182,255,.18);
    border-radius: 999px;

    background: rgba(31,94,168,.075);

    font-family: var(--puv-font-ui);
    font-size: 8px;
    font-weight: 800;

    letter-spacing: .055em;
    text-transform: uppercase;

    color: rgba(225,239,252,.72);
}

@media (max-width: 620px) {

    .puv-about-person-expertise {
        gap: 6px;
    }

    .puv-about-person-expertise span {
        font-size: 7px;
    }

}

/* PUV — FIN PERFIL ENMANUEL */

/* ==========================================================
   PUV — REPUBLICA 1811 — DOCUMENTOS HISTORICOS
   ========================================================== */

.puv-1811-source-documents {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 12px;

    margin-top: clamp(36px, 5vw, 64px);
}

.puv-1811-source-card {
    position: relative;

    min-height: 330px;

    padding: clamp(25px, 3vw, 36px);

    display: flex;
    flex-direction: column;

    text-decoration: none;

    border: 1px solid rgba(111,182,255,.16);
    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(24,53,86,.82),
            rgba(8,27,49,.94)
        );

    transition:
        transform .22s ease,
        border-color .22s ease,
        background .22s ease;
}

@media (hover:hover) {

    .puv-1811-source-card:hover {
        transform: translateY(-4px);

        border-color: rgba(244,196,48,.34);

        background:
            linear-gradient(
                145deg,
                rgba(29,64,101,.92),
                rgba(9,31,55,.98)
            );
    }

}

.puv-1811-source-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 20px;

    margin-bottom: 52px;
}

.puv-1811-source-card-top span {
    font-family: var(--puv-font-ui);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .14em;

    color: #6fb6ff;
}

.puv-1811-source-card-top small {
    font-family: var(--puv-font-ui);

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .09em;
    text-transform: uppercase;

    color: rgba(244,196,48,.72);
}

.puv-1811-source-card h3 {
    max-width: 500px;

    margin: auto 0 16px;

    font-family: var(--puv-font-display);

    font-size: clamp(2rem, 3.2vw, 3.35rem);
    font-weight: 500;

    line-height: .96;
    letter-spacing: -.035em;

    color: #fff;
}

.puv-1811-source-card p {
    max-width: 520px;

    margin: 0 0 30px;

    font-size: .92rem;
    line-height: 1.7;

    color: rgba(235,242,249,.66);
}

.puv-1811-source-card strong {
    margin-top: auto;

    font-family: var(--puv-font-ui);

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .09em;
    text-transform: uppercase;

    color: var(--puv-yellow);
}


/* RESPONSIVE */

@media (max-width: 720px) {

    .puv-1811-source-documents {
        grid-template-columns: 1fr;
    }

    .puv-1811-source-card {
        min-height: 300px;
    }

}


/* PUV — FIN DOCUMENTOS HISTORICOS */


/* ==========================================================
   PUV — ARTICLE / SINGLE
   ========================================================== */

.puv-article-page {
	overflow: hidden;
	background: #f6f7f7;
	color: var(--puv-text);
}


/* HERO */

.puv-article-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(10rem, 15vw, 14rem) 0 clamp(5rem, 9vw, 8rem);
	background:
		radial-gradient(circle at 86% 18%, rgba(255,211,0,.14), transparent 30%),
		radial-gradient(circle at 12% 88%, rgba(31,94,168,.32), transparent 36%),
		linear-gradient(135deg, #06101f 0%, #0b2748 100%);
	color: #fff;
}

.puv-article-hero::after {
	content: "PUV";
	position: absolute;
	right: -1vw;
	bottom: -2vw;
	font-family: var(--puv-font-display);
	font-size: clamp(9rem, 25vw, 25rem);
	font-weight: 700;
	line-height: .7;
	letter-spacing: -.08em;
	color: rgba(255,255,255,.025);
	pointer-events: none;
}

.puv-article-hero-inner {
	position: relative;
	z-index: 2;
	max-width: 1100px;
}

.puv-article-back {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	margin-bottom: clamp(2.3rem, 5vw, 4rem);
	color: rgba(255,255,255,.72);
	font-family: var(--puv-font-ui);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color .2s ease;
}

.puv-article-back:hover {
	color: var(--puv-yellow);
}

.puv-article-back span {
	font-size: 1.2rem;
	line-height: 1;
}

.puv-article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem 1.4rem;
	margin-bottom: 1.4rem;
	color: #6fb6ff;
	font-family: var(--puv-font-ui);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.puv-article-hero h1 {
	max-width: 1080px;
	margin: 0;
	font-family: var(--puv-font-display);
	font-size: clamp(3.1rem, 6.6vw, 6.8rem);
	font-weight: 700;
	line-height: .96;
	letter-spacing: -.055em;
	color: #fff;
}

.puv-article-hero .puv-article-lead {
	max-width: 820px;
	margin: clamp(1.8rem, 3vw, 2.5rem) 0 0;
	font-size: clamp(1.1rem, 1.55vw, 1.32rem);
	line-height: 1.72;
	color: rgba(255,255,255,.74);
}


/* IMAGEN DESTACADA */

.puv-article-featured {
	position: relative;
	z-index: 3;
	margin-top: -3rem;
}

.puv-article-featured figure {
	margin: 0;
	overflow: hidden;
	border-radius: 26px;
	background: #dfe4e8;
	box-shadow: 0 30px 80px rgba(5,18,35,.16);
}

.puv-article-featured img {
	width: 100%;
	max-height: 720px;
	display: block;
	object-fit: cover;
}


/* CUERPO */

.puv-article-main {
	padding: clamp(5rem, 9vw, 9rem) 0;
	background: #fff;
}

.puv-article-layout {
	display: grid;
	grid-template-columns: minmax(190px, .34fr) minmax(0, 1fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: start;
	max-width: 1080px;
}

.puv-article-side {
	position: sticky;
	top: 110px;
	padding-top: .35rem;
}

.puv-article-side strong {
	display: block;
	margin-bottom: 1rem;
	font-family: var(--puv-font-display);
	font-size: 1.45rem;
	line-height: 1.1;
	color: var(--puv-navy);
}

.puv-article-side p {
	margin: 0 0 1.3rem;
	font-size: .91rem;
	line-height: 1.65;
	color: rgba(15,26,40,.58);
}

.puv-article-side a {
	color: var(--puv-blue);
	font-size: .88rem;
	font-weight: 700;
	text-decoration: none;
}

.puv-article-side a:hover {
	text-decoration: underline;
}


/* TIPOGRAFÍA EDITORIAL */

.puv-article-content {
	min-width: 0;
	max-width: 760px;
	font-size: clamp(1.04rem, 1.18vw, 1.14rem);
	line-height: 1.84;
	color: rgba(15,26,40,.82);
}

.puv-article-content > *:first-child {
	margin-top: 0;
}

.puv-article-content p {
	margin: 0 0 1.55rem;
}

.puv-article-content .puv-article-lead {
	margin-bottom: 2.5rem;
	padding-left: 1.5rem;
	border-left: 4px solid var(--puv-yellow);
	font-size: clamp(1.16rem, 1.45vw, 1.3rem);
	line-height: 1.75;
	color: rgba(15,26,40,.75);
}

.puv-article-content h2 {
	margin: clamp(3.8rem, 7vw, 5.8rem) 0 1.4rem;
	font-family: var(--puv-font-display);
	font-size: clamp(2.2rem, 4vw, 3.8rem);
	line-height: 1.02;
	letter-spacing: -.045em;
	color: var(--puv-navy);
}

.puv-article-content h3 {
	margin: clamp(3rem, 5vw, 4.3rem) 0 1.2rem;
	font-family: var(--puv-font-display);
	font-size: clamp(1.65rem, 2.7vw, 2.5rem);
	line-height: 1.08;
	letter-spacing: -.035em;
	color: var(--puv-navy);
}

.puv-article-content strong {
	color: var(--puv-navy);
}

.puv-article-content a {
	color: var(--puv-blue);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.puv-article-content ul,
.puv-article-content ol {
	margin: 1.8rem 0 2rem;
	padding-left: 1.4rem;
}

.puv-article-content li {
	margin-bottom: .8rem;
	padding-left: .35rem;
}

.puv-article-content blockquote {
	margin: 2.8rem 0;
	padding: 1.8rem 2rem;
	border-left: 5px solid var(--puv-yellow);
	background: #f5f6f5;
	font-family: var(--puv-font-display);
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
	line-height: 1.4;
	color: var(--puv-navy);
}

.puv-article-content hr {
	margin: clamp(4rem, 7vw, 6rem) 0 3rem;
	border: 0;
	border-top: 1px solid rgba(7,27,51,.12);
}


/* FUENTES AL FINAL */

.puv-article-content hr + h3 {
	margin-top: 0;
	font-size: clamp(1.8rem, 2.8vw, 2.5rem);
}

.puv-article-content hr + h3 + ul {
	padding: 1.7rem 1.7rem 1.1rem 2.8rem;
	border-radius: 18px;
	background: #f4f5f4;
	border: 1px solid rgba(7,27,51,.07);
}


/* NAVEGACIÓN ENTRE ARTÍCULOS */

.puv-article-navigation {
	padding: 0 0 clamp(5rem, 8vw, 8rem);
	background: #fff;
}

.puv-article-navigation-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 1rem;
	max-width: 1080px;
}

.puv-article-nav-card {
	min-height: 190px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(1.8rem, 3vw, 2.5rem);
	border-radius: 22px;
	background: #f3f4f3;
	border: 1px solid rgba(7,27,51,.08);
	color: var(--puv-navy);
	text-decoration: none;
	transition:
		transform .25s ease,
		box-shadow .25s ease,
		background .25s ease;
}

.puv-article-nav-card:hover {
	transform: translateY(-3px);
	background: #fff;
	box-shadow: 0 18px 45px rgba(5,18,35,.08);
}

.puv-article-nav-card span {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--puv-blue);
}

.puv-article-nav-card strong {
	display: block;
	margin-top: 2rem;
	font-family: var(--puv-font-display);
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.08;
	letter-spacing: -.03em;
}

.puv-article-nav-next {
	text-align: right;
}


/* CTA FINAL */

.puv-article-final {
	padding: clamp(5rem, 8vw, 8rem) 0;
	background:
		linear-gradient(120deg, #f0c900 0%, var(--puv-yellow) 50%, #ffe56b 100%);
}

.puv-article-final-inner {
	display: grid;
	grid-template-columns: 1fr .78fr;
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
}

.puv-article-final h2 {
	max-width: 700px;
	margin: .7rem 0 0;
	font-family: var(--puv-font-display);
	font-size: clamp(2.7rem, 5vw, 5rem);
	line-height: .96;
	letter-spacing: -.045em;
	color: #07111f;
}

.puv-article-final p {
	margin: 0 0 1.7rem;
	font-size: clamp(1.03rem, 1.35vw, 1.18rem);
	line-height: 1.7;
	color: rgba(7,17,31,.72);
}

.puv-article-final-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
}

.puv-button-ghost-dark {
	border: 1px solid rgba(7,20,38,.32);
	color: var(--puv-navy);
}

.puv-button-ghost-dark:hover {
	border-color: var(--puv-navy);
	color: var(--puv-navy);
}


/* TABLET */

@media (max-width: 900px) {

	.puv-article-layout {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.puv-article-side {
		position: static;
		display: grid;
		grid-template-columns: 1fr auto;
		gap: .5rem 2rem;
		padding: 1.5rem;
		border-radius: 18px;
		background: #f4f5f4;
	}

	.puv-article-side .puv-kicker {
		grid-column: 1 / -1;
		margin-bottom: .4rem;
	}

	.puv-article-side p {
		margin: 0;
	}

	.puv-article-content {
		max-width: none;
	}

	.puv-article-final-inner {
		grid-template-columns: 1fr;
	}
}


/* MÓVIL */

@media (max-width: 680px) {

	.puv-article-hero {
		padding-top: 9rem;
		padding-bottom: 5rem;
	}

	.puv-article-hero h1 {
		font-size: clamp(2.8rem, 13vw, 4.5rem);
	}

	.puv-article-hero .puv-article-lead {
		font-size: 1.05rem;
		line-height: 1.68;
	}

	.puv-article-featured {
		margin-top: -1.8rem;
	}

	.puv-article-featured figure {
		border-radius: 18px;
	}

	.puv-article-main {
		padding: 4.5rem 0;
	}

	.puv-article-side {
		display: block;
	}

	.puv-article-side strong,
	.puv-article-side p {
		margin-bottom: .8rem;
	}

	.puv-article-content {
		font-size: 1rem;
		line-height: 1.78;
	}

	.puv-article-content .puv-article-lead {
		padding-left: 1rem;
		font-size: 1.08rem;
	}

	.puv-article-content h2 {
		margin-top: 3.5rem;
		font-size: clamp(2rem, 9vw, 2.8rem);
	}

	.puv-article-content h3 {
		font-size: clamp(1.6rem, 7vw, 2.1rem);
	}

	.puv-article-navigation-grid {
		grid-template-columns: 1fr;
	}

	.puv-article-nav-card {
		min-height: 160px;
	}

	.puv-article-nav-next {
		text-align: left;
	}

	.puv-article-final-actions {
		flex-direction: column;
	}

	.puv-article-final-actions .puv-button {
		width: 100%;
	}
}


/* ==========================================================
   PUV — COMPLIANZ COMPACT FINAL
   Mantiene aceptar / rechazar / preferencias accesibles
   ========================================================== */

.cmplz-cookiebanner.puv-cookies {
    width: min(440px, calc(100vw - 36px)) !important;
    max-width: 440px !important;

    right: 18px !important;
    bottom: 18px !important;
    left: auto !important;

    padding: 18px 20px !important;
    gap: 10px !important;

    border-radius: 16px !important;

    max-height: calc(100dvh - 36px) !important;
    overflow-y: auto !important;

    scrollbar-width: thin;
}

.cmplz-cookiebanner.puv-cookies .cmplz-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;

    min-height: 0 !important;
    padding: 0 !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-logo {
    display: none !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-title {
    margin: 0 !important;

    font-size: 1rem !important;
    line-height: 1.15 !important;
    letter-spacing: .01em !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-close {
    position: static !important;

    width: 26px !important;
    height: 26px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    opacity: .75;
}

.cmplz-cookiebanner.puv-cookies .cmplz-divider-header {
    margin: 0 !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-body {
    gap: 10px !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-message {
    margin: 0 !important;

    font-size: .82rem !important;
    line-height: 1.45 !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-buttons {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-btn {
    min-height: 38px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 8px 10px !important;

    font-size: .76rem !important;
    line-height: 1.15 !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-links {
    gap: 6px 12px !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-link {
    font-size: .7rem !important;
    line-height: 1.25 !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-categories {
    margin-top: 4px !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-category {
    padding: 8px 0 !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-category-header {
    min-height: 34px !important;
}

.cmplz-cookiebanner.puv-cookies .cmplz-category-title {
    font-size: .8rem !important;
}


/* -------------------------
   MÓVIL
   ------------------------- */

@media (max-width: 600px) {

    .cmplz-cookiebanner.puv-cookies {
        width: calc(100% - 16px) !important;
        max-width: none !important;

        left: 8px !important;
        right: 8px !important;
        bottom: 8px !important;

        margin: 0 !important;
        padding: 13px 14px !important;

        gap: 7px !important;
        border-radius: 14px !important;

        max-height: calc(100dvh - 16px) !important;
    }

    .cmplz-cookiebanner.puv-cookies .cmplz-title {
        font-size: .94rem !important;
    }

    .cmplz-cookiebanner.puv-cookies .cmplz-message {
        font-size: .76rem !important;
        line-height: 1.38 !important;
    }

    .cmplz-cookiebanner.puv-cookies .cmplz-buttons {
        grid-template-columns: 1fr 1fr !important;
        gap: 6px !important;
    }

    .cmplz-cookiebanner.puv-cookies .cmplz-accept {
        grid-column: 1 / -1 !important;
    }

    .cmplz-cookiebanner.puv-cookies .cmplz-btn {
        min-height: 34px !important;

        padding: 7px 8px !important;

        font-size: .72rem !important;
    }

    .cmplz-cookiebanner.puv-cookies .cmplz-view-preferences,
    .cmplz-cookiebanner.puv-cookies .cmplz-save-preferences {
        width: 100% !important;
    }

    .cmplz-cookiebanner.puv-cookies .cmplz-links {
        margin-top: 2px !important;
    }

    .cmplz-cookiebanner.puv-cookies .cmplz-link {
        font-size: .66rem !important;
    }
}


/* ==========================================================
   FIN PUV — COMPLIANZ COMPACT FINAL
   ========================================================== */


/* ==========================================================
   PUV — NAVEGACION INTERNA EDITORIAL
   ========================================================== */

.puv-section-nav {
    position: relative;
    z-index: 8;

    background: #07172c;

    border-top: 1px solid rgba(244,196,48,.42);
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.puv-section-nav .puv-shell {
    display: flex;
    align-items: center;

    gap: 8px;

    padding-top: 13px;
    padding-bottom: 13px;

    overflow-x: auto;
    overscroll-behavior-x: contain;

    scrollbar-width: none;
}

.puv-section-nav .puv-shell::-webkit-scrollbar {
    display: none;
}

.puv-section-nav a {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 34px;
    padding: 8px 13px;

    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;

    color: rgba(244,247,251,.82);

    font-family: var(--puv-font-ui, inherit);
    font-size: .69rem;
    font-weight: 700;

    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;

    text-decoration: none;

    transition:
        color .18s ease,
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.puv-section-nav a:hover,
.puv-section-nav a:focus-visible {
    color: #071426;

    background: var(--puv-yellow, #F4C430);
    border-color: var(--puv-yellow, #F4C430);

    transform: translateY(-1px);

    outline: none;
}


/* Evita que un título quede pegado al borde superior al usar anclas */

#economia-institucional,
#circuito-federal,
#productividad-y-trabajo,
#recursos-estrategicos,
#crecimiento-empresarial,
#infraestructura-federal,
#arquitectura-monetaria,
#disciplina-fiscal,
#areas,
#metodo,
#propuestas-economicas-2026,
#marco-general,
#participa-propuestas {
    scroll-margin-top: 90px;
}


/* -------------------------
   MÓVIL
   ------------------------- */

@media (max-width: 700px) {

    .puv-section-nav .puv-shell {
        gap: 7px;

        padding-top: 10px;
        padding-bottom: 10px;
    }

    .puv-section-nav a {
        min-height: 32px;

        padding: 7px 11px;

        font-size: .64rem;
        letter-spacing: .055em;
    }
}

.puv-hero-quote {
	margin: 28px 0 0;
	max-width: 620px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 18px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.01em;
	color: rgba(255, 255, 255, 0.82);
}

@media (max-width: 767px) {
	.puv-hero-quote {
		margin-top: 22px;
		max-width: 100%;
		font-size: 16px;
		line-height: 1.5;
	}
}

/* PUV — Ajuste bloque bandera / Quiénes Somos */
@media (min-width: 981px) {

	.puv-about-flag-content {
		padding-left: 75px;
	}

}

/* PUV — Bandera de fondo en "Una visión de país" */
.puv-intro {
	background:
		linear-gradient(
			90deg,
			rgba(255,255,255,.97) 0%,
			rgba(255,255,255,.92) 38%,
			rgba(255,255,255,.72) 68%,
			rgba(255,255,255,.50) 100%
		),
		url("/wp-content/uploads/puv-assets/identidad/bandera-puv.jpg");

	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* =========================================================
   AJUSTES DE LA LÍNEA DE TIEMPO
   ========================================================= */


/* Fechas que representan períodos históricos */
.puv-history-date .puv-history-date-range {
	display: inline-block;
	white-space: nowrap;
	font-size: 0.72em;
	letter-spacing: -0.035em;
}


/* Ampliar ligeramente el espacio disponible para el texto */
.puv-history-moment-content {
	max-width: 820px;
	width: 100%;
}


/* Texto principal de cada acontecimiento */
.puv-history-moment-content h3 {
	font-size: clamp(1.45rem, 1.9vw, 1.85rem);
	line-height: 1.12;
	max-width: 780px;
}


/* Mantener el título pequeño superior como está */
.puv-history-moment-content > span {
	line-height: 1.25;
}

/* =========================================================
   AJUSTE BLOQUE CONSTITUCIÓN 1811
   Mover contenido y sello ligeramente hacia la izquierda
   ========================================================= */

.puv-1811-constitution-content {
	position: relative;
	left: -60px;
}

.puv-1811-seal-watermark {
	position: absolute;
	right: 45px !important;
}


/* ==================================================
   PUV — REPRODUCTOR HIMNO / HERO
   ================================================== */

.puv-hero-audio {
	display: flex;
	align-items: center;
	gap: 18px;

	width: min(650px, 100%);
	margin-top: 24px;
	padding: 17px 20px;

	background: rgba(7, 27, 51, .48);

	border: 1px solid rgba(255, 255, 255, .20);
	border-radius: 16px;

	-webkit-backdrop-filter: blur(14px) saturate(130%);
	backdrop-filter: blur(14px) saturate(130%);

	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 35px rgba(0,0,0,.16);

	color: #fff;
}


/* BOTÓN PLAY */

.puv-audio-play {
	flex: 0 0 auto;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 54px;
	height: 54px;

	padding: 0;

	border: 1px solid rgba(255,255,255,.18);
	border-radius: 50%;

	background: var(--puv-yellow);
	color: var(--puv-navy);

	box-shadow:
		0 8px 22px rgba(0,0,0,.18);

	cursor: pointer;

	transition:
		transform .2s ease,
		background .2s ease,
		box-shadow .2s ease;
}


.puv-audio-play:hover {
	transform: scale(1.06);
	background: #ffd35c;

	box-shadow:
		0 10px 28px rgba(0,0,0,.22);
}


.puv-audio-play:active {
	transform: scale(.96);
}


.puv-audio-play-icon {
	display: block;
	margin-left: 3px;

	font-size: 17px;
	line-height: 1;
}


.puv-audio-play.is-playing .puv-audio-play-icon {
	margin-left: 0;
}


/* CUERPO */

.puv-audio-body {
	flex: 1;
	min-width: 0;
}


.puv-audio-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;

	margin-bottom: 12px;
}


.puv-audio-heading strong {
	color: #fff;

	font-family: var(--puv-font-ui);
	font-size: 13px;
	font-weight: 700;

	letter-spacing: .015em;
}


.puv-audio-heading span {
	color: rgba(255,255,255,.55);

	font-size: 10px;
	font-style: italic;

	white-space: nowrap;
}


/* TIEMPO + BARRA */

.puv-audio-controls {
	display: grid;
	grid-template-columns: 38px 1fr 38px;
	align-items: center;
	gap: 10px;
}


.puv-audio-controls > span {
	color: rgba(255,255,255,.68);

	font-family: monospace;
	font-size: 10px;
}


/* BARRA */

.puv-audio-progress {
	width: 100%;
	height: 4px;

	margin: 0;
	padding: 0;

	-webkit-appearance: none;
	appearance: none;

	background:
		linear-gradient(
			to right,
			var(--puv-yellow) 0%,
			var(--puv-yellow) var(--puv-audio-progress, 0%),
			rgba(255,255,255,.18) var(--puv-audio-progress, 0%),
			rgba(255,255,255,.18) 100%
		);

	border: 0;
	border-radius: 999px;

	cursor: pointer;
}


.puv-audio-progress::-webkit-slider-thumb {
	width: 13px;
	height: 13px;

	-webkit-appearance: none;

	border: 2px solid var(--puv-yellow);
	border-radius: 50%;

	background: #fff;

	box-shadow: 0 2px 8px rgba(0,0,0,.25);

	cursor: pointer;
}


.puv-audio-progress::-moz-range-thumb {
	width: 11px;
	height: 11px;

	border: 2px solid var(--puv-yellow);
	border-radius: 50%;

	background: #fff;

	box-shadow: 0 2px 8px rgba(0,0,0,.25);

	cursor: pointer;
}


/* PEQUEÑO PULSO MIENTRAS SUENA */

.puv-audio-play.is-playing {
	animation: puv-audio-pulse 2s ease-in-out infinite;
}


@keyframes puv-audio-pulse {

	0%,
	100% {
		box-shadow: 0 8px 22px rgba(0,0,0,.18);
	}

	50% {
		box-shadow:
			0 8px 22px rgba(0,0,0,.18),
			0 0 0 7px rgba(242,196,76,.12);
	}

}


/* SEPARACIÓN DE LA FRASE */

.puv-hero-audio + .puv-hero-quote {
	margin-top: 22px;
}


/* TABLET / MÓVIL */

@media (max-width: 700px) {

	.puv-hero-audio {
		gap: 14px;

		padding: 15px 16px;

		border-radius: 14px;
	}

	.puv-audio-play {
		width: 50px;
		height: 50px;
	}

	.puv-audio-heading {
		display: block;
		margin-bottom: 10px;
	}

	.puv-audio-heading strong,
	.puv-audio-heading span {
		display: block;
	}

	.puv-audio-heading span {
		margin-top: 3px;
		white-space: normal;
	}

}


@media (max-width: 480px) {

	.puv-hero-audio {
		align-items: flex-start;
	}

	.puv-audio-controls {
		grid-template-columns: 32px 1fr 32px;
		gap: 7px;
	}

	.puv-audio-controls > span {
		font-size: 9px;
	}

}

/* ==========================================================
   PUV — DOCUMENTOS — EDICIÓN CLARA / BIBLIOTECA EDITORIAL
   Pegar AL FINAL del CSS principal.
   ========================================================== */

/* FONDO GENERAL DE LA BIBLIOTECA */
body.page-id-15 .puv-documents-page {
	background: #f4f7fa !important;
	color: #071426 !important;
}

/* El hero conserva su identidad oscura */
body.page-id-15 .puv-documents-hero {
	background:
		linear-gradient(180deg, rgba(4,14,30,.16), rgba(4,14,30,.94)),
		radial-gradient(circle at 80% 25%, rgba(33,115,255,.30), transparent 36%),
		#071426 !important;
	color: #fff !important;
}

/* INTRO / TRANSPARENCIA */
body.page-id-15 .puv-documents-intro {
	border-bottom: 1px solid rgba(7,27,51,.08);
}

/* ==========================================================
   ÍNDICE DE LA BIBLIOTECA
   ========================================================== */

body.page-id-15 .puv-documents-index {
	position: relative;
	padding: clamp(70px, 8vw, 105px) 0;
	background: #ffffff;
	border-bottom: 1px solid rgba(7,27,51,.09);
}

body.page-id-15 .puv-documents-index-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 38px;
}

body.page-id-15 .puv-documents-index-heading .puv-kicker {
	margin: 0;
	color: #075a9e !important;
}

body.page-id-15 .puv-documents-index-heading h2 {
	margin: 0;
	color: #071426;
	font-family: var(--puv-font-display);
	font-size: clamp(34px, 4vw, 58px);
	line-height: .98;
	letter-spacing: -.035em;
}

body.page-id-15 .puv-documents-index-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	border-top: 1px solid rgba(7,27,51,.12);
	border-left: 1px solid rgba(7,27,51,.12);
}

body.page-id-15 .puv-documents-index-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 185px;
	padding: 24px 20px 22px;
	border-right: 1px solid rgba(7,27,51,.12);
	border-bottom: 1px solid rgba(7,27,51,.12);
	background: #fff;
	color: #071426;
	text-decoration: none;
	transition:
		transform .22s ease,
		background .22s ease,
		box-shadow .22s ease;
}

body.page-id-15 .puv-documents-index-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: #168bdc;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .22s ease;
}

body.page-id-15 .puv-documents-index-card:hover {
	z-index: 2;
	background: #f7f9fc;
	transform: translateY(-4px);
	box-shadow: 0 16px 34px rgba(7,27,51,.09);
}

body.page-id-15 .puv-documents-index-card:hover::before {
	transform: scaleX(1);
}

body.page-id-15 .puv-documents-index-number {
	display: block;
	margin-bottom: auto;
	color: rgba(7,27,51,.24);
	font-family: var(--puv-font-display);
	font-size: 35px;
	font-weight: 700;
	line-height: 1;
}

body.page-id-15 .puv-documents-index-card strong {
	display: block;
	margin-top: 28px;
	color: #071426;
	font-size: 13px;
	line-height: 1.35;
}

body.page-id-15 .puv-documents-index-card small {
	display: block;
	margin-top: 7px;
	color: rgba(7,27,51,.50);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* ==========================================================
   COLECCIONES — FONDO CLARO
   ========================================================== */

body.page-id-15 .puv-documents-library {
	background: #f4f7fa !important;
}

body.page-id-15 .puv-document-collection {
	scroll-margin-top: 110px;
	padding-top: clamp(85px, 8vw, 120px) !important;
	padding-bottom: clamp(90px, 9vw, 135px) !important;
	background: #f4f7fa !important;
	border-top: 1px solid rgba(7,27,51,.09) !important;
}

body.page-id-15 .puv-document-collection:nth-child(even) {
	background: #ffffff !important;
}

/* CABECERA DE CADA COLECCIÓN */
body.page-id-15 .puv-document-collection-header {
	grid-template-columns: 105px minmax(0, 860px) !important;
	gap: 34px !important;
	margin-bottom: 52px !important;
}

body.page-id-15 .puv-document-collection-number {
	color: rgba(7,27,51,.12) !important;
	text-shadow: none !important;
	font-size: clamp(62px, 6vw, 88px) !important;
}

body.page-id-15 .puv-document-collection-header .puv-kicker {
	color: #0871bd !important;
}

body.page-id-15 .puv-document-collection-header h2 {
	max-width: 780px;
	color: #071426 !important;
	text-shadow: none !important;
}

body.page-id-15 .puv-document-collection-header p {
	max-width: 690px;
	color: rgba(7,27,51,.68) !important;
}

body.page-id-15 .puv-document-collection-count {
	display: inline-flex;
	align-items: center;
	margin-top: 18px;
	padding-top: 12px;
	border-top: 1px solid rgba(7,27,51,.13);
	color: rgba(7,27,51,.48);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

/* ==========================================================
   TARJETAS — AZUL PROFUNDO
   ========================================================== */

body.page-id-15 .puv-documents-grid {
	gap: 24px !important;
}

body.page-id-15 .puv-document-card {
	min-height: 360px;
	padding: 34px !important;
	border: 1px solid rgba(49,105,166,.22) !important;
	border-radius: 22px !important;
	background:
		linear-gradient(
			145deg,
			#17395f 0%,
			#102d4e 52%,
			#0b2441 100%
		) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 18px 42px rgba(7,27,51,.13) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

body.page-id-15 .puv-document-card:hover {
	transform: translateY(-6px);
	border-color: rgba(63,135,214,.48) !important;
	background:
		linear-gradient(
			145deg,
			#1d4775 0%,
			#12385f 55%,
			#0d2a49 100%
		) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.10),
		0 25px 55px rgba(7,27,51,.18) !important;
}

/* DESTACADO: línea amarilla superior */
body.page-id-15 .puv-document-card-featured {
	border-color: rgba(209,163,25,.42) !important;
}

body.page-id-15 .puv-document-card-featured::after {
	content: "";
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: var(--puv-yellow);
}

/* VIGENTE: acento azul a la izquierda */
body.page-id-15 .puv-document-card-current {
	border-color: rgba(79,161,244,.60) !important;
	background:
		linear-gradient(
			145deg,
			#21568a 0%,
			#17436f 48%,
			#102f51 100%
		) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.10),
		0 20px 48px rgba(7,27,51,.17) !important;
}

body.page-id-15 .puv-document-card-current::before {
	width: 4px !important;
	background: #6fb6ff !important;
}

/* TEXTOS DE TARJETA */
body.page-id-15 .puv-document-meta {
	color: rgba(226,237,249,.58) !important;
}

body.page-id-15 .puv-document-card h3 {
	color: #ffffff !important;
}

body.page-id-15 .puv-document-card > p {
	color: rgba(235,242,250,.74) !important;
}

body.page-id-15 .puv-document-status {
	color: #82c5ff !important;
	background: rgba(4,20,38,.20) !important;
	border-color: rgba(130,197,255,.24) !important;
}

body.page-id-15 .puv-document-card-current .puv-document-status {
	color: #041426 !important;
	background: #74bdff !important;
	border-color: #74bdff !important;
}

/* BOTONES */
body.page-id-15 .puv-document-actions {
	border-top-color: rgba(255,255,255,.10) !important;
}

body.page-id-15 .puv-document-actions a:first-child {
	background: #78bdff !important;
	border-color: #78bdff !important;
	color: #071426 !important;
}

body.page-id-15 .puv-document-actions a:first-child:hover {
	background: #9bd0ff !important;
}

body.page-id-15 .puv-document-actions a:last-child {
	background: rgba(255,255,255,.04) !important;
	border-color: rgba(255,255,255,.22) !important;
	color: rgba(255,255,255,.90) !important;
}

body.page-id-15 .puv-document-actions a:last-child:hover {
	background: rgba(255,255,255,.10) !important;
	border-color: rgba(255,255,255,.38) !important;
}

/* ==========================================================
   CRITERIO EDITORIAL — VUELVE AL AZUL OSCURO
   ========================================================== */

body.page-id-15 .puv-documents-note {
	background:
		radial-gradient(circle at 78% 20%, rgba(45,119,211,.16), transparent 32%),
		#071426 !important;
	border-top: 0 !important;
}

body.page-id-15 .puv-documents-note .puv-kicker {
	color: #6fb6ff !important;
}

body.page-id-15 .puv-documents-note h2 {
	color: #ffffff !important;
}

body.page-id-15 .puv-documents-note p {
	color: rgba(235,242,250,.72) !important;
}

/* CTA final conserva el amarillo institucional */

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1100px) {
	body.page-id-15 .puv-documents-index-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	body.page-id-15 .puv-documents-index-heading {
		display: block;
	}

	body.page-id-15 .puv-documents-index-heading .puv-kicker {
		margin-bottom: 14px;
	}

	body.page-id-15 .puv-document-collection-header {
		grid-template-columns: 1fr !important;
		gap: 15px !important;
	}

	body.page-id-15 .puv-document-collection-number {
		font-size: 58px !important;
	}
}

@media (max-width: 600px) {
	body.page-id-15 .puv-documents-index {
		padding: 62px 0;
	}

	body.page-id-15 .puv-documents-index-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.page-id-15 .puv-documents-index-card {
		min-height: 155px;
		padding: 20px 16px;
	}

	body.page-id-15 .puv-document-card {
		padding: 25px !important;
	}

	body.page-id-15 .puv-document-collection-number {
		color: rgba(7,27,51,.13) !important;
	}
}

@media (max-width: 420px) {
	body.page-id-15 .puv-documents-index-grid {
		grid-template-columns: 1fr;
	}

	body.page-id-15 .puv-documents-index-card {
		min-height: 125px;
	}
}

/* PUV — FIN EDICIÓN CLARA / BIBLIOTECA EDITORIAL */

/* ==========================================================
   FIN PUV — NAVEGACION INTERNA EDITORIAL
   ========================================================== */
