/* =========================================================
   Josep Lorenzo — sistema visual global
   ========================================================= */

:root {
	--jl-grafito: #2B2B2E;
	--jl-grafito-2: #5E5E62;
	--jl-gris: #8D8D8F;
	--jl-gris-claro: #D9D9DB;
	--jl-blanco-calido: #FAF8F6;
	--jl-naranja: #F18420;
	--jl-max-wide: 1360px;
	--jl-max-main: 1200px;
	--jl-max-editorial: 760px;
	--jl-max-narrow: 640px;
	--jl-gutter: clamp(20px, 4vw, 64px);
	--jl-section: clamp(64px, 8vw, 112px);
	--jl-transition: 180ms ease;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--jl-blanco-calido);
	color: var(--jl-grafito);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: var(--jl-naranja);
	color: var(--jl-grafito);
}

a {
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	transition: color var(--jl-transition), text-decoration-color var(--jl-transition);
}

a:hover {
	text-decoration-color: var(--jl-naranja);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--jl-naranja);
	outline-offset: 3px;
}

.wp-site-blocks {
	padding-left: 0;
	padding-right: 0;
}

.wp-site-blocks > main {
	min-height: 50vh;
}

/* Contenedores */
.jl-container-wide,
.jl-container-main,
.jl-container-editorial,
.jl-container-narrow {
	width: min(100%, var(--jl-max-main));
	margin-inline: auto;
	padding-inline: var(--jl-gutter);
	box-sizing: border-box;
}

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

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

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

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

.is-style-section {
	padding-block: var(--jl-section);
}

/* Logo */
.jl-brand {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	text-decoration: none;
	flex-shrink: 0;
}

.jl-logo {
	display: block;
	width: 100%;
	height: auto;
}

.jl-logo--header {
	width: clamp(160px, 15vw, 205px);
}

.jl-logo--footer {
	width: min(205px, 100%);
}

/* Cabecera */
.jl-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(250, 248, 246, 0.98);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid transparent;
	transition: min-height var(--jl-transition), border-color var(--jl-transition);
}

.admin-bar .jl-site-header {
	top: 32px;
}

.jl-header-inner {
	min-height: 88px;
	gap: 32px;
}

.jl-site-header .wp-block-navigation {
	margin-left: auto;
}

.jl-site-header .wp-block-navigation__container {
	gap: 30px;
}

.jl-site-header .wp-block-navigation-item__content {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	position: relative;
}

.jl-site-header .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 7px;
	height: 2px;
	background: var(--jl-naranja);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--jl-transition);
}

.jl-site-header .wp-block-navigation-item__content:hover::after,
.jl-site-header .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

.jl-site-header .jl-nav-cta > .wp-block-navigation-item__content {
	background: var(--jl-grafito);
	color: var(--jl-blanco-calido);
	padding: 0 22px;
	min-height: 44px;
	border-radius: 3px;
	text-decoration: none;
}

.jl-site-header .jl-nav-cta > .wp-block-navigation-item__content::after {
	display: none;
}

.jl-site-header .jl-nav-cta > .wp-block-navigation-item__content:hover {
	background: var(--jl-naranja);
	color: var(--jl-grafito);
}

/* Menú desplegable */
.wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--jl-blanco-calido);
	border: 1px solid var(--jl-gris-claro);
	border-radius: 3px;
	box-shadow: none;
	min-width: 310px;
	padding: 12px;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 12px;
	width: 100%;
}

/* Botones */
.wp-block-button__link {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color var(--jl-transition), color var(--jl-transition), border-color var(--jl-transition);
}

.wp-block-button__link:hover {
	background: var(--jl-naranja);
	color: var(--jl-grafito);
}

.wp-block-button.is-style-secondary .wp-block-button__link {
	background: transparent;
	color: var(--jl-grafito);
	border: 1px solid var(--jl-grafito);
}

.wp-block-button.is-style-secondary .wp-block-button__link:hover {
	background: var(--jl-grafito);
	color: var(--jl-blanco-calido);
}

.wp-block-button.is-style-editorial-link .wp-block-button__link {
	background: transparent;
	color: var(--jl-grafito);
	border: 0;
	padding-inline: 0;
	min-height: 44px;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 5px;
}

.wp-block-button.is-style-editorial-link .wp-block-button__link::after {
	content: " →";
	margin-left: 6px;
}

.wp-block-button.is-style-editorial-link .wp-block-button__link:hover {
	background: transparent;
	color: var(--jl-grafito);
	text-decoration-color: var(--jl-naranja);
}

/* Tipografía editorial */
.jl-eyebrow {
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.10em;
	line-height: 1.4;
	text-transform: uppercase;
}

.jl-lead {
	color: var(--jl-grafito-2);
	font-size: clamp(19px, 1.6vw, 22px);
	line-height: 1.55;
	max-width: 55ch;
}

.jl-copy {
	max-width: 68ch;
}

.jl-divider {
	border: 0;
	border-top: 1px solid var(--jl-gris-claro);
	margin: 0;
}

/* Footer */
.jl-site-footer {
	background: var(--jl-grafito);
	color: var(--jl-blanco-calido);
	padding: 80px var(--jl-gutter) 32px;
}

.jl-footer-grid {
	display: grid !important;
	grid-template-columns: 5fr 3fr 2fr 2fr;
	gap: 48px;
	max-width: var(--jl-max-main);
	margin-inline: auto;
	align-items: start;
}

.jl-footer-grid > .wp-block-column {
	flex-basis: auto !important;
	margin: 0;
}

.jl-footer-brand-copy {
	color: var(--jl-gris-claro);
	max-width: 38ch;
	margin-top: 24px;
}

.jl-footer-heading {
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--jl-gris-claro);
	margin: 0 0 16px;
}

.jl-footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 8px;
}

.jl-footer-links a {
	color: var(--jl-blanco-calido);
	text-decoration-color: transparent;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.jl-footer-links a:hover {
	text-decoration-color: var(--jl-naranja);
}

.jl-footer-bottom {
	max-width: var(--jl-max-main);
	margin: 56px auto 0;
	padding-top: 24px;
	border-top: 1px solid rgba(217, 217, 219, 0.28);
	color: var(--jl-gris-claro);
	font-size: 14px;
}

/* Plantillas base */
.jl-main-shell {
	padding-block: var(--jl-section);
}

.jl-template-placeholder {
	max-width: var(--jl-max-editorial);
	margin-inline: auto;
	padding: clamp(48px, 8vw, 96px) var(--jl-gutter);
}

.jl-template-placeholder p {
	color: var(--jl-grafito-2);
}

/* Responsive */
@media (max-width: 1023px) {
	.jl-header-inner {
		min-height: 80px;
	}

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

@media (max-width: 782px) {
	.admin-bar .jl-site-header {
		top: 46px;
	}

	.jl-header-inner {
		min-height: 72px;
	}

	.jl-site-header .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--jl-blanco-calido);
		color: var(--jl-grafito);
		padding: 88px 20px 32px;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content {
		gap: 16px;
	}

	.jl-site-header .wp-block-navigation__container {
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.jl-site-header .wp-block-navigation-item {
		width: 100%;
		border-bottom: 1px solid var(--jl-gris-claro);
	}

	.jl-site-header .wp-block-navigation-item__content {
		width: 100%;
		min-height: 56px;
		font-size: 20px;
	}

	.jl-site-header .jl-nav-cta {
		border-bottom: 0;
		margin-top: 24px;
	}

	.jl-site-header .jl-nav-cta > .wp-block-navigation-item__content {
		justify-content: center;
		font-size: 16px;
	}

	.jl-footer-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.jl-site-footer {
		padding-top: 64px;
		padding-bottom: 28px;
	}
}

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

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

/* =========================================================
   Home reset premium v0.2.3
   Replanteamiento: bandas 100vw, sin sensación de blog/periódico
   ========================================================= */

.jl-home-reset {
	--jlr-cream: #FAF8F6;
	--jlr-warm: #F4EDE4;
	--jlr-warm-2: #EDE2D6;
	--jlr-white: #FFFFFF;
	--jlr-graphite: #2B2B2E;
	--jlr-graphite-soft: #3A393D;
	--jlr-text: #2B2B2E;
	--jlr-muted: #5E5E62;
	--jlr-line: rgba(43,43,46,.12);
	--jlr-orange: #F18420;
	--jlr-page-pad: clamp(22px, 5.5vw, 96px);
	background: var(--jlr-cream);
	color: var(--jlr-text);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	overflow: hidden;
}

.jlr-section,
.jlr-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.jlr-eyebrow {
	margin: 0;
	color: var(--jlr-text);
	font-size: clamp(11px, .78vw, 13px);
	font-weight: 720;
	letter-spacing: .13em;
	line-height: 1.35;
	text-transform: uppercase;
}

.jlr-hero h1,
.jlr-section h2,
.jlr-section h3,
.jlr-section p {
	margin-top: 0;
}

.jlr-hero h1,
.jlr-section h2 {
	color: var(--jlr-text);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-weight: 560;
	letter-spacing: -.032em;
}

.jlr-hero h1 {
	max-width: 890px;
	font-size: clamp(42px, 4.8vw, 68px);
	line-height: 1.02;
}

.jlr-section h2 {
	max-width: 840px;
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.06;
}

.jlr-lead,
.jlr-intro > p,
.jlr-intro--split > p,
.jlr-authority-copy > p,
.jlr-stories > div > p,
.jlr-cta > div > p {
	color: var(--jlr-muted);
	font-size: clamp(17px, 1.15vw, 20px);
	line-height: 1.62;
}

.jlr-button {
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--jlr-graphite);
	border: 1px solid var(--jlr-graphite);
	border-radius: 4px;
	color: var(--jlr-cream);
	padding: 0 26px;
	font-size: 15px;
	font-weight: 720;
	line-height: 1;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.jlr-button:hover {
	background: var(--jlr-orange);
	border-color: var(--jlr-orange);
	color: var(--jlr-text);
	text-decoration: none;
	transform: translateY(-1px);
}

.jlr-link {
	min-height: 42px;
	display: inline-flex;
	align-items: center;
	color: var(--jlr-text);
	font-size: 15px;
	font-weight: 720;
	text-decoration: none;
}

.jlr-link::after {
	content: "→";
	margin-left: 8px;
	color: var(--jlr-orange);
}

.jlr-link:hover {
	color: var(--jlr-text);
	text-decoration: underline;
	text-decoration-color: var(--jlr-orange);
	text-underline-offset: 5px;
}

/* Hero */
.jlr-hero {
	min-height: calc(100vh - 88px);
	display: grid;
	grid-template-columns: 58vw 42vw;
	background: linear-gradient(90deg, var(--jlr-cream) 0%, var(--jlr-cream) 58%, var(--jlr-warm) 58%, var(--jlr-warm) 100%);
}

.jlr-hero__copy {
	align-self: center;
	padding: clamp(70px, 8vw, 130px) clamp(40px, 7vw, 120px) clamp(70px, 8vw, 130px) var(--jlr-page-pad);
}

.jlr-hero__copy .jlr-eyebrow {
	margin-bottom: 26px;
	max-width: 760px;
}

.jlr-hero__copy .jlr-lead {
	max-width: 760px;
	margin: 26px 0 0;
}

.jlr-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px 30px;
	margin-top: 34px;
}

.jlr-hero__media {
	position: relative;
	display: grid;
	align-content: center;
	padding: clamp(60px, 8vw, 120px) var(--jlr-page-pad) clamp(60px, 8vw, 120px) 0;
}

.jlr-photo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(241,132,32,.10), rgba(255,255,255,.36)), var(--jlr-warm-2);
	border: 1px solid var(--jlr-line);
	overflow: hidden;
}

.jlr-photo::after {
	content: "";
	position: absolute;
	inset: clamp(16px, 2vw, 30px);
	border: 1px solid rgba(43,43,46,.10);
}


.jlr-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	z-index: 0;
}

.jlr-photo--hero img {
	object-position: center 18%;
}

.jlr-photo--profile img {
	object-position: center 22%;
}

.jlr-photo span {
	position: relative;
	z-index: 1;
	color: rgba(43,43,46,.72);
	font-size: 12px;
	font-weight: 720;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-align: center;
}

.jlr-photo--hero {
	width: min(100%, 620px);
	margin-inline: auto 0;
	aspect-ratio: 4 / 4.35;
	min-height: 500px;
}

.jlr-note {
	width: min(100%, 560px);
	margin-top: -28px;
	margin-left: auto;
	background: var(--jlr-graphite-soft);
	border-left: 5px solid var(--jlr-orange);
	padding: clamp(24px, 3vw, 40px);
	position: relative;
	z-index: 2;
}

.jlr-note span {
	display: block;
	margin-bottom: 12px;
	color: rgba(250,248,246,.68);
	font-size: 12px;
	font-weight: 720;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.jlr-note p {
	margin: 0;
	color: var(--jlr-cream);
	font-size: clamp(21px, 1.9vw, 30px);
	font-weight: 580;
	line-height: 1.18;
	letter-spacing: -.025em;
}

/* Sections */
.jlr-section {
	padding: clamp(72px, 8.5vw, 128px) var(--jlr-page-pad);
}

.jlr-intro {
	max-width: none;
	margin-bottom: clamp(38px, 5vw, 72px);
}

.jlr-intro h2 {
	margin-top: 16px;
}

.jlr-intro > p {
	max-width: 820px;
	margin: 24px 0 0;
}

.jlr-intro--split {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, .75fr);
	gap: clamp(36px, 7vw, 120px);
	align-items: end;
}

.jlr-intro--split > p {
	margin: 0;
}

/* Signals */
.jlr-section--signals {
	background: linear-gradient(180deg, var(--jlr-warm) 0%, var(--jlr-cream) 100%);
}

.jlr-signals {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 26px);
}

.jlr-signals article {
	background: rgba(255,255,255,.72);
	border: 1px solid var(--jlr-line);
	padding: clamp(24px, 3vw, 38px);
	min-height: 260px;
}

.jlr-signals span,
.jlr-meta span,
.jlr-method-flow span,
.jlr-authority-items span,
.jlr-story-note span {
	display: block;
	color: var(--jlr-orange);
	font-size: 13px;
	font-weight: 820;
	letter-spacing: .12em;
}

.jlr-signals h3 {
	margin: 20px 0 12px;
	color: var(--jlr-text);
	font-size: clamp(21px, 1.8vw, 28px);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-weight: 620;
	line-height: 1.18;
	letter-spacing: -.025em;
}

.jlr-signals p,
.jlr-area-row article > p,
.jlr-crypto-soft p,
.jlr-method-flow p,
.jlr-profile-list p,
.jlr-authority-items p,
.jlr-walk-card p,
.jlr-story-note p {
	color: var(--jlr-muted);
	line-height: 1.58;
}

.jlr-statement,
.jlr-method-close {
	margin-top: clamp(34px, 5vw, 62px);
	width: min(100%, 960px);
	padding-left: 26px;
	border-left: 4px solid var(--jlr-orange);
}

.jlr-statement p,
.jlr-method-close p {
	margin: 0;
	color: var(--jlr-text);
	font-size: clamp(25px, 2.5vw, 40px);
	font-weight: 540;
	line-height: 1.16;
	letter-spacing: -.028em;
}

/* Areas */
.jlr-section--areas {
	background: var(--jlr-cream);
}

.jlr-area-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.2vw, 30px);
}

.jlr-area-row article {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--jlr-line);
	padding: clamp(28px, 3.4vw, 46px);
	min-height: 380px;
}

.jlr-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--jlr-line);
}

.jlr-meta strong {
	font-size: 13px;
	font-weight: 780;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.jlr-area-row h3 {
	margin: 0 0 18px;
	color: var(--jlr-text);
	font-size: clamp(24px, 2.25vw, 34px);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-weight: 560;
	line-height: 1.14;
	letter-spacing: -.028em;
}

.jlr-area-row article > p {
	margin-bottom: 22px;
}

.jlr-area-row .jlr-link {
	margin-top: auto;
}

.jlr-crypto-soft {
	margin-top: clamp(24px, 3vw, 38px);
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1fr);
	gap: clamp(30px, 6vw, 90px);
	align-items: center;
	background: var(--jlr-warm);
	border: 1px solid var(--jlr-line);
	border-left: 5px solid var(--jlr-orange);
	padding: clamp(30px, 5vw, 64px);
}

.jlr-crypto-soft h3 {
	margin: 16px 0 0;
	color: var(--jlr-text);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(28px, 3vw, 46px);
	font-weight: 560;
	line-height: 1.08;
	letter-spacing: -.032em;
}

/* Method */
.jlr-section--method {
	background: linear-gradient(90deg, var(--jlr-warm) 0%, var(--jlr-warm) 34%, var(--jlr-cream) 34%, var(--jlr-cream) 100%);
}

.jlr-method-flow {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	background: rgba(255,255,255,.68);
	border: 1px solid var(--jlr-line);
}

.jlr-method-flow article {
	padding: clamp(24px, 3vw, 38px);
	border-right: 1px solid var(--jlr-line);
}

.jlr-method-flow article:last-child {
	border-right: 0;
}

.jlr-method-flow h3 {
	margin: 22px 0 14px;
	color: var(--jlr-text);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(23px, 2vw, 32px);
	font-weight: 600;
	letter-spacing: -.025em;
}

.jlr-method-flow strong {
	display: block;
	margin-bottom: 10px;
	color: var(--jlr-text);
	font-weight: 720;
}

.jlr-method-flow p {
	margin: 0;
}

/* Profiles */
.jlr-section--profiles {
	padding-top: 0;
	padding-bottom: 0;
	background: linear-gradient(90deg, var(--jlr-warm) 0%, var(--jlr-warm) 50%, var(--jlr-cream) 50%, var(--jlr-cream) 100%);
}

.jlr-profile-layout {
	display: grid;
	grid-template-columns: 48vw 52vw;
	grid-template-rows: auto auto;
	margin-inline: calc(var(--jlr-page-pad) * -1);
}

.jlr-photo--profile {
	width: 100%;
	min-height: 760px;
	height: 100%;
	border-left: 0;
	border-top: 0;
	border-bottom: 0;
}

.jlr-profile-content {
	background: rgba(255,255,255,.86);
	padding: clamp(56px, 7vw, 110px) var(--jlr-page-pad);
	border-left: 1px solid var(--jlr-line);
}

.jlr-profile-content h2 {
	margin-top: 16px;
	font-size: clamp(32px, 3.6vw, 54px);
	max-width: 760px;
}

.jlr-profile-content .jlr-lead {
	max-width: 720px;
	margin: 22px 0 0;
}

.jlr-profile-list {
	margin-top: clamp(28px, 4vw, 48px);
	border-top: 1px solid var(--jlr-line);
}

.jlr-profile-list article {
	padding: 20px 0;
	border-bottom: 1px solid var(--jlr-line);
}

.jlr-profile-list h3 {
	margin: 0 0 8px;
	color: var(--jlr-text);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(20px, 1.6vw, 26px);
	font-weight: 620;
	letter-spacing: -.02em;
}

.jlr-profile-list p {
	margin: 0;
}

.jlr-profile-bottom {
	grid-column: 2;
	background: var(--jlr-graphite-soft);
	border-left: 5px solid var(--jlr-orange);
	padding: clamp(28px, 4vw, 50px) var(--jlr-page-pad);
}

.jlr-profile-bottom p {
	margin: 0;
	max-width: 820px;
	color: var(--jlr-cream);
	font-size: clamp(24px, 2.4vw, 38px);
	font-weight: 560;
	line-height: 1.18;
	letter-spacing: -.028em;
}

/* Authority */
.jlr-section--authority {
	background: var(--jlr-cream);
}

.jlr-authority {
	display: grid;
	grid-template-columns: minmax(380px, .85fr) minmax(0, 1.15fr);
	gap: clamp(36px, 7vw, 110px);
	align-items: start;
}

.jlr-authority-copy h2 {
	margin-top: 16px;
	font-size: clamp(32px, 3.6vw, 54px);
}

.jlr-authority-copy > p {
	margin: 24px 0 24px;
}

.jlr-authority-items {
	display: grid;
	gap: 18px;
}

.jlr-authority-items article {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 20px;
	background: #fff;
	border: 1px solid var(--jlr-line);
	padding: clamp(24px, 3vw, 38px);
}

.jlr-authority-items h3 {
	margin: 0 0 8px;
	color: var(--jlr-text);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(25px, 2.2vw, 36px);
	font-weight: 560;
	line-height: 1.12;
	letter-spacing: -.03em;
}

.jlr-authority-items p {
	margin: 0;
}

/* Walk & stories */
.jlr-section--walk {
	background: var(--jlr-warm);
}

.jlr-walk-card,
.jlr-stories,
.jlr-cta {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1fr);
	gap: clamp(34px, 7vw, 110px);
	align-items: center;
}

.jlr-walk-card {
	background: rgba(255,255,255,.76);
	border: 1px solid var(--jlr-line);
	padding: clamp(34px, 5.5vw, 72px);
}

.jlr-walk-card > div:first-child {
	border-left: 5px solid var(--jlr-orange);
	padding-left: clamp(22px, 3vw, 36px);
}

.jlr-walk-card h2,
.jlr-stories h2,
.jlr-cta h2 {
	margin-top: 16px;
	font-size: clamp(32px, 3.4vw, 52px);
}

.jlr-walk-card p,
.jlr-stories > div > p,
.jlr-cta > div > p {
	font-size: clamp(17px, 1.15vw, 20px);
	line-height: 1.6;
}

.jlr-section--stories {
	background: var(--jlr-cream);
}

.jlr-story-note {
	margin-top: 26px;
	background: var(--jlr-warm);
	border: 1px solid var(--jlr-line);
	padding: clamp(24px, 3vw, 38px);
}

.jlr-story-note p {
	color: var(--jlr-text);
	font-weight: 560;
}

/* CTA */
.jlr-section--cta {
	background: linear-gradient(180deg, var(--jlr-cream) 0%, var(--jlr-warm) 100%);
	padding-bottom: clamp(86px, 10vw, 150px);
}

.jlr-cta {
	background: rgba(255,255,255,.80);
	border: 1px solid var(--jlr-line);
	border-left: 5px solid var(--jlr-orange);
	padding: clamp(34px, 5.5vw, 72px);
}

.jlr-cta > div > p {
	margin-bottom: 24px;
}

.jlr-cta span {
	display: block;
	margin-top: 16px;
	color: var(--jlr-muted);
	font-size: 14px;
}

/* Responsive */
@media (max-width: 1160px) {
	.jlr-hero,
	.jlr-intro--split,
	.jlr-crypto-soft,
	.jlr-authority,
	.jlr-walk-card,
	.jlr-stories,
	.jlr-cta {
		grid-template-columns: 1fr;
	}

	.jlr-hero {
		background: var(--jlr-cream);
		min-height: auto;
	}

	.jlr-hero__copy {
		padding-right: var(--jlr-page-pad);
		padding-bottom: 38px;
	}

	.jlr-hero__media {
		padding: 0 var(--jlr-page-pad) 72px;
	}

	.jlr-photo--hero {
		width: 100%;
		min-height: auto;
		aspect-ratio: 16 / 10;
	}

	.jlr-note {
		width: 100%;
	}

	.jlr-signals,
	.jlr-area-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jlr-method-flow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jlr-profile-layout {
		grid-template-columns: 1fr;
		margin-inline: 0;
	}

	.jlr-photo--profile {
		min-height: auto;
		aspect-ratio: 16 / 10;
		border: 1px solid var(--jlr-line);
	}

	.jlr-profile-content,
	.jlr-profile-bottom {
		grid-column: auto;
		padding-inline: var(--jlr-page-pad);
	}
}

@media (max-width: 760px) {
	.jl-home-reset {
		--jlr-page-pad: 20px;
	}

	.jlr-section {
		padding-block: 62px;
	}

	.jlr-hero__copy {
		padding-top: 56px;
	}

	.jlr-hero h1,
	.jlr-section h2,
	.jlr-profile-content h2,
	.jlr-authority-copy h2,
	.jlr-walk-card h2,
	.jlr-stories h2,
	.jlr-cta h2 {
		font-size: clamp(34px, 9vw, 46px);
		letter-spacing: -.026em;
	}

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

	.jlr-button {
		width: 100%;
	}

	.jlr-signals,
	.jlr-area-row,
	.jlr-method-flow {
		grid-template-columns: 1fr;
	}

	.jlr-method-flow article {
		border-right: 0;
		border-bottom: 1px solid var(--jlr-line);
	}

	.jlr-area-row article,
	.jlr-crypto-soft,
	.jlr-walk-card,
	.jlr-story-note,
	.jlr-cta,
	.jlr-authority-items article {
		padding: 26px 22px;
	}

	.jlr-profile-content {
		padding-block: 46px;
	}

	.jlr-profile-bottom p,
	.jlr-statement p,
	.jlr-method-close p {
		font-size: clamp(22px, 6.5vw, 32px);
	}
}

/* =========================================================
   Home reset premium v0.2.4
   Ajustes: espaciado Señales/Áreas, Trayectoria full width y footer full width
   ========================================================= */

/* 1) Menos espacio entre cierre de Señales e inicio de Áreas */
.jl-home-reset .jlr-section--signals {
	padding-bottom: clamp(42px, 4.5vw, 70px);
}

.jl-home-reset .jlr-section--areas {
	padding-top: clamp(42px, 4.5vw, 70px);
}

/* 2) Trayectoria: tres experiencias en ancho completo, como bloque de método */
.jl-home-reset .jlr-section--authority {
	background: var(--jlr-cream);
}

.jl-home-reset .jlr-authority {
	display: block;
}

.jl-home-reset .jlr-authority-copy {
	max-width: 1080px;
	margin-bottom: clamp(34px, 5vw, 64px);
}

.jl-home-reset .jlr-authority-copy h2 {
	max-width: 900px;
	margin-top: 16px;
	font-size: clamp(32px, 3.6vw, 54px);
}

.jl-home-reset .jlr-authority-copy > p {
	max-width: 760px;
	margin: 24px 0 0;
}

.jl-home-reset .jlr-authority-items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	background: rgba(255,255,255,.70);
	border-top: 1px solid var(--jlr-line);
	border-left: 1px solid var(--jlr-line);
	border-bottom: 1px solid var(--jlr-line);
	margin-bottom: 28px;
}

.jl-home-reset .jlr-authority-items article {
	display: block;
	background: transparent;
	border: 0;
	border-right: 1px solid var(--jlr-line);
	padding: clamp(28px, 3.4vw, 42px);
	min-height: 260px;
}

.jl-home-reset .jlr-authority-items span {
	margin-bottom: 26px;
}

.jl-home-reset .jlr-authority-items h3 {
	max-width: 12em;
	margin: 0 0 14px;
	color: var(--jlr-text);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(26px, 2.5vw, 38px);
	font-weight: 560;
	line-height: 1.12;
	letter-spacing: -.03em;
}

.jl-home-reset .jlr-authority-items p {
	max-width: 34ch;
	margin: 0;
	color: var(--jlr-muted);
	line-height: 1.58;
}

/* 3) Footer a ancho completo visual */
.jl-site-footer {
	padding-left: clamp(22px, 5.5vw, 96px);
	padding-right: clamp(22px, 5.5vw, 96px);
}

.jl-site-footer .jl-footer-grid,
.jl-site-footer .jl-footer-bottom {
	max-width: none;
	width: 100%;
}

.jl-site-footer .jl-footer-grid {
	grid-template-columns: minmax(320px, 5fr) minmax(180px, 2fr) minmax(180px, 2fr) minmax(160px, 2fr);
	column-gap: clamp(42px, 7vw, 120px);
}

@media (max-width: 1160px) {
	.jl-home-reset .jlr-authority-items {
		grid-template-columns: 1fr;
	}

	.jl-home-reset .jlr-authority-items article {
		border-right: 1px solid var(--jlr-line);
		border-bottom: 1px solid var(--jlr-line);
		min-height: auto;
	}

	.jl-home-reset .jlr-authority-items article:last-child {
		border-bottom: 0;
	}

	.jl-site-footer .jl-footer-grid {
		grid-template-columns: 1fr 1fr;
		column-gap: 48px;
	}
}

@media (max-width: 782px) {
	.jl-site-footer .jl-footer-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.jl-home-reset .jlr-section--signals {
		padding-bottom: 48px;
	}

	.jl-home-reset .jlr-section--areas {
		padding-top: 48px;
	}

	.jl-home-reset .jlr-authority-items article {
		padding: 26px 22px;
	}
}

/* =========================================================
   Footer copyright alignment v0.2.5
   ========================================================= */

.jl-site-footer .jl-footer-bottom {
	text-align: center;
}

/* =========================================================
   Logos horizontales v0.2.9
   ========================================================= */

.jl-logo--header-corrected {
	width: clamp(215px, 17vw, 280px);
	height: auto;
	display: block;
	image-rendering: auto;
}

.jl-brand--footer {
	align-items: flex-start;
}

.jl-logo--footer-horizontal {
	width: clamp(245px, 18vw, 315px);
	height: auto;
	display: block;
}

.jl-footer-brand p {
	margin-top: 18px;
	max-width: 360px;
}

@media (max-width: 782px) {
	.jl-logo--header-corrected {
		width: 205px;
	}

	.jl-logo--footer-horizontal {
		width: 240px;
	}
}


/* =========================================================
   Página Contacto v0.4.0
   ========================================================= */

.jl-contact-page {
	--jlc-cream: #FAF8F6;
	--jlc-warm: #F4EDE4;
	--jlc-warm-2: #EDE2D6;
	--jlc-white: #FFFFFF;
	--jlc-graphite: #2B2B2E;
	--jlc-graphite-soft: #3A393D;
	--jlc-muted: #5E5E62;
	--jlc-line: rgba(43,43,46,.12);
	--jlc-orange: #F18420;
	--jlc-page-pad: clamp(22px, 5.5vw, 96px);
	background: var(--jlc-cream);
	color: var(--jlc-graphite);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	overflow: hidden;
}

.jlc-hero,
.jlc-section,
.jlc-received {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.jlc-hero h1,
.jlc-section h2,
.jlc-section h3,
.jlc-received h1 {
	margin-top: 0;
	color: var(--jlc-graphite);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-weight: 560;
	letter-spacing: -.032em;
}

.jlc-hero {
	display: grid;
	grid-template-columns: minmax(0, 55vw) minmax(0, 45vw);
	align-items: stretch;
	min-height: calc(82vh - 88px);
	background: linear-gradient(90deg, var(--jlc-cream) 0%, var(--jlc-cream) 55%, var(--jlc-warm) 55%, var(--jlc-warm) 100%);
}

.jlc-hero__copy {
	align-self: center;
	padding: clamp(70px, 8vw, 126px) clamp(38px, 7vw, 116px) clamp(70px, 8vw, 126px) var(--jlc-page-pad);
}

.jlc-hero__copy .jlr-eyebrow {
	margin-bottom: 24px;
}

.jlc-hero h1 {
	max-width: 850px;
	font-size: clamp(40px, 4.6vw, 64px);
	line-height: 1.04;
}

.jlc-hero .jlr-lead {
	max-width: 720px;
	margin: 26px 0 26px;
}

.jlc-hero__media {
	padding: clamp(58px, 7vw, 106px) var(--jlc-page-pad) clamp(58px, 7vw, 106px) 0;
	display: flex;
	align-items: center;
}

.jlc-hero__media img {
	width: min(100%, 680px);
	aspect-ratio: 7 / 6;
	object-fit: cover;
	object-position: center 28%;
	display: block;
	border: 1px solid var(--jlc-line);
	margin-left: auto;
}

.jlc-section {
	padding: clamp(72px, 8.5vw, 128px) var(--jlc-page-pad);
}

.jlc-intro {
	max-width: 1020px;
	margin-bottom: clamp(36px, 5vw, 70px);
}

.jlc-intro h2 {
	max-width: 880px;
	margin-top: 16px;
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.06;
}

.jlc-intro p:not(.jlr-eyebrow),
.jlc-form-copy > p,
.jlc-no-fit > p,
.jlc-cta p,
.jlc-received p {
	max-width: 790px;
	color: var(--jlc-muted);
	font-size: clamp(17px, 1.15vw, 20px);
	line-height: 1.62;
}

.jlc-section--fit {
	background: linear-gradient(180deg, var(--jlc-warm) 0%, var(--jlc-cream) 100%);
}

.jlc-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.3vw, 30px);
}

.jlc-cards article,
.jlc-steps article {
	background: rgba(255,255,255,.78);
	border: 1px solid var(--jlc-line);
	padding: clamp(26px, 3.2vw, 42px);
	min-height: 260px;
}

.jlc-cards span,
.jlc-steps span {
	display: block;
	color: var(--jlc-orange);
	font-size: 13px;
	font-weight: 820;
	letter-spacing: .12em;
}

.jlc-cards h3,
.jlc-steps h3 {
	margin: 22px 0 12px;
	font-size: clamp(23px, 2vw, 32px);
	line-height: 1.14;
}

.jlc-cards p,
.jlc-steps p {
	margin: 0;
	color: var(--jlc-muted);
	line-height: 1.58;
}

.jlc-section--form {
	background: var(--jlc-cream);
}

.jlc-form-layout {
	display: grid;
	grid-template-columns: minmax(360px, .75fr) minmax(0, 1.25fr);
	gap: clamp(34px, 6vw, 100px);
	align-items: start;
}

.jlc-form-copy {
	position: sticky;
	top: 124px;
}

.jlc-form-copy h2 {
	max-width: 720px;
	margin: 16px 0 24px;
	font-size: clamp(32px, 3.6vw, 54px);
	line-height: 1.07;
}

.jlc-form-copy-note {
	margin-top: 30px;
	border-left: 5px solid var(--jlc-orange);
	background: var(--jlc-warm);
	padding: clamp(22px, 3vw, 34px);
}

.jlc-form-copy-note p {
	margin: 0;
	color: var(--jlc-graphite);
	font-size: clamp(20px, 1.8vw, 28px);
	font-weight: 560;
	line-height: 1.22;
	letter-spacing: -.024em;
}

.jlc-form-panel {
	background: rgba(255,255,255,.88);
	border: 1px solid var(--jlc-line);
	padding: clamp(28px, 4vw, 52px);
}

.jlc-form-notice {
	margin-bottom: 24px;
	padding: 16px 18px;
	border-left: 5px solid var(--jlc-orange);
	background: var(--jlc-warm);
	color: var(--jlc-graphite);
	font-weight: 620;
}

.jlc-form {
	display: grid;
	gap: 22px;
}

.jlc-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.jlc-field {
	margin: 0;
}

.jlc-field label {
	display: block;
	margin-bottom: 9px;
	color: var(--jlc-graphite);
	font-size: 14px;
	font-weight: 720;
	letter-spacing: .01em;
}

.jlc-field label span {
	color: var(--jlc-orange);
}

.jlc-field input,
.jlc-field select,
.jlc-field textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(43,43,46,.18);
	background: #fff;
	color: var(--jlc-graphite);
	border-radius: 0;
	padding: 14px 15px;
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.4;
}

.jlc-field textarea {
	resize: vertical;
	min-height: 176px;
}

.jlc-field input:focus,
.jlc-field select:focus,
.jlc-field textarea:focus {
	outline: 2px solid var(--jlc-orange);
	outline-offset: 2px;
	border-color: var(--jlc-orange);
}

.jlc-field--honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.jlc-privacy {
	margin: 0;
	color: var(--jlc-muted);
	font-size: 14px;
	line-height: 1.45;
}

.jlc-privacy label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.jlc-privacy input {
	margin-top: 3px;
	accent-color: var(--jlc-orange);
}

.jlc-privacy a {
	color: var(--jlc-graphite);
	text-decoration-color: var(--jlc-orange);
}

.jlc-form-note {
	margin: -6px 0 0;
	color: var(--jlc-muted);
	font-size: 14px;
}

.jlc-submit {
	width: fit-content;
	cursor: pointer;
}

.jlc-section--expect {
	background: linear-gradient(90deg, var(--jlc-warm) 0%, var(--jlc-warm) 34%, var(--jlc-cream) 34%, var(--jlc-cream) 100%);
}

.jlc-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	background: rgba(255,255,255,.70);
	border-top: 1px solid var(--jlc-line);
	border-left: 1px solid var(--jlc-line);
	border-bottom: 1px solid var(--jlc-line);
}

.jlc-steps article {
	background: transparent;
	border: 0;
	border-right: 1px solid var(--jlc-line);
}

.jlc-section--no-fit {
	background: var(--jlc-cream);
}

.jlc-no-fit {
	max-width: 1080px;
}

.jlc-no-fit h2 {
	max-width: 930px;
	margin: 16px 0 24px;
	font-size: clamp(32px, 3.8vw, 56px);
	line-height: 1.06;
}

.jlc-no-fit-line {
	margin-top: clamp(30px, 4vw, 52px);
	padding-left: 26px;
	border-left: 5px solid var(--jlc-orange);
}

.jlc-no-fit-line p {
	margin: 0;
	max-width: 920px;
	color: var(--jlc-graphite);
	font-size: clamp(23px, 2.2vw, 36px);
	font-weight: 550;
	line-height: 1.18;
	letter-spacing: -.028em;
}

.jlc-section--cta {
	background: linear-gradient(180deg, var(--jlc-cream) 0%, var(--jlc-warm) 100%);
	padding-bottom: clamp(86px, 10vw, 150px);
}

.jlc-cta {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1fr);
	gap: clamp(34px, 7vw, 110px);
	align-items: center;
	background: rgba(255,255,255,.80);
	border: 1px solid var(--jlc-line);
	border-left: 5px solid var(--jlc-orange);
	padding: clamp(34px, 5.5vw, 72px);
}

.jlc-cta h2 {
	margin: 16px 0 0;
	font-size: clamp(32px, 3.4vw, 52px);
	line-height: 1.07;
}

.jlc-cta p {
	margin: 0 0 24px;
}

.jlc-received {
	min-height: calc(100vh - 88px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, var(--jlc-cream) 0%, var(--jlc-warm) 100%);
	padding: clamp(80px, 10vw, 150px) var(--jlc-page-pad);
}

.jlc-received-card {
	width: min(100%, 980px);
	background: rgba(255,255,255,.84);
	border: 1px solid var(--jlc-line);
	border-left: 5px solid var(--jlc-orange);
	padding: clamp(36px, 6vw, 86px);
}

.jlc-received h1 {
	max-width: 720px;
	margin: 16px 0 24px;
	font-size: clamp(42px, 5vw, 72px);
	line-height: 1.02;
}

.jlc-received-secondary {
	margin-top: 18px;
}

.jlc-received-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px 30px;
	margin-top: 34px;
}

@media (max-width: 1160px) {
	.jlc-hero,
	.jlc-form-layout,
	.jlc-cta {
		grid-template-columns: 1fr;
	}

	.jlc-hero {
		background: var(--jlc-cream);
		min-height: auto;
	}

	.jlc-hero__copy {
		padding-right: var(--jlc-page-pad);
		padding-bottom: 36px;
	}

	.jlc-hero__media {
		padding: 0 var(--jlc-page-pad) 72px;
	}

	.jlc-hero__media img {
		width: 100%;
		aspect-ratio: 16 / 10;
		margin-left: 0;
	}

	.jlc-form-copy {
		position: static;
	}

	.jlc-cards,
	.jlc-steps {
		grid-template-columns: 1fr;
	}

	.jlc-steps article {
		border-right: 1px solid var(--jlc-line);
		border-bottom: 1px solid var(--jlc-line);
		min-height: auto;
	}

	.jlc-steps article:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 760px) {
	.jl-contact-page {
		--jlc-page-pad: 20px;
	}

	.jlc-section {
		padding-block: 62px;
	}

	.jlc-hero__copy {
		padding-top: 56px;
	}

	.jlc-hero h1,
	.jlc-intro h2,
	.jlc-form-copy h2,
	.jlc-no-fit h2,
	.jlc-cta h2,
	.jlc-received h1 {
		font-size: clamp(34px, 9vw, 46px);
		letter-spacing: -.026em;
	}

	.jlc-form-grid {
		grid-template-columns: 1fr;
	}

	.jlc-form-panel,
	.jlc-cards article,
	.jlc-steps article,
	.jlc-cta,
	.jlc-received-card {
		padding: 26px 22px;
	}

	.jlc-submit {
		width: 100%;
	}

	.jlc-received-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.jlc-received-actions .jlr-button {
		width: 100%;
	}

	.jlc-no-fit-line p {
		font-size: clamp(22px, 6.5vw, 32px);
	}
}

/* =========================================================
   Página Sobre mí v0.5.0
   ========================================================= */

.jl-about-page {
	--jla-cream: #FAF8F6;
	--jla-warm: #F4EDE4;
	--jla-warm-2: #EDE2D6;
	--jla-white: #FFFFFF;
	--jla-graphite: #2B2B2E;
	--jla-graphite-soft: #3A393D;
	--jla-muted: #5E5E62;
	--jla-line: rgba(43,43,46,.12);
	--jla-orange: #F18420;
	--jla-page-pad: clamp(22px, 5.5vw, 96px);
	background: var(--jla-cream);
	color: var(--jla-graphite);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	overflow: hidden;
}

.jla-hero,
.jla-section {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.jla-hero h1,
.jla-section h2,
.jla-section h3 {
	margin-top: 0;
	color: var(--jla-graphite);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	font-weight: 560;
	letter-spacing: -.032em;
}

.jla-hero {
	display: grid;
	grid-template-columns: minmax(0, 56vw) minmax(0, 44vw);
	align-items: stretch;
	min-height: calc(86vh - 88px);
	background: linear-gradient(90deg, var(--jla-cream) 0%, var(--jla-cream) 56%, var(--jla-warm) 56%, var(--jla-warm) 100%);
}

.jla-hero__copy {
	align-self: center;
	padding: clamp(72px, 8vw, 132px) clamp(38px, 7vw, 116px) clamp(72px, 8vw, 132px) var(--jla-page-pad);
}

.jla-hero__copy .jlr-eyebrow {
	margin-bottom: 24px;
}

.jla-hero h1 {
	max-width: 900px;
	font-size: clamp(40px, 4.5vw, 64px);
	line-height: 1.04;
}

.jla-hero .jlr-lead {
	max-width: 760px;
	margin: 26px 0 18px;
}

.jla-hero__copy > p:not(.jlr-eyebrow):not(.jlr-lead) {
	max-width: 700px;
	color: var(--jla-muted);
	font-size: clamp(17px, 1.15vw, 20px);
	line-height: 1.62;
}

.jla-hero__media {
	padding: clamp(58px, 7vw, 106px) var(--jla-page-pad) clamp(58px, 7vw, 106px) 0;
	display: flex;
	align-items: center;
}

.jla-hero__media img {
	width: min(100%, 620px);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 42%;
	display: block;
	border: 1px solid var(--jla-line);
	margin-left: auto;
}

.jla-section {
	padding: clamp(72px, 8.5vw, 128px) var(--jla-page-pad);
}

.jla-intro {
	max-width: 1080px;
	margin-bottom: clamp(36px, 5vw, 70px);
}

.jla-intro h2,
.jla-editorial h2,
.jla-list-copy h2,
.jla-consulting h2,
.jla-walk h2,
.jla-cta h2 {
	max-width: 920px;
	margin-top: 16px;
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.06;
}

.jla-intro p:not(.jlr-eyebrow),
.jla-editorial > p,
.jla-list-copy > p,
.jla-consulting p,
.jla-walk p,
.jla-cta p {
	max-width: 820px;
	color: var(--jla-muted);
	font-size: clamp(17px, 1.15vw, 20px);
	line-height: 1.62;
}

.jla-intro--split,
.jla-list-layout,
.jla-consulting,
.jla-walk,
.jla-cta {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1fr);
	gap: clamp(34px, 7vw, 110px);
	align-items: start;
}

.jla-intro--split p:not(.jlr-eyebrow) {
	margin-top: 0;
}

.jla-section--origin,
.jla-section--experience,
.jla-section--formation,
.jla-section--speaker,
.jla-section--walk {
	background: linear-gradient(180deg, var(--jla-warm) 0%, var(--jla-cream) 100%);
}

.jla-section--trajectory,
.jla-section--international,
.jla-section--cases,
.jla-section--consulting {
	background: var(--jla-cream);
}

.jla-editorial {
	max-width: 1060px;
}

.jla-statement,
.jla-line-close {
	margin-top: clamp(34px, 5vw, 62px);
	width: min(100%, 960px);
	padding-left: 26px;
	border-left: 5px solid var(--jla-orange);
}

.jla-statement p,
.jla-line-close p {
	margin: 0;
	color: var(--jla-graphite);
	font-size: clamp(25px, 2.5vw, 40px);
	font-weight: 540;
	line-height: 1.16;
	letter-spacing: -.028em;
}

.jla-timeline {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	background: rgba(255,255,255,.70);
	border-top: 1px solid var(--jla-line);
	border-left: 1px solid var(--jla-line);
	border-bottom: 1px solid var(--jla-line);
}

.jla-timeline article,
.jla-grid article,
.jla-countries article,
.jla-list article,
.jla-cases article,
.jla-principles article {
	background: rgba(255,255,255,.78);
	border: 1px solid var(--jla-line);
	padding: clamp(26px, 3.2vw, 42px);
}

.jla-timeline article {
	background: transparent;
	border: 0;
	border-right: 1px solid var(--jla-line);
	min-height: 320px;
}

.jla-timeline span,
.jla-countries span,
.jla-principles span,
.jla-case-label {
	display: block;
	color: var(--jla-orange);
	font-size: 13px;
	font-weight: 820;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.jla-timeline h3,
.jla-grid h3,
.jla-countries h3,
.jla-list h3,
.jla-cases h3,
.jla-principles h3 {
	margin: 22px 0 12px;
	font-size: clamp(23px, 2vw, 32px);
	line-height: 1.14;
}

.jla-timeline p,
.jla-grid p,
.jla-countries p,
.jla-list p,
.jla-cases p,
.jla-principles p {
	margin: 0;
	color: var(--jla-muted);
	line-height: 1.58;
}

.jla-grid {
	display: grid;
	gap: clamp(18px, 2.3vw, 30px);
}

.jla-grid--six {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jla-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jla-countries {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	background: rgba(255,255,255,.70);
	border-top: 1px solid var(--jla-line);
	border-left: 1px solid var(--jla-line);
	border-bottom: 1px solid var(--jla-line);
}

.jla-countries article {
	background: transparent;
	border: 0;
	border-right: 1px solid var(--jla-line);
	min-height: 220px;
}

.jla-countries p {
	margin-top: 20px;
}

.jla-list-copy {
	position: sticky;
	top: 124px;
}

.jla-list {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--jla-line);
}

.jla-list article {
	background: rgba(255,255,255,.80);
	border: 0;
	border-bottom: 1px solid var(--jla-line);
	padding: clamp(22px, 3vw, 34px) 0;
}

.jla-list h3 {
	margin: 0 0 8px;
}

.jla-line-close {
	margin-top: clamp(40px, 5vw, 70px);
}

.jla-cases {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 38px);
}

.jla-cases article {
	background: rgba(255,255,255,.82);
}

.jla-case-label {
	margin: 0 0 18px;
}

.jla-cases h3 {
	margin-top: 0;
	font-size: clamp(28px, 2.8vw, 44px);
}

.jla-case-block {
	padding: 20px 0;
	border-top: 1px solid var(--jla-line);
}

.jla-case-block strong {
	display: block;
	margin-bottom: 8px;
	color: var(--jla-graphite);
	font-size: 14px;
	font-weight: 780;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.jla-consulting {
	align-items: center;
	background: rgba(255,255,255,.78);
	border: 1px solid var(--jla-line);
	border-left: 5px solid var(--jla-orange);
	padding: clamp(34px, 5.5vw, 72px);
}

.jla-consulting h2 {
	margin-bottom: 0;
}

.jla-principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: clamp(26px, 4vw, 48px);
	background: rgba(255,255,255,.70);
	border-top: 1px solid var(--jla-line);
	border-left: 1px solid var(--jla-line);
	border-bottom: 1px solid var(--jla-line);
}

.jla-principles article {
	background: transparent;
	border: 0;
	border-right: 1px solid var(--jla-line);
}

.jla-walk,
.jla-cta {
	background: rgba(255,255,255,.80);
	border: 1px solid var(--jla-line);
	border-left: 5px solid var(--jla-orange);
	padding: clamp(34px, 5.5vw, 72px);
}

.jla-section--cta {
	background: linear-gradient(180deg, var(--jla-cream) 0%, var(--jla-warm) 100%);
	padding-bottom: clamp(86px, 10vw, 150px);
}

.jla-cta p {
	margin: 0 0 24px;
}

@media (max-width: 1160px) {
	.jla-hero,
	.jla-intro--split,
	.jla-list-layout,
	.jla-consulting,
	.jla-walk,
	.jla-cta {
		grid-template-columns: 1fr;
	}

	.jla-hero {
		background: var(--jla-cream);
		min-height: auto;
	}

	.jla-hero__copy {
		padding-right: var(--jla-page-pad);
		padding-bottom: 36px;
	}

	.jla-hero__media {
		padding: 0 var(--jla-page-pad) 72px;
	}

	.jla-hero__media img {
		width: 100%;
		aspect-ratio: 16 / 10;
		margin-left: 0;
		object-position: center 38%;
	}

	.jla-list-copy {
		position: static;
	}

	.jla-timeline,
	.jla-grid--six,
	.jla-grid--three,
	.jla-countries,
	.jla-cases,
	.jla-principles {
		grid-template-columns: 1fr;
	}

	.jla-timeline article,
	.jla-countries article,
	.jla-principles article {
		border-right: 1px solid var(--jla-line);
		border-bottom: 1px solid var(--jla-line);
		min-height: auto;
	}

	.jla-timeline article:last-child,
	.jla-countries article:last-child,
	.jla-principles article:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 760px) {
	.jl-about-page {
		--jla-page-pad: 20px;
	}

	.jla-section {
		padding-block: 62px;
	}

	.jla-hero__copy {
		padding-top: 56px;
	}

	.jla-hero h1,
	.jla-intro h2,
	.jla-editorial h2,
	.jla-list-copy h2,
	.jla-consulting h2,
	.jla-walk h2,
	.jla-cta h2 {
		font-size: clamp(34px, 9vw, 46px);
		letter-spacing: -.026em;
	}

	.jla-timeline article,
	.jla-grid article,
	.jla-countries article,
	.jla-cases article,
	.jla-principles article,
	.jla-consulting,
	.jla-walk,
	.jla-cta {
		padding: 26px 22px;
	}

	.jla-statement p,
	.jla-line-close p {
		font-size: clamp(22px, 6.5vw, 32px);
	}

	.jla-cta .jlr-button {
		width: 100%;
	}
}

/* =========================================================
   Áreas de intervención v0.6.0
   ========================================================= */

.jl-areas-page {
	--jli-cream: #FAF8F6;
	--jli-warm: #F4EDE4;
	--jli-warm-2: #EDE2D6;
	--jli-white: #FFFFFF;
	--jli-graphite: #2B2B2E;
	--jli-graphite-soft: #3A393D;
	--jli-muted: #5E5E62;
	--jli-line: rgba(43,43,46,.12);
	--jli-orange: #F18420;
	--jli-page-pad: clamp(22px, 5.5vw, 96px);
	background: var(--jli-cream);
	color: var(--jli-graphite);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	overflow: hidden;
}

.jli-hero,
.jli-section {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.jli-hero h1,
.jli-section h2,
.jli-section h3 {
	margin-top: 0;
	color: var(--jli-graphite);
	font-family: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: -.032em;
}

.jli-hero {
	min-height: calc(100vh - 88px);
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(420px, .9fr);
	background: linear-gradient(90deg, var(--jli-cream) 0%, var(--jli-cream) 58%, var(--jli-warm) 58%, var(--jli-warm) 100%);
}

.jli-hero__copy {
	align-self: center;
	padding: clamp(72px, 8vw, 132px) clamp(38px, 7vw, 116px) clamp(72px, 8vw, 132px) var(--jli-page-pad);
}

.jli-hero__copy .jlr-eyebrow {
	margin-bottom: 26px;
}

.jli-hero h1 {
	max-width: 900px;
	font-size: clamp(42px, 4.8vw, 68px);
	font-weight: 560;
	line-height: 1.02;
}

.jli-hero .jlr-lead {
	max-width: 760px;
	margin: 26px 0 0;
}

.jli-hero__copy > p:not(.jlr-eyebrow):not(.jlr-lead) {
	max-width: 720px;
	margin: 18px 0 34px;
	color: var(--jli-muted);
	font-size: clamp(17px, 1.12vw, 19px);
	line-height: 1.62;
}

.jli-hero__panel {
	align-self: center;
	padding: clamp(58px, 7vw, 106px) var(--jli-page-pad) clamp(58px, 7vw, 106px) 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 24px);
}

.jli-panel-card {
	min-height: 210px;
	background: rgba(255,255,255,.76);
	border: 1px solid var(--jli-line);
	padding: clamp(24px, 3vw, 38px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.jli-panel-card--main {
	min-height: 310px;
	grid-row: span 2;
	background: var(--jli-graphite-soft);
}

.jli-panel-card--accent {
	border-left: 5px solid var(--jli-orange);
}

.jli-panel-card span {
	color: var(--jli-orange);
	font-size: 13px;
	font-weight: 820;
	letter-spacing: .12em;
}

.jli-panel-card p {
	margin: 0;
	color: var(--jli-graphite);
	font-size: clamp(22px, 2vw, 32px);
	font-weight: 560;
	line-height: 1.13;
	letter-spacing: -.03em;
}

.jli-panel-card--main p {
	color: var(--jli-cream);
}

.jli-section {
	padding: clamp(72px, 8.5vw, 128px) var(--jli-page-pad);
}

.jli-section--before,
.jli-section--entry,
.jli-section--walk {
	background: linear-gradient(180deg, var(--jli-warm) 0%, var(--jli-cream) 100%);
}

.jli-section--areas,
.jli-section--method {
	background: var(--jli-cream);
}

.jli-section--cta {
	background: linear-gradient(180deg, var(--jli-cream) 0%, var(--jli-warm) 100%);
	padding-bottom: clamp(86px, 10vw, 150px);
}

.jli-intro,
.jli-editorial {
	max-width: 1080px;
	margin-bottom: clamp(38px, 5vw, 72px);
}

.jli-intro h2,
.jli-editorial h2,
.jli-walk h2,
.jli-cta h2 {
	max-width: 900px;
	margin-top: 16px;
	font-size: clamp(32px, 3.6vw, 54px);
	font-weight: 560;
	line-height: 1.07;
}

.jli-intro p:not(.jlr-eyebrow),
.jli-editorial > p,
.jli-walk p,
.jli-cta p,
.jli-intro--split > p {
	max-width: 820px;
	color: var(--jli-muted);
	font-size: clamp(17px, 1.15vw, 20px);
	line-height: 1.62;
}

.jli-intro--split,
.jli-walk,
.jli-cta {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1fr);
	gap: clamp(34px, 7vw, 110px);
	align-items: center;
}

.jli-intro--split > p {
	margin: 0;
}

.jli-editorial {
	max-width: 980px;
}

.jli-statement {
	margin-top: clamp(34px, 5vw, 62px);
	padding-left: 26px;
	border-left: 5px solid var(--jli-orange);
}

.jli-statement p {
	margin: 0;
	color: var(--jli-graphite);
	font-size: clamp(25px, 2.5vw, 40px);
	font-weight: 540;
	line-height: 1.16;
	letter-spacing: -.028em;
}

.jli-area-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 2.2vw, 30px);
}

.jli-area-grid article {
	display: flex;
	flex-direction: column;
	background: rgba(255,255,255,.82);
	border: 1px solid var(--jli-line);
	padding: clamp(28px, 3.4vw, 46px);
	min-height: 620px;
}

.jli-area-grid article > span,
.jli-method-flow span {
	display: block;
	color: var(--jli-orange);
	font-size: 13px;
	font-weight: 820;
	letter-spacing: .12em;
}

.jli-area-grid h3 {
	margin: 24px 0 14px;
	font-size: clamp(26px, 2.55vw, 40px);
	font-weight: 560;
	line-height: 1.08;
}

.jli-card-title {
	margin: 0 0 18px;
	color: var(--jli-graphite);
	font-size: clamp(20px, 1.7vw, 27px);
	font-weight: 560;
	line-height: 1.18;
	letter-spacing: -.025em;
}

.jli-area-grid p:not(.jli-card-title) {
	color: var(--jli-muted);
	line-height: 1.58;
}

.jli-area-grid ul {
	margin: 22px 0 28px;
	padding: 22px 0 0 20px;
	border-top: 1px solid var(--jli-line);
	color: var(--jli-muted);
	line-height: 1.55;
}

.jli-area-grid li + li {
	margin-top: 8px;
}

.jli-area-grid .jlr-link {
	margin-top: auto;
}

.jli-entry-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.2vw, 30px);
}

.jli-entry-grid article {
	background: rgba(255,255,255,.76);
	border: 1px solid var(--jli-line);
	border-left: 5px solid var(--jli-orange);
	padding: clamp(26px, 3vw, 38px);
}

.jli-entry-grid h3 {
	margin: 0 0 14px;
	font-size: clamp(22px, 1.9vw, 32px);
	font-weight: 560;
	line-height: 1.12;
}

.jli-entry-grid p {
	margin: 0;
	color: var(--jli-muted);
	line-height: 1.58;
}

.jli-method-flow {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	background: rgba(255,255,255,.68);
	border: 1px solid var(--jli-line);
}

.jli-method-flow article {
	padding: clamp(24px, 3vw, 38px);
	border-right: 1px solid var(--jli-line);
}

.jli-method-flow article:last-child {
	border-right: 0;
}

.jli-method-flow h3 {
	margin: 22px 0 14px;
	font-size: clamp(23px, 2vw, 32px);
	font-weight: 600;
	line-height: 1.12;
}

.jli-method-flow p {
	margin: 0;
	color: var(--jli-muted);
	line-height: 1.58;
}

.jli-walk {
	background: rgba(255,255,255,.76);
	border: 1px solid var(--jli-line);
	padding: clamp(34px, 5.5vw, 72px);
}

.jli-walk > div:first-child,
.jli-cta {
	border-left: 5px solid var(--jli-orange);
}

.jli-walk > div:first-child {
	padding-left: clamp(22px, 3vw, 36px);
}

.jli-cta {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1fr);
	gap: clamp(34px, 7vw, 110px);
	align-items: center;
	background: rgba(255,255,255,.80);
	border-top: 1px solid var(--jli-line);
	border-right: 1px solid var(--jli-line);
	border-bottom: 1px solid var(--jli-line);
	padding: clamp(34px, 5.5vw, 72px);
}

.jli-cta p {
	margin-bottom: 24px;
}

@media (max-width: 1160px) {
	.jli-hero,
	.jli-intro--split,
	.jli-walk,
	.jli-cta {
		grid-template-columns: 1fr;
	}

	.jli-hero {
		background: var(--jli-cream);
		min-height: auto;
	}

	.jli-hero__copy {
		padding-right: var(--jli-page-pad);
		padding-bottom: 38px;
	}

	.jli-hero__panel {
		padding: 0 var(--jli-page-pad) 72px;
	}

	.jli-area-grid,
	.jli-entry-grid {
		grid-template-columns: 1fr;
	}

	.jli-area-grid article {
		min-height: auto;
	}

	.jli-method-flow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.jl-areas-page {
		--jli-page-pad: 20px;
	}

	.jli-section {
		padding-block: 62px;
	}

	.jli-hero__copy {
		padding-top: 56px;
	}

	.jli-hero h1,
	.jli-section h2,
	.jli-walk h2,
	.jli-cta h2 {
		font-size: clamp(34px, 9vw, 46px);
		letter-spacing: -.026em;
	}

	.jli-hero__panel {
		grid-template-columns: 1fr;
	}

	.jli-panel-card,
	.jli-panel-card--main {
		min-height: 160px;
	}

	.jli-area-grid article,
	.jli-entry-grid article,
	.jli-walk,
	.jli-cta {
		padding: 26px 22px;
	}

	.jli-method-flow {
		grid-template-columns: 1fr;
	}

	.jli-method-flow article {
		border-right: 0;
		border-bottom: 1px solid var(--jli-line);
	}

	.jli-method-flow article:last-child {
		border-bottom: 0;
	}

	.jli-statement p {
		font-size: clamp(22px, 6.5vw, 32px);
	}
}


/* Ajustes v0.6.1 — refinamiento visual página Áreas de intervención */
.jli-section--before {
	padding-bottom: clamp(42px, 5vw, 64px);
}

.jli-section--before .jli-editorial {
	max-width: 1240px;
	margin-bottom: 0;
}

.jli-section--before .jli-editorial h2 {
	max-width: 1120px;
}

.jli-section--before .jli-editorial > p {
	max-width: 980px;
}

.jli-section--before .jli-statement {
	max-width: 1200px;
}

.jli-section--areas {
	padding-top: clamp(26px, 3vw, 44px);
}

.jli-section--method .jli-intro--split {
	grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
	align-items: start;
}

.jli-section--method .jli-intro--split > div {
	max-width: 820px;
}

.jli-section--method .jli-intro--split h2 {
	max-width: none;
}

.jli-section--method .jli-intro--split > p {
	max-width: 620px;
	padding-top: 10px;
}

@media (max-width: 1160px) {
	.jli-section--before {
		padding-bottom: 56px;
	}

	.jli-section--areas {
		padding-top: 56px;
	}

	.jli-section--method .jli-intro--split > div,
	.jli-section--method .jli-intro--split > p {
		max-width: none;
		padding-top: 0;
	}
}


/* Ajuste v0.6.2 — forzar el titular de forma de trabajo en dos líneas en escritorio */
.jli-section--method .jli-intro--split {
	grid-template-columns: minmax(760px, 1.5fr) minmax(300px, .7fr);
}

.jli-section--method .jli-title-line {
	display: block;
	white-space: nowrap;
}

@media (max-width: 1160px) {
	.jli-section--method .jli-intro--split {
		grid-template-columns: 1fr;
	}

	.jli-section--method .jli-title-line {
		white-space: normal;
	}
}


/* Ajuste v0.6.3 — evitar solape y desplazar el texto de apoyo a la derecha */
.jli-section--method .jli-intro--split {
	grid-template-columns: minmax(1000px, 1fr) minmax(420px, 420px);
	column-gap: clamp(96px, 8vw, 150px);
	align-items: start;
}

.jli-section--method .jli-intro--split > div {
	max-width: none;
	min-width: 0;
}

.jli-section--method .jli-intro--split > p {
	max-width: 420px;
	justify-self: end;
	padding-top: 18px;
}

@media (max-width: 1480px) {
	.jli-section--method .jli-intro--split {
		grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr);
		column-gap: clamp(48px, 6vw, 96px);
	}

	.jli-section--method .jli-title-line {
		white-space: normal;
	}
}

/* =========================================================
   Home · cierre funcional v1.5.2
   - Sustituye el aviso provisional de Historias de decisión
     por una lista de historias realmente publicadas.
   - Evita el desbordamiento del CTA final en móvil.
   ========================================================= */

.jlr-story-note--published > .jlr-story-note__label {
	display: block;
	color: var(--jlr-orange);
	font-size: 13px;
	font-weight: 820;
	letter-spacing: .12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.jlr-home-story-list {
	margin: 20px 0 14px;
	border-top: 1px solid var(--jlr-line);
}

.jlr-home-story-link {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 20px;
	gap: 14px;
	align-items: start;
	padding: 16px 0;
	border-bottom: 1px solid var(--jlr-line);
	color: var(--jlr-text);
	text-decoration: none;
}

.jlr-home-story-link:hover,
.jlr-home-story-link:focus-visible {
	color: var(--jlr-text);
	text-decoration: none;
}

.jlr-story-note .jlr-home-story-index,
.jlr-story-note .jlr-home-story-arrow {
	display: block;
	color: var(--jlr-orange);
	font-size: 12px;
	font-weight: 820;
	letter-spacing: .08em;
	line-height: 1.45;
}

.jlr-home-story-title {
	color: var(--jlr-text);
	font-size: 16px;
	font-weight: 620;
	line-height: 1.38;
}

.jlr-story-note .jlr-home-story-arrow {
	font-size: 17px;
	letter-spacing: 0;
	text-align: right;
}

.jlr-button {
	box-sizing: border-box;
	max-width: 100%;
}

@media (max-width: 760px) {
	.jlr-cta > div {
		min-width: 0;
	}

	.jlr-cta .jlr-button {
		width: 100%;
		max-width: 100%;
		padding-inline: 18px;
		white-space: normal;
		line-height: 1.25;
		text-align: center;
	}

	.jlr-home-story-link {
		grid-template-columns: 28px minmax(0, 1fr) 18px;
		gap: 10px;
	}
}

/* =========================================================
   Áreas de intervención · corrección responsive v1.5.3
   - El bloque «Forma de trabajo» nunca supera el ancho útil.
   - En móvil apila titular y texto de apoyo sin solapes.
   ========================================================= */

.jli-section--method .jli-intro--split {
	width: 100%;
	max-width: none;
	grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr);
	column-gap: clamp(42px, 5vw, 78px);
	align-items: start;
}

.jli-section--method .jli-intro--split > div,
.jli-section--method .jli-intro--split > p {
	min-width: 0;
}

.jli-section--method .jli-intro--split > p {
	width: 100%;
	max-width: 420px;
	justify-self: end;
	padding-top: 18px;
}

@media (max-width: 1160px) {
	.jli-section--method .jli-intro--split {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 26px;
		column-gap: 0;
	}

	.jli-section--method .jli-intro--split > p {
		max-width: 760px;
		justify-self: start;
		padding-top: 0;
	}

	.jli-section--method .jli-title-line {
		white-space: normal;
	}
}

@media (max-width: 760px) {
	.jli-section--method .jli-intro--split {
		row-gap: 22px;
	}

	.jli-section--method .jli-intro--split h2 {
		max-width: 100%;
		font-size: clamp(34px, 9vw, 42px);
		line-height: 1.04;
	}

	.jli-section--method .jli-intro--split > p {
		font-size: 17px;
		line-height: 1.58;
	}
}

/* =========================================================
   Áreas de intervención · ajuste final escritorio v1.5.4
   - Mantiene intacta la versión móvil validada en v1.5.3.
   - Separa de forma inequívoca titular y texto de apoyo.
   - Reduce solo en escritorio el cuerpo del titular para que
     permanezca dentro de su columna sin invadir la contigua.
   ========================================================= */

@media (min-width: 1161px) {
	.jli-section--method .jli-intro--split {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
		column-gap: clamp(56px, 5vw, 84px);
		align-items: start;
	}

	.jli-section--method .jli-intro--split h2 {
		max-width: 980px;
		font-size: clamp(42px, 3vw, 48px);
		line-height: 1.08;
	}

	.jli-section--method .jli-title-line {
		white-space: normal;
	}

	.jli-section--method .jli-intro--split > p {
		max-width: 380px;
		padding-top: 18px;
	}
}


/* =========================================================
   Áreas de intervención · breakpoint portátil v1.5.5
   - Mantiene la composición de dos columnas en monitores amplios.
   - Entre 1161 y 1700 px apila el texto de apoyo bajo el titular,
     evitando que ambos compitan por el ancho disponible.
   - No modifica la versión móvil validada.
   ========================================================= */

@media (min-width: 1161px) and (max-width: 1700px) {
	.jli-section--method .jli-intro--split {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 28px;
		column-gap: 0;
	}

	.jli-section--method .jli-intro--split h2 {
		max-width: 1120px;
		font-size: clamp(40px, 3.2vw, 46px);
		line-height: 1.08;
	}

	.jli-section--method .jli-intro--split > p {
		max-width: 760px;
		justify-self: start;
		padding-top: 0;
	}
}

/* =========================================================
   Navegación móvil · panel completo v1.5.11
   - Convierte el menú nativo de WordPress en una capa fija
     que ocupa toda la ventana, independientemente del scroll.
   - El desplazamiento queda dentro del propio menú.
   - Muestra la jerarquía completa de Áreas de intervención.
   ========================================================= */

@media (max-width: 782px) {
	html.jl-mobile-menu-open,
	body.jl-mobile-menu-open {
		overflow: hidden !important;
		overscroll-behavior: none;
	}

	.jl-site-header {
		z-index: 100000;
	}

	.jl-site-header .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		position: fixed !important;
		inset: 0 !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		z-index: 100001 !important;
		width: 100vw !important;
		max-width: none !important;
		height: 100vh !important;
		height: 100dvh !important;
		min-height: 100vh !important;
		margin: 0 !important;
		padding: 0 !important;
		background: var(--jl-blanco-calido) !important;
		color: var(--jl-grafito) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-y;
	}

	.admin-bar .jl-site-header .wp-block-navigation__responsive-container.is-menu-open {
		top: 0 !important;
	}

	.jl-site-header .wp-block-navigation__responsive-close,
	.jl-site-header .wp-block-navigation__responsive-dialog {
		width: 100% !important;
		min-height: 100% !important;
		margin: 0 !important;
	}

	.jl-site-header .wp-block-navigation__responsive-dialog {
		display: flex !important;
		flex-direction: column !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-close {
		position: fixed !important;
		top: max(20px, env(safe-area-inset-top)) !important;
		right: 22px !important;
		z-index: 100003 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 48px !important;
		height: 48px !important;
		padding: 0 !important;
		border: 1px solid var(--jl-gris-claro) !important;
		border-radius: 50% !important;
		background: var(--jl-blanco-calido) !important;
		color: var(--jl-grafito) !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-close svg {
		width: 24px !important;
		height: 24px !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex: 1 0 auto !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: min(100%, 680px) !important;
		max-width: 680px !important;
		margin: 0 auto !important;
		padding: max(92px, calc(env(safe-area-inset-top) + 74px)) 24px max(40px, calc(env(safe-area-inset-bottom) + 24px)) !important;
		box-sizing: border-box !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		border-bottom: 1px solid var(--jl-gris-claro) !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
	.jl-site-header .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		min-height: 62px !important;
		padding: 10px 0 !important;
		color: var(--jl-grafito) !important;
		font-size: clamp(20px, 5.8vw, 24px) !important;
		font-weight: 600 !important;
		line-height: 1.25 !important;
		text-align: left !important;
		text-decoration: none !important;
		white-space: normal !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content::after {
		display: none !important;
	}

	/* En móvil la sección completa queda visible, sin depender de un segundo gesto. */
	.jl-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		display: none !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
		display: flex !important;
		position: static !important;
		inset: auto !important;
		flex-direction: column !important;
		align-items: stretch !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 0 12px 18px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item {
		display: block !important;
		width: 100% !important;
		border: 0 !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		min-height: 46px !important;
		padding: 8px 0 !important;
		color: var(--jl-grafito-2) !important;
		font-size: 17px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		white-space: normal !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content .jl-nav-cta {
		margin-top: 24px !important;
		border-bottom: 0 !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content .jl-nav-cta > .wp-block-navigation-item__content {
		justify-content: center !important;
		min-height: 52px !important;
		padding: 14px 20px !important;
		background: var(--jl-grafito) !important;
		color: var(--jl-blanco-calido) !important;
		font-size: 17px !important;
		text-align: center !important;
	}
}

@media (max-width: 782px) {
	.jl-site-header .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle {
		appearance: none !important;
		-webkit-appearance: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .jl-nav-cta > .wp-block-navigation-item__content {
		justify-content: center !important;
		min-height: 52px !important;
		padding: 14px 20px !important;
		background: var(--jl-grafito) !important;
		color: var(--jl-blanco-calido) !important;
		font-size: 17px !important;
		font-weight: 600 !important;
		line-height: 1.25 !important;
		text-align: center !important;
	}
}


/* =========================================================
   Navegación móvil · CTA contenido v1.5.12
   - El ancho del botón Contactar incluye su padding.
   - Impide que el CTA exceda los márgenes del panel.
   ========================================================= */

@media (max-width: 782px) {
	.jl-site-header .wp-block-navigation__responsive-container-content .jl-nav-cta {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.jl-site-header .wp-block-navigation__responsive-container-content .jl-nav-cta > .wp-block-navigation-item__content {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}
}
