/* =============================================================================
   Pais Juridico — hoja de estilos principal
   01 Fuentes            08 Etiquetas y distintivos   15 Archivo de plataformas
   02 Variables          09 Formularios               16 Ficha de plataforma
   03 Base               10 Cabecera                  17 Blog
   04 Tipografia         11 Pie de pagina             18 Landing de consulta
   05 Maquetacion        12 Cabeceras de pagina       19 Contenido editorial
   06 Botones            13 Secciones de portada      20 Utilidades
   07 Tarjetas           14 Migas de pan              21 Movimiento
   ============================================================================= */

/* == 01 Fuentes ============================================================ */

@font-face {
	font-family: 'Inter var';
	src: url('../fonts/inter-latin.woff2') format('woff2');
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Inter var';
	src: url('../fonts/inter-latin-ext.woff2') format('woff2');
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Playfair var';
	src: url('../fonts/playfair-latin.woff2') format('woff2');
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Playfair var';
	src: url('../fonts/playfair-latin-ext.woff2') format('woff2');
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* == 02 Variables ========================================================== */

:root {
	/* Superficies oscuras */
	--pj-black: #05080c;
	--pj-ink-900: #0a0e14;
	--pj-ink-850: #0d131b;
	--pj-ink-800: #111823;
	--pj-ink-750: #141c27;
	--pj-ink-700: #18212e;
	--pj-ink-600: #202b3a;

	/* Superficies claras */
	--pj-cream-50: #fdfcf9;
	--pj-cream-100: #faf7f1;
	--pj-cream-200: #f2ece1;
	--pj-cream-300: #e6ddcd;

	/* Acento */
	--pj-gold: #c9a063;
	--pj-gold-light: #e4c795;
	--pj-gold-dark: #a8813f;
	--pj-gold-soft: rgba(201, 160, 99, 0.14);

	/* Texto */
	--pj-on-dark: #f7f4ed;
	--pj-on-dark-muted: #9dabbd;
	--pj-on-dark-faint: #6f7d8e;
	--pj-on-light: #0b1017;
	--pj-on-light-muted: #4a5a6b;

	/* Lineas */
	--pj-line-dark: rgba(247, 244, 237, 0.09);
	--pj-line-dark-strong: rgba(247, 244, 237, 0.16);
	--pj-line-light: rgba(11, 16, 23, 0.1);
	--pj-line-light-strong: rgba(11, 16, 23, 0.18);

	/* Estados */
	--pj-ok: #6fb98f;
	--pj-warn: #d9a344;
	--pj-alert: #cf7b6a;

	/* Tipografia */
	--pj-font-sans: 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--pj-font-serif: 'Playfair var', Georgia, 'Times New Roman', serif;

	--pj-fs-display: clamp(2.625rem, 1.45rem + 3.7vw, 4.375rem);
	--pj-fs-h1: clamp(2.125rem, 1.5rem + 2.3vw, 3.375rem);
	--pj-fs-h2: clamp(1.75rem, 1.35rem + 1.6vw, 2.625rem);
	--pj-fs-h3: clamp(1.1875rem, 1.1rem + 0.5vw, 1.4375rem);
	--pj-fs-h4: 1.125rem;
	--pj-fs-lead: clamp(1.0625rem, 1rem + 0.4vw, 1.3125rem);
	--pj-fs-body: 1.0625rem;
	--pj-fs-sm: 0.9375rem;
	--pj-fs-xs: 0.8125rem;
	--pj-fs-eyebrow: 0.75rem;

	/* Escala de espaciado */
	--pj-sp-1: 0.25rem;
	--pj-sp-2: 0.5rem;
	--pj-sp-3: 0.75rem;
	--pj-sp-4: 1rem;
	--pj-sp-5: 1.25rem;
	--pj-sp-6: 1.5rem;
	--pj-sp-8: 2rem;
	--pj-sp-10: 2.5rem;
	--pj-sp-12: 3rem;
	--pj-sp-16: 4rem;
	--pj-sp-20: 5rem;
	--pj-sp-24: 6rem;
	--pj-section-y: clamp(3.75rem, 7vw, 7rem);

	/* Rejilla */
	--pj-container: 1280px;
	--pj-container-narrow: 780px;
	--pj-gutter: clamp(1.25rem, 4vw, 2.5rem);

	/* Formas */
	--pj-radius-sm: 8px;
	--pj-radius: 14px;
	--pj-radius-lg: 20px;
	--pj-radius-xl: 28px;
	--pj-radius-pill: 999px;

	/* Sombras */
	--pj-shadow-sm: 0 1px 2px rgba(5, 8, 12, 0.24);
	--pj-shadow: 0 18px 40px -24px rgba(5, 8, 12, 0.7);
	--pj-shadow-lg: 0 40px 80px -40px rgba(5, 8, 12, 0.85);
	--pj-shadow-light: 0 20px 45px -30px rgba(11, 16, 23, 0.25);

	/* Cabecera */
	--pj-header-h: 76px;
	--pj-topbar-h: 38px;

	--pj-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* == 03 Base =============================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--pj-header-h) + 1.5rem);
}

body {
	margin: 0;
	background-color: var(--pj-ink-900);
	color: var(--pj-on-dark);
	font-family: var(--pj-font-sans);
	font-size: var(--pj-fs-body);
	line-height: 1.65;
	font-weight: 400;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'kern' 1, 'liga' 1, 'cv11' 1;
}

img,
svg,
video,
picture {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration-color: rgba(201, 160, 99, 0.45);
	text-underline-offset: 0.22em;
}

a:hover {
	text-decoration-color: var(--pj-gold);
}

button {
	font: inherit;
	color: inherit;
}

ul,
ol {
	padding-left: 1.15em;
}

hr {
	border: 0;
	border-top: 1px solid var(--pj-line-dark);
	margin: var(--pj-sp-10) 0;
}

::selection {
	background: var(--pj-gold);
	color: var(--pj-black);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--pj-gold-light);
	outline-offset: 3px;
	border-radius: 4px;
}

/* == 04 Tipografia ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 var(--pj-sp-4);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

h1,
h2 {
	font-family: var(--pj-font-serif);
	font-weight: 500;
}

h1 {
	font-size: var(--pj-fs-h1);
}

h2 {
	font-size: var(--pj-fs-h2);
}

h3 {
	font-size: var(--pj-fs-h3);
	line-height: 1.3;
	letter-spacing: -0.01em;
}

h4 {
	font-size: var(--pj-fs-h4);
	line-height: 1.4;
}

p {
	margin: 0 0 var(--pj-sp-5);
}

p:last-child {
	margin-bottom: 0;
}

strong {
	font-weight: 600;
}

.pj-display {
	font-family: var(--pj-font-serif);
	font-size: var(--pj-fs-display);
	font-weight: 500;
	line-height: 1.06;
	letter-spacing: -0.02em;
	margin: 0 0 var(--pj-sp-6);
}

.pj-lead {
	font-size: var(--pj-fs-lead);
	line-height: 1.6;
	color: var(--pj-on-dark-muted);
	max-width: 58ch;
}

.pj-highlight {
	color: var(--pj-gold);
	font-style: normal;
}

.pj-eyebrow {
	display: flex;
	align-items: center;
	gap: var(--pj-sp-4);
	margin: 0 0 var(--pj-sp-5);
	font-family: var(--pj-font-sans);
	font-size: var(--pj-fs-eyebrow);
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--pj-gold);
}

.pj-eyebrow::after {
	content: '';
	flex: 0 1 88px;
	height: 1px;
	background: linear-gradient(90deg, var(--pj-gold-dark), transparent);
}

.pj-eyebrow--center {
	justify-content: center;
}

.pj-eyebrow--center::before {
	content: '';
	flex: 0 1 88px;
	height: 1px;
	background: linear-gradient(270deg, var(--pj-gold-dark), transparent);
}

.pj-section-head {
	max-width: 62ch;
	margin-bottom: clamp(2.25rem, 4vw, 3.5rem);
}

.pj-section-head--center {
	margin-inline: auto;
	text-align: center;
}

.pj-section-head p {
	color: var(--pj-on-dark-muted);
	font-size: var(--pj-fs-lead);
	margin-bottom: 0;
}

.pj-section-head--split {
	display: grid;
	gap: var(--pj-sp-6) var(--pj-sp-16);
	max-width: none;
	align-items: end;
}

@media (min-width: 62rem) {
	.pj-section-head--split {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	}
}

.pj-section-ornament {
	display: block;
	width: 3.25rem;
	height: 2px;
	margin-top: 1.1rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--pj-gold), transparent);
}

.pj-section-ornament--block {
	margin: -1.5rem 0 2rem;
}

.pj-section-head--split .pj-section-ornament,
.pj-editorial .pj-section-ornament,
.pj-media-split .pj-section-ornament {
	margin-bottom: 0.25rem;
}

/* == 05 Maquetacion ======================================================== */

.pj-container {
	width: 100%;
	max-width: calc(var(--pj-container) + var(--pj-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--pj-gutter);
}

.pj-container--narrow {
	max-width: calc(var(--pj-container-narrow) + var(--pj-gutter) * 2);
}

.pj-section {
	padding-block: var(--pj-section-y);
	position: relative;
	background: var(--pj-ink-900);
	color: var(--pj-on-dark);
	border-top: 1px solid var(--pj-line-dark);
}

.pj-section--tight {
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.pj-section--dark {
	background: var(--pj-ink-900);
}

.pj-section--darker {
	background: var(--pj-black);
}

.pj-section--panel {
	background: var(--pj-ink-850);
}

/* Kept for template compatibility — the whole site is dark now. */
.pj-section--light {
	background: var(--pj-ink-850);
	color: var(--pj-on-dark);
}

.pj-section--light .pj-lead,
.pj-section--light .pj-section-head p {
	color: var(--pj-on-dark-muted);
}

.pj-section--light h1,
.pj-section--light h2,
.pj-section--light h3 {
	color: var(--pj-on-dark);
}

.pj-section--hairline-top {
	border-top: 1px solid var(--pj-line-dark);
}

.pj-section--flush-top {
	border-top: 0;
}

/* Subtle container-aligned rule under section heads */
.pj-section-head + .pj-grid,
.pj-section-head + .pj-reveal,
.pj-section-head + .pj-process,
.pj-section-head + .pj-team,
.pj-section-head + .pj-accordion {
	padding-top: clamp(0.25rem, 1vw, 0.75rem);
}

.pj-grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
}

.pj-grid--2 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
}

.pj-grid--3 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}

.pj-grid--4 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

.pj-stack > * + * {
	margin-top: var(--pj-sp-5);
}

/* == 06 Botones ============================================================ */

.pj-btn {
	--pj-btn-bg: transparent;
	--pj-btn-fg: var(--pj-on-dark);
	--pj-btn-border: var(--pj-line-dark-strong);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	padding: 0.9em 1.6em;
	min-height: 48px;
	border: 1px solid var(--pj-btn-border);
	border-radius: var(--pj-radius-sm);
	background: var(--pj-btn-bg);
	color: var(--pj-btn-fg);
	font-size: var(--pj-fs-sm);
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.25s var(--pj-ease), background-color 0.25s var(--pj-ease), border-color 0.25s var(--pj-ease), box-shadow 0.25s var(--pj-ease), color 0.25s var(--pj-ease);
}

.pj-btn:hover {
	transform: translateY(-1px);
}

.pj-btn:active {
	transform: translateY(0);
}

.pj-btn__arrow {
	transition: transform 0.25s var(--pj-ease);
	flex: none;
}

.pj-btn:hover .pj-btn__arrow {
	transform: translateX(3px);
}

.pj-btn--primary {
	--pj-btn-bg: linear-gradient(135deg, var(--pj-gold-light), var(--pj-gold));
	--pj-btn-fg: #17110a;
	--pj-btn-border: transparent;
	font-weight: 600;
	box-shadow: 0 12px 28px -18px rgba(201, 160, 99, 0.9);
}

.pj-btn--primary:hover {
	--pj-btn-bg: linear-gradient(135deg, #eed6ae, var(--pj-gold-light));
	box-shadow: 0 18px 34px -18px rgba(201, 160, 99, 0.95);
}

.pj-btn--ghost {
	--pj-btn-bg: rgba(247, 244, 237, 0.03);
}

.pj-btn--ghost:hover {
	--pj-btn-bg: rgba(247, 244, 237, 0.07);
	--pj-btn-border: var(--pj-gold-dark);
}

.pj-btn--outline-light {
	--pj-btn-bg: transparent;
	--pj-btn-fg: var(--pj-on-dark);
	--pj-btn-border: var(--pj-line-dark-strong);
}

.pj-btn--outline-light:hover {
	--pj-btn-bg: rgba(247, 244, 237, 0.05);
	--pj-btn-border: var(--pj-gold-dark);
}

.pj-btn--dark {
	--pj-btn-bg: var(--pj-ink-800);
	--pj-btn-fg: var(--pj-on-dark);
	--pj-btn-border: transparent;
}

.pj-btn--dark:hover {
	--pj-btn-bg: var(--pj-ink-700);
}

.pj-btn--sm {
	padding: 0.65em 1.1em;
	min-height: 40px;
	font-size: var(--pj-fs-xs);
}

.pj-btn--block {
	width: 100%;
}

.pj-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pj-sp-4);
	align-items: center;
}

/* Enlace con subrayado dorado */
.pj-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0 0 2px;
	border: 0;
	border-bottom: 1px solid var(--pj-gold-dark);
	border-radius: 0;
	background: transparent;
	color: var(--pj-gold);
	font: inherit;
	font-weight: 500;
	font-size: var(--pj-fs-sm);
	line-height: 1.3;
	text-align: inherit;
	text-decoration: none;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition: color 0.2s var(--pj-ease), border-color 0.2s var(--pj-ease);
}

.pj-link:hover {
	color: var(--pj-gold-light);
	border-color: var(--pj-gold-light);
	background: transparent;
}

.pj-link svg {
	transition: transform 0.25s var(--pj-ease);
}

.pj-link:hover svg {
	transform: translateX(3px);
}

.pj-filters__actions .pj-link {
	color: var(--pj-gold);
	background: transparent;
}

/* == 07 Tarjetas =========================================================== */

.pj-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--pj-sp-3);
	padding: clamp(1.375rem, 2.2vw, 1.875rem);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius);
	background:
		linear-gradient(180deg, rgba(247, 244, 237, 0.035), rgba(247, 244, 237, 0.01)),
		radial-gradient(120% 80% at 0% 0%, rgba(201, 160, 99, 0.08), transparent 55%);
	overflow: hidden;
	isolation: isolate;
	transition: border-color 0.3s var(--pj-ease), transform 0.3s var(--pj-ease), box-shadow 0.3s var(--pj-ease);
}

.pj-card::before {
	content: '';
	position: absolute;
	inset: 0 0 auto 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(201, 160, 99, 0.45), transparent);
	opacity: 0.55;
}

.pj-card h3,
.pj-card h4,
.pj-card__title {
	margin-bottom: 0;
	letter-spacing: -0.01em;
	font-weight: 700;
}

.pj-card__title,
.pj-card__title-link {
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	transition: color 0.2s var(--pj-ease);
}

.pj-card__title-link:hover {
	color: var(--pj-gold-light);
}

.pj-card p {
	margin-bottom: 0;
	color: var(--pj-on-dark-muted);
	font-size: var(--pj-fs-sm);
	flex: 1;
}

.pj-card__more,
.pj-post-card__more,
.pj-platform-card__more {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	width: 100%;
	margin-top: auto;
	padding: 0.8rem 1rem;
	border: 1px solid rgba(201, 160, 99, 0.38);
	border-radius: 10px;
	background:
		linear-gradient(180deg, rgba(201, 160, 99, 0.14), rgba(201, 160, 99, 0.06));
	color: var(--pj-gold-light);
	font-size: var(--pj-fs-xs);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 0.25s var(--pj-ease), border-color 0.25s var(--pj-ease), color 0.25s var(--pj-ease), transform 0.25s var(--pj-ease);
}

.pj-card__more-arrow {
	display: inline-flex;
	transition: transform 0.25s var(--pj-ease);
}

.pj-card__more:hover,
.pj-post-card__more:hover,
.pj-platform-card__more:hover {
	border-color: rgba(201, 160, 99, 0.7);
	background:
		linear-gradient(180deg, rgba(201, 160, 99, 0.22), rgba(201, 160, 99, 0.1));
	color: #f3e2c2;
}

.pj-card__more:hover .pj-card__more-arrow,
.pj-post-card__more:hover .pj-card__more-arrow,
.pj-platform-card__more:hover .pj-card__more-arrow {
	transform: translateX(3px);
}

.pj-card--link:hover,
.pj-card--interactive:hover {
	border-color: rgba(201, 160, 99, 0.45);
	transform: translateY(-3px);
	box-shadow: 0 22px 40px -28px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(201, 160, 99, 0.08);
}

.pj-card--light {
	background: rgba(247, 244, 237, 0.025);
	background-image: none;
	border-color: var(--pj-line-dark);
	color: var(--pj-on-dark);
	box-shadow: none;
}

.pj-card--light p {
	color: var(--pj-on-dark-muted);
}

.pj-card--light.pj-card--link:hover {
	border-color: rgba(201, 160, 99, 0.45);
	background: rgba(247, 244, 237, 0.04);
}

.pj-card--glass {
	background: rgba(13, 19, 27, 0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-color: var(--pj-line-dark-strong);
	box-shadow: var(--pj-shadow);
}

.pj-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--pj-sp-4);
}

/* Icono en marco — stroke dorado, volumen sutil */
.pj-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	border: 1px solid rgba(201, 160, 99, 0.3);
	background:
		radial-gradient(circle at 30% 22%, rgba(228, 199, 149, 0.2), transparent 58%),
		linear-gradient(160deg, rgba(201, 160, 99, 0.12), rgba(201, 160, 99, 0.03));
	color: var(--pj-gold-light);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.pj-icon svg {
	width: 18px;
	height: 18px;
}

.pj-icon--sm {
	width: 32px;
	height: 32px;
	border-radius: 8px;
}

.pj-icon--sm svg {
	width: 15px;
	height: 15px;
}

.pj-icon--bare {
	border: 0;
	background: none;
	width: auto;
	height: auto;
}

.pj-icon--lg {
	width: 52px;
	height: 52px;
	border-radius: 12px;
}

.pj-icon--lg svg {
	width: 22px;
	height: 22px;
}

/* Numero de paso */
.pj-step__num {
	font-family: var(--pj-font-serif);
	font-size: 2.25rem;
	line-height: 1;
	color: var(--pj-gold);
	opacity: 0.85;
}

/* == 08 Etiquetas y distintivos ============================================ */

.pj-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	padding: 0.3em 0.7em;
	border: 1px solid var(--pj-line-dark-strong);
	border-radius: var(--pj-radius-pill);
	background: rgba(247, 244, 237, 0.04);
	font-size: var(--pj-fs-xs);
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--pj-on-dark-muted);
	white-space: nowrap;
}

.pj-badge__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	flex: none;
}

.pj-badge--gold {
	border-color: rgba(201, 160, 99, 0.35);
	background: var(--pj-gold-soft);
	color: var(--pj-gold-light);
}

.pj-badge--ok {
	color: var(--pj-ok);
	border-color: rgba(111, 185, 143, 0.32);
	background: rgba(111, 185, 143, 0.1);
}

.pj-badge--warn {
	color: var(--pj-warn);
	border-color: rgba(217, 163, 68, 0.32);
	background: rgba(217, 163, 68, 0.1);
}

.pj-badge--alert {
	color: var(--pj-alert);
	border-color: rgba(207, 123, 106, 0.32);
	background: rgba(207, 123, 106, 0.1);
}

.pj-badge--light {
	border-color: var(--pj-line-light-strong);
	background: rgba(11, 16, 23, 0.04);
	color: var(--pj-on-light-muted);
}

.pj-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pj-sp-2) var(--pj-sp-4);
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
	letter-spacing: 0.01em;
}

.pj-section--light .pj-meta {
	color: var(--pj-on-dark-faint);
}

.pj-meta__sep {
	opacity: 0.5;
}

.pj-meta__item {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	white-space: nowrap;
}

.pj-meta__icon {
	flex: none;
	color: var(--pj-gold);
	opacity: 0.85;
}

.pj-meta--article {
	gap: var(--pj-sp-2) var(--pj-sp-5);
	font-size: var(--pj-fs-sm);
}

.pj-badge svg {
	flex: none;
	margin-right: 0.35em;
	vertical-align: -0.15em;
}

/* Marcador de datos pendientes */
.pj-placeholder {
	color: var(--pj-on-dark-faint);
	font-style: italic;
}

.pj-section--light .pj-placeholder {
	color: var(--pj-on-dark-faint);
}

/* Lista con marcas */
.pj-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--pj-sp-3);
}

.pj-checklist li {
	display: flex;
	align-items: flex-start;
	gap: var(--pj-sp-3);
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
}

.pj-section--light .pj-checklist li {
	color: var(--pj-on-dark-muted);
}

.pj-checklist svg {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 0.2em;
	color: var(--pj-gold);
}

/* Acordeon */
.pj-accordion {
	display: grid;
	gap: var(--pj-sp-3);
}

.pj-accordion__item {
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius);
	background: var(--pj-ink-850);
	overflow: hidden;
}

.pj-section--light .pj-accordion__item {
	border-color: var(--pj-line-dark);
	background: rgba(247, 244, 237, 0.025);
}

.pj-accordion__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pj-sp-4);
	width: 100%;
	padding: 1.1rem clamp(1rem, 2vw, 1.5rem);
	border: 0;
	background: none;
	font-size: var(--pj-fs-body);
	font-weight: 500;
	text-align: left;
	cursor: pointer;
	color: inherit;
}

.pj-accordion__trigger:hover {
	color: var(--pj-gold);
}

.pj-accordion__icon {
	flex: none;
	width: 22px;
	height: 22px;
	position: relative;
	color: var(--pj-gold);
}

.pj-accordion__icon::before,
.pj-accordion__icon::after {
	content: '';
	position: absolute;
	inset: 50% 2px auto 2px;
	height: 1.5px;
	background: currentColor;
	transition: transform 0.3s var(--pj-ease);
}

.pj-accordion__icon::after {
	transform: rotate(90deg);
}

.pj-accordion__trigger[aria-expanded='true'] .pj-accordion__icon::after {
	transform: rotate(0deg);
}

.pj-accordion__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.32s var(--pj-ease);
}

.pj-accordion__panel[data-open='true'] {
	grid-template-rows: 1fr;
}

.pj-accordion__panel > div {
	overflow: hidden;
}

.pj-accordion__body {
	padding: 0 clamp(1rem, 2vw, 1.5rem) 1.25rem;
	color: var(--pj-on-dark-muted);
	font-size: var(--pj-fs-sm);
	max-width: 72ch;
}

.pj-section--light .pj-accordion__body {
	color: var(--pj-on-dark-muted);
}

/* == 09 Formularios ======================================================== */

.pj-form {
	display: grid;
	gap: var(--pj-sp-5);
}

.pj-form-panel,
.pj-form {
	container-type: inline-size;
	container-name: pj-form;
}

.pj-form__grid {
	display: grid;
	gap: var(--pj-sp-5) var(--pj-sp-5);
	grid-template-columns: 1fr;
	align-items: start;
}

/* Two columns only when the form itself is wide enough — not the viewport.
   The consulta sidebar is ~30rem; forcing 2-col there made labels wrap unevenly. */
@container pj-form (min-width: 34rem) {
	.pj-form__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pj-field--full {
		grid-column: 1 / -1;
	}
}

@supports not (container-type: inline-size) {
	@media (min-width: 48rem) {
		.pj-form__grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		.pj-field--full {
			grid-column: 1 / -1;
		}
	}
}

.pj-field {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	min-width: 0;
	width: 100%;
}

.pj-phone {
	display: grid;
	grid-template-columns: minmax(7.5rem, 0.95fr) minmax(0, 1.35fr);
	gap: 0.55rem;
	align-items: stretch;
	width: 100%;
}

.pj-phone__country {
	padding-left: 0.75rem;
	padding-right: 2rem;
	background-position: right 0.7rem center;
	font-size: var(--pj-fs-xs);
	min-width: 0;
}

.pj-phone__number {
	min-width: 0;
}

.pj-field[data-invalid='true'] .pj-phone__country,
.pj-field[data-invalid='true'] .pj-phone__number {
	border-color: var(--pj-alert);
}

.pj-field__label {
	display: flex;
	align-items: flex-end;
	min-height: 2.6em;
	font-size: var(--pj-fs-xs);
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--pj-on-dark-muted);
}

.pj-form--light .pj-field__label {
	color: var(--pj-on-dark-muted);
}

.pj-field__req {
	color: var(--pj-gold);
	margin-left: 0.15em;
}

.pj-field__help {
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
}

.pj-form--light .pj-field__help {
	color: var(--pj-on-dark-faint);
}

.pj-field__error {
	font-size: var(--pj-fs-xs);
	color: var(--pj-alert);
	min-height: 1.15em;
}

.pj-input,
.pj-textarea,
.pj-select {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid var(--pj-line-dark-strong);
	border-radius: var(--pj-radius-sm);
	background: rgba(5, 8, 12, 0.45);
	color: var(--pj-on-dark);
	font-family: inherit;
	font-size: var(--pj-fs-sm);
	line-height: 1.45;
	transition: border-color 0.2s var(--pj-ease), background-color 0.2s var(--pj-ease);
	appearance: none;
	-webkit-appearance: none;
}

.pj-input,
.pj-select {
	height: 3.125rem;
	min-height: 3.125rem;
}

.pj-textarea {
	min-height: 8rem;
	height: auto;
	resize: vertical;
}

.pj-select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke='%23c9a063' stroke-width='1.6' d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-color: rgba(5, 8, 12, 0.45);
	padding-right: 2.5rem;
	cursor: pointer;
}

.pj-input::placeholder,
.pj-textarea::placeholder {
	color: var(--pj-on-dark-faint);
}

.pj-input:hover,
.pj-textarea:hover,
.pj-select:hover {
	border-color: rgba(201, 160, 99, 0.4);
}

.pj-input:focus,
.pj-textarea:focus,
.pj-select:focus {
	border-color: var(--pj-gold);
	background: rgba(5, 8, 12, 0.6);
	outline: 2px solid rgba(201, 160, 99, 0.25);
	outline-offset: 1px;
}

.pj-form--light .pj-input,
.pj-form--light .pj-textarea,
.pj-form--light .pj-select {
	background: rgba(5, 8, 12, 0.45);
	border-color: var(--pj-line-dark-strong);
	color: var(--pj-on-dark);
}

.pj-form--light .pj-input::placeholder,
.pj-form--light .pj-textarea::placeholder {
	color: var(--pj-on-dark-faint);
}

.pj-field[data-invalid='true'] .pj-input,
.pj-field[data-invalid='true'] .pj-textarea,
.pj-field[data-invalid='true'] .pj-select {
	border-color: var(--pj-alert);
}

.pj-consent {
	display: flex;
	align-items: flex-start;
	gap: var(--pj-sp-3);
	font-size: var(--pj-fs-xs);
	line-height: 1.55;
	color: var(--pj-on-dark-muted);
}

.pj-form--light .pj-consent {
	color: var(--pj-on-dark-muted);
}

.pj-consent input[type='checkbox'] {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 0.15em 0 0;
	accent-color: var(--pj-gold);
	cursor: pointer;
}

.pj-form__notice {
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
	line-height: 1.55;
}

.pj-form--light .pj-form__notice {
	color: var(--pj-on-dark-faint);
}

.pj-form__message {
	display: none;
	padding: var(--pj-sp-4) var(--pj-sp-5);
	border-radius: var(--pj-radius);
	border: 1px solid transparent;
	font-size: var(--pj-fs-sm);
}

.pj-form__message[data-state='success'] {
	display: block;
	border-color: rgba(111, 185, 143, 0.4);
	background: rgba(111, 185, 143, 0.1);
	color: var(--pj-ok);
}

.pj-form__message[data-state='error'] {
	display: block;
	border-color: rgba(207, 123, 106, 0.4);
	background: rgba(207, 123, 106, 0.1);
	color: var(--pj-alert);
}

.pj-form__message strong {
	display: block;
	margin-bottom: 0.25rem;
	font-size: var(--pj-fs-body);
}

.pj-form[data-submitted='true'] .pj-form__body {
	display: none;
}

.pj-form__submit[aria-disabled='true'] {
	opacity: 0.6;
	pointer-events: none;
}

.pj-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.pj-form-panel {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-xl);
	background: var(--pj-ink-850);
	box-shadow: var(--pj-shadow);
}

.pj-form-panel--light {
	background: rgba(247, 244, 237, 0.03);
	border-color: var(--pj-line-dark);
	color: var(--pj-on-dark);
	box-shadow: none;
}

.pj-form-panel__head {
	margin-bottom: var(--pj-sp-6);
}

.pj-form-panel__head h2,
.pj-form-panel__head h3 {
	margin-bottom: var(--pj-sp-2);
}

/* == 10 Cabecera =========================================================== */

.pj-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	padding: 0.75rem 1.25rem;
	background: var(--pj-gold);
	color: var(--pj-black);
	font-weight: 600;
	border-radius: 0 0 var(--pj-radius-sm) 0;
}

.pj-skip-link:focus {
	left: 0;
}

.pj-topbar {
	display: none;
	background: var(--pj-black);
	border-bottom: 1px solid var(--pj-line-dark);
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
}

@media (min-width: 62rem) {
	.pj-topbar {
		display: block;
	}
}

.pj-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pj-sp-6);
	min-height: var(--pj-topbar-h);
}

.pj-topbar__text {
	margin: 0;
	margin-right: auto;
	letter-spacing: 0.04em;
	text-align: left;
}

.pj-topbar__nav {
	display: flex;
	align-items: center;
	margin-left: auto;
	flex: none;
}

.pj-topbar__links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: var(--pj-sp-4);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pj-topbar__links li:not(:last-child)::after {
	content: '';
	display: inline-block;
	width: 1px;
	height: 10px;
	margin-left: var(--pj-sp-4);
	background: var(--pj-line-dark-strong);
	vertical-align: -1px;
}

.pj-topbar__links a {
	text-decoration: none;
	transition: color 0.2s var(--pj-ease);
}

.pj-topbar__links a:hover {
	color: var(--pj-gold);
}

.pj-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(10, 14, 20, 0.88);
	backdrop-filter: blur(16px) saturate(140%);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	border-bottom: 1px solid var(--pj-line-dark);
	transition: box-shadow 0.3s var(--pj-ease), background-color 0.3s var(--pj-ease);
}

.pj-header[data-scrolled='true'] {
	background: rgba(5, 8, 12, 0.95);
	box-shadow: 0 12px 30px -22px rgba(0, 0, 0, 0.9);
}

.pj-header__inner {
	display: flex;
	align-items: center;
	gap: var(--pj-sp-5);
	/* Fixed min-height — never bind this to --pj-header-h.
	   That variable is measured from the header itself and would create a
	   ResizeObserver feedback loop (height grows without bound). */
	min-height: 76px;
}

/* Logotipo */
.pj-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	flex: none;
	text-decoration: none;
	color: var(--pj-on-dark);
}

.pj-logo img,
.pj-logo__img {
	display: block;
	width: auto;
	height: auto;
	max-height: 52px;
	max-width: min(200px, 46vw);
	object-fit: contain;
}

.pj-logo--footer img,
.pj-logo--footer .pj-logo__img {
	max-height: 64px;
	max-width: 240px;
}

.pj-logo--mobile img,
.pj-logo--mobile .pj-logo__img {
	max-height: 44px;
	max-width: min(180px, 48vw);
}

@media (max-width: 47.99rem) {
	.pj-header {
		overflow: visible;
	}

	.pj-header__inner {
		min-height: 64px;
		gap: var(--pj-sp-3);
		overflow: visible;
		align-items: center;
	}

	.pj-header__actions {
		flex: none;
		gap: var(--pj-sp-2);
		align-items: center;
	}

	.pj-logo {
		min-width: 0;
		max-width: min(52vw, 11.5rem);
	}

	.pj-logo img,
	.pj-logo__img {
		max-height: 40px;
		max-width: 100%;
		width: auto;
		height: auto;
		object-fit: contain;
		object-position: left center;
	}
}

.pj-logo__mark {
	flex: none;
	width: 30px;
	height: 42px;
	color: var(--pj-gold);
}

.pj-logo__text {
	display: flex;
	flex-direction: column;
	font-family: var(--pj-font-serif);
	font-weight: 700;
	font-size: 1.375rem;
	line-height: 0.94;
	letter-spacing: -0.005em;
}

.pj-logo__text span:last-child {
	padding-left: 0.06em;
}

.pj-logo:hover .pj-logo__mark {
	color: var(--pj-gold-light);
}

/* Navegacion principal */
.pj-nav {
	display: none;
	margin-inline: auto;
}

@media (min-width: 62rem) {
	.pj-nav {
		display: block;
	}
}

.pj-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(0.5rem, 1.4vw, 1.35rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pj-nav__list > li {
	position: relative;
}

.pj-nav__list a {
	display: block;
	padding: 0.5rem 0.15rem;
	font-size: var(--pj-fs-sm);
	font-weight: 450;
	color: var(--pj-on-dark);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s var(--pj-ease);
}

.pj-nav__list a::after {
	content: '';
	display: block;
	height: 1.5px;
	margin-top: 4px;
	background: var(--pj-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s var(--pj-ease);
}

.pj-nav__list a:hover,
.pj-nav__list .current-menu-item > a,
.pj-nav__list .current-menu-ancestor > a,
.pj-nav__list .current_page_parent > a {
	color: var(--pj-gold);
}

.pj-nav__list a:hover::after,
.pj-nav__list .current-menu-item > a::after,
.pj-nav__list .current-menu-ancestor > a::after,
.pj-nav__list .current_page_parent > a::after {
	transform: scaleX(1);
}

/* Submenus */
.pj-nav__list .sub-menu {
	position: absolute;
	top: calc(100% + 0.75rem);
	left: -1rem;
	z-index: 20;
	min-width: 15rem;
	margin: 0;
	padding: 0.5rem;
	list-style: none;
	border: 1px solid var(--pj-line-dark-strong);
	border-radius: var(--pj-radius);
	background: rgba(13, 19, 27, 0.97);
	backdrop-filter: blur(14px);
	box-shadow: var(--pj-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.2s var(--pj-ease), transform 0.2s var(--pj-ease), visibility 0.2s;
}

.pj-nav__list > li:hover > .sub-menu,
.pj-nav__list > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.pj-nav__list .sub-menu a {
	padding: 0.6rem 0.75rem;
	border-radius: var(--pj-radius-sm);
	white-space: normal;
}

.pj-nav__list .sub-menu a::after {
	display: none;
}

.pj-nav__list .sub-menu a:hover {
	background: rgba(201, 160, 99, 0.1);
}

/* Acciones de la cabecera */
.pj-header__actions {
	display: flex;
	align-items: center;
	gap: var(--pj-sp-3);
	margin-left: auto;
}

@media (min-width: 62rem) {
	.pj-header__actions {
		margin-left: 0;
	}
}

.pj-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: none;
	border: 1px solid var(--pj-line-dark-strong);
	border-radius: 50%;
	background: rgba(247, 244, 237, 0.03);
	color: var(--pj-on-dark);
	text-decoration: none;
	cursor: pointer;
	transition: border-color 0.2s var(--pj-ease), color 0.2s var(--pj-ease), background-color 0.2s var(--pj-ease);
}

.pj-icon-btn:hover {
	border-color: var(--pj-gold);
	color: var(--pj-gold);
	background: var(--pj-gold-soft);
}

.pj-icon-btn svg {
	width: 20px;
	height: 20px;
}

.pj-icon-btn--whatsapp:hover {
	border-color: #3fbb60;
	color: #3fbb60;
	background: rgba(63, 187, 96, 0.1);
}

.pj-header__cta {
	display: none;
}

@media (min-width: 48rem) {
	.pj-header__cta {
		display: inline-flex;
	}
}

/* Boton de menu movil */
.pj-burger {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	flex: none;
	border: 1px solid var(--pj-line-dark-strong);
	border-radius: var(--pj-radius-sm);
	background: rgba(247, 244, 237, 0.03);
	cursor: pointer;
}

@media (min-width: 62rem) {
	.pj-burger {
		display: none;
	}
}

.pj-burger span {
	display: block;
	width: 18px;
	height: 1.5px;
	background: var(--pj-on-dark);
	transition: transform 0.28s var(--pj-ease), opacity 0.2s var(--pj-ease);
}

.pj-burger[aria-expanded='true'] span:nth-child(1) {
	transform: translateY(6.5px) rotate(45deg);
}

.pj-burger[aria-expanded='true'] span:nth-child(2) {
	opacity: 0;
}

.pj-burger[aria-expanded='true'] span:nth-child(3) {
	transform: translateY(-6.5px) rotate(-45deg);
}

/* Panel movil */
.pj-mobile-nav {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: grid;
	grid-template-rows: auto 1fr;
	background: var(--pj-ink-900);
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.28s var(--pj-ease), visibility 0.28s;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.pj-mobile-nav[data-open='true'] {
	visibility: visible;
	opacity: 1;
}

.pj-mobile-nav__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pj-sp-4);
	min-height: 76px;
	border-bottom: 1px solid var(--pj-line-dark);
}

.pj-mobile-nav__body {
	padding-block: var(--pj-sp-6) var(--pj-sp-10);
}

.pj-mobile-nav__list {
	list-style: none;
	margin: 0 0 var(--pj-sp-8);
	padding: 0;
	display: grid;
}

.pj-mobile-nav__list a {
	display: block;
	padding: 0.95rem 0;
	border-bottom: 1px solid var(--pj-line-dark);
	font-family: var(--pj-font-serif);
	font-size: 1.375rem;
	text-decoration: none;
	transition: color 0.2s var(--pj-ease);
}

.pj-mobile-nav__list a:hover,
.pj-mobile-nav__list .current-menu-item > a {
	color: var(--pj-gold);
}

.pj-mobile-nav__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0 0 0 var(--pj-sp-4);
}

.pj-mobile-nav__list .sub-menu a {
	font-family: var(--pj-font-sans);
	font-size: var(--pj-fs-sm);
	padding: 0.7rem 0;
	color: var(--pj-on-dark-muted);
}

.pj-mobile-nav__actions {
	display: grid;
	gap: var(--pj-sp-3);
}

.pj-mobile-nav__contact {
	margin-top: var(--pj-sp-8);
	padding-top: var(--pj-sp-6);
	border-top: 1px solid var(--pj-line-dark);
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
	display: grid;
	gap: var(--pj-sp-2);
}

.pj-mobile-nav__contact a {
	text-decoration: none;
}

body[data-nav-open='true'] {
	overflow: hidden;
}

/* == 11 Pie de pagina ====================================================== */

.pj-footer {
	background: var(--pj-black);
	border-top: 1px solid var(--pj-line-dark);
	color: var(--pj-on-dark-muted);
	font-size: var(--pj-fs-sm);
}

.pj-footer__main {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
	padding-block: clamp(3rem, 6vw, 5rem);
	grid-template-columns: 1fr;
}

@media (min-width: 40rem) {
	.pj-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 62rem) {
	.pj-footer__main {
		grid-template-columns: 1.5fr repeat(4, minmax(0, 1fr));
	}
}

.pj-footer__brand .pj-logo {
	margin-bottom: var(--pj-sp-5);
}

.pj-footer__brand p {
	max-width: 32ch;
	font-size: var(--pj-fs-sm);
	line-height: 1.65;
}

.pj-footer__contact {
	margin-top: var(--pj-sp-5);
	display: grid;
	gap: var(--pj-sp-2);
	font-size: var(--pj-fs-sm);
}

.pj-footer__contact a,
.pj-footer__contact > span {
	display: inline-flex;
	align-items: flex-start;
	gap: var(--pj-sp-2);
	text-decoration: none;
	transition: color 0.2s var(--pj-ease);
}

.pj-footer__contact svg {
	flex: none;
	margin-top: 0.2em;
	color: var(--pj-gold);
}

.pj-footer__contact a:hover {
	color: var(--pj-gold);
}

.pj-footer__col h3,
.pj-footer__heading {
	margin: 0 0 var(--pj-sp-4);
	font-family: var(--pj-font-sans);
	font-size: var(--pj-fs-xs);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pj-on-dark);
}

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

.pj-footer__col a {
	text-decoration: none;
	transition: color 0.2s var(--pj-ease), padding-left 0.2s var(--pj-ease);
}

.pj-footer__col a:hover {
	color: var(--pj-gold);
}

.pj-footer__bottom {
	border-top: 1px solid var(--pj-line-dark);
	padding-block: var(--pj-sp-6);
	display: grid;
	gap: var(--pj-sp-4);
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
}

.pj-footer__disclaimer {
	max-width: 92ch;
	line-height: 1.6;
}

.pj-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pj-sp-2) var(--pj-sp-5);
	justify-content: space-between;
}

.pj-footer__social {
	display: flex;
	gap: var(--pj-sp-4);
	list-style: none;
	margin: 0;
	padding: 0;
}

/* == 12 Cabeceras de pagina ================================================ */

/* Fondo compartido de las cabeceras oscuras */
.pj-hero {
	position: relative;
	isolation: isolate;
	background: var(--pj-ink-900);
	overflow: hidden;
}

.pj-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		radial-gradient(120% 80% at 78% 0%, rgba(201, 160, 99, 0.13), transparent 58%),
		radial-gradient(90% 70% at 0% 100%, rgba(32, 43, 58, 0.7), transparent 60%),
		linear-gradient(180deg, var(--pj-ink-850), var(--pj-ink-900));
}

.pj-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(247, 244, 237, 0.028) 1px, transparent 1px),
		linear-gradient(90deg, rgba(247, 244, 237, 0.028) 1px, transparent 1px);
	background-size: 76px 76px;
	mask-image: radial-gradient(120% 100% at 50% 0%, #000 20%, transparent 72%);
	-webkit-mask-image: radial-gradient(120% 100% at 50% 0%, #000 20%, transparent 72%);
	pointer-events: none;
}

/* Portada */
.pj-hero--home {
	padding-block: clamp(3rem, 6vw, 5.5rem) clamp(3rem, 6vw, 5rem);
	border-top: 0;
}

.pj-hero--home .pj-hero__inner {
	display: grid;
	gap: clamp(2.5rem, 5vw, 4rem);
	align-items: center;
}

@media (min-width: 64rem) {
	.pj-hero--home .pj-hero__inner {
		grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
	}
}

.pj-hero__content {
	max-width: 40rem;
}

.pj-hero__title {
	margin-bottom: var(--pj-sp-6);
}

.pj-hero__points {
	display: grid;
	gap: var(--pj-sp-5) var(--pj-sp-6);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
	margin-top: clamp(2rem, 4vw, 3rem);
	padding: 0;
	list-style: none;
}

.pj-hero__points li {
	display: flex;
	align-items: flex-start;
	gap: var(--pj-sp-3);
	font-size: var(--pj-fs-xs);
	line-height: 1.45;
	color: var(--pj-on-dark-muted);
}

.pj-hero__points svg {
	flex: none;
	width: 18px;
	height: 18px;
	color: var(--pj-gold);
	margin-top: 0.1em;
}

.pj-hero__microcopy {
	margin-top: var(--pj-sp-4);
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
	letter-spacing: 0.02em;
}

/* Composicion visual del hero */
.pj-hero__visual {
	position: relative;
	border-radius: var(--pj-radius-xl);
	overflow: hidden;
	border: 1px solid var(--pj-line-dark-strong);
	box-shadow: var(--pj-shadow-lg);
	aspect-ratio: 4 / 3.35;
	min-height: 20rem;
	background: var(--pj-ink-800);
}

.pj-hero__visual img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pj-hero__visual::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(5, 8, 12, 0.15) 0%, rgba(5, 8, 12, 0.55) 62%, rgba(5, 8, 12, 0.88) 100%);
	pointer-events: none;
}

/* Composicion abstracta cuando no hay fotografia */
.pj-artwork {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background:
		radial-gradient(55% 50% at 70% 18%, rgba(201, 160, 99, 0.32), transparent 60%),
		radial-gradient(70% 60% at 12% 84%, rgba(45, 68, 96, 0.9), transparent 60%),
		linear-gradient(155deg, #1a2635 0%, #101823 52%, #0a1018 100%);
}

.pj-artwork__grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(247, 244, 237, 0.07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(247, 244, 237, 0.07) 1px, transparent 1px);
	background-size: 46px 46px;
	mask-image: linear-gradient(200deg, #000 10%, transparent 85%);
	-webkit-mask-image: linear-gradient(200deg, #000 10%, transparent 85%);
}

.pj-artwork__columns {
	position: absolute;
	inset: auto 0 -2% 0;
	height: 62%;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 5.5%;
	padding-inline: 12%;
	opacity: 0.5;
}

.pj-artwork__columns span {
	flex: 1;
	background: linear-gradient(180deg, rgba(228, 199, 149, 0.55), rgba(201, 160, 99, 0.08));
	border-radius: 3px 3px 0 0;
	box-shadow: 0 0 24px rgba(201, 160, 99, 0.12);
}

.pj-artwork__arc {
	position: absolute;
	top: 8%;
	right: -14%;
	width: 62%;
	aspect-ratio: 1;
	border: 1px solid rgba(201, 160, 99, 0.28);
	border-radius: 50%;
	mask-image: linear-gradient(210deg, #000 25%, transparent 70%);
	-webkit-mask-image: linear-gradient(210deg, #000 25%, transparent 70%);
}

.pj-artwork__arc--inner {
	top: 18%;
	right: -4%;
	width: 42%;
	border-color: rgba(201, 160, 99, 0.16);
}

.pj-artwork__glow {
	position: absolute;
	top: -18%;
	left: -12%;
	width: 58%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201, 160, 99, 0.16), transparent 68%);
	filter: blur(6px);
}

/* Tarjetas superpuestas del hero */
.pj-hero__stat {
	position: absolute;
	top: clamp(1rem, 3%, 1.75rem);
	left: clamp(1rem, 3%, 1.75rem);
	z-index: 2;
	max-width: 12.5rem;
	padding: 1rem 1.1rem;
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark-strong);
	background: rgba(9, 13, 19, 0.82);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: var(--pj-shadow);
}

.pj-hero__stat .pj-icon {
	margin-bottom: 0.6rem;
}

.pj-hero__stat strong {
	display: block;
	font-family: var(--pj-font-serif);
	font-size: 1.05rem;
	line-height: 1.25;
	color: var(--pj-on-dark);
	margin-bottom: 0.2rem;
}

.pj-hero__stat span {
	display: block;
	font-size: var(--pj-fs-xs);
	line-height: 1.45;
	color: var(--pj-on-dark-muted);
}

.pj-hero__cards {
	position: absolute;
	inset: auto clamp(0.75rem, 3%, 1.25rem) clamp(0.75rem, 3%, 1.25rem);
	z-index: 2;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 1fr;
}

@media (min-width: 30rem) {
	.pj-hero__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.pj-hero__card {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 0.95rem 1rem;
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark-strong);
	background: rgba(9, 13, 19, 0.8);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	text-decoration: none;
	transition: border-color 0.25s var(--pj-ease), background-color 0.25s var(--pj-ease);
}

.pj-hero__card:hover {
	border-color: rgba(201, 160, 99, 0.45);
	background: rgba(13, 19, 27, 0.92);
}

.pj-hero__card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

.pj-hero__card strong {
	font-size: var(--pj-fs-sm);
	font-weight: 500;
	line-height: 1.3;
}

.pj-hero__card span {
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-muted);
	line-height: 1.4;
}

.pj-hero__card .pj-btn__arrow {
	color: var(--pj-gold);
}

/* Cabecera de paginas interiores */
.pj-hero--page {
	padding-block: clamp(2.75rem, 5.5vw, 4.5rem) clamp(2.5rem, 5vw, 4rem);
	border-bottom: 1px solid var(--pj-line-dark);
}

.pj-hero--page .pj-hero__inner {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: end;
}

@media (min-width: 62rem) {
	.pj-hero--page .pj-hero__inner--split {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	}
}

.pj-hero--page h1 {
	margin-bottom: var(--pj-sp-5);
	max-width: 26ch;
}

.pj-hero--compact {
	padding-block: clamp(2rem, 4vw, 3rem) clamp(2rem, 4vw, 3rem);
}

/* == 13 Secciones de portada =============================================== */

/* Tira de categorias */
.pj-strip {
	border-top: 1px solid var(--pj-line-dark);
	border-bottom: 1px solid var(--pj-line-dark);
	background: var(--pj-black);
	padding-block: var(--pj-sp-6);
}

.pj-strip__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pj-sp-4) var(--pj-sp-6);
}

@media (min-width: 62rem) {
	.pj-strip__inner {
		flex-wrap: nowrap;
		align-items: center;
		gap: var(--pj-sp-8);
	}
}

.pj-strip__label {
	margin: 0;
	flex: none;
	align-self: center;
	font-size: var(--pj-fs-eyebrow);
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--pj-on-dark-faint);
}

.pj-strip__items {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pj-sp-3) var(--pj-sp-4);
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 0;
}

@media (min-width: 62rem) {
	.pj-strip__items {
		flex-wrap: nowrap;
	}

	.pj-strip__items > li {
		flex: none;
	}
}

.pj-strip__items a,
.pj-strip__items span,
.pj-strip__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.55em;
	padding: 0.55em 1em;
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-pill);
	background: linear-gradient(180deg, rgba(247, 244, 237, 0.05), rgba(247, 244, 237, 0.015));
	font-size: var(--pj-fs-xs);
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--pj-on-dark-muted);
	text-decoration: none;
	transition: border-color 0.2s var(--pj-ease), color 0.2s var(--pj-ease), transform 0.2s var(--pj-ease);
}

.pj-strip__icon {
	display: inline-flex;
	color: var(--pj-gold);
}

.pj-strip__dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--pj-gold);
	opacity: 0.75;
	flex: none;
}

.pj-strip__items a:hover,
.pj-strip__chip:hover {
	border-color: var(--pj-gold-dark);
	color: var(--pj-gold);
	transform: translateY(-1px);
}

/* Bloque editorial de dos columnas */
.pj-editorial {
	display: grid;
	gap: clamp(1.75rem, 4vw, 4rem);
	align-items: start;
}

@media (min-width: 62rem) {
	.pj-editorial {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

.pj-editorial__body p {
	color: var(--pj-on-dark-muted);
	font-size: var(--pj-fs-lead);
	line-height: 1.62;
}

.pj-section--light .pj-editorial__body p {
	color: var(--pj-on-dark-muted);
}

/* Bloque con imagen */
.pj-media-split {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

@media (min-width: 62rem) {
	.pj-media-split {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.pj-media-split--reverse .pj-media-split__media {
		order: 2;
	}
}

.pj-media-split__media {
	position: relative;
	border-radius: var(--pj-radius-xl);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--pj-ink-800);
	border: 1px solid var(--pj-line-dark);
}

.pj-media-split__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Proceso */
.pj-process {
	display: grid;
	gap: var(--pj-sp-4);
	counter-reset: pj-step;
}

@media (min-width: 48rem) {
	.pj-process {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
		gap: 0;
	}
}

.pj-process__item {
	position: relative;
	padding: var(--pj-sp-6) var(--pj-sp-5) var(--pj-sp-2) 0;
	border-top: 1px solid var(--pj-line-dark);
}

@media (min-width: 48rem) {
	.pj-process__item {
		border-top: 0;
		border-left: 1px solid var(--pj-line-dark);
		padding: 0 var(--pj-sp-6);
	}

	.pj-process__item:first-child {
		border-left: 0;
		padding-left: 0;
	}
}

.pj-section--light .pj-process__item {
	border-color: var(--pj-line-dark);
}

.pj-process__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pj-sp-4);
	margin-bottom: var(--pj-sp-5);
}

.pj-process__num {
	font-family: var(--pj-font-serif);
	font-size: 1.65rem;
	line-height: 1;
	color: var(--pj-gold);
	letter-spacing: 0.02em;
}

.pj-process__icon {
	display: inline-flex;
	margin: 0;
}

.pj-process__item h3 {
	font-size: var(--pj-fs-h4);
	margin-bottom: var(--pj-sp-2);
}

.pj-process__item p {
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
	margin: 0;
}

.pj-section--light .pj-process__item p {
	color: var(--pj-on-dark-muted);
}

/* Equipo */
.pj-team {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

.pj-team__card {
	display: flex;
	flex-direction: column;
	gap: var(--pj-sp-4);
}

.pj-team__photo {
	position: relative;
	aspect-ratio: 4 / 5;
	border-radius: var(--pj-radius-lg);
	overflow: hidden;
	background: var(--pj-ink-800);
	border: 1px solid var(--pj-line-dark);
	display: grid;
	place-items: center;
}

.pj-section--light .pj-team__photo {
	background: var(--pj-ink-800);
	border-color: var(--pj-line-dark);
}

.pj-team__photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pj-team__photo svg {
	width: 34%;
	height: auto;
	color: var(--pj-gold);
	opacity: 0.35;
}

.pj-team__card h3 {
	font-size: var(--pj-fs-h4);
	margin-bottom: 0.25rem;
}

.pj-team__role {
	font-size: var(--pj-fs-sm);
	color: var(--pj-gold);
	margin-bottom: 0.15rem;
}

.pj-team__speciality {
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-muted);
}

.pj-section--light .pj-team__speciality {
	color: var(--pj-on-dark-muted);
}

/* Casos (marcadores neutros) */
.pj-case {
	display: flex;
	flex-direction: column;
	gap: var(--pj-sp-4);
	padding: clamp(1.375rem, 2.2vw, 1.875rem);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius);
	background:
		linear-gradient(180deg, rgba(247, 244, 237, 0.03), transparent),
		radial-gradient(120% 80% at 100% 0%, rgba(201, 160, 99, 0.07), transparent 55%);
	transition: border-color 0.25s var(--pj-ease), transform 0.25s var(--pj-ease);
}

.pj-case:hover {
	border-color: rgba(201, 160, 99, 0.35);
	transform: translateY(-2px);
}

.pj-case__type {
	font-size: var(--pj-fs-xs);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pj-gold);
}

.pj-case__title {
	margin: 0;
	font-family: var(--pj-font-display);
	font-size: var(--pj-fs-lg);
	font-weight: 500;
	line-height: 1.25;
	color: var(--pj-on-dark);
}

.pj-case__text {
	margin: 0;
	color: var(--pj-on-dark-muted);
	font-size: var(--pj-fs-sm);
	line-height: 1.65;
}

.pj-case--story {
	gap: var(--pj-sp-3);
	min-height: 100%;
}

.pj-case--story .pj-icon {
	margin-bottom: 0.15rem;
}

.pj-case--story dl {
	margin-top: auto;
	padding-top: var(--pj-sp-3);
	border-top: 1px solid var(--pj-line-dark);
}

.pj-case dl {
	margin: 0;
	display: grid;
	gap: var(--pj-sp-3);
}

.pj-case dt {
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
	letter-spacing: 0.04em;
}

.pj-case dd {
	margin: 0.15rem 0 0;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark);
}

/* Llamada final */
.pj-cta-band {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--pj-black);
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.pj-cta-band::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(70% 120% at 85% 15%, rgba(201, 160, 99, 0.2), transparent 60%),
		radial-gradient(60% 100% at 8% 90%, rgba(201, 160, 99, 0.09), transparent 62%);
}

.pj-cta-band__inner {
	display: grid;
	gap: clamp(1.75rem, 4vw, 3.5rem);
	align-items: center;
}

@media (min-width: 62rem) {
	.pj-cta-band__inner {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
	}
}

.pj-cta-band h2 {
	max-width: 28ch;
	margin-bottom: var(--pj-sp-4);
}

.pj-cta-band p {
	max-width: 52ch;
	color: var(--pj-on-dark-muted);
	margin-bottom: 0;
}

.pj-cta-band__actions {
	display: grid;
	gap: var(--pj-sp-3);
	justify-items: start;
}

@media (min-width: 62rem) {
	.pj-cta-band__actions {
		justify-items: stretch;
	}
}

/* Bloque de aviso legal */
.pj-disclaimer {
	display: flex;
	gap: var(--pj-sp-4);
	padding: var(--pj-sp-5);
	border: 1px solid var(--pj-line-dark);
	border-left: 2px solid var(--pj-gold-dark);
	border-radius: var(--pj-radius);
	background: rgba(201, 160, 99, 0.05);
	font-size: var(--pj-fs-sm);
	line-height: 1.6;
	color: var(--pj-on-dark-muted);
}

.pj-section--light .pj-disclaimer {
	border-color: var(--pj-line-dark);
	border-left-color: var(--pj-gold);
	color: var(--pj-on-dark-muted);
}

.pj-disclaimer svg {
	flex: none;
	width: 20px;
	height: 20px;
	color: var(--pj-gold);
	margin-top: 0.15em;
}

/* == 14 Migas de pan ======================================================= */

.pj-breadcrumbs {
	padding-block: var(--pj-sp-4);
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
}

.pj-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pj-breadcrumbs a {
	text-decoration: none;
	transition: color 0.2s var(--pj-ease);
}

.pj-breadcrumbs a:hover {
	color: var(--pj-gold);
}

.pj-breadcrumbs li:not(:last-child)::after {
	content: '/';
	margin-left: 0.55rem;
	opacity: 0.4;
}

.pj-breadcrumbs [aria-current='page'] {
	color: var(--pj-on-dark-muted);
}

.pj-section--light .pj-breadcrumbs,
.pj-breadcrumbs--light {
	color: var(--pj-on-light-muted);
}

/* == 15 Archivo de plataformas ============================================= */

.pj-filters {
	position: relative;
	z-index: 3;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-lg);
	background: var(--pj-ink-850);
	box-shadow: var(--pj-shadow);
}

.pj-filters__search {
	display: flex;
	gap: var(--pj-sp-3);
	margin-bottom: var(--pj-sp-4);
}

.pj-filters__search-wrap {
	position: relative;
	flex: 1;
	min-width: 0;
}

.pj-filters__search-wrap svg {
	position: absolute;
	top: 50%;
	left: 1rem;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	color: var(--pj-on-dark-faint);
	pointer-events: none;
}

.pj-filters__search .pj-input {
	padding-left: 2.9rem;
}

.pj-filters__row {
	display: grid;
	gap: var(--pj-sp-3);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
}

.pj-filters__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--pj-sp-3);
	margin-top: var(--pj-sp-4);
	padding-top: var(--pj-sp-4);
	border-top: 1px solid var(--pj-line-dark);
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
}

.pj-filters__count strong {
	color: var(--pj-on-dark);
}

.pj-results {
	position: relative;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
	transition: opacity 0.2s var(--pj-ease);
}

.pj-results[data-loading='true'] {
	opacity: 0.45;
	pointer-events: none;
}

.pj-results__grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
}

.pj-empty {
	padding: clamp(2rem, 4vw, 3.5rem);
	border: 1px dashed var(--pj-line-dark-strong);
	border-radius: var(--pj-radius-lg);
	text-align: center;
}

.pj-empty h3,
.pj-empty__title {
	margin-bottom: var(--pj-sp-3);
}

.pj-empty p {
	max-width: 48ch;
	margin-inline: auto;
	color: var(--pj-on-dark-muted);
	font-size: var(--pj-fs-sm);
}

.pj-empty .pj-btn-row {
	justify-content: center;
	margin-top: var(--pj-sp-6);
}

/* Tarjeta de plataforma */
.pj-platform-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--pj-sp-4);
	padding: clamp(1.25rem, 2vw, 1.625rem);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-lg);
	background: linear-gradient(180deg, rgba(247, 244, 237, 0.045), rgba(247, 244, 237, 0.01));
	background-color: var(--pj-ink-850);
	transition: border-color 0.3s var(--pj-ease), transform 0.3s var(--pj-ease);
}

.pj-platform-card:hover {
	border-color: rgba(201, 160, 99, 0.4);
	transform: translateY(-3px);
}

.pj-platform-card__head {
	display: flex;
	align-items: center;
	gap: var(--pj-sp-4);
}

.pj-platform-card__logo {
	flex: none;
	width: 54px;
	height: 54px;
	border-radius: 12px;
	border: 1px solid var(--pj-line-dark-strong);
	background: var(--pj-ink-800);
	display: grid;
	place-items: center;
	overflow: hidden;
	font-family: var(--pj-font-serif);
	font-size: 1.35rem;
	color: var(--pj-gold);
}

.pj-platform-card__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
}

.pj-platform-card p.pj-platform-card__title,
.pj-platform-card__title {
	font-size: var(--pj-fs-h4);
	font-weight: 700;
	margin: 0 0 0.2rem;
	line-height: 1.3;
	color: #fff;
}

.pj-platform-card__title a {
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	transition: color 0.2s var(--pj-ease);
}

.pj-platform-card__title a:hover {
	color: var(--pj-gold-light);
}

.pj-platform-card__more {
	margin-top: var(--pj-sp-2);
}

.pj-platform-card__type {
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
}

.pj-platform-card p {
	margin: 0;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pj-platform-card__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--pj-sp-3);
	margin-top: auto;
	padding-top: var(--pj-sp-4);
	border-top: 1px solid var(--pj-line-dark);
}

/* Paginacion */
.pj-pagination {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.pj-pagination .nav-links,
.pj-pagination__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--pj-sp-2);
}

.pj-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.75rem;
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-sm);
	font-size: var(--pj-fs-sm);
	text-decoration: none;
	transition: border-color 0.2s var(--pj-ease), color 0.2s var(--pj-ease), background-color 0.2s var(--pj-ease);
}

.pj-pagination .page-numbers:hover {
	border-color: var(--pj-gold-dark);
	color: var(--pj-gold);
}

.pj-pagination .page-numbers.current {
	background: var(--pj-gold);
	border-color: var(--pj-gold);
	color: #17110a;
	font-weight: 600;
}

.pj-pagination .page-numbers.dots {
	border-color: transparent;
}

.pj-pagination .prev,
.pj-pagination .next {
	gap: var(--pj-sp-2);
	padding: 0 1rem;
}

.pj-pagination__status {
	margin: var(--pj-sp-4) 0 0;
	text-align: center;
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
	letter-spacing: 0.02em;
}

@media (max-width: 40rem) {
	.pj-pagination__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
}

.pj-section--light .pj-pagination .page-numbers {
	border-color: var(--pj-line-light);
}

/* == 16 Ficha de plataforma ================================================ */

.pj-platform-hero {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
}

@media (min-width: 62rem) {
	.pj-platform-hero {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

.pj-platform-hero__id {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2vw, 1.5rem);
}

.pj-platform-hero__logo {
	flex: none;
	width: clamp(64px, 8vw, 84px);
	height: clamp(64px, 8vw, 84px);
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark-strong);
	background: var(--pj-ink-800);
	display: grid;
	place-items: center;
	overflow: hidden;
	font-family: var(--pj-font-serif);
	font-size: 2rem;
	color: var(--pj-gold);
}

.pj-platform-hero__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
}

.pj-platform-hero h1 {
	margin-bottom: var(--pj-sp-4);
}

.pj-platform-hero__badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pj-sp-2) var(--pj-sp-3);
	margin-top: 0.15rem;
}

.pj-platform-hero__badges .pj-meta {
	flex: 1 1 100%;
	margin-top: var(--pj-sp-2);
}

.pj-platform-hero__actions {
	justify-self: start;
}

@media (min-width: 62rem) {
	.pj-platform-hero__actions {
		justify-self: end;
		align-self: center;
		flex-wrap: wrap;
		max-width: 22rem;
	}
}

.pj-datacard {
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-lg);
	background: var(--pj-ink-850);
}

.pj-datacard h2,
.pj-datacard h3 {
	font-family: var(--pj-font-sans);
	font-size: var(--pj-fs-xs);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pj-on-dark-faint);
	margin-bottom: var(--pj-sp-4);
}

.pj-datalist {
	margin: 0;
	display: grid;
	gap: 0;
}

.pj-datalist > div {
	display: grid;
	gap: 0.2rem 1rem;
	padding-block: 0.7rem;
	border-bottom: 1px solid var(--pj-line-dark);
}

@media (min-width: 30rem) {
	.pj-datalist > div {
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
		align-items: baseline;
	}
}

.pj-datalist > div:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.pj-datalist > div:first-child {
	padding-top: 0;
}

.pj-datalist dt {
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
	letter-spacing: 0.02em;
}

.pj-datalist dd {
	margin: 0;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark);
	overflow-wrap: anywhere;
}

.pj-platform-layout {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

@media (min-width: 64rem) {
	.pj-platform-layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 20.5rem);
	}
}

.pj-platform-main {
	display: flex;
	flex-direction: column;
	gap: clamp(2.75rem, 5.5vw, 4rem);
	min-width: 0;
}

.pj-platform-aside {
	display: grid;
	gap: var(--pj-sp-6);
}

@media (min-width: 64rem) {
	.pj-platform-aside {
		position: sticky;
		top: calc(var(--pj-header-h) + 1.5rem);
	}
}

.pj-platform-hero + .pj-lead {
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

.pj-block {
	margin: 0;
	padding: 0 0 clamp(2.25rem, 4vw, 3.25rem);
	border-bottom: 1px solid var(--pj-line-dark);
}

.pj-block:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.pj-block > h2 {
	font-size: clamp(1.375rem, 1.2rem + 0.7vw, 1.75rem);
	margin: 0 0 clamp(1.5rem, 3vw, 2rem);
	padding-top: 0.15em;
	line-height: 1.25;
}

.pj-block > .pj-meta,
.pj-block > .pj-prose,
.pj-block > ul.pj-prose,
.pj-block > .pj-sources,
.pj-block > .pj-btn-row,
.pj-block > .pj-warning-item,
.pj-block > [class*='pj-mt-'] {
	margin-top: 0;
}

.pj-block > .pj-meta {
	margin: 0 0 var(--pj-sp-5);
	max-width: 68ch;
	line-height: 1.55;
}

.pj-block .pj-prose + .pj-mt-6,
.pj-block .pj-meta + .pj-warning-item,
.pj-block .pj-prose + .pj-warning-item,
.pj-block .pj-prose + .pj-btn-row {
	margin-top: var(--pj-sp-6);
}

.pj-block ul.pj-prose {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding-left: 1.25em;
}

.pj-block ul.pj-prose > li + li {
	margin-top: 0;
}

.pj-warning-item {
	display: grid;
	gap: var(--pj-sp-3);
	padding: var(--pj-sp-5);
	border: 1px solid rgba(217, 163, 68, 0.3);
	border-radius: var(--pj-radius);
	background: rgba(217, 163, 68, 0.06);
}

.pj-warning-item + .pj-warning-item {
	margin-top: var(--pj-sp-4);
}

.pj-warning-item__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pj-sp-3);
}

.pj-warning-item strong {
	font-size: var(--pj-fs-body);
}

.pj-warning-item p {
	margin: 0;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
}

.pj-sources {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--pj-sp-3);
}

.pj-sources li {
	display: flex;
	align-items: flex-start;
	gap: var(--pj-sp-3);
	font-size: var(--pj-fs-sm);
}

.pj-sources svg {
	flex: none;
	width: 16px;
	height: 16px;
	margin-top: 0.28em;
	color: var(--pj-gold);
}

.pj-sources a {
	overflow-wrap: anywhere;
}

/* == 17 Blog =============================================================== */

.pj-post-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--pj-sp-4);
	overflow: hidden;
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-lg);
	background: var(--pj-ink-850);
	transition: border-color 0.3s var(--pj-ease), transform 0.3s var(--pj-ease);
}

.pj-post-card:hover {
	border-color: rgba(201, 160, 99, 0.4);
	transform: translateY(-3px);
}

.pj-section--light .pj-post-card {
	background: transparent;
	border-color: var(--pj-line-dark);
	box-shadow: none;
}

.pj-post-card__thumb {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--pj-ink-800);
	display: grid;
	place-items: center;
	color: inherit;
	text-decoration: none;
}

.pj-post-card__thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s var(--pj-ease);
}

.pj-post-card:hover .pj-post-card__thumb img {
	transform: scale(1.03);
}

.pj-post-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--pj-sp-3);
	padding: 0 clamp(1.25rem, 2vw, 1.625rem) clamp(1.25rem, 2vw, 1.625rem);
	flex: 1;
}

.pj-post-card__thumb + .pj-post-card__body {
	padding-top: var(--pj-sp-2);
}

.pj-post-card p.pj-post-card__title,
.pj-post-card__title {
	font-family: var(--pj-font-serif);
	font-size: var(--pj-fs-h4);
	font-weight: 700;
	margin: 0;
	line-height: 1.35;
	color: #fff;
}

.pj-post-card__title a {
	text-decoration: none;
	color: #fff;
	font-weight: 700;
	transition: color 0.2s var(--pj-ease);
}

.pj-post-card__title a:hover {
	color: var(--pj-gold-light);
}

.pj-post-card__more {
	margin-top: var(--pj-sp-2);
}

.pj-post-card p {
	margin: 0;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
}

.pj-section--light .pj-post-card p {
	color: var(--pj-on-dark-muted);
}

.pj-post-card__foot {
	margin-top: auto;
	padding-top: var(--pj-sp-3);
}

.pj-post-card__foot + .pj-card__more,
.pj-post-card__foot + .pj-post-card__more {
	margin-top: var(--pj-sp-4);
}

.pj-post-card--featured {
	display: grid;
	gap: 0;
}

@media (min-width: 56rem) {
	.pj-post-card--featured {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
		align-items: stretch;
	}

	.pj-post-card--featured .pj-post-card__thumb {
		aspect-ratio: auto;
		height: 100%;
		min-height: 22rem;
	}

	.pj-post-card--featured .pj-post-card__body {
		padding: clamp(1.75rem, 3vw, 2.75rem);
		justify-content: center;
	}
}

.pj-post-card--featured h3,
.pj-post-card--featured .pj-post-card__title {
	font-family: var(--pj-font-serif);
	font-size: clamp(1.375rem, 1.1rem + 1.1vw, 2rem);
	font-weight: 700;
}

/* Filtro de categorias */
.pj-taxonomy-nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pj-sp-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pj-taxonomy-nav a {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	padding: 0.55em 1.05em;
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-pill);
	font-size: var(--pj-fs-sm);
	text-decoration: none;
	transition: border-color 0.2s var(--pj-ease), color 0.2s var(--pj-ease), background-color 0.2s var(--pj-ease);
}

.pj-taxonomy-nav a:hover {
	border-color: var(--pj-gold-dark);
	color: var(--pj-gold);
}

.pj-taxonomy-nav a[aria-current='page'] {
	background: var(--pj-gold-soft);
	border-color: var(--pj-gold);
	color: var(--pj-gold-light);
}

.pj-section--light .pj-taxonomy-nav a {
	border-color: var(--pj-line-light);
}

/* Entrada individual */
.pj-article-layout {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

@media (min-width: 64rem) {
	.pj-article-layout {
		grid-template-columns: minmax(0, 19rem) minmax(0, 1fr);
	}

	.pj-article-layout__aside {
		position: sticky;
		top: calc(var(--pj-header-h) + 1.5rem);
		order: -1;
	}
}

.pj-toc {
	padding: var(--pj-sp-5);
	border: 1px solid var(--pj-line-light);
	border-radius: var(--pj-radius);
	background: var(--pj-cream-50);
}

.pj-toc h2,
.pj-toc__title {
	font-family: var(--pj-font-sans);
	font-size: var(--pj-fs-xs);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pj-on-light-muted);
	margin: 0 0 var(--pj-sp-4);
}

.pj-toc ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.55rem;
	counter-reset: pj-toc;
}

.pj-toc a {
	display: flex;
	gap: 0.6rem;
	font-size: var(--pj-fs-sm);
	line-height: 1.45;
	color: var(--pj-on-light-muted);
	text-decoration: none;
	transition: color 0.2s var(--pj-ease);
}

.pj-toc a::before {
	counter-increment: pj-toc;
	content: counter(pj-toc) '.';
	color: var(--pj-gold-dark);
	flex: none;
}

.pj-toc a:hover,
.pj-toc a[aria-current='true'] {
	color: var(--pj-on-light);
}

.pj-article__header {
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.pj-article__header h1 {
	margin-bottom: var(--pj-sp-5);
}

.pj-article__figure {
	margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
	border-radius: var(--pj-radius-lg);
	overflow: hidden;
	border: 1px solid var(--pj-line-light);
}

.pj-author-box {
	display: flex;
	gap: var(--pj-sp-5);
	align-items: flex-start;
	padding: var(--pj-sp-6);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-lg);
	background: rgba(247, 244, 237, 0.03);
	margin-top: clamp(2rem, 4vw, 3rem);
}

.pj-author-box img {
	flex: none;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--pj-gold-soft);
}

.pj-author-box__name,
.pj-author-box h2 {
	font-family: var(--pj-font-sans);
	font-size: var(--pj-fs-h4);
	margin-bottom: 0.25rem;
	color: var(--pj-on-dark);
}

.pj-author-box p {
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
	margin-bottom: 0;
}

.pj-share {
	display: grid;
	gap: var(--pj-sp-3);
	margin-top: var(--pj-sp-6);
	padding-top: var(--pj-sp-5);
	border-top: 1px solid var(--pj-line-dark);
}

.pj-article__header .pj-share {
	margin-top: var(--pj-sp-5);
	padding-top: var(--pj-sp-5);
}

.pj-share__label {
	margin: 0;
	font-size: var(--pj-fs-xs);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pj-on-dark-faint);
}

.pj-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pj-sp-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pj-share__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	padding: 0.55em 0.9em;
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-pill);
	background: rgba(247, 244, 237, 0.03);
	color: var(--pj-on-dark-muted);
	font-size: var(--pj-fs-xs);
	font-weight: 500;
	text-decoration: none;
	cursor: pointer;
	transition: border-color 0.2s var(--pj-ease), color 0.2s var(--pj-ease), background-color 0.2s var(--pj-ease);
}

.pj-share__btn:hover {
	border-color: var(--pj-gold-dark);
	color: var(--pj-gold);
	background: var(--pj-gold-soft);
}

.pj-share__btn svg {
	flex: none;
	width: 14px;
	height: 14px;
}

/* == 18 Landing de consulta ================================================ */

.pj-landing-hero {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

@media (min-width: 64rem) {
	.pj-landing-hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 30rem);
	}
}

.pj-trust-row {
	display: grid;
	gap: var(--pj-sp-4);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
	margin-top: clamp(2rem, 4vw, 2.75rem);
}

.pj-trust-row__item {
	display: flex;
	align-items: flex-start;
	gap: var(--pj-sp-3);
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
}

.pj-trust-row__item svg {
	flex: none;
	width: 20px;
	height: 20px;
	color: var(--pj-gold);
	margin-top: 0.15em;
}

.pj-prepare {
	display: grid;
	gap: var(--pj-sp-4);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
	counter-reset: pj-prep;
}

.pj-prepare__item {
	display: flex;
	gap: var(--pj-sp-4);
	padding: var(--pj-sp-5);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius);
	background: var(--pj-ink-850);
}

.pj-prepare__item::before {
	counter-increment: pj-prep;
	content: counter(pj-prep);
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid rgba(201, 160, 99, 0.35);
	background: var(--pj-gold-soft);
	color: var(--pj-gold);
	display: grid;
	place-items: center;
	font-size: var(--pj-fs-xs);
	font-weight: 600;
}

.pj-prepare__item h3 {
	font-size: var(--pj-fs-h4);
	margin-bottom: 0.35rem;
}

.pj-prepare__item p {
	margin: 0;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
}

/* == 19 Contenido editorial ================================================ */

.pj-prose {
	max-width: 72ch;
	font-size: 1.09375rem;
	line-height: 1.75;
	color: var(--pj-on-dark-muted);
}

.pj-prose h2,
.pj-prose h3,
.pj-prose strong {
	color: var(--pj-on-dark);
}

.pj-prose a {
	color: var(--pj-gold);
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

.pj-prose > * + * {
	margin-top: 1.35em;
}

.pj-prose h2 {
	margin-top: 2.2em;
	margin-bottom: 0.6em;
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
	scroll-margin-top: calc(var(--pj-header-h) + 1.5rem);
}

.pj-prose h3 {
	margin-top: 1.9em;
	margin-bottom: 0.5em;
	font-size: clamp(1.1875rem, 1.1rem + 0.5vw, 1.375rem);
	scroll-margin-top: calc(var(--pj-header-h) + 1.5rem);
}

.pj-prose h2:first-child,
.pj-prose h3:first-child {
	margin-top: 0;
}

.pj-prose ul,
.pj-prose ol {
	padding-left: 1.35em;
}

.pj-prose li + li {
	margin-top: 0.5em;
}



.pj-prose blockquote {
	margin: 2em 0;
	padding: 0.25em 0 0.25em 1.5em;
	border-left: 2px solid var(--pj-gold);
	font-family: var(--pj-font-serif);
	font-size: 1.25rem;
	line-height: 1.5;
	font-style: italic;
}

.pj-prose img,
.pj-prose figure {
	border-radius: var(--pj-radius);
	overflow: hidden;
}

.pj-prose figcaption {
	margin-top: 0.6em;
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
}

.pj-prose .wp-block-table,
.pj-prose .pj-table-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	margin: 2em 0;
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent);
	-webkit-overflow-scrolling: touch;
}

.pj-prose table,
.pj-prose .wp-block-table table {
	width: 100%;
	min-width: 520px;
	border-collapse: collapse;
	font-size: var(--pj-fs-sm);
	display: table;
	overflow: visible;
	margin: 0;
	background: transparent;
}

.pj-prose th,
.pj-prose td {
	padding: 0.85rem 1.1rem;
	border: 0;
	border-bottom: 1px solid var(--pj-line-dark);
	text-align: left;
	vertical-align: top;
	color: var(--pj-on-dark-muted);
}

.pj-prose tr:last-child td {
	border-bottom: 0;
}

.pj-prose th {
	background: rgba(201, 162, 77, 0.1);
	color: var(--pj-on-dark);
	font-weight: 600;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.pj-prose tbody tr:nth-child(even) td {
	background: rgba(255, 255, 255, 0.02);
}

.pj-prose tbody tr:hover td {
	background: rgba(201, 162, 77, 0.06);
	color: var(--pj-on-dark);
}

.pj-prose .has-fixed-layout {
	table-layout: fixed;
}

.pj-prose--dark th,
.pj-prose--dark td {
	border-color: var(--pj-line-dark);
}

.pj-prose--dark th {
	background: rgba(201, 162, 77, 0.1);
}

/* Gallery */
.pj-gallery {
	margin: 2.5rem 0 0;
}

.pj-gallery__title {
	margin: 0 0 1rem;
	font-family: var(--pj-font-serif);
	font-size: 1.35rem;
	color: var(--pj-on-dark);
}

.pj-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
}

@media (min-width: 720px) {
	.pj-gallery__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
	}
}

.pj-gallery__item {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark);
	aspect-ratio: 4 / 3;
	background: var(--pj-ink-800);
	transition: border-color 0.25s var(--pj-ease), transform 0.35s var(--pj-ease);
}

.pj-gallery__item:hover {
	border-color: rgba(201, 162, 77, 0.45);
	transform: translateY(-2px);
}

.pj-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s var(--pj-ease);
}

.pj-gallery__item:hover img {
	transform: scale(1.04);
}

/* Inline CTA in articles */
.pj-inline-cta {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.15rem;
	align-items: start;
	margin: 2.25rem 0;
	padding: 1.35rem 1.4rem;
	border-radius: var(--pj-radius);
	border: 1px solid rgba(201, 162, 77, 0.35);
	background:
		radial-gradient(ellipse at top right, rgba(201, 162, 77, 0.14), transparent 55%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.2));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.pj-inline-cta__icon {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	border: 1px solid rgba(201, 162, 77, 0.4);
	background: rgba(201, 162, 77, 0.12);
	position: relative;
	flex-shrink: 0;
}

.pj-inline-cta__icon::before {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0.85rem;
	height: 0.85rem;
	border: 2px solid var(--pj-gold);
	border-radius: 999px 999px 999px 0.15rem;
	transform: rotate(-35deg);
}

.pj-inline-cta__title {
	margin: 0 0 0.35rem;
	font-family: var(--pj-font-serif);
	font-size: 1.2rem;
	line-height: 1.3;
	color: var(--pj-on-dark);
}

.pj-inline-cta__text {
	margin: 0 0 1rem;
	font-size: 0.975rem;
	line-height: 1.55;
	color: var(--pj-on-dark-muted);
}

.pj-inline-cta .pj-btn {
	text-decoration: none;
}

.pj-prose .pj-inline-cta {
	max-width: none;
}

.pj-prose .pj-inline-cta + * {
	margin-top: 2em;
}

@media (max-width: 560px) {
	.pj-inline-cta {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}
}

/* Related hub / SEO links */
.pj-related-hub {
	margin-top: var(--pj-sp-10);
	padding: 1.5rem 0 0;
	border-top: 1px solid var(--pj-line-dark);
}

.pj-related-hub__title {
	margin: 0 0 1rem;
	font-family: var(--pj-font-serif);
	font-size: 1.35rem;
	color: var(--pj-on-dark);
}

.pj-related-hub__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}

@media (min-width: 720px) {
	.pj-related-hub__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.pj-related-hub__list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	padding: 0.9rem 1rem;
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark);
	background: rgba(255, 255, 255, 0.02);
	color: var(--pj-on-dark);
	text-decoration: none;
	transition: border-color 0.25s var(--pj-ease), background 0.25s var(--pj-ease), color 0.25s var(--pj-ease);
}

.pj-related-hub__list a:hover {
	border-color: rgba(201, 162, 77, 0.45);
	background: rgba(201, 162, 77, 0.08);
	color: var(--pj-gold);
}

.pj-related-hub__label {
	min-width: 0;
	flex: 1;
	text-align: left;
}

.pj-related-hub__arrow {
	flex: none;
	display: inline-flex;
	color: var(--pj-gold);
	opacity: 0.75;
	transition: transform 0.25s var(--pj-ease), opacity 0.25s var(--pj-ease);
}

.pj-related-hub__list a:hover .pj-related-hub__arrow {
	opacity: 1;
	transform: translateX(3px);
}

/* Legal cross-nav */
.pj-legal-nav {
	margin: 0 0 1.75rem;
}

.pj-legal-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.pj-legal-nav a {
	display: inline-flex;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	border: 1px solid var(--pj-line-dark);
	font-size: var(--pj-fs-xs);
	letter-spacing: 0.03em;
	text-decoration: none;
	color: var(--pj-on-dark-muted);
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.pj-legal-nav a:hover,
.pj-legal-nav a.is-current {
	color: var(--pj-gold);
	border-color: rgba(201, 162, 77, 0.5);
	background: rgba(201, 162, 77, 0.08);
}

.pj-article-faq {
	max-width: 72ch;
}

.pj-article-faq > h2 {
	margin: 0 0 1.25rem;
	font-family: var(--pj-font-serif);
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
	color: var(--pj-on-dark);
}

/* Lightbox */
.pj-lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: grid;
	place-items: center;
	padding: 2rem;
	background: rgba(6, 10, 16, 0.92);
	backdrop-filter: blur(6px);
}

.pj-lightbox[hidden] {
	display: none !important;
}

.pj-lightbox__img {
	max-width: min(1100px, 92vw);
	max-height: 84vh;
	border-radius: var(--pj-radius);
	border: 1px solid rgba(201, 162, 77, 0.25);
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
	object-fit: contain;
}

.pj-lightbox__close,
.pj-lightbox__nav {
	position: absolute;
	border: 1px solid rgba(201, 162, 77, 0.35);
	background: rgba(12, 18, 28, 0.85);
	color: var(--pj-on-dark);
	cursor: pointer;
	line-height: 1;
}

.pj-lightbox__close {
	top: 1.25rem;
	right: 1.25rem;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	font-size: 1.5rem;
}

.pj-lightbox__nav {
	top: 50%;
	transform: translateY(-50%);
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	font-size: 1.75rem;
}

.pj-lightbox__nav--prev {
	left: 1rem;
}

.pj-lightbox__nav--next {
	right: 1rem;
}

.pj-prose--dark {
	color: var(--pj-on-dark-muted);
}

.pj-prose--dark a {
	color: var(--pj-gold);
}

.pj-prose--dark h2,
.pj-prose--dark h3,
.pj-prose--dark strong {
	color: var(--pj-on-dark);
}

/* == 20 Utilidades ========================================================= */

.pj-screen-reader-text,
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.pj-center {
	text-align: center;
}

.pj-center .pj-lead {
	margin-inline: auto;
}

.pj-center .pj-btn-row {
	justify-content: center;
}

.pj-center .pj-btn-row .pj-btn {
	width: auto;
	flex: none;
}

@media (max-width: 47.99rem) {
	.pj-center .pj-btn-row {
		align-items: stretch;
	}

	.pj-center .pj-btn-row .pj-btn {
		width: 100%;
	}
}

.pj-mt-6 {
	margin-top: var(--pj-sp-6);
}

.pj-mt-8 {
	margin-top: var(--pj-sp-8);
}

.pj-mt-10 {
	margin-top: var(--pj-sp-10);
}

.pj-mb-0 {
	margin-bottom: 0;
}

.pj-max-narrow {
	max-width: 60ch;
}

.pj-divider {
	height: 1px;
	border: 0;
	margin: 0;
	background: linear-gradient(90deg, transparent, var(--pj-line-dark-strong) 20%, var(--pj-line-dark-strong) 80%, transparent);
}

[hidden] {
	display: none !important;
}

/* == 21 Movimiento ========================================================= */

@media (prefers-reduced-motion: no-preference) {
	/* Only hide after JS marks the element as ready to observe.
	   Prevents blank sections when the observer is slow or blocked. */
	.pj-reveal.pj-reveal--ready:not([data-visible='true']) {
		opacity: 0;
		transform: translateY(14px);
	}

	.pj-reveal {
		transition: opacity 0.6s var(--pj-ease), transform 0.6s var(--pj-ease);
	}

	.pj-reveal[data-visible='true'] {
		opacity: 1;
		transform: none;
	}
}

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

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* == 22 Lectura larga ====================================================== */

.pj-toc {
	padding: var(--pj-sp-6);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-lg);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0) 70%), var(--pj-ink-850);
}

.pj-toc h2,
.pj-toc__title {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--pj-gold);
}

.pj-toc h2::after,
.pj-toc__title::after {
	content: '';
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, var(--pj-line-dark-strong), transparent);
}

.pj-toc a {
	color: var(--pj-on-dark-muted);
	padding: 0.2rem 0;
}

.pj-toc a::before {
	content: counter(pj-toc, decimal-leading-zero);
	font-variant-numeric: tabular-nums;
	font-size: var(--pj-fs-xs);
	padding-top: 0.15em;
	color: var(--pj-gold-dark);
}

.pj-toc a:hover,
.pj-toc a[aria-current='true'] {
	color: var(--pj-on-dark);
}

.pj-toc a[aria-current='true']::before {
	color: var(--pj-gold-light);
}

.pj-longread {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
}

.pj-longread__body {
	max-width: 74ch;
	min-width: 0;
}

.pj-longread__sticky {
	display: grid;
	gap: var(--pj-sp-5);
}

@media (min-width: 64rem) {
	.pj-longread--aside {
		grid-template-columns: minmax(0, 1fr) minmax(0, 20rem);
		align-items: start;
	}

	.pj-longread__aside {
		order: 2;
		align-self: stretch;
	}

	.pj-longread__sticky {
		position: sticky;
		top: calc(var(--pj-header-h) + 1.5rem);
	}
}

@media (max-width: 63.99rem) {
	.pj-longread__aside .pj-aside-card {
		display: none;
	}
}

.pj-aside-card {
	position: relative;
	padding: var(--pj-sp-6);
	border: 1px solid rgba(201, 160, 99, 0.28);
	border-radius: var(--pj-radius-lg);
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(201, 160, 99, 0.16), transparent 60%),
		var(--pj-ink-800);
	overflow: hidden;
}

.pj-aside-card .pj-icon {
	display: inline-grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	border: 1px solid rgba(201, 160, 99, 0.35);
	color: var(--pj-gold);
	margin-bottom: var(--pj-sp-4);
}

.pj-aside-card__title {
	font-family: var(--pj-font-serif);
	font-size: 1.3rem;
	line-height: 1.25;
	color: var(--pj-on-dark);
	margin: 0 0 var(--pj-sp-2);
}

.pj-aside-card__text {
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
	margin: 0 0 var(--pj-sp-5);
}

.pj-aside-card__points {
	list-style: none;
	margin: var(--pj-sp-5) 0 0;
	padding: var(--pj-sp-4) 0 0;
	border-top: 1px solid var(--pj-line-dark);
	display: grid;
	gap: 0.45rem;
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-muted);
}

.pj-aside-card__points li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.pj-aside-card__points svg {
	color: var(--pj-gold);
	flex: none;
}

/* Prosa editorial: jerarquia y ritmo de revista */
.pj-longread__body > p:first-child,
.pj-longread__body > h2:first-child + p {
	font-size: var(--pj-fs-lead);
	line-height: 1.65;
	color: var(--pj-on-dark);
}

.pj-prose h2 {
	position: relative;
	padding-top: 1.1em;
}

.pj-prose h2::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2.5rem;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--pj-gold), rgba(201, 160, 99, 0));
}

.pj-prose ul:not([class]) {
	list-style: none;
	padding-left: 0;
}

.pj-prose ul:not([class]) > li {
	position: relative;
	padding-left: 1.6em;
}

.pj-prose ul:not([class]) > li::before {
	content: '';
	position: absolute;
	left: 0.2em;
	top: 0.72em;
	width: 0.45em;
	height: 0.45em;
	border: 1.5px solid var(--pj-gold);
	transform: rotate(45deg);
}

.pj-prose ol:not([class]) {
	list-style: none;
	padding-left: 0;
	counter-reset: pj-ol;
}

.pj-prose ol:not([class]) > li {
	position: relative;
	padding-left: 2.4em;
	counter-increment: pj-ol;
}

.pj-prose ol:not([class]) > li::before {
	content: counter(pj-ol, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0.1em;
	font-family: var(--pj-font-serif);
	font-size: 0.95em;
	color: var(--pj-gold);
}

.pj-prose .pj-note {
	padding: var(--pj-sp-5) var(--pj-sp-6);
	border: 1px solid var(--pj-line-dark-strong);
	border-left: 3px solid var(--pj-gold);
	border-radius: var(--pj-radius);
	background: rgba(201, 160, 99, 0.06);
	color: var(--pj-on-dark);
	font-size: var(--pj-fs-sm);
}

.pj-prose .pj-note strong {
	color: var(--pj-gold-light);
}

.pj-prose .pj-keypoints {
	display: grid;
	gap: var(--pj-sp-4);
	padding: 0;
	list-style: none;
}

@media (min-width: 40rem) {
	.pj-prose .pj-keypoints {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.pj-prose .pj-keypoints li {
	margin: 0;
	padding: var(--pj-sp-5);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius);
	background: var(--pj-ink-850);
	font-size: var(--pj-fs-sm);
}

.pj-prose .pj-keypoints li strong {
	display: block;
	margin-bottom: 0.35rem;
	font-family: var(--pj-font-serif);
	font-size: 1.1rem;
	font-weight: 500;
}

.pj-section--longread .pj-section-head {
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

/* == 23 Acabado de diseno ================================================= */

/* Rejillas con columnas explicitas: sin huerfanos en escritorio */
.pj-grid--3,
.pj-grid--4 {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 40rem) {
	.pj-grid--3,
	.pj-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.pj-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pj-grid--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.pj-grid--4:has(> :nth-child(6):last-child),
	.pj-grid--4:has(> :nth-child(3):last-child) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pj-grid--3:has(> :nth-child(4):last-child),
	.pj-results__grid:has(> :nth-child(4):last-child) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.pj-grid--3:has(> :nth-child(2):last-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Cabeceras partidas: titulo arriba, sin hueco vacio */
.pj-section-head--split {
	align-items: start;
}

@media (min-width: 62rem) {
	.pj-section-head--split > :last-child {
		padding-top: 2.1rem;
	}
}

.pj-editorial__body p + p {
	margin-top: 1em;
}

.pj-editorial__body p {
	margin-bottom: 0;
}

/* Ritmo de secciones: alternancia de superficies y filete dorado */
.home .pj-main > .pj-section:nth-of-type(even):not(.pj-cta-band) {
	background: var(--pj-ink-850);
}

.home .pj-main > .pj-section:nth-of-type(odd):not(.pj-cta-band) {
	background: var(--pj-ink-900);
}

.pj-section {
	border-top-color: transparent;
}

.pj-section + .pj-section:not(.pj-cta-band, .pj-hero)::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: min(var(--pj-container), 100% - var(--pj-gutter) * 2);
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, var(--pj-line-dark-strong) 18%, rgba(201, 160, 99, 0.35) 50%, var(--pj-line-dark-strong) 82%, transparent);
	pointer-events: none;
}

/* Tipografia: dorado con relieve */
.pj-highlight {
	background: linear-gradient(100deg, var(--pj-gold-dark) 0%, var(--pj-gold-light) 45%, var(--pj-gold) 70%, var(--pj-gold-dark) 100%);
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: var(--pj-gold);
}

.pj-eyebrow {
	color: var(--pj-gold);
}

/* Hero de portada */
.pj-hero--home {
	padding-block: clamp(3.5rem, 7vw, 6.5rem) clamp(3.5rem, 6vw, 5.5rem);
}

.pj-hero--home::before {
	background:
		radial-gradient(60% 70% at 85% 10%, rgba(201, 160, 99, 0.16), transparent 60%),
		radial-gradient(50% 60% at 8% 95%, rgba(45, 68, 96, 0.55), transparent 65%),
		linear-gradient(180deg, var(--pj-ink-850), var(--pj-ink-900));
}

.pj-hero__points {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--pj-sp-3);
	max-width: 32rem;
}

.pj-hero__points li {
	align-items: center;
	padding: 0.6rem 0.85rem;
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius-sm);
	background: rgba(247, 244, 237, 0.02);
	color: var(--pj-on-dark);
	font-size: var(--pj-fs-xs);
	transition: border-color 0.3s var(--pj-ease), background-color 0.3s var(--pj-ease);
}

.pj-hero__points li:hover {
	border-color: rgba(201, 160, 99, 0.35);
	background: rgba(201, 160, 99, 0.05);
}

.pj-hero__points .pj-icon {
	width: 1.9rem;
	height: 1.9rem;
	flex: none;
}

.pj-hero__visual {
	box-shadow: 0 50px 90px -50px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(201, 160, 99, 0.12);
}

.pj-hero__visual img {
	filter: saturate(0.72) contrast(1.06) brightness(0.92);
}

.pj-hero__visual::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(140deg, rgba(201, 160, 99, 0.22), transparent 45%, rgba(10, 14, 20, 0.35));
	mix-blend-mode: soft-light;
	pointer-events: none;
}

.pj-hero__visual > :not(img) {
	z-index: 2;
}

.pj-mb-6 {
	margin-bottom: var(--pj-sp-6);
}

.pj-mb-8 {
	margin-bottom: var(--pj-sp-8);
}

.pj-mb-10 {
	margin-bottom: var(--pj-sp-10);
}

.pj-consulta-form {
	scroll-margin-top: calc(var(--pj-header-h) + 1rem);
}

.pj-prose a.pj-btn {
	color: var(--pj-btn-fg);
	text-decoration: none;
}

/* Cabecera interior */
.pj-hero--page .pj-hero__inner {
	align-items: center;
}

.pj-hero--page .pj-hero__visual {
	aspect-ratio: 16 / 11;
	min-height: 0;
}

.pj-hero--page .pj-lead {
	max-width: 52ch;
}

/* Proceso numerado */
.pj-process {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pj-process__item::marker {
	content: none;
}

@media (min-width: 48rem) {
	.pj-process {
		grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
		gap: clamp(1rem, 2vw, 1.5rem);
	}

	.pj-process__item,
	.pj-process__item:first-child {
		border-left: 0;
		padding: 0;
	}

	.pj-process__meta::after {
		content: '';
		flex: 1;
		height: 1px;
		margin-right: calc(-1 * clamp(1rem, 2vw, 1.5rem));
		background: linear-gradient(90deg, rgba(201, 160, 99, 0.5), var(--pj-line-dark) 55%, transparent);
	}

	.pj-process__item:last-child .pj-process__meta::after {
		display: none;
	}
}

.pj-process__meta {
	justify-content: flex-start;
	gap: var(--pj-sp-3);
	margin-bottom: var(--pj-sp-4);
}

.pj-process__num {
	display: block;
	margin-bottom: var(--pj-sp-2);
	font-size: var(--pj-fs-xs);
	font-family: var(--pj-font-sans);
	font-weight: 600;
	letter-spacing: 0.16em;
	color: var(--pj-on-dark-faint);
}

.pj-process__num::before {
	content: 'PASO ';
}

.pj-process__icon {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	position: relative;
	z-index: 1;
	background: var(--pj-ink-850);
	box-shadow: 0 0 0 6px var(--pj-ink-900);
}

.pj-process__item h3 {
	font-family: var(--pj-font-serif);
	font-weight: 500;
	font-size: 1.3rem;
	margin-bottom: var(--pj-sp-3);
}

.pj-platform-card__foot {
	flex-direction: column;
	align-items: flex-start;
	gap: var(--pj-sp-2);
}

.pj-post-card__body > .pj-badge {
	align-self: flex-start;
}

/* Tarjetas: foco de luz que sigue al cursor */
.pj-card,
.pj-platform-card,
.pj-post-card,
.pj-case {
	--pj-mx: 50%;
	--pj-my: 0%;
}

.pj-card::after,
.pj-platform-card::after,
.pj-case::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: radial-gradient(420px circle at var(--pj-mx) var(--pj-my), rgba(201, 160, 99, 0.1), transparent 45%);
	opacity: 0;
	transition: opacity 0.35s var(--pj-ease);
	pointer-events: none;
	z-index: 0;
}

.pj-platform-card,
.pj-case {
	position: relative;
	transition: border-color 0.3s var(--pj-ease), transform 0.3s var(--pj-ease), box-shadow 0.3s var(--pj-ease);
}

@media (hover: hover) {
	.pj-card:hover::after,
	.pj-platform-card:hover::after,
	.pj-case:hover::after {
		opacity: 1;
	}

	.pj-platform-card:hover,
	.pj-case:hover,
	.pj-card:hover {
		border-color: rgba(201, 160, 99, 0.4);
		transform: translateY(-3px);
		box-shadow: 0 24px 44px -30px rgba(0, 0, 0, 0.9);
	}

	.pj-post-card:hover .pj-post-card__thumb img {
		transform: scale(1.04);
	}
}

.pj-post-card__thumb img {
	transition: transform 0.7s var(--pj-ease);
}

.pj-card .pj-icon,
.pj-platform-card__logo {
	transition: transform 0.35s var(--pj-ease), border-color 0.35s var(--pj-ease), box-shadow 0.35s var(--pj-ease);
}

.pj-card:hover .pj-icon {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px -12px rgba(201, 160, 99, 0.6);
}

/* Botones: destello sutil */
.pj-btn--primary {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.pj-btn--primary::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.45) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform 0.7s var(--pj-ease);
}

.pj-btn--primary:hover::after {
	transform: translateX(120%);
}

.pj-btn:active {
	transform: translateY(1px);
}

.pj-btn__arrow svg {
	transition: transform 0.25s var(--pj-ease);
}

.pj-btn:hover .pj-btn__arrow svg {
	transform: translateX(3px);
}

/* Cabecera: subrayado animado en navegacion */
.pj-nav__list > li > a {
	position: relative;
}

.pj-nav__list > li > a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.35rem;
	height: 1px;
	background: var(--pj-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s var(--pj-ease);
}

.pj-nav__list > li > a:hover::after {
	transform: scaleX(1);
}

/* Barra de progreso de lectura (CSS puro, sin JS) */
@supports (animation-timeline: scroll()) {
	.single-post .pj-header::after,
	.pj-has-template .pj-header::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: -1px;
		height: 2px;
		width: 100%;
		background: linear-gradient(90deg, var(--pj-gold-dark), var(--pj-gold-light));
		transform-origin: left;
		transform: scaleX(0);
		animation: pj-progress linear both;
		animation-timeline: scroll(root);
	}
}

@keyframes pj-progress {
	to {
		transform: scaleX(1);
	}
}

/* Movimiento: entrada del hero y aparicion escalonada */
@media (prefers-reduced-motion: no-preference) {
	.pj-hero__content > :not(h1, .pj-lead) {
		animation: pj-rise 0.9s var(--pj-ease) both;
	}

	.pj-hero__content > :nth-child(1) { animation-delay: 0.05s; }
	.pj-hero__content > :nth-child(3) { animation-delay: 0.18s; }
	.pj-hero__content > :nth-child(4) { animation-delay: 0.26s; }
	.pj-hero__content > :nth-child(5) { animation-delay: 0.34s; }
	.pj-hero__content > :nth-child(6) { animation-delay: 0.42s; }

	.pj-hero h1 .pj-highlight {
		animation: pj-sheen 6s ease-in-out 1.2s infinite;
	}

	.pj-hero__card,
	.pj-hero__stat {
		animation: pj-float 7s ease-in-out infinite;
	}

	.pj-hero__card:nth-child(2) {
		animation-delay: -3.5s;
	}

	.pj-reveal.pj-reveal--ready :is(.pj-grid, .pj-results__grid, .pj-process, .pj-team) > * {
		transition: opacity 0.6s var(--pj-ease), transform 0.6s var(--pj-ease);
	}

	.pj-reveal.pj-reveal--ready:not([data-visible='true']) :is(.pj-grid, .pj-results__grid, .pj-process, .pj-team) > * {
		opacity: 0;
		transform: translateY(18px);
	}

	.pj-reveal.pj-reveal--ready:not([data-visible='true']):has(.pj-grid, .pj-results__grid, .pj-process, .pj-team) {
		opacity: 1;
		transform: none;
	}

	:is(.pj-grid, .pj-results__grid, .pj-process, .pj-team) > :nth-child(2) { transition-delay: 0.07s; }
	:is(.pj-grid, .pj-results__grid, .pj-process, .pj-team) > :nth-child(3) { transition-delay: 0.14s; }
	:is(.pj-grid, .pj-results__grid, .pj-process, .pj-team) > :nth-child(4) { transition-delay: 0.21s; }
	:is(.pj-grid, .pj-results__grid, .pj-process, .pj-team) > :nth-child(5) { transition-delay: 0.28s; }
	:is(.pj-grid, .pj-results__grid, .pj-process, .pj-team) > :nth-child(6) { transition-delay: 0.35s; }

	.pj-section-ornament {
		transform-origin: left;
		animation: pj-draw 1s var(--pj-ease) both;
		animation-timeline: view();
		animation-range: entry 10% cover 30%;
	}
}

@keyframes pj-rise {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
}

@keyframes pj-sheen {
	0%, 100% { background-position: 0% 0; }
	50% { background-position: 100% 0; }
}

@keyframes pj-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-6px); }
}

@keyframes pj-draw {
	from { transform: scaleX(0); }
}

/* Movil */
@media (max-width: 47.99rem) {
	.pj-hero--home {
		overflow: visible;
	}

	.pj-hero--home .pj-hero__visual {
		aspect-ratio: auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 1.25rem 0.75rem 0.75rem;
		width: 100%;
		margin-inline: auto;
	}

	.pj-hero--home .pj-hero__stat {
		display: none;
	}

	.pj-hero--home .pj-hero__cards {
		position: relative;
		inset: auto;
		width: 100%;
		max-width: 22rem;
		margin-inline: auto;
	}

	.pj-strip__inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.pj-strip__label {
		width: 100%;
		text-align: center;
	}

	.pj-strip__items {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		scrollbar-width: none;
		width: 100%;
		margin-inline: 0;
		padding-inline: 0;
		mask-image: none;
		-webkit-mask-image: none;
	}

	.pj-strip__items::-webkit-scrollbar {
		display: none;
	}

	.pj-strip__items > li {
		flex: none;
	}

	/* Botones a ancho completo del contenido */
	.pj-btn {
		width: 100%;
		box-sizing: border-box;
	}

	.pj-btn-row {
		flex-direction: column;
		align-items: stretch;
	}

	.pj-cta-band__actions {
		justify-items: stretch;
		width: 100%;
	}

	.pj-filters__search {
		flex-direction: column;
		align-items: stretch;
	}

	.pj-filters__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.pj-inline-cta .pj-btn {
		width: 100%;
	}

	.pj-cookies__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.pj-cookies__actions .pj-btn {
		width: 100%;
		flex: none;
	}

	.pj-mobile-nav__actions .pj-btn {
		width: 100%;
	}
}

@media (max-width: 39.99rem) {
	.pj-hero__points {
		grid-template-columns: minmax(0, 1fr);
	}

	.pj-process__item::after {
		display: none;
	}
}

/* Barra de administracion */
@media screen and (min-width: 601px) {
	.admin-bar .pj-header {
		top: 32px;
	}

	.admin-bar .pj-mobile-nav {
		top: 32px;
	}
}

@media screen and (max-width: 600px) {
	.admin-bar .pj-header {
		top: 0;
	}
}

/* ==========================================================================
   Expediente ilustrado (hero de portada)
   ========================================================================== */
.pj-hero .pj-hero__visual--dossier {
	aspect-ratio: auto;
	min-height: clamp(26rem, 42vw, 34rem);
	overflow: visible;
	border: 0;
	background: none;
	box-shadow: none;
	display: grid;
	place-items: center;
}

.pj-hero__visual--dossier::before,
.pj-hero__visual--dossier::after {
	content: none;
}

.pj-dossier {
	position: relative;
	width: min(100%, 30rem);
	aspect-ratio: 1 / 1;
	display: grid;
	place-items: center;
	isolation: isolate;
}

.pj-dossier::before {
	content: '';
	position: absolute;
	inset: 8%;
	z-index: -1;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(201, 160, 99, 0.22), rgba(201, 160, 99, 0.05) 60%, transparent);
	filter: blur(10px);
}

.pj-dossier__orbit {
	position: absolute;
	inset: 2%;
	border-radius: 50%;
	border: 1px dashed rgba(201, 160, 99, 0.22);
	z-index: -1;
}

.pj-dossier__orbit--inner {
	inset: 16%;
	border-style: solid;
	border-color: rgba(247, 244, 237, 0.06);
}

.pj-dossier__orbit::after {
	content: '';
	position: absolute;
	top: -4px;
	left: 50%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pj-gold);
	box-shadow: 0 0 14px 2px rgba(201, 160, 99, 0.7);
}

.pj-dossier__orbit--inner::after {
	top: auto;
	bottom: -3px;
	left: 30%;
	width: 5px;
	height: 5px;
	background: var(--pj-on-dark-muted);
	box-shadow: none;
}

.pj-dossier__sheet {
	position: relative;
	width: min(84%, 21.5rem);
	padding: 1.4rem 1.4rem 1.2rem;
	border-radius: var(--pj-radius-lg);
	border: 1px solid var(--pj-line-dark-strong);
	background:
		linear-gradient(180deg, rgba(201, 160, 99, 0.08), transparent 38%),
		linear-gradient(160deg, rgba(32, 43, 58, 0.96), rgba(13, 19, 27, 0.98));
	box-shadow: 0 40px 70px -30px rgba(0, 0, 0, 0.9), inset 0 1px 0 rgba(247, 244, 237, 0.08);
	grid-area: 1 / 1;
}

.pj-dossier__sheet::before {
	content: '';
	position: absolute;
	inset: 0 1.4rem auto;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, transparent, var(--pj-gold), transparent);
}

.pj-dossier__sheet--back {
	min-height: 18rem;
	transform: rotate(-7deg) translate(-6%, 4%);
	opacity: 0.55;
	box-shadow: none;
}

.pj-dossier__sheet--back::before {
	content: none;
}

.pj-dossier__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.pj-dossier__tag {
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pj-gold);
	padding: 0.3rem 0.6rem;
	border: 1px solid rgba(201, 160, 99, 0.35);
	border-radius: var(--pj-radius-pill);
}

.pj-dossier__dots {
	display: flex;
	gap: 4px;
}

.pj-dossier__dots i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pj-line-dark-strong);
}

.pj-dossier__title {
	margin: 0;
	font-family: var(--pj-font-serif);
	font-size: 1.3rem;
	line-height: 1.2;
	color: var(--pj-on-dark);
}

.pj-dossier__meta {
	margin: 0.3rem 0 1.1rem;
	font-size: 0.72rem;
	color: var(--pj-on-dark-faint);
	letter-spacing: 0.02em;
}

.pj-dossier__rows {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pj-dossier__rows li {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.6rem 0.7rem;
	border-radius: 10px;
	border: 1px solid var(--pj-line-dark);
	background: rgba(10, 14, 20, 0.5);
	font-size: 0.8rem;
	color: var(--pj-on-dark-muted);
}

.pj-dossier__ico {
	display: grid;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	flex: none;
	border-radius: 8px;
	background: var(--pj-gold-soft);
	color: var(--pj-gold-light);
}

.pj-dossier__label {
	flex: 1;
	min-width: 0;
}

.pj-dossier__check {
	display: grid;
	place-items: center;
	width: 1.3rem;
	height: 1.3rem;
	flex: none;
	border-radius: 50%;
	background: var(--pj-gold);
	color: var(--pj-ink-900);
	box-shadow: 0 0 0 4px rgba(201, 160, 99, 0.14);
}

.pj-dossier__check svg {
	stroke-width: 2.5;
}

.pj-dossier__progress {
	height: 4px;
	margin-top: 1.1rem;
	border-radius: 4px;
	background: var(--pj-line-dark);
	overflow: hidden;
}

.pj-dossier__progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--pj-gold-dark), var(--pj-gold-light));
	transform-origin: left;
}

.pj-dossier__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.85rem;
	font-size: 0.74rem;
	font-weight: 500;
	color: var(--pj-on-dark);
}

.pj-dossier__arrow {
	display: grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	border: 1px solid var(--pj-line-dark-strong);
	color: var(--pj-gold);
}

.pj-dossier__seal {
	position: absolute;
	top: 3%;
	right: 2%;
	width: clamp(5.5rem, 22%, 7rem);
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(13, 19, 27, 0.95) 55%, rgba(13, 19, 27, 0.6));
	border: 1px solid rgba(201, 160, 99, 0.35);
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.9);
}

.pj-dossier__seal-ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	fill: var(--pj-gold);
	font-size: 9.5px;
	font-weight: 600;
	letter-spacing: 0.24em;
}

.pj-dossier__seal-core {
	display: grid;
	place-items: center;
	width: 42%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: linear-gradient(145deg, var(--pj-gold-light), var(--pj-gold-dark));
	color: var(--pj-ink-900);
}

.pj-dossier__chip {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 0.85rem;
	border-radius: var(--pj-radius-pill);
	border: 1px solid var(--pj-line-dark-strong);
	background: rgba(13, 19, 27, 0.88);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: var(--pj-shadow);
	font-size: 0.72rem;
	font-weight: 500;
	color: var(--pj-on-dark);
	white-space: nowrap;
}

.pj-dossier__chip svg {
	color: var(--pj-gold);
}

.pj-dossier__chip--a {
	left: 0;
	top: 7%;
}

.pj-dossier__chip--b {
	right: 0;
	bottom: 9%;
}

.pj-dossier__chip-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #5fc08a;
	box-shadow: 0 0 0 3px rgba(95, 192, 138, 0.18);
}

@media (prefers-reduced-motion: no-preference) {
	.pj-dossier__orbit {
		animation: pj-spin 60s linear infinite;
	}

	.pj-dossier__orbit--inner {
		animation-duration: 38s;
		animation-direction: reverse;
	}

	.pj-dossier__seal-ring {
		animation: pj-spin 26s linear infinite;
	}

	.pj-dossier__sheet:not(.pj-dossier__sheet--back) {
		animation: pj-rise 0.9s var(--pj-ease) 0.15s both;
	}

	.pj-dossier__rows li {
		animation: pj-rise 0.6s var(--pj-ease) both;
		animation-delay: calc(0.45s + var(--i) * 0.12s);
	}

	.pj-dossier__check {
		animation: pj-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;
		animation-delay: calc(1.1s + var(--i) * 0.45s);
	}

	.pj-dossier__progress span {
		animation: pj-fill 1.9s var(--pj-ease) 1s both;
	}

	.pj-dossier__chip {
		animation: pj-float 7s ease-in-out infinite;
	}

	.pj-dossier__chip--b {
		animation-delay: -3.5s;
	}

	.pj-dossier__chip-dot {
		animation: pj-pulse 2.4s ease-out infinite;
	}
}

@keyframes pj-spin {
	to { transform: rotate(360deg); }
}

@keyframes pj-pop {
	from {
		transform: scale(0);
		opacity: 0;
	}
}

@keyframes pj-fill {
	from { transform: scaleX(0); }
}

@keyframes pj-pulse {
	0% { box-shadow: 0 0 0 0 rgba(95, 192, 138, 0.45); }
	100% { box-shadow: 0 0 0 9px rgba(95, 192, 138, 0); }
}

@media (max-width: 47.99rem) {
	.pj-hero--home .pj-hero__visual--dossier {
		padding: 1.5rem 0.5rem 0.75rem;
		min-height: 0;
		width: 100%;
		display: grid;
		place-items: center;
		justify-items: center;
		overflow: visible;
	}

	.pj-hero--home .pj-dossier {
		width: min(100%, 18.5rem);
		margin-inline: auto;
		justify-self: center;
	}

	.pj-dossier__chip {
		font-size: 0.65rem;
		padding: 0.35rem 0.55rem;
		max-width: 42%;
		white-space: normal;
		line-height: 1.25;
	}

	.pj-dossier__chip--a {
		left: 2%;
		top: 6%;
	}

	.pj-dossier__chip--b {
		right: 2%;
		bottom: 8%;
	}

	.pj-dossier__seal {
		top: 5%;
		right: 3%;
		width: 4rem;
	}
}

/* ==========================================================================
   Fuentes oficiales
   ========================================================================== */
.pj-regulators {
	overflow: clip;
}

.pj-regulators .pj-lead {
	max-width: 48rem;
	margin-inline: auto;
}

.pj-regulators__marquee {
	display: flex;
	gap: 1rem;
	overflow: clip;
	margin-block: clamp(2rem, 4vw, 3rem);
	mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

.pj-regulators__track {
	display: flex;
	flex: none;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pj-regulators__item {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.75rem 1.15rem 0.75rem 0.75rem;
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark);
	background: linear-gradient(160deg, rgba(32, 43, 58, 0.55), rgba(13, 19, 27, 0.6));
	white-space: nowrap;
	transition: border-color 0.3s var(--pj-ease);
}

.pj-regulators__item:hover {
	border-color: rgba(201, 160, 99, 0.4);
}

.pj-regulators__abbr {
	display: grid;
	place-items: center;
	min-width: 3.6rem;
	height: 2.6rem;
	padding-inline: 0.6rem;
	border-radius: 10px;
	background: var(--pj-gold-soft);
	border: 1px solid rgba(201, 160, 99, 0.28);
	font-family: var(--pj-font-serif);
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--pj-gold-light);
	letter-spacing: 0.02em;
}

.pj-regulators__text {
	display: grid;
	gap: 0.1rem;
	font-size: 0.82rem;
	color: var(--pj-on-dark);
}

.pj-regulators__text small {
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pj-on-dark-faint);
}

@media (prefers-reduced-motion: no-preference) {
	.pj-regulators__track {
		animation: pj-marquee 55s linear infinite;
	}

	.pj-regulators__marquee:hover .pj-regulators__track {
		animation-play-state: paused;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pj-regulators__marquee {
		overflow-x: auto;
		padding-inline: var(--pj-gutter);
		mask-image: none;
		-webkit-mask-image: none;
	}

	.pj-regulators__track[aria-hidden='true'] {
		display: none;
	}
}

@keyframes pj-marquee {
	to { transform: translateX(calc(-100% - 1rem)); }
}

.pj-regulators__checks {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr);
	counter-reset: pj-check;
}

@media (min-width: 48rem) {
	.pj-regulators__checks {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.pj-regulators__check {
	position: relative;
	padding: 1.6rem;
	border-radius: var(--pj-radius-lg);
	border: 1px solid var(--pj-line-dark);
	background: linear-gradient(180deg, rgba(24, 33, 46, 0.7), rgba(13, 19, 27, 0.5));
	transition: transform 0.35s var(--pj-ease), border-color 0.35s var(--pj-ease);
}

.pj-regulators__check:hover {
	transform: translateY(-4px);
	border-color: rgba(201, 160, 99, 0.35);
}

.pj-regulators__step {
	position: absolute;
	top: 1.4rem;
	right: 1.5rem;
	font-family: var(--pj-font-serif);
	font-size: 1.9rem;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgba(201, 160, 99, 0.45);
}

.pj-regulators__check h3 {
	margin: 1.1rem 0 0.5rem;
	font-size: 1.1rem;
}

.pj-regulators__check p {
	margin: 0;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
}

.pj-regulators__note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 1.75rem 0 0;
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
	text-align: center;
}

/* ==========================================================================
   Autodiagnóstico de señales de alerta
   ========================================================================== */
.pj-flags__layout {
	display: grid;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}

@media (min-width: 64rem) {
	.pj-flags__layout {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	}

	.pj-flags__intro {
		position: sticky;
		top: calc(var(--pj-header-h, 5rem) + 2rem);
	}
}

.pj-flags__intro > p:not(.pj-eyebrow) {
	color: var(--pj-on-dark-muted);
}

.pj-flags__meter {
	--pj-level-color: var(--pj-gold);
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin-top: 2rem;
	padding: 1.25rem;
	border-radius: var(--pj-radius-lg);
	border: 1px solid var(--pj-line-dark-strong);
	background: linear-gradient(160deg, rgba(32, 43, 58, 0.6), rgba(13, 19, 27, 0.7));
}

.pj-flags__meter[data-level='2'] {
	--pj-level-color: #e0a04e;
}

.pj-flags__meter[data-level='3'] {
	--pj-level-color: #e06a5a;
}

.pj-flags__gauge {
	position: relative;
	width: 6.5rem;
	height: 6.5rem;
	flex: none;
}

.pj-flags__gauge svg {
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.pj-flags__gauge circle {
	fill: none;
	stroke-width: 8;
}

.pj-flags__track {
	stroke: var(--pj-line-dark);
}

.pj-flags__value {
	stroke: var(--pj-level-color);
	stroke-linecap: round;
	stroke-dasharray: 100;
	stroke-dashoffset: calc(100 - var(--pj-progress, 0) * 100);
	transition: stroke-dashoffset 0.6s var(--pj-ease), stroke 0.4s var(--pj-ease);
}

.pj-flags__count {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.2rem;
	margin: 0;
	color: var(--pj-on-dark-faint);
	font-size: 0.8rem;
}

.pj-flags__count strong {
	font-family: var(--pj-font-serif);
	font-size: 1.9rem;
	line-height: 1;
	color: var(--pj-on-dark);
}

.pj-flags__message {
	margin: 0;
	font-size: var(--pj-fs-sm);
	line-height: 1.55;
	color: var(--pj-on-dark);
}

.pj-flags__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.25rem;
	margin-top: 1.5rem;
}

.pj-flags__privacy {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-faint);
}

.pj-flags__list {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pj-flags__item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.05rem 1.25rem;
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark);
	background: rgba(17, 24, 35, 0.6);
	cursor: pointer;
	transition: border-color 0.25s var(--pj-ease), background-color 0.25s var(--pj-ease), transform 0.25s var(--pj-ease);
}

.pj-flags__item:hover {
	border-color: var(--pj-line-dark-strong);
	transform: translateX(4px);
}

.pj-flags__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.pj-flags__box {
	display: grid;
	place-items: center;
	width: 1.5rem;
	height: 1.5rem;
	flex: none;
	border-radius: 7px;
	border: 1.5px solid var(--pj-line-dark-strong);
	color: transparent;
	transition: background-color 0.2s var(--pj-ease), border-color 0.2s var(--pj-ease), color 0.2s var(--pj-ease);
}

.pj-flags__box svg {
	stroke-width: 2.6;
	transform: scale(0.4);
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.pj-flags__num {
	font-family: var(--pj-font-serif);
	font-size: 0.85rem;
	color: var(--pj-on-dark-faint);
	min-width: 1.5rem;
}

.pj-flags__text {
	font-size: var(--pj-fs-sm);
	line-height: 1.5;
	color: var(--pj-on-dark-muted);
	transition: color 0.2s var(--pj-ease);
}

.pj-flags__input:checked ~ .pj-flags__box {
	background: var(--pj-gold);
	border-color: var(--pj-gold);
	color: var(--pj-ink-900);
}

.pj-flags__input:checked ~ .pj-flags__box svg {
	transform: scale(1);
}

.pj-flags__input:checked ~ .pj-flags__num {
	color: var(--pj-gold);
}

.pj-flags__input:checked ~ .pj-flags__text {
	color: var(--pj-on-dark);
}

.pj-flags__item:has(.pj-flags__input:checked) {
	border-color: rgba(201, 160, 99, 0.45);
	background: linear-gradient(90deg, rgba(201, 160, 99, 0.1), rgba(17, 24, 35, 0.6) 60%);
}

.pj-flags__input:focus-visible ~ .pj-flags__box {
	outline: 2px solid var(--pj-gold);
	outline-offset: 3px;
}

/* ==========================================================================
   Compromisos: sí hacemos / nunca hacemos
   ========================================================================== */
.pj-commit__grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 48rem) {
	.pj-commit__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.pj-commit__card {
	--pj-accent: var(--pj-gold);
	position: relative;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border-radius: var(--pj-radius-xl);
	border: 1px solid var(--pj-line-dark);
	background: linear-gradient(170deg, rgba(32, 43, 58, 0.55), rgba(13, 19, 27, 0.65));
	overflow: hidden;
}

.pj-commit__card::before {
	content: '';
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: linear-gradient(90deg, var(--pj-accent), transparent 80%);
}

.pj-commit__card--never {
	--pj-accent: #d9776a;
}

.pj-commit__head {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 1.5rem;
}

.pj-commit__head h3 {
	margin: 0;
	font-size: 1.35rem;
}

.pj-commit__badge {
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	color: var(--pj-accent);
	background: color-mix(in srgb, var(--pj-accent) 14%, transparent);
	border: 1px solid color-mix(in srgb, var(--pj-accent) 40%, transparent);
}

.pj-commit__card ul {
	display: grid;
	gap: 0.15rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pj-commit__card li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.8rem 0;
	border-top: 1px solid var(--pj-line-dark);
	font-size: var(--pj-fs-sm);
	line-height: 1.5;
	color: var(--pj-on-dark);
}

.pj-commit__card li:first-child {
	border-top: 0;
}

.pj-commit__card li svg {
	flex: none;
	margin-top: 0.2em;
	color: var(--pj-accent);
	stroke-width: 2.2;
}

.pj-commit__alert {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin-top: 1.25rem;
	padding: 1.25rem 1.5rem;
	border-radius: var(--pj-radius-lg);
	border: 1px solid rgba(201, 160, 99, 0.3);
	background: linear-gradient(90deg, rgba(201, 160, 99, 0.12), rgba(201, 160, 99, 0.03));
}

.pj-commit__alert-icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	flex: none;
	border-radius: 12px;
	background: linear-gradient(145deg, var(--pj-gold-light), var(--pj-gold-dark));
	color: var(--pj-ink-900);
}

.pj-commit__alert strong {
	display: block;
	margin-bottom: 0.2rem;
	color: var(--pj-on-dark);
}

.pj-commit__alert p {
	margin: 0;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
}

@media (prefers-reduced-motion: no-preference) {
	.pj-reveal.pj-reveal--ready:not([data-visible='true']) .pj-commit__card li {
		opacity: 0;
		transform: translateX(-10px);
	}

	.pj-commit__card li {
		transition: opacity 0.5s var(--pj-ease), transform 0.5s var(--pj-ease);
	}

	.pj-commit__card li:nth-child(2) { transition-delay: 0.08s; }
	.pj-commit__card li:nth-child(3) { transition-delay: 0.16s; }
	.pj-commit__card li:nth-child(4) { transition-delay: 0.24s; }
	.pj-commit__card li:nth-child(5) { transition-delay: 0.32s; }
}

/* ==========================================================================
   Contacto e informar
   ========================================================================== */
.pj-contact__layout {
	display: grid;
	gap: clamp(2.5rem, 5vw, 4.5rem);
	align-items: start;
}

@media (min-width: 64rem) {
	.pj-contact__layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	}

	.pj-contact__form {
		position: sticky;
		top: calc(var(--pj-header-h, 5rem) + 1.5rem);
	}
}

.pj-contact__channels {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.pj-contact__channel {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	height: 100%;
	padding: 1rem 1.1rem;
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark);
	background: linear-gradient(160deg, rgba(32, 43, 58, 0.55), rgba(13, 19, 27, 0.55));
	color: var(--pj-on-dark);
	text-decoration: none;
	transition: border-color 0.3s var(--pj-ease), transform 0.3s var(--pj-ease);
}

a.pj-contact__channel:hover {
	border-color: rgba(201, 160, 99, 0.45);
	transform: translateY(-3px);
}

.pj-contact__channel-text {
	display: grid;
	gap: 0.15rem;
	flex: 1;
	min-width: 0;
}

.pj-contact__channel-text small {
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pj-gold);
}

.pj-contact__channel-text strong {
	font-size: var(--pj-fs-sm);
	font-weight: 500;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.pj-contact__channel-arrow {
	color: var(--pj-on-dark-faint);
	transition: color 0.3s var(--pj-ease), transform 0.3s var(--pj-ease);
}

a.pj-contact__channel:hover .pj-contact__channel-arrow {
	color: var(--pj-gold);
	transform: translate(2px, -2px);
}

.pj-contact__next {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.pj-contact__next h3 {
	margin-bottom: 1.25rem;
	font-size: 1.2rem;
}

.pj-timeline {
	position: relative;
	display: grid;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pj-timeline::before {
	content: '';
	position: absolute;
	top: 1.1rem;
	bottom: 1.1rem;
	left: calc(1.1rem - 0.5px);
	width: 1px;
	background: linear-gradient(180deg, var(--pj-gold), rgba(201, 160, 99, 0.1));
}

.pj-timeline__item {
	position: relative;
	display: flex;
	gap: 1rem;
}

.pj-timeline__dot {
	display: grid;
	place-items: center;
	width: 2.2rem;
	height: 2.2rem;
	flex: none;
	border-radius: 50%;
	border: 1px solid rgba(201, 160, 99, 0.5);
	background: var(--pj-ink-850);
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--pj-gold);
}

.pj-timeline__item strong {
	display: block;
	margin: 0.3rem 0 0.25rem;
	color: var(--pj-on-dark);
}

.pj-timeline__item p {
	margin: 0;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
}

.pj-contact__privacy {
	display: flex;
	gap: 1rem;
	margin-top: clamp(2rem, 4vw, 3rem);
	padding: 1.25rem 1.4rem;
	border-radius: var(--pj-radius-lg);
	border: 1px solid var(--pj-line-dark);
	background: rgba(10, 14, 20, 0.55);
}

.pj-contact__privacy-icon {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	flex: none;
	border-radius: 12px;
	background: var(--pj-gold-soft);
	color: var(--pj-gold-light);
}

.pj-contact__privacy strong {
	display: block;
	margin-bottom: 0.2rem;
	color: var(--pj-on-dark);
}

.pj-contact__privacy p {
	margin: 0;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark-muted);
}

.pj-criteria {
	display: grid;
	gap: 0.75rem;
	margin: 1.75rem 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.pj-criteria__item {
	display: flex;
	gap: 0.85rem;
	padding: 1.1rem;
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark);
	background: linear-gradient(160deg, rgba(32, 43, 58, 0.5), rgba(13, 19, 27, 0.5));
}

.pj-criteria__item .pj-icon {
	flex: none;
}

.pj-criteria__item strong {
	display: block;
	margin-bottom: 0.25rem;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark);
}

.pj-criteria__item p {
	margin: 0;
	font-size: var(--pj-fs-xs);
	line-height: 1.5;
	color: var(--pj-on-dark-muted);
}

/* ==========================================================================
   Panel de método (sustituye a la fotografía en "Sobre nosotros")
   ========================================================================== */
.pj-media-split__media--panel {
	aspect-ratio: auto;
	display: flex;
	background:
		radial-gradient(70% 60% at 85% 0%, rgba(201, 160, 99, 0.2), transparent 60%),
		linear-gradient(160deg, var(--pj-ink-700), var(--pj-ink-850));
	border-color: var(--pj-line-dark-strong);
}

.pj-method {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
	width: 100%;
	padding: clamp(1.75rem, 4vw, 2.75rem);
}

.pj-method::after {
	content: '';
	position: absolute;
	right: -3rem;
	bottom: -3rem;
	width: 14rem;
	height: 14rem;
	border-radius: 50%;
	border: 1px solid rgba(201, 160, 99, 0.14);
	box-shadow: 0 0 0 2.5rem rgba(201, 160, 99, 0.03), 0 0 0 5rem rgba(201, 160, 99, 0.02);
	pointer-events: none;
}

.pj-method__head {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.pj-method__head strong {
	display: block;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark);
}

.pj-method__head small {
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pj-on-dark-faint);
}

.pj-method__emblem {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: linear-gradient(145deg, var(--pj-gold-light), var(--pj-gold-dark));
	color: var(--pj-ink-900);
	box-shadow: 0 0 0 6px rgba(201, 160, 99, 0.12);
}

.pj-method__quote {
	position: relative;
	margin: 0;
	padding: 0 0 0 1.25rem;
	border-left: 2px solid var(--pj-gold);
}

.pj-method__quote p {
	margin: 0;
	font-family: var(--pj-font-serif);
	font-size: clamp(1.45rem, 2.4vw, 1.95rem);
	line-height: 1.25;
	color: var(--pj-on-dark);
}

.pj-method__pillars {
	display: grid;
	gap: 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pj-method__pillars li {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.85rem 1rem;
	border-radius: var(--pj-radius);
	border: 1px solid var(--pj-line-dark);
	background: rgba(10, 14, 20, 0.45);
	transition: border-color 0.3s var(--pj-ease), transform 0.3s var(--pj-ease);
}

.pj-method__pillars li:hover {
	border-color: rgba(201, 160, 99, 0.4);
	transform: translateX(4px);
}

.pj-method__pillars strong {
	display: block;
	font-size: var(--pj-fs-sm);
	color: var(--pj-on-dark);
}

.pj-method__pillars small {
	font-size: var(--pj-fs-xs);
	color: var(--pj-on-dark-muted);
}

@media (prefers-reduced-motion: no-preference) {
	.pj-method__pillars li {
		transition: opacity 0.55s var(--pj-ease), transform 0.55s var(--pj-ease), border-color 0.3s var(--pj-ease);
	}

	.pj-reveal.pj-reveal--ready:not([data-visible='true']) .pj-method__pillars li {
		opacity: 0;
		transform: translateY(12px);
	}

	.pj-method__pillars li:nth-child(2) { transition-delay: 0.1s; }
	.pj-method__pillars li:nth-child(3) { transition-delay: 0.2s; }
}

.pj-hero--page .pj-hero__visual--dossier {
	min-height: 0;
}

.pj-dossier--compact {
	width: min(100%, 25rem);
}

.pj-dossier--compact .pj-dossier__sheet {
	padding: 1.2rem 1.2rem 1.05rem;
}

.pj-dossier--compact .pj-dossier__sheet--back {
	min-height: 15rem;
}

.pj-dossier--compact .pj-dossier__title {
	font-size: 1.15rem;
}

.pj-dossier--compact .pj-dossier__rows li {
	padding: 0.5rem 0.65rem;
	font-size: 0.76rem;
}

.pj-dossier--compact .pj-dossier__chip--a {
	display: none;
}

.pj-dossier--compact .pj-dossier__seal {
	width: clamp(5rem, 21%, 6rem);
}

@media (max-width: 63.99rem) {
	.pj-hero--page .pj-hero__visual--dossier {
		margin-top: 1rem;
	}
}

/* -- Cookie consent ---------------------------------------------------- */
.pj-cookies {
	position: fixed;
	z-index: 120;
	inset: auto var(--pj-sp-4) var(--pj-sp-4) var(--pj-sp-4);
	display: flex;
	justify-content: flex-start;
	pointer-events: none;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.pj-cookies.is-visible {
	opacity: 1;
	transform: none;
}

.pj-cookies[hidden] {
	display: none;
}

.pj-cookies__card {
	pointer-events: auto;
	width: min(100%, 30rem);
	padding: var(--pj-sp-5);
	border: 1px solid var(--pj-line-dark-strong);
	border-radius: var(--pj-radius-lg);
	background: rgba(11, 16, 23, 0.96);
	box-shadow: var(--pj-shadow-lg);
	color: var(--pj-on-dark-muted);
	backdrop-filter: blur(12px);
}

.pj-cookies__head {
	display: flex;
	align-items: center;
	gap: var(--pj-sp-3);
	margin-bottom: var(--pj-sp-2);
}

.pj-cookies__icon {
	display: inline-grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: var(--pj-radius);
	background: var(--pj-gold-soft);
	color: var(--pj-gold);
}

.pj-cookies__title {
	margin: 0;
	font-family: var(--pj-font-display, inherit);
	font-size: var(--pj-fs-lg, 1.125rem);
	color: var(--pj-on-dark);
}

.pj-cookies__text {
	margin: 0 0 var(--pj-sp-4);
	font-size: var(--pj-fs-sm);
	line-height: 1.6;
}

.pj-cookies__text a {
	color: var(--pj-gold-light);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pj-cookies__prefs {
	display: grid;
	gap: var(--pj-sp-3);
	margin-bottom: var(--pj-sp-4);
	padding: var(--pj-sp-4);
	border: 1px solid var(--pj-line-dark);
	border-radius: var(--pj-radius);
}

.pj-cookies__prefs[hidden] {
	display: none;
}

.pj-cookies__opt {
	display: flex;
	gap: var(--pj-sp-3);
	align-items: flex-start;
	font-size: var(--pj-fs-xs);
	line-height: 1.5;
	cursor: pointer;
}

.pj-cookies__opt strong {
	display: block;
	color: var(--pj-on-dark);
	font-size: var(--pj-fs-sm);
}

.pj-cookies__opt input {
	flex: none;
	width: 1.05rem;
	height: 1.05rem;
	margin-top: 0.15rem;
	accent-color: var(--pj-gold);
}

.pj-cookies__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pj-sp-2);
}

.pj-cookies__actions .pj-btn {
	flex: 1 1 auto;
	justify-content: center;
}

.pj-cookies__actions [hidden] {
	display: none;
}

.pj-footer__cookies {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.pj-owner-data {
	list-style: none;
	padding-left: 0;
}

@media (prefers-reduced-motion: reduce) {
	.pj-cookies {
		transition: none;
	}
}
