/*
Theme Name:   URTEXT Online
Theme URI:    https://urtextonline.com
Description:  Tema propio de URTEXT. Se encarga solo del aspecto; los Discos, sus datos y el URTEXT Builder vienen del plugin "URTEXT Online".
Version:      0.1.0
Requires at least: 6.5
Requires PHP: 8.0
Author:       URTEXT
Text Domain:  urtextonline_theme
*/

/* ---------- Tokens ---------- */
:root {
	--bg: #00020a;
	--bg-raised: #0d0f17;
	--bg-header: rgba(10, 11, 16, .86);
	--line: rgba(255, 255, 255, .12);
	--text: #ecebf1;
	--text-muted: #a3a2ad;
	--accent: #a92fe2;
	--accent-hover: #bd5cf0;

	--font-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-display: "Cormorant Garamond", Georgia, serif;

	--content: 1240px;
	--narrow: 760px;
	--gutter: clamp(16px, 4vw, 32px);
	--header-h: 76px;

	/* Plugin tokens follow the theme. */
	--urtext-accent: var(--accent);
	--urtext-accent-contrast: #fff;
	--urtext-muted: var(--text-muted);
	--urtext-surface: var(--bg-raised);
	--urtext-content-width: var(--content);
	--urtext-font-sans: var(--font-sans);
	--urtext-font-serif: var(--font-display);
	--urtext-font-display: var(--font-display);
}

/* ---------- Base ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: calc(var(--header-h) + 16px);
}
body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
img,
video {
	max-width: 100%;
	height: auto;
}
a {
	color: var(--accent-hover);
	text-underline-offset: 3px;
}
a:hover {
	color: #fff;
}
h1,
h2,
h3,
h4 {
	font-family: var(--font-display);
	font-weight: 600;
	line-height: 1.15;
	color: #fff;
}
:focus-visible {
	outline: 2px solid var(--accent-hover);
	outline-offset: 3px;
}
::selection {
	background: var(--accent);
	color: #fff;
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.skip-link {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 100;
	padding: 10px 16px;
	background: #fff;
	color: #000;
}
.skip-link:focus {
	top: 16px;
}

/* ---------- Layout ---------- */
.container {
	width: 100%;
	max-width: calc(var(--content) + var(--gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--gutter);
}
.container--narrow {
	max-width: calc(var(--narrow) + var(--gutter) * 2);
}
.site-main {
	min-height: 60vh;
	padding-bottom: 80px;
}

.page-header {
	padding: 64px 0 36px;
}
.page-header--center {
	text-align: center;
}
.page-title {
	margin: 0;
	font-size: clamp(2.25rem, 5vw, 3.75rem);
}
.page-intro {
	max-width: 640px;
	margin: 16px auto 0;
	color: var(--text-muted);
}
.eyebrow {
	margin: 0 0 12px;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--accent-hover);
}
.eyebrow a {
	color: inherit;
	text-decoration: none;
}
.section-title {
	margin: 0 0 28px;
	font-size: clamp(1.6rem, 3vw, 2.25rem);
}

/* ---------- Header ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--bg-header);
	-webkit-backdrop-filter: saturate(140%) blur(12px);
	backdrop-filter: saturate(140%) blur(12px);
	border-bottom: 1px solid transparent;
	transition: border-color .2s ease;
}
.admin-bar .site-header {
	top: 32px;
}
.site-header.is-scrolled {
	border-bottom-color: var(--line);
}
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: calc(var(--content) + var(--gutter) * 2);
	min-height: var(--header-h);
	margin: 0 auto;
	padding: 0 var(--gutter);
}
.custom-logo-link {
	display: block;
	line-height: 0;
}
.custom-logo {
	width: auto;
	max-height: 34px;
}
.site-title {
	font-family: var(--font-display);
	font-size: 1.5rem;
	color: #fff;
	line-height: 1;
}

.site-nav {
	display: flex;
	align-items: center;
	gap: 20px;
}
.site-nav__menu,
.site-nav__menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-nav__menu {
	display: flex;
	align-items: center;
	gap: 4px;
}
.site-nav__menu > li {
	position: relative;
}
.site-nav__menu a {
	display: block;
	padding: 10px 12px;
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--text);
}
.site-nav__menu a:hover,
.site-nav__menu .current-menu-item > a,
.site-nav__menu .current-menu-ancestor > a {
	color: var(--accent-hover);
}
.site-nav__menu .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
}
.site-nav__menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	padding: 8px;
	background: var(--bg-raised);
	border: 1px solid var(--line);
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.site-nav__menu li:hover > .sub-menu,
.site-nav__menu li:focus-within > .sub-menu,
.site-nav__menu li.is-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.site-nav__menu .sub-menu a {
	padding: 8px 12px;
	border-radius: 4px;
	letter-spacing: .04em;
	text-transform: none;
	font-weight: 500;
	font-size: .875rem;
}
.site-nav__menu .sub-menu a:hover {
	background: rgba(255, 255, 255, .06);
}

.site-search input {
	width: 160px;
	padding: 8px 14px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: transparent;
	color: var(--text);
	font: inherit;
	font-size: .875rem;
	transition: width .2s ease, border-color .2s ease;
}
.site-search input:focus {
	width: 220px;
	border-color: var(--accent);
	outline: none;
}

.menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--text);
	cursor: pointer;
}
.menu-toggle__bars,
.menu-toggle__bars::before,
.menu-toggle__bars::after {
	display: block;
	width: 24px;
	height: 2px;
	margin: 0 auto;
	background: currentColor;
	transition: transform .2s ease, opacity .2s ease;
}
.menu-toggle__bars {
	position: relative;
}
.menu-toggle__bars::before,
.menu-toggle__bars::after {
	content: "";
	position: absolute;
	left: 0;
}
.menu-toggle__bars::before {
	top: -7px;
}
.menu-toggle__bars::after {
	top: 7px;
}
.menu-toggle[aria-expanded="true"] .menu-toggle__bars {
	background: transparent;
}
.menu-toggle[aria-expanded="true"] .menu-toggle__bars::before {
	transform: translateY(7px) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] .menu-toggle__bars::after {
	transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 980px) {
	.menu-toggle {
		display: block;
	}
	.site-nav {
		position: fixed;
		inset: var(--header-h) 0 0;
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
		padding: 24px var(--gutter) 48px;
		overflow-y: auto;
		background: var(--bg);
		opacity: 0;
		visibility: hidden;
		transition: opacity .2s ease, visibility .2s;
	}
	.admin-bar .site-nav {
		top: calc(var(--header-h) + 46px);
	}
	.menu-open .site-nav {
		opacity: 1;
		visibility: visible;
	}
	.menu-open {
		overflow: hidden;
	}
	.site-nav__menu {
		flex-direction: column;
		align-items: stretch;
	}
	.site-nav__menu a {
		padding: 14px 0;
		font-size: 1rem;
		border-bottom: 1px solid var(--line);
	}
	.site-nav__menu .sub-menu {
		position: static;
		display: none;
		min-width: 0;
		padding: 0 0 8px 16px;
		border: 0;
		background: none;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}
	.site-nav__menu li.is-open > .sub-menu {
		display: block;
	}
	.site-search input,
	.site-search input:focus {
		width: 100%;
		padding: 12px 16px;
		font-size: 1rem;
	}
}
@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}
@media (max-width: 600px) {
	.admin-bar .site-header {
		top: 0;
	}
}

/* ---------- Footer ---------- */
.site-footer {
	border-top: 1px solid var(--line);
	background: var(--bg-raised);
	color: var(--text-muted);
	font-size: .9375rem;
}
.site-footer__inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 40px;
	max-width: calc(var(--content) + var(--gutter) * 2);
	margin: 0 auto;
	padding: 56px var(--gutter);
}
.site-footer__brand p {
	margin: 16px 0 0;
}
.site-footer__menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-footer__menu a,
.site-footer a {
	color: var(--text);
	text-decoration: none;
}
.site-footer__menu a:hover {
	color: var(--accent-hover);
}
.site-footer__menu li + li {
	margin-top: 8px;
}
.site-footer__title {
	margin: 0 0 12px;
	font-size: 1.125rem;
}
.site-footer__bottom {
	padding: 20px var(--gutter);
	border-top: 1px solid var(--line);
	text-align: center;
	font-size: .8125rem;
}
.site-footer__bottom p {
	margin: 0;
}

/* ---------- Content ---------- */
.entry-content > *:first-child {
	margin-top: 0;
}
.entry-content h2 {
	margin: 2em 0 .5em;
	font-size: 2rem;
}
.entry-content h3 {
	margin: 1.75em 0 .5em;
	font-size: 1.5rem;
}
.entry-content blockquote {
	margin: 2em 0;
	padding-left: 24px;
	border-left: 2px solid var(--accent);
	font-family: var(--font-display);
	font-size: 1.375rem;
	font-style: italic;
}
.entry-hero {
	margin: 0 0 40px;
}
.entry-hero img {
	display: block;
	width: 100%;
	border-radius: 8px;
}

.post-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 32px;
}
.entry-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.entry-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 6px;
}
.entry-card__type {
	display: block;
	margin-top: 14px;
	font-size: .75rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--accent-hover);
}
.entry-card__title {
	margin: 6px 0 0;
	font-size: 1.375rem;
}
.entry-card__excerpt {
	margin: 8px 0 0;
	color: var(--text-muted);
	font-size: .9375rem;
}

.search-form {
	display: flex;
	gap: 8px;
	max-width: 520px;
	margin-top: 20px;
}
.page-header--center .search-form,
.page-404 .search-form {
	margin-left: auto;
	margin-right: auto;
}
.search-form label {
	flex: 1;
}
.search-form .search-field {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid var(--line);
	border-radius: 6px;
	background: var(--bg-raised);
	color: var(--text);
	font: inherit;
}
.search-form .search-submit {
	padding: 12px 20px;
	border: 0;
	border-radius: 6px;
	background: var(--accent);
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.page-404__actions {
	margin-top: 32px;
	text-align: center;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 48px;
}
.nav-links a,
.nav-links span {
	padding: 8px 14px;
	border: 1px solid var(--line);
	border-radius: 6px;
	color: var(--text);
	text-decoration: none;
}
.nav-links .current {
	border-color: var(--accent);
	background: var(--accent);
}

/* ---------- Catalog ---------- */
.category-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 0 40px;
}
.category-nav a {
	padding: 8px 18px;
	border: 1px solid var(--line);
	border-radius: 999px;
	color: var(--text);
	font-size: .875rem;
	text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease;
}
.category-nav a:hover {
	border-color: var(--accent);
}
.category-nav a[aria-current="page"] {
	border-color: var(--accent);
	background: var(--accent);
	color: #fff;
}
.urtext-catalog__search {
	border-color: var(--line);
	background: var(--bg-raised);
	color: var(--text);
}
.urtext-catalog__tools {
	justify-content: flex-end;
}
.urtext-disco-card__title {
	font-family: var(--font-sans);
	font-weight: 600;
	color: #fff;
}

/* ---------- Single disco ---------- */
.disco__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: clamp(32px, 6vw, 80px);
	align-items: start;
	padding-top: 56px;
	padding-bottom: 56px;
}
.disco__media {
	position: sticky;
	top: calc(var(--header-h) + 24px);
}
.disco__cover {
	margin: 0;
}
.disco__cover img,
.disco__back img {
	display: block;
	width: 100%;
	border-radius: 6px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, .5);
}
.disco__back {
	margin-top: 16px;
}
.disco__back summary {
	cursor: pointer;
	color: var(--text-muted);
	font-size: .875rem;
}
.disco__back img {
	margin-top: 12px;
}
.disco__title {
	margin: 0 0 32px;
	font-size: clamp(2rem, 4vw, 3.25rem);
}
.disco__credits {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 12px 28px;
	margin: 0 0 36px;
	padding: 24px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.disco__credits dt {
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--text-muted);
	padding-top: 3px;
}
.disco__credits dd {
	margin: 0;
}
.disco__subtitle {
	margin: 0;
	font-family: var(--font-sans);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.disco__booklet {
	margin-top: 28px;
}
.disco__description {
	padding-top: 24px;
	padding-bottom: 24px;
}
.disco__related {
	padding-top: 48px;
	border-top: 1px solid var(--line);
	margin-top: 48px;
}
@media (max-width: 860px) {
	.disco__grid {
		grid-template-columns: 1fr;
		padding-top: 32px;
	}
	.disco__media {
		position: static;
		max-width: 460px;
	}
	.disco__credits {
		grid-template-columns: 1fr;
		gap: 4px;
	}
	.disco__credits dd + dt {
		margin-top: 12px;
	}
}

/* ---------- Catálogo: white with royal blue ---------- */
.post-type-archive-discos .site-main,
.tax-discos_instrumento .site-main,
.tax-discos_category .site-main {
	--cat-blue: #1e5bb8;
	--cat-blue-dark: #123d7d;
	--cat-muted: #5b6b86;
	--line: rgba(30, 91, 184, .16);
	--text: var(--cat-blue);
	--text-muted: var(--cat-muted);
	--accent: var(--cat-blue);
	--accent-hover: var(--cat-blue-dark);
	--urtext-accent: var(--cat-blue);
	--urtext-accent-contrast: #fff;
	--urtext-muted: var(--cat-muted);
	--urtext-surface: #eef3fc;
	background: #fff;
	color: var(--cat-blue);
}
.post-type-archive-discos .site-main :is(h1, h2, h3, h4),
.tax-discos_instrumento .site-main :is(h1, h2, h3, h4),
.tax-discos_category .site-main :is(h1, h2, h3, h4),
.post-type-archive-discos .urtext-disco-card__title,
.tax-discos_instrumento .urtext-disco-card__title,
.tax-discos_category .urtext-disco-card__title {
	color: var(--cat-blue);
}
.post-type-archive-discos .site-main a:hover,
.tax-discos_instrumento .site-main a:hover,
.tax-discos_category .site-main a:hover {
	color: var(--cat-blue-dark);
}
.post-type-archive-discos .eyebrow,
.tax-discos_instrumento .eyebrow,
.tax-discos_category .eyebrow {
	color: var(--cat-muted);
}
.post-type-archive-discos .urtext-catalog__search,
.tax-discos_instrumento .urtext-catalog__search,
.tax-discos_category .urtext-catalog__search,
.post-type-archive-discos .urtext-catalog__sort,
.tax-discos_instrumento .urtext-catalog__sort,
.tax-discos_category .urtext-catalog__sort {
	border-color: rgba(30, 91, 184, .3);
	background: #fff;
	color: var(--cat-blue);
}
.post-type-archive-discos .urtext-catalog__searchbox,
.tax-discos_instrumento .urtext-catalog__searchbox,
.tax-discos_category .urtext-catalog__searchbox {
	border-color: rgba(30, 91, 184, .3);
}
.post-type-archive-discos .urtext-catalog__searchbox .urtext-catalog__search,
.tax-discos_instrumento .urtext-catalog__searchbox .urtext-catalog__search,
.tax-discos_category .urtext-catalog__searchbox .urtext-catalog__search {
	border: 0;
}
.post-type-archive-discos .urtext-catalog__search-in,
.tax-discos_instrumento .urtext-catalog__search-in,
.tax-discos_category .urtext-catalog__search-in {
	background: #eef3fc;
	color: var(--cat-blue);
}
.post-type-archive-discos .urtext-catalog__search::placeholder,
.tax-discos_instrumento .urtext-catalog__search::placeholder,
.tax-discos_category .urtext-catalog__search::placeholder {
	color: #8a9ab5;
}
.post-type-archive-discos .category-nav a,
.tax-discos_instrumento .category-nav a,
.tax-discos_category .category-nav a {
	color: var(--cat-blue);
}
.post-type-archive-discos .category-nav a[aria-current="page"],
.tax-discos_instrumento .category-nav a[aria-current="page"],
.tax-discos_category .category-nav a[aria-current="page"] {
	color: #fff;
}
.post-type-archive-discos .urtext-explore__group--epocas .urtext-explore__tile::before,
.tax-discos_instrumento .urtext-explore__group--epocas .urtext-explore__tile::before,
.tax-discos_category .urtext-explore__group--epocas .urtext-explore__tile::before {
	box-shadow: 0 0 0 4px #fff;
}
.post-type-archive-discos .site-main ::selection,
.tax-discos_instrumento .site-main ::selection,
.tax-discos_category .site-main ::selection {
	background: var(--cat-blue);
	color: #fff;
}

/* ---------- Single disco: colors from its cover ---------- */
.disco {
	position: relative;
	isolation: isolate;
}
.disco[style*="--disc-rgb"]::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: min(900px, 120vh);
	z-index: -1;
	background:
		radial-gradient(900px 520px at 22% 8%, rgba(var(--disc-rgb), .42), transparent 70%),
		radial-gradient(700px 480px at 85% 0%, rgba(var(--disc-rgb), .18), transparent 70%);
	pointer-events: none;
}
.disco[style*="--disc-rgb"] .eyebrow,
.disco[style*="--disc-rgb"] .eyebrow a {
	color: var(--disc-light);
}
.disco[style*="--disc-rgb"] .disco__cover img {
	box-shadow: 0 30px 70px rgba(var(--disc-rgb), .45), 0 10px 30px rgba(0, 0, 0, .4);
}
.disco[style*="--disc-rgb"] .urtext-streaming__btn {
	border-color: var(--disc-color);
	background: var(--disc-color);
	color: var(--disc-on);
}
.disco[style*="--disc-rgb"] .urtext-streaming__btn:hover {
	filter: brightness(1.12);
}
.disco__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 32px;
}
.disco__listen,
.disco__fav {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 999px;
	font: 600 .95rem/1 var(--font-sans);
	cursor: pointer;
	transition: transform .15s ease, filter .15s ease, background-color .15s ease;
}
.disco__listen {
	border: 0;
	background: var(--disc-color, var(--accent));
	color: var(--disc-on, #fff);
	box-shadow: 0 10px 30px rgba(var(--disc-rgb, 169, 47, 226), .45);
}
.disco__listen:hover {
	transform: translateY(-2px);
	filter: brightness(1.1);
}
.disco__listen.is-playing {
	outline: 2px solid var(--disc-light, #fff);
	outline-offset: 3px;
}
.disco__fav {
	border: 1px solid var(--line);
	background: transparent;
	color: var(--text);
}
.disco__fav:hover {
	border-color: #e0245e;
}
.disco__listen svg,
.disco__fav svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}
.disco__fav svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}
.disco__fav[aria-pressed="true"] {
	border-color: #e0245e;
	color: #e0245e;
}
.disco__fav[aria-pressed="true"] svg {
	fill: currentColor;
}
.disco__fav .disco__fav-on,
.disco__fav[aria-pressed="true"] .disco__fav-off {
	display: none;
}
.disco__fav[aria-pressed="true"] .disco__fav-on {
	display: inline;
}

/* ---------- Single disco: white with royal blue, like the catalog ---------- */
.single-discos .site-main {
	--cat-blue: #1e5bb8;
	--cat-blue-dark: #123d7d;
	--cat-muted: #5b6b86;
	--line: rgba(30, 91, 184, .16);
	--text: var(--cat-blue);
	--text-muted: var(--cat-muted);
	--accent: var(--cat-blue);
	--accent-hover: var(--cat-blue-dark);
	--urtext-accent: var(--cat-blue);
	--urtext-accent-contrast: #fff;
	--urtext-muted: var(--cat-muted);
	--urtext-surface: #eef3fc;
	background: #fff;
	color: var(--cat-blue);
}
.single-discos .site-main :is(h1, h2, h3, h4),
.single-discos .urtext-disco-card__title {
	color: var(--cat-blue);
}
.single-discos .site-main a:hover {
	color: var(--cat-blue-dark);
}
.single-discos .site-main ::selection {
	background: var(--cat-blue);
	color: #fff;
}
.single-discos .disco[style*="--disc-rgb"]::before {
	background:
		radial-gradient(900px 520px at 22% 8%, rgba(var(--disc-rgb), .2), transparent 70%),
		radial-gradient(700px 480px at 85% 0%, rgba(var(--disc-rgb), .08), transparent 70%);
}
.single-discos .disco[style*="--disc-rgb"] .eyebrow,
.single-discos .disco[style*="--disc-rgb"] .eyebrow a {
	color: var(--disc-dark);
}
.single-discos .disco__cover img,
.single-discos .disco__back img {
	box-shadow: 0 20px 50px rgba(15, 30, 60, .2);
}
.single-discos .disco[style*="--disc-rgb"] .disco__cover img {
	box-shadow: 0 24px 60px rgba(var(--disc-rgb), .35), 0 8px 24px rgba(15, 30, 60, .15);
}
.single-discos .disco__fav {
	border-color: rgba(30, 91, 184, .35);
}

/* Buy the CD and the digital booklet */
.disco__shop {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin: 0 0 32px;
}
.disco__buy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 260px;
	height: 58px;
	padding: 8px 28px;
	border: 1.5px solid #0c71c3;
	border-radius: 22px;
	background: #fff;
	color: #0c71c3;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(12, 113, 195, .15);
	transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.disco__buy:hover {
	transform: translateY(-2px);
	background: #efefef;
	box-shadow: 0 12px 30px rgba(12, 113, 195, .25);
}
.disco__buy img {
	display: block;
	width: auto;
	height: 36px;
}
.disco__booklet-badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--text) !important;
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none;
}
.disco__booklet-badge img {
	display: block;
	width: 76px;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba(30, 40, 120, .25);
	transition: transform .2s ease;
}
.disco__booklet-badge:hover img {
	transform: translateY(-3px) rotate(-3deg);
}

/* ---------- Disco page: flip to the back cover ---------- */
.disco__flip {
	perspective: 1600px;
	cursor: pointer;
}
.disco__flip-inner {
	position: relative;
	transform-style: preserve-3d;
	transition: transform .9s cubic-bezier(.3, .7, .2, 1);
}
.disco__flip:hover .disco__flip-inner {
	transform: rotateY(-8deg);
}
.disco__flip.is-flipped .disco__flip-inner {
	transform: rotateY(180deg);
}
.disco__flip.is-flipped:hover .disco__flip-inner {
	transform: rotateY(172deg);
}
.disco__face {
	margin: 0;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.disco__face--back {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	border-radius: 6px;
	background: #f4f6fb;
	box-shadow: 0 20px 50px rgba(15, 30, 60, .2);
	transform: rotateY(180deg);
	overflow: hidden;
}
.disco__face--back img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	box-shadow: none !important;
}
.disco__flip-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	padding: 9px 18px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: transparent;
	color: var(--text);
	font: 600 .875rem/1 var(--font-sans);
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease;
}
.disco__flip-toggle:hover {
	border-color: var(--accent);
}
.disco__flip-toggle svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
	transition: transform .6s ease;
}
.disco__flip-toggle[aria-pressed="true"] svg {
	transform: rotate(-180deg);
}
.disco__flip-toggle .disco__flip-label-back,
.disco__flip-toggle[aria-pressed="true"] .disco__flip-label-front {
	display: none;
}
.disco__flip-toggle[aria-pressed="true"] .disco__flip-label-back {
	display: inline;
}
@media (prefers-reduced-motion: reduce) {
	.disco__flip-inner {
		transition: none;
	}
}

/* ---------- Disco page layout (title, actions, credits, extras, details) ---------- */
.disco__title {
	margin-bottom: 24px;
}
.disco__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0 0 32px;
}
.disco__cta .disco__listen,
.disco__cta .disco__buy {
	min-height: 52px;
	padding: 0 26px;
	border-radius: 999px;
	font-size: 1rem;
}
.disco__cta .disco__buy {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	height: auto;
	border: 0;
	background: #1e5bb8;
	color: #fff !important;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
	box-shadow: 0 10px 28px rgba(30, 91, 184, .3);
}
.disco__cta .disco__buy:hover {
	background: #174b99;
	transform: translateY(-2px);
}
.disco__cta .disco__buy svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}
.disco__cta .disco__buy small {
	display: block;
	font-size: .7rem;
	font-weight: 500;
	opacity: .8;
}
.disco__cta .disco__fav {
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
}
.disco__cta .disco__fav svg {
	width: 22px;
	height: 22px;
}
.disco__credits {
	margin-bottom: 28px;
}
.disco__extras {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 20px 28px;
	align-items: start;
	margin-bottom: 36px;
}
.disco__extra .disco__subtitle {
	margin-bottom: 12px;
}
.disco__extra .urtext-streaming {
	gap: 8px;
}
.single-discos .disco .urtext-streaming__btn {
	padding: 8px 16px;
	border: 1px solid rgba(30, 91, 184, .3) !important;
	background: #fff !important;
	color: var(--cat-blue, #1e5bb8) !important;
	font-size: .85rem;
}
.single-discos .disco .urtext-streaming__btn:hover {
	border-color: var(--disc-color, #1e5bb8) !important;
	filter: none;
}
.disco__booklet-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 18px 10px 10px;
	border: 1px solid var(--line);
	border-radius: 16px;
	color: var(--text) !important;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
a.disco__booklet-card:hover {
	border-color: #2e3a9e;
	box-shadow: 0 10px 26px rgba(30, 40, 120, .15);
	transform: translateY(-2px);
}
.disco__booklet-card img {
	width: 64px;
	height: auto;
	border-radius: 10px;
	box-shadow: 0 6px 16px rgba(30, 40, 120, .25);
}
.disco__booklet-card strong,
.disco__booklet-card small {
	display: block;
	line-height: 1.3;
}
.disco__booklet-card small {
	color: var(--text-muted);
}
.disco__booklet-card.is-unavailable img {
	filter: grayscale(.4);
	opacity: .75;
}
.disco__details {
	padding-top: 28px;
	border-top: 1px solid var(--line);
}
.disco__details .disco__subtitle {
	margin-bottom: 14px;
}
.disco__details .disco__description {
	padding: 0;
	font-size: .95rem;
	line-height: 1.75;
}
.disco__details .disco__description p {
	margin: 0 0 .9em;
}
@media (max-width: 600px) {
	.disco__extras {
		grid-template-columns: 1fr;
	}
	.disco__cta .disco__listen,
	.disco__cta .disco__buy {
		flex: 1 1 auto;
		justify-content: center;
	}
}

.instrument-header__icon {
	display: inline-grid;
	place-items: center;
	width: 88px;
	height: 88px;
	margin-bottom: 12px;
	border-radius: 50%;
	background: rgba(30, 91, 184, .08);
	color: var(--cat-blue, #1e5bb8);
}
.instrument-header__icon svg {
	width: 50px;
	height: 50px;
}

/* ---------- Disco page: the vinyl slides out from behind the cover ---------- */
.disco__deck {
	position: relative;
	width: 78%;
}
.disco__deck > .disco__flip,
.disco__deck > .disco__cover {
	position: relative;
	z-index: 1;
	transition: transform .7s cubic-bezier(.2, .8, .2, 1);
}
.disco__vinyl {
	position: absolute;
	top: 2.5%;
	left: 2.5%;
	z-index: 0;
	width: 95%;
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		radial-gradient(circle, transparent 0 34%, rgba(255, 255, 255, .06) 34.5% 35%, transparent 35.5%),
		conic-gradient(from 30deg, rgba(255, 255, 255, .0) 0deg, rgba(255, 255, 255, .14) 40deg, rgba(255, 255, 255, 0) 90deg, rgba(255, 255, 255, 0) 180deg, rgba(255, 255, 255, .1) 220deg, rgba(255, 255, 255, 0) 270deg),
		repeating-radial-gradient(circle, #0d0d0f 0 1.2px, #19191c 1.6px 3.2px),
		#111;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
	transition: transform .9s cubic-bezier(.2, .8, .2, 1);
}
.disco__vinyl-label {
	position: absolute;
	inset: 32%;
	border-radius: 50%;
	background-color: var(--disc-color, #1e5bb8);
	background-size: cover;
	background-position: center;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, .5);
}
/* The spindle hole */
.disco__vinyl-label::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9%;
	height: 9%;
	border-radius: 50%;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25);
	transform: translate(-50%, -50%);
}
/* Out far enough to show the whole label, and spinning. */
.disco__deck:hover .disco__vinyl,
.disco__deck:focus-within .disco__vinyl {
	transform: translateX(52%) rotate(240deg);
}
.disco__deck:hover > .disco__flip,
.disco__deck:hover > .disco__cover {
	transform: translateX(-4%);
}
.disco__deck:has(.is-flipped) .disco__vinyl {
	transform: none;
}
.disco__flip:hover .disco__flip-inner {
	transform: none;
}
.disco__flip.is-flipped:hover .disco__flip-inner {
	transform: rotateY(180deg);
}
@media (max-width: 860px) {
	.disco__deck {
		width: 72%;
	}
}
@media (hover: none) {
	/* On phones the record is already half out, so the label shows without hovering. */
	.disco__vinyl {
		transform: translateX(36%) rotate(0deg);
	}
}
@media (prefers-reduced-motion: reduce) {
	.disco__vinyl,
	.disco__deck > .disco__flip,
	.disco__deck > .disco__cover {
		transition: none;
	}
}

/* Vinyl, adjusted: smaller record, label fully visible, all inside the cover column. */
.disco__deck {
	width: 66%;
	margin-left: 4%;
}
.disco__vinyl {
	top: 10%;
	left: 10%;
	width: 80%;
}
.disco__deck:hover .disco__vinyl,
.disco__deck:focus-within .disco__vinyl {
	transform: translateX(71%) rotate(240deg);
}
.disco__deck:hover > .disco__flip,
.disco__deck:hover > .disco__cover {
	transform: translateX(-10%);
}
.disco__deck:has(.is-flipped) .disco__vinyl,
.disco__deck:has(.is-flipped):hover .disco__vinyl {
	transform: none;
}
@media (max-width: 860px) {
	.disco__deck {
		width: 62%;
	}
}
@media (hover: none) {
	.disco__vinyl {
		transform: translateX(71%) rotate(0deg);
	}
	.disco__deck > .disco__flip,
	.disco__deck > .disco__cover {
		transform: translateX(-10%);
	}
}

/* Bigger cover and record: a wider cover column, the record uses part of the gap. */
@media (min-width: 861px) {
	.single-discos .disco__grid {
		grid-template-columns: minmax(0, 7fr) minmax(0, 6fr);
		gap: clamp(28px, 4vw, 56px);
	}
	.disco__deck {
		width: 70%;
		margin-left: 1%;
	}
}

/* Record out only halfway (its centre at the cover's edge), with a label twice as big. */
.disco__vinyl-label {
	inset: 14%;
}
.disco__deck:hover .disco__vinyl,
.disco__deck:focus-within .disco__vinyl {
	transform: translateX(57.5%) rotate(240deg);
}
.disco__deck:hover > .disco__flip,
.disco__deck:hover > .disco__cover {
	transform: translateX(-4%);
}
@media (min-width: 861px) {
	.disco__deck {
		width: 74%;
	}
}
@media (hover: none) {
	.disco__vinyl {
		transform: translateX(57.5%) rotate(0deg);
	}
	.disco__deck > .disco__flip,
	.disco__deck > .disco__cover {
		transform: translateX(-4%);
	}
}

/* Big cover: cover + record twice as big, centred on top; the details go below. */
.disco__vinyl-label {
	inset: 32%;
}
@media (min-width: 861px) {
	.single-discos .disco__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 48px;
	}
	.single-discos .disco__media {
		position: static;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.disco__deck {
		width: min(820px, 62vw, 78vh);
		margin: 0;
		/* Leave room on the right for the record. */
		transform: translateX(-14%);
	}
	.single-discos .disco__info {
		width: 100%;
		max-width: 900px;
		margin: 0 auto;
	}
	.single-discos .disco__flip-toggle {
		transform: translateX(-14%);
	}
}

/* Full-width disco page: big cover + half-out record on the left, details on the right. */
@media (min-width: 861px) {
	.single-discos .disco__grid {
		--deck: min(820px, 44vw, 78vh);
		max-width: none;
		padding-left: clamp(24px, 4vw, 80px);
		padding-right: clamp(24px, 4vw, 80px);
		grid-template-columns: auto minmax(0, 1fr);
		gap: clamp(28px, 3vw, 64px);
		align-items: start;
	}
	.single-discos .disco__media {
		position: sticky;
		top: calc(var(--header-h) + 24px);
		display: block;
	}
	.disco__deck {
		width: var(--deck);
		margin: 0 calc(var(--deck) * .36) 0 0;
		transform: none;
	}
	.single-discos .disco__flip-toggle {
		transform: none;
	}
	.single-discos .disco__info {
		max-width: 780px;
		margin: 0;
	}
}

/* 80% size, and the record always sits half out (no empty gap); hovering spins it. */
@media (min-width: 861px) {
	.single-discos .disco__grid {
		--deck: min(656px, 35vw, 62vh);
	}
	.disco__vinyl {
		transform: translateX(57.5%) rotate(0deg);
	}
	.disco__deck:hover .disco__vinyl,
	.disco__deck:focus-within .disco__vinyl {
		transform: translateX(57.5%) rotate(240deg);
	}
	.disco__deck:hover > .disco__flip,
	.disco__deck:hover > .disco__cover {
		transform: none;
	}
}

/* Another 20% smaller; the record hides behind the cover and slides out halfway (spinning) on hover. */
@media (min-width: 861px) {
	.single-discos .disco__grid {
		--deck: min(525px, 28vw, 50vh);
		padding-top: 40px;
	}
	.disco__vinyl {
		transform: none;
	}
	.disco__deck:hover .disco__vinyl,
	.disco__deck:focus-within .disco__vinyl {
		transform: translateX(57.5%) rotate(240deg);
	}
	.single-discos .disco__info {
		max-width: 680px;
	}
	.single-discos .disco__title {
		font-size: clamp(1.6rem, 3.2vw, 2.6rem);
	}
}

/* Centred as a whole: cover (a bit bigger) + record space + details, equal margins. */
@media (min-width: 861px) {
	.single-discos .disco__grid {
		--deck: min(590px, 32vw, 56vh);
		grid-template-columns: auto minmax(0, 680px);
		justify-content: center;
		max-width: 1600px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* Square cover box, so the hidden record never peeks out (some covers aren't square). */
.disco__deck .disco__cover,
.disco__deck .disco__flip-inner,
.disco__deck .disco__face--front {
	aspect-ratio: 1;
}
.disco__deck .disco__cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (min-width: 861px) {
	.single-discos .disco__grid {
		--deck: min(650px, 35vw, 64vh);
	}
}

/* No record behind the disco while it turns over or shows its back cover. */
.disco__deck.is-turning .disco__vinyl,
.disco__deck:has(.is-flipped) .disco__vinyl,
.disco__deck:has(.is-flipped):hover .disco__vinyl {
	opacity: 0;
	visibility: hidden;
	transform: none !important;
	transition: opacity .12s ease, visibility 0s linear .12s, transform 0s linear .12s;
}

/* While the cover loads: a solid tinted box, and no record behind it. */
.disco__deck .disco__cover,
.disco__deck .disco__face--front {
	background: var(--disc-color, #e9eef7);
	border-radius: 6px;
}
.disco__deck:not(.is-ready) .disco__vinyl {
	opacity: 0;
	visibility: hidden;
}

/* Streaming buttons on one line, booklet card beside them. */
@media (min-width: 861px) {
	.disco__extras {
		grid-template-columns: max-content auto;
		justify-content: space-between;
		align-items: center;
		column-gap: 20px;
	}
	.disco__extra .urtext-streaming {
		flex-wrap: nowrap;
		gap: 6px;
	}
	.single-discos .disco .urtext-streaming__btn {
		padding: 7px 13px;
		font-size: .8rem;
		white-space: nowrap;
	}
	.disco__booklet-card {
		padding: 8px 14px 8px 8px;
		gap: 10px;
	}
	.disco__booklet-card img {
		width: 52px;
	}
}

/* Streaming buttons stacked in a column, booklet card beside them. */
.disco__extras {
	grid-template-columns: minmax(180px, 240px) auto;
	justify-content: start;
	align-items: center;
	column-gap: 28px;
}
.disco__extra .urtext-streaming {
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 8px;
}
.single-discos .disco .urtext-streaming__btn {
	justify-content: center;
	padding: 9px 16px;
	font-size: .875rem;
	text-align: center;
}
.disco__booklet-card {
	flex-direction: column;
	align-items: center;
	padding: 16px 20px;
	text-align: center;
}
.disco__booklet-card img {
	width: 88px;
}
@media (max-width: 420px) {
	.disco__extras {
		grid-template-columns: 1fr;
	}
}

/* Buttons + booklet centred in their block. */
.disco__extras {
	justify-content: center;
	align-items: center;
}
.disco__extra .disco__subtitle {
	text-align: center;
}
@media (min-width: 861px) {
	.disco__extras {
		justify-content: center;
	}
}

/* The cached small cover fills the box instantly; no solid colour block. */
.disco__deck .disco__cover,
.disco__deck .disco__face--front {
	background-color: transparent;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* ---------- Footer (dark, like the header) ---------- */
.site-footer {
	background: #05070f;
	color: #a9b3c7;
	border-top: 0;
}
.site-footer__inner {
	grid-template-columns: minmax(240px, 1.4fr) repeat(3, minmax(160px, 1fr));
	gap: 48px;
	padding-top: 72px;
	padding-bottom: 56px;
}
.site-footer .custom-logo {
	max-width: 220px;
	height: auto;
}
.site-footer__brand p {
	max-width: 320px;
	line-height: 1.6;
}
.site-footer__shop {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	padding: 10px 18px;
	border-radius: 999px;
	background: #1e5bb8;
	color: #fff !important;
	font-weight: 600;
	font-size: .875rem;
	transition: background-color .15s ease, transform .15s ease;
}
.site-footer__shop:hover {
	background: #2a6fd6;
	transform: translateY(-2px);
}
.site-footer__shop svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}
.site-footer__title {
	margin: 0 0 16px;
	font-family: var(--font-sans);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
}
.site-footer__menu a {
	color: #a9b3c7;
	transition: color .15s ease;
}
.site-footer__menu a:hover {
	color: #fff;
}
.site-footer__menu--icons a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.site-footer__icon {
	width: 20px;
	height: 20px;
	color: #6f9be0;
}
.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	max-width: calc(var(--content) + var(--gutter) * 2);
	margin: 0 auto;
	border-top: 1px solid rgba(255, 255, 255, .08);
	color: #7c869b;
	text-align: left;
}
.site-footer__top {
	color: #a9b3c7 !important;
	font-size: .8125rem;
}
@media (max-width: 900px) {
	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
	}
	.site-footer__brand {
		grid-column: 1 / -1;
	}
}
@media (max-width: 520px) {
	.site-footer__inner {
		grid-template-columns: 1fr;
	}
}

/* ---------- Inicio ---------- */
.home .site-main {
	--line: rgba(30, 91, 184, .16);
	--text: #1e5bb8;
	--text-muted: #5b6b86;
	--accent: #1e5bb8;
	--urtext-accent: #1e5bb8;
	--urtext-muted: #5b6b86;
	background: #fff;
	color: #1e5bb8;
}
.home .site-main :is(h1, h2, h3),
.home .urtext-disco-card__title {
	color: #1e5bb8;
}
.home-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(40px, 6vw, 88px) var(--gutter);
	background:
		radial-gradient(900px 520px at 20% 30%, rgba(var(--disc-rgb, 30, 91, 184), .22), transparent 70%),
		radial-gradient(700px 480px at 90% 0%, rgba(var(--disc-rgb, 30, 91, 184), .1), transparent 70%),
		#fff;
}
.home-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
	max-width: var(--content);
	margin: 0 auto;
}
.home-hero__cover {
	position: relative;
	display: block;
	width: 74%;
	aspect-ratio: 1;
}
.home-hero__cover img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
	box-shadow: 0 30px 70px rgba(var(--disc-rgb, 30, 91, 184), .35), 0 10px 30px rgba(15, 30, 60, .15);
	transition: transform .7s cubic-bezier(.2, .8, .2, 1);
}
.home-hero__vinyl {
	position: absolute;
	top: 10%;
	left: 10%;
	z-index: 0;
	width: 80%;
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		conic-gradient(from 30deg, transparent 0deg, rgba(255, 255, 255, .14) 40deg, transparent 90deg, transparent 180deg, rgba(255, 255, 255, .1) 220deg, transparent 270deg),
		repeating-radial-gradient(circle, #0d0d0f 0 1.2px, #19191c 1.6px 3.2px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .3);
	transform: translateX(57.5%);
	transition: transform .9s cubic-bezier(.2, .8, .2, 1);
	animation: home-spin 12s linear infinite;
}
.home-hero__vinyl span {
	position: absolute;
	inset: 32%;
	border-radius: 50%;
	background-size: cover;
	background-position: center;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, .5);
}
.home-hero__vinyl span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9%;
	height: 9%;
	border-radius: 50%;
	background: #fff;
	transform: translate(-50%, -50%);
}
@keyframes home-spin {
	from {
		rotate: 0deg;
	}
	to {
		rotate: 360deg;
	}
}
.home-hero__cover:hover img {
	transform: translateX(-4%);
}
.home-hero__title {
	margin: 8px 0 16px;
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1.08;
}
.home-hero__title a {
	color: inherit;
	text-decoration: none;
}
.home-hero__artists {
	margin: 0 0 28px;
	font-size: 1.05rem;
	color: #5b6b86;
}
.home-hero .eyebrow {
	color: var(--disc-dark, #1e5bb8);
}
.disco__more {
	align-self: center;
	font-weight: 600;
	text-decoration: none;
}
.home-section {
	padding-top: 64px;
	padding-bottom: 16px;
}
.home-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 28px;
}
.home-section__head--center {
	justify-content: center;
}
.home-section__head .section-title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}
.home-section__link {
	font-weight: 600;
	text-decoration: none;
}
@media (max-width: 860px) {
	.home-hero__inner {
		grid-template-columns: 1fr;
	}
	.home-hero__cover {
		width: 62%;
	}
}
@media (prefers-reduced-motion: reduce) {
	.home-hero__vinyl {
		animation: none;
	}
}

/* Novedades slider */
.home-hero {
	background: #fff;
	padding: clamp(32px, 5vw, 72px) 0 clamp(40px, 5vw, 64px);
}
.home-hero__kicker {
	max-width: var(--content);
	margin: 0 auto 8px;
	padding: 0 var(--gutter);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #c98a00;
}
.home-hero__slide {
	padding: 24px var(--gutter) 8px;
	background:
		radial-gradient(900px 520px at 20% 40%, rgba(var(--disc-rgb, 30, 91, 184), .2), transparent 70%),
		radial-gradient(700px 480px at 90% 0%, rgba(var(--disc-rgb, 30, 91, 184), .08), transparent 70%);
	animation: home-slide-in .6s ease;
}
.home-hero__slide[hidden] {
	display: none;
}
@keyframes home-slide-in {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
.home-hero__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 24px;
}
.home-hero__arrow {
	width: 44px;
	height: 44px;
	border: 1px solid rgba(30, 91, 184, .3);
	border-radius: 50%;
	background: #fff;
	color: #1e5bb8;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}
.home-hero__arrow:hover {
	background: #1e5bb8;
	color: #fff;
}
.home-hero__dots {
	display: flex;
	gap: 8px;
}
.home-hero__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(30, 91, 184, .25);
	cursor: pointer;
	transition: width .25s ease, background-color .25s ease;
}
.home-hero__dot.is-active {
	width: 28px;
	background: #1e5bb8;
}

.home-hero__text {
	max-width: 620px;
	margin: -12px 0 28px;
	color: #3d4b66;
	font-size: .98rem;
	line-height: 1.7;
}
.home-hero__text p {
	margin: 0 0 .8em;
}

/* ---------- Inicio: Destacados (image accordion) ---------- */
.home-accordion {
	display: flex;
	gap: 6px;
	height: clamp(380px, 46vw, 560px);
	margin: 0;
	padding: 6px;
	background: #05070f;
}
.home-accordion__item {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	border-radius: 4px;
	background-color: #222;
	background-size: cover;
	background-position: center;
	color: #fff !important;
	text-decoration: none !important;
	transition: flex-grow .6s cubic-bezier(.2, .8, .2, 1);
}
.home-accordion__item.is-open {
	flex-grow: 2.6;
}
.home-accordion__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .05) 30%, rgba(0, 0, 0, .78));
	transition: opacity .4s ease;
}
.home-accordion__item:not(.is-open) .home-accordion__shade {
	background: rgba(5, 7, 15, .45);
}
.home-accordion__label {
	position: absolute;
	left: 50%;
	bottom: 28px;
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
	writing-mode: vertical-rl;
	transform: translateX(-50%) rotate(180deg);
	transition: opacity .3s ease;
}
.home-accordion__item.is-open .home-accordion__label {
	opacity: 0;
}
.home-accordion__body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: clamp(20px, 3vw, 36px);
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .35s ease, transform .45s cubic-bezier(.2, .8, .2, 1);
}
.home-accordion__item.is-open .home-accordion__body {
	opacity: 1;
	transform: none;
	transition-delay: .2s;
}
.home-accordion__title {
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 2.6vw, 2.4rem);
	line-height: 1.1;
}
.home-accordion__text {
	max-width: 440px;
	font-size: .95rem;
	line-height: 1.5;
	opacity: .9;
}
.home-accordion__btn {
	margin-top: 8px;
	padding: 10px 20px;
	border-radius: 999px;
	background: #fff;
	color: #1e5bb8;
	font-weight: 700;
	font-size: .875rem;
}
@media (max-width: 760px) {
	.home-accordion {
		flex-direction: column;
		height: auto;
	}
	.home-accordion__item {
		flex: none;
		height: 120px;
		transition: height .5s ease;
	}
	.home-accordion__item.is-open {
		height: 320px;
	}
	.home-accordion__label {
		left: 20px;
		bottom: 20px;
		writing-mode: horizontal-tb;
		transform: none;
	}
}

/* Footer social networks */
.site-footer__social {
	display: flex;
	gap: 10px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}
.site-footer__social a {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 50%;
	color: #fff !important;
	transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.site-footer__social a:hover {
	border-color: #1e5bb8;
	background: #1e5bb8;
	transform: translateY(-2px);
}
.site-footer__social svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

/* Destacados, modern version: floating cards, slow zoom, numbers, glass button, progress line. */
.home-accordion {
	gap: 14px;
	height: clamp(400px, 44vw, 580px);
	padding: clamp(16px, 3vw, 40px);
	background: #fff;
}
/* Más allá del disco: the block around the panels, with its heading. */
.home-more {
	background: #fff;
}
.home-accordion__item {
	border-radius: 24px;
	background-size: 0 0;
	box-shadow: 0 18px 40px rgba(15, 30, 60, .14);
	isolation: isolate;
}
/* The photo lives in a pseudo-element so it can zoom slowly when open. */
.home-accordion__item::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	transform: scale(1.12);
	filter: saturate(.75) brightness(.85);
	transition: transform 6s ease, filter .6s ease;
}
.home-accordion__item.is-open::before {
	transform: scale(1);
	filter: none;
}
.home-accordion__item:not(.is-open) .home-accordion__shade {
	background: linear-gradient(180deg, rgba(10, 20, 45, .35), rgba(10, 20, 45, .7));
}
.home-accordion__shade {
	background: linear-gradient(180deg, transparent 35%, rgba(5, 10, 25, .85));
}
.home-accordion__num {
	position: absolute;
	top: 20px;
	left: 22px;
	font: 600 .8rem/1 var(--font-sans);
	letter-spacing: .12em;
	opacity: .85;
}
.home-accordion__label {
	font-family: var(--font-display);
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: none;
}
.home-accordion__title {
	font-size: clamp(1.9rem, 3vw, 2.8rem);
}
.home-accordion__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 11px 22px;
	border: 1px solid rgba(255, 255, 255, .45);
	background: rgba(255, 255, 255, .16);
	color: #fff;
	backdrop-filter: blur(10px);
	transition: background-color .2s ease, color .2s ease, padding .2s ease;
}
.home-accordion__item:hover .home-accordion__btn {
	padding-right: 28px;
	background: #fff;
	color: #1e5bb8;
}
.home-accordion__progress {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	width: 0;
	background: #fff;
	opacity: 0;
}
.home-accordion.is-auto .home-accordion__item.is-open .home-accordion__progress {
	opacity: .9;
	animation: home-progress 6s linear forwards;
}
@keyframes home-progress {
	to {
		width: 100%;
	}
}
@media (max-width: 760px) {
	.home-accordion {
		gap: 10px;
		padding: 16px;
	}
	.home-accordion__item {
		border-radius: 18px;
	}
}

/* Destacados: the text always sits on its own dark glass card, so it reads over any image. */
.home-accordion__body {
	left: clamp(14px, 2vw, 24px);
	right: auto;
	bottom: clamp(14px, 2vw, 24px);
	max-width: min(460px, calc(100% - 28px));
	padding: clamp(18px, 2.2vw, 26px);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 18px;
	background: rgba(8, 14, 32, .78);
	backdrop-filter: blur(14px) saturate(120%);
	-webkit-backdrop-filter: blur(14px) saturate(120%);
	box-shadow: 0 14px 40px rgba(0, 0, 0, .35);
}
.home-accordion__title,
.home-accordion__text {
	text-shadow: 0 1px 2px rgba(0, 0, 0, .4);
}
.home-accordion__text {
	opacity: 1;
	color: #e6ecf7;
}
.home-accordion__label,
.home-accordion__num {
	text-shadow: 0 2px 8px rgba(0, 0, 0, .6);
}
.home-accordion__item:not(.is-open) .home-accordion__shade {
	background: linear-gradient(180deg, rgba(10, 20, 45, .55), rgba(10, 20, 45, .8));
}

/* ---------- Destacados: editorial look (no box) ---------- */
.home-accordion__body {
	left: 0;
	right: 0;
	bottom: 0;
	max-width: none;
	padding: 96px clamp(22px, 3vw, 40px) clamp(24px, 3vw, 38px);
	border: 0;
	border-radius: 0;
	background: linear-gradient(to top, rgba(4, 8, 20, .94) 0%, rgba(4, 8, 20, .78) 40%, rgba(4, 8, 20, 0) 100%);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: none;
}
.home-accordion__title {
	position: relative;
	padding-top: 16px;
	font-weight: 500;
	letter-spacing: -.01em;
}
.home-accordion__title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 2px;
	background: #fff;
	opacity: .8;
}
.home-accordion__text {
	max-width: 520px;
	font-size: .95rem;
	letter-spacing: .01em;
}
.home-accordion__btn {
	margin-top: 10px;
	padding: 0 0 4px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .7);
	border-radius: 0;
	background: none;
	backdrop-filter: none;
	color: #fff;
	font-size: .75rem;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.home-accordion__item:hover .home-accordion__btn {
	padding: 0 0 4px;
	background: none;
	color: #fff;
	border-bottom-color: #fff;
	letter-spacing: .2em;
}

/* ==========================================================================
   Phones and tablets
   ========================================================================== */

/* Nothing may push the page sideways (records, sliders, long words). */
.site-main {
	overflow-x: clip;
}
.entry-content,
.disco__title,
.home-hero__title {
	overflow-wrap: anywhere;
}

@media (max-width: 860px) {
	/* Disco page */
	.single-discos .disco__grid {
		gap: 28px;
		padding-top: 24px;
		padding-bottom: 32px;
	}
	.disco__media {
		max-width: none;
	}
	.disco__deck {
		width: 70%;
		margin: 0;
	}
	.disco__title {
		margin-bottom: 18px;
		font-size: clamp(1.7rem, 7vw, 2.4rem);
	}
	.disco__cta .disco__listen,
	.disco__cta .disco__buy {
		flex: 1 1 calc(50% - 40px);
		justify-content: center;
		min-height: 50px;
		padding: 0 18px;
	}
	.disco__credits {
		margin-bottom: 24px;
	}

	/* Home */
	.home-hero__inner {
		gap: 28px;
	}
	.home-hero__cover {
		width: 66%;
	}
	.home-hero__title {
		font-size: clamp(1.7rem, 7vw, 2.4rem);
	}
	.home-hero__text {
		margin-top: -8px;
		font-size: .95rem;
	}
	.home-section {
		padding-top: 44px;
	}
}

@media (max-width: 600px) {
	:root {
		--gutter: 18px;
	}
	/* iPhone zooms into inputs smaller than 16px. */
	input,
	select,
	textarea {
		font-size: 16px !important;
	}

	/* Disco page */
	.disco__deck {
		width: 68%;
	}
	.disco__cta {
		gap: 10px;
	}
	/* Listen on its own row; buy + heart share the next one. */
	.disco__cta .disco__listen {
		flex: 1 1 100%;
	}
	.disco__cta .disco__buy {
		flex: 1 1 0;
	}
	.disco__cta .disco__fav {
		flex: 0 0 50px;
	}
	.disco__credits {
		padding: 18px 0;
	}
	.disco__extras {
		grid-template-columns: 1fr;
		justify-items: stretch;
		gap: 20px;
	}
	.disco__extra .disco__subtitle {
		text-align: left;
	}
	.single-discos .disco .urtext-streaming__btn {
		min-height: 46px;
		font-size: .9rem;
	}
	.disco__booklet-card {
		flex-direction: row;
		justify-content: flex-start;
		text-align: left;
	}
	.disco__booklet-card img {
		width: 60px;
	}
	.disco__flip-toggle {
		min-height: 44px;
	}

	/* Home */
	.home-hero__slide {
		padding-top: 12px;
	}
	.home-hero__cover {
		width: 64%;
	}
	.home-hero__controls {
		margin-top: 16px;
	}
	.home-accordion__body {
		padding-top: 64px;
	}
	.home-accordion__title {
		font-size: 1.6rem;
	}

	/* Catalog */
	.page-header {
		margin-bottom: 24px;
	}
	.page-title {
		font-size: clamp(2rem, 9vw, 2.6rem);
	}
	.urtext-browse__tabs button {
		padding: 10px 18px;
	}
	.urtext-explore__tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	.urtext-explore__tile {
		padding: 12px;
	}
	.urtext-explore__covers {
		height: 76px;
	}
	.urtext-explore__cover {
		width: 64px !important;
		height: 64px !important;
	}
	.urtext-explore__cover--1 {
		left: 22px;
	}
	.urtext-explore__cover--2 {
		left: 44px;
	}
	.urtext-instruments {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	.urtext-instrument {
		padding: 16px 8px 12px;
	}
	.urtext-search__sort {
		width: 100%;
	}
	.urtext-search__segment {
		display: flex;
		width: 100%;
	}
	.urtext-search__segment button {
		flex: 1;
		padding: 8px 6px;
	}
	.urtext-search__chip {
		min-height: 38px;
		white-space: nowrap;
	}

	/* Header and footer */
	.custom-logo {
		max-width: 170px;
		height: auto;
	}
	.site-footer__inner {
		gap: 32px;
		padding-top: 48px;
	}
	.site-footer__bottom {
		justify-content: center;
		text-align: center;
	}
}

/* Novedades: a single "Ver" button to the disco page */
.home-hero__see {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 34px;
	border-radius: 999px;
	background: #1e5bb8;
	color: #fff !important;
	font-weight: 700;
	letter-spacing: .04em;
	text-decoration: none !important;
	box-shadow: 0 10px 28px rgba(30, 91, 184, .3);
	transition: background-color .15s ease, transform .15s ease, gap .2s ease;
}
.home-hero__see:hover {
	background: #174b99;
	transform: translateY(-2px);
	gap: 16px;
}

/* ---------- Novedades: section heading and calmer animation ---------- */
.home-hero__vinyl {
	display: none;
}
.home-hero__kicker {
	display: none;
}
.home-hero__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	max-width: var(--content);
	margin: 0 auto 8px;
	padding: 0 var(--gutter) 18px;
	border-bottom: 1px solid rgba(30, 91, 184, .18);
}
.home .home-hero__heading {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.01em;
	color: #0f2a55;
}
.home-hero__heading em {
	display: inline-block;
	margin-left: .35em;
	font-family: var(--font-sans);
	font-size: .3em;
	font-style: normal;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #1e5bb8;
	vertical-align: middle;
}
.home-hero__count {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.1rem;
	color: #5b6b86;
}
.home-hero__count b {
	font-size: 1.8rem;
	font-weight: 500;
	color: #0f2a55;
}

/* When a release appears: the cover rises softly, the text follows. */
.home-hero__slide {
	animation: none;
}
.home-hero__slide.is-active .home-hero__cover {
	animation: home-cover-in .9s cubic-bezier(.2, .8, .2, 1) both;
}
.home-hero__slide.is-active .home-hero__info > * {
	animation: home-text-in .7s cubic-bezier(.2, .8, .2, 1) both;
}
.home-hero__slide.is-active .home-hero__info > :nth-child(2) {
	animation-delay: .08s;
}
.home-hero__slide.is-active .home-hero__info > :nth-child(3) {
	animation-delay: .16s;
}
.home-hero__slide.is-active .home-hero__info > :nth-child(4) {
	animation-delay: .24s;
}
.home-hero__slide.is-active .home-hero__info > :nth-child(5) {
	animation-delay: .32s;
}
@keyframes home-cover-in {
	from {
		opacity: 0;
		transform: translateY(18px) scale(.97);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
@keyframes home-text-in {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
/* Hover: the cover lifts a little and its shadow takes the cover's colour. */
.home-hero__cover img {
	transition: transform .5s cubic-bezier(.2, .8, .2, 1), box-shadow .5s ease;
}
.home-hero__cover:hover img {
	transform: translateY(-6px);
	box-shadow: 0 40px 80px rgba(var(--disc-rgb, 30, 91, 184), .45), 0 12px 30px rgba(15, 30, 60, .18);
}
@media (prefers-reduced-motion: reduce) {
	.home-hero__slide.is-active .home-hero__cover,
	.home-hero__slide.is-active .home-hero__info > * {
		animation: none;
	}
}
@media (max-width: 600px) {
	.home-hero__head {
		align-items: center;
	}
	.home-hero__heading em {
		display: block;
		margin: 8px 0 0;
		font-size: .28em;
	}
}

/* Novedades: the side arrows are for phones only. */
.home-hero__side {
	display: none;
}

/* Novedades: a long semblanza shows only its first lines (five on wide screens,
   six on phones) and "Leer más", so no release grows past the others. */
[data-home-slider].can-cut .home-hero__text:not(.is-open) {
	max-height: calc(1.7em * 5);
	overflow: hidden;
}
.home-hero__text.is-cut:not(.is-open) {
	-webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent);
	mask-image: linear-gradient(to bottom, #000 70%, transparent);
}
/* On its own line under the text, so it never sits beside "Ver". */
.home-hero__more {
	display: flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin: -18px 0 26px;
	padding: 6px 0;
	border: 0;
	background: none;
	color: var(--disc-dark, #1e5bb8);
	font: inherit;
	font-size: .9rem;
	font-weight: 700;
	cursor: pointer;
}
.home-hero__more::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .25s ease, margin .25s ease;
}
.home-hero__more[aria-expanded="true"]::after {
	margin-top: 4px;
	transform: rotate(-135deg);
}
.home-hero__more[hidden] {
	display: none;
}

/* Novedades on phones: an arrow on each side of the cover (the ones below go
   away, the dots stay), justified semblanza that stays inside the screen and,
   when it is long, only its first lines with "Leer más". */
@media (max-width: 860px) {
	.home-hero__inner {
		grid-template-columns: 40px minmax(0, 1fr) 40px;
		column-gap: 10px;
	}
	.home-hero__cover {
		grid-column: 2;
		grid-row: 1;
	}
	.home-hero__side {
		display: grid;
		grid-row: 1;
		align-self: center;
		place-items: center;
		width: 40px;
		height: 40px;
		padding: 0 0 3px;
		border: 1px solid rgba(var(--disc-rgb, 30, 91, 184), .35);
		border-radius: 50%;
		background: rgba(255, 255, 255, .85);
		box-shadow: 0 6px 18px rgba(15, 30, 60, .12);
		color: var(--disc-dark, #1e5bb8);
		font-size: 26px;
		line-height: 1;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
		transition: background-color .15s ease, color .15s ease, scale .15s ease;
	}
	.home-hero__side:active {
		scale: .92;
		background: var(--disc-dark, #1e5bb8);
		color: #fff;
	}
	.home-hero__side--prev {
		grid-column: 1;
	}
	.home-hero__side--next {
		grid-column: 3;
	}
	.home-hero__controls .home-hero__arrow {
		display: none;
	}
	.home-hero__info {
		grid-column: 1 / -1;
		min-width: 0;
		max-width: 100%;
	}
	.home-hero__text {
		max-width: 100%;
		text-align: justify;
		-webkit-hyphens: auto;
		hyphens: auto;
		overflow-wrap: break-word;
	}
	/* Six lines at most until "Leer más"; the last one fades out. */
	[data-home-slider].can-cut .home-hero__text:not(.is-open) {
		max-height: calc(1.7em * 6);
	}
}

/* Novedades: title and "Ver" button take each disco's colour (the dark version, readable on white). */
.home .home-hero__slide .home-hero__title,
.home .home-hero__slide .home-hero__title a {
	color: var(--disc-dark, #1e5bb8);
}
.home-hero__slide .home-hero__see {
	background: var(--disc-dark, #1e5bb8);
	box-shadow: 0 10px 28px rgba(var(--disc-rgb, 30, 91, 184), .35);
}
.home-hero__slide .home-hero__see:hover {
	background: var(--disc-dark, #1e5bb8);
	filter: brightness(1.15);
}

/* Novedades on black (4 nov): the new releases are the loudest block of the
   page. Each cover's colour glows behind it like a stage light; the title and
   "Leer más" use a light tint of that colour, and "Ver" is a white pill. */
.home .home-hero {
	--nov-tint: color-mix(in srgb, var(--disc-color, #1e5bb8) 28%, #fff);
	background: #000;
	color: #fff;
}
.home .home-hero .home-hero__slide {
	--nov-tint: color-mix(in srgb, var(--disc-color, #1e5bb8) 28%, #fff);
	background:
		radial-gradient(900px 560px at 22% 45%, rgba(var(--disc-rgb, 30, 91, 184), .55), transparent 70%),
		radial-gradient(700px 480px at 90% 0%, rgba(var(--disc-rgb, 30, 91, 184), .22), transparent 70%);
}
.home .home-hero .home-hero__head {
	border-bottom-color: rgba(255, 255, 255, .16);
}
.home .home-hero .home-hero__heading {
	color: #fff;
}
.home .home-hero .home-hero__heading em {
	color: #9dbcf0;
}
.home .home-hero .home-hero__count {
	color: rgba(255, 255, 255, .5);
}
.home .home-hero .home-hero__count b {
	color: #fff;
}
.home .home-hero .home-hero__info .eyebrow {
	color: var(--nov-tint);
	opacity: .85;
}
.home .home-hero .home-hero__slide .home-hero__title,
.home .home-hero .home-hero__slide .home-hero__title a {
	color: var(--nov-tint);
}
.home .home-hero .home-hero__artists {
	color: rgba(255, 255, 255, .7);
}
.home .home-hero .home-hero__text {
	color: rgba(255, 255, 255, .8);
}
.home .home-hero .home-hero__more {
	color: var(--nov-tint);
}
.home .home-hero .home-hero__slide .home-hero__see,
.home .home-hero .home-hero__slide .home-hero__see:hover {
	background: #fff;
	color: #000 !important;
	box-shadow: 0 10px 34px rgba(var(--disc-rgb, 255, 255, 255), .55);
	filter: none;
}
.home .home-hero .home-hero__slide .home-hero__see:hover {
	background: var(--nov-tint);
}
.home .home-hero .home-hero__arrow {
	border-color: rgba(255, 255, 255, .35);
	background: transparent;
	color: #fff;
}
.home .home-hero .home-hero__arrow:hover {
	background: #fff;
	color: #000;
}
.home .home-hero .home-hero__dot {
	background: rgba(255, 255, 255, .28);
}
.home .home-hero .home-hero__dot.is-active {
	background: #fff;
}

/* ---------- Sala de prensa ---------- */
body:has(.press-hero) .site-main {
	--line: rgba(30, 91, 184, .16);
	--text: #1e5bb8;
	--text-muted: #5b6b86;
	background: #fff;
	color: #1e5bb8;
}
body:has(.press-hero) .site-main .section-title {
	color: #0f2a55;
}
.press-hero {
	position: relative;
	display: grid;
	place-items: center;
	min-height: clamp(320px, 52vh, 520px);
	overflow: hidden;
	background: #05070f;
	text-align: center;
}
.press-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .55;
}
.press-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(5, 7, 15, .25), rgba(5, 7, 15, .8));
}
.press-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 760px;
	padding: 48px var(--gutter);
	color: #fff;
}
.press-hero .eyebrow {
	color: rgba(255, 255, 255, .75);
}
.press-hero__title {
	margin: 6px 0 14px;
	font-size: clamp(2.6rem, 7vw, 5rem);
	font-weight: 500;
	line-height: 1;
	color: #fff !important;
}
.press-hero__intro {
	margin: 0;
	font-size: 1.05rem;
	color: rgba(255, 255, 255, .85);
}
.press-quotes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
	padding-top: 64px;
	padding-bottom: 24px;
}
.press-quote {
	position: relative;
	margin: 0;
	padding: 40px 28px 26px;
	border-top: 2px solid #1e5bb8;
	background: #f6f8fd;
}
.press-quote::before {
	content: "\201C";
	position: absolute;
	top: -4px;
	left: 22px;
	font-family: var(--font-display);
	font-size: 5rem;
	line-height: 1;
	color: rgba(30, 91, 184, .2);
}
.press-quote blockquote {
	margin: 0;
}
.press-quote blockquote p {
	margin: 0 0 22px;
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.2vw, 1.7rem);
	font-style: italic;
	line-height: 1.3;
	color: #0f2a55;
}
.press-quote figcaption {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
}
.press-quote__outlet {
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #1e5bb8;
}
.press-quote a {
	font-size: .85rem;
	font-weight: 600;
	text-decoration: none;
}
.press-list {
	padding-top: 48px;
	padding-bottom: 80px;
}
.press-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
}
.press-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(30, 91, 184, .14);
	border-radius: 14px;
	background: #fff;
	color: inherit !important;
	text-decoration: none !important;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.press-card:hover {
	transform: translateY(-4px);
	border-color: rgba(30, 91, 184, .4);
	box-shadow: 0 18px 40px rgba(15, 30, 60, .12);
}
.press-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #eef3fc;
}
.press-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	transition: transform .5s ease;
}
.press-card:hover .press-card__media img {
	transform: scale(1.04);
}
.press-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	padding: 18px 20px 20px;
}
.press-card__outlet {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #1e5bb8;
}
.press-card__title {
	flex: 1;
	font-family: var(--font-display);
	font-size: 1.3rem;
	line-height: 1.25;
	color: #0f2a55;
}
.press-card__more {
	font-size: .85rem;
	font-weight: 600;
	color: #1e5bb8;
}
@media (max-width: 600px) {
	.press-quotes {
		padding-top: 40px;
	}
	.press-quote {
		padding: 34px 20px 20px;
	}
}

/* ---------- Liderazgo ---------- */
body:has(.lead-hero) .site-main {
	--line: rgba(30, 91, 184, .16);
	--text: #1e5bb8;
	--text-muted: #5b6b86;
	--urtext-accent: #1e5bb8;
	background: #fff;
	color: #1e5bb8;
}
body:has(.lead-hero) .urtext-disco-card__title {
	color: #1e5bb8;
}
.lead-hero {
	position: relative;
	display: grid;
	place-items: center;
	min-height: clamp(380px, 70vh, 680px);
	overflow: hidden;
	background: #05070f;
	text-align: center;
}
.lead-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .6;
}
.lead-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(5, 7, 15, .2), rgba(5, 7, 15, .75));
}
.lead-hero__inner {
	position: relative;
	z-index: 1;
	padding: 56px var(--gutter);
	color: #fff;
}
.lead-hero .eyebrow {
	color: rgba(255, 255, 255, .8);
	letter-spacing: .24em;
}
.lead-hero__title {
	margin: 10px 0 6px;
	font-size: clamp(2.6rem, 8vw, 5.6rem);
	font-weight: 500;
	line-height: 1;
	color: #fff !important;
}
.lead-hero__since {
	margin: 0 0 30px;
	font-family: var(--font-display);
	font-size: clamp(1.2rem, 2.4vw, 1.6rem);
	font-style: italic;
	color: rgba(255, 255, 255, .85);
}
.lead-intro {
	padding-top: 64px;
	padding-bottom: 24px;
	text-align: center;
}
/* Cifras: big Bodoni numerals in navy with a gold "+", a short gold rule and a
   small spaced-out label; fine gold hairlines between them. The numbers count
   up and the rules draw themselves when the block comes into view. */
.lead-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 980px;
	margin: 0 auto 40px;
}
.lead-stats > div {
	position: relative;
	padding: 18px 16px;
}
.lead-stats > div + div::before {
	content: "";
	position: absolute;
	top: 8%;
	bottom: 8%;
	left: 0;
	width: 1px;
	background: linear-gradient(to bottom, transparent, rgba(184, 144, 47, .55), transparent);
}
.lead-stats__num {
	display: block;
	font-family: "Bodoni Moda", "Bodoni 72", Didot, var(--font-display);
	font-size: clamp(3rem, 6.5vw, 5.25rem);
	font-weight: 400;
	font-variant-numeric: lining-nums;
	line-height: 1;
	letter-spacing: -.02em;
	color: #0f2a55;
}
.lead-stats__num [data-count] {
	display: inline-block;
}
/* The "+" of 300+ matters (there are more than 300): bigger, in a deeper gold,
   and drawn with the low-contrast cut of the Bodoni plus a fine outline so its
   strokes are as strong as the numbers' thick ones. */
.lead-stats__num sup {
	position: relative;
	top: .02em;
	margin-left: .06em;
	font-size: .66em;
	font-variation-settings: "opsz" 6;
	font-weight: 400;
	line-height: 1;
	vertical-align: top;
	color: #a87f1e;
	-webkit-text-stroke: .045em currentColor;
}
.lead-stats__label {
	display: block;
	margin-top: 18px;
	font-size: .7rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #5b6b86;
}
.lead-stats__label::before {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin: 0 auto 14px;
	background: #b8902f;
	transition: transform 1s cubic-bezier(.16, 1, .3, 1) .15s;
}
.lead-stats.is-waiting .lead-stats__label::before {
	transform: scaleX(0);
}
.lead-intro__text {
	max-width: 760px;
	margin: 0 auto;
	font-size: 1.1rem;
	line-height: 1.75;
	color: #3d4b66;
}
.lead-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	padding-top: 40px;
	padding-bottom: 24px;
}
.lead-tile {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(220px, 26vw, 340px);
	overflow: hidden;
	border-radius: 18px;
	background-size: cover;
	background-position: center;
	color: #fff !important;
	text-decoration: none !important;
	box-shadow: 0 16px 40px rgba(15, 30, 60, .14);
	transition: transform .3s ease, box-shadow .3s ease;
}
.lead-tile::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(4, 8, 20, .85), rgba(4, 8, 20, 0) 60%);
}
.lead-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 50px rgba(15, 30, 60, .2);
}
.lead-tile__label {
	position: relative;
	padding: 24px 28px;
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
}
.lead-people {
	padding-top: 72px;
	padding-bottom: 24px;
}
.lead-people__head {
	max-width: none;
	padding: 0 0 18px;
	margin-bottom: 48px;
}
.lead-person {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
	margin-bottom: 40px;
}
.lead-person--alt {
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
.lead-person--alt .lead-person__photo {
	order: 2;
}
.lead-person__photo {
	position: sticky;
	top: calc(var(--header-h) + 24px);
	margin: 0;
}
.lead-person__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(15, 30, 60, .18);
}
.lead-person__name {
	margin: 6px 0 12px;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 500;
	line-height: 1.05;
	color: #0f2a55 !important;
}
.lead-person__note {
	margin: 0 0 18px;
	font-style: italic;
	color: #5b6b86;
}
.lead-person__bio p {
	margin: 0 0 1em;
	font-size: 1rem;
	line-height: 1.75;
	color: #3d4b66;
}
.lead-person__bio p.is-more {
	display: none;
}
.lead-person.is-open .lead-person__bio p.is-more {
	display: block;
}
.lead-person__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
	margin-top: 8px;
}
.lead-person__toggle {
	padding: 11px 22px;
	border: 1px solid rgba(30, 91, 184, .35);
	border-radius: 999px;
	background: #fff;
	color: #1e5bb8;
	font: 600 .9rem/1 var(--font-sans);
	cursor: pointer;
}
.lead-person__toggle:hover {
	background: #1e5bb8;
	color: #fff;
}
.lead-person__link {
	font-weight: 600;
	text-decoration: none;
}
.lead-discos {
	margin: 0 0 80px;
	padding-top: 28px;
	border-top: 1px solid rgba(30, 91, 184, .16);
}
.lead-discos__title {
	margin: 0;
	font-family: var(--font-sans);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #5b6b86;
}
.lead-contact {
	padding-bottom: 64px;
	text-align: center;
	color: #5b6b86;
}
@media (max-width: 860px) {
	.lead-person,
	.lead-person--alt {
		grid-template-columns: minmax(0, 1fr);
	}
	.lead-person--alt .lead-person__photo {
		order: 0;
	}
	.lead-person__photo {
		position: static;
		max-width: 420px;
	}
}
@media (max-width: 600px) {
	.lead-stats {
		grid-template-columns: minmax(0, 1fr);
	}
	.lead-stats > div {
		padding: 14px 16px;
	}
	.lead-stats > div + div::before {
		top: 0;
		right: 20%;
		bottom: auto;
		left: 20%;
		width: auto;
		height: 1px;
		background: linear-gradient(to right, transparent, rgba(184, 144, 47, .55), transparent);
	}
	.lead-tiles {
		grid-template-columns: minmax(0, 1fr);
	}
	.lead-intro__text {
		text-align: justify;
		hyphens: auto;
	}
}

/* About-the-label blocks on the home page; Liderazgo header */
.home .lead-hero {
	margin-top: 24px;
}
.home .lead-hero__title {
	color: #fff !important;
}
.lead-header {
	padding-top: 56px;
}
.lead-header .page-title {
	color: #0f2a55;
}
body:has(.lead-header) .site-main {
	--line: rgba(30, 91, 184, .16);
	--text: #1e5bb8;
	--text-muted: #5b6b86;
	--urtext-accent: #1e5bb8;
	background: #fff;
	color: #1e5bb8;
}
.lead-people {
	padding-top: 32px;
}

.site-footer__phone {
	margin: 18px 0 0 !important;
}
.site-footer__phone a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-weight: 600;
}
.site-footer__phone svg {
	width: 16px;
	height: 16px;
	fill: #6f9be0;
}
.home .lead-hero {
	margin-top: 0;
}

/* Liderazgo: justified biographies */
.lead-person__bio p,
.lead-person__note {
	text-align: justify;
	-webkit-hyphens: auto;
	hyphens: auto;
}

/* ==========================================================================
   Header and menu, modern version
   ========================================================================== */
.site-header {
	--nav-ink: #0f2a55;
	--nav-gold: #b8902f;
	--nav-blue: #1e5bb8;
	background: rgba(255, 255, 255, .94);
	border-bottom: 1px solid rgba(15, 42, 85, .08);
	box-shadow: 0 0 0 rgba(15, 30, 60, 0);
	transition: background-color .4s ease, box-shadow .4s ease, border-color .4s ease;
}
.site-header.is-scrolled {
	box-shadow: 0 10px 30px rgba(15, 30, 60, .08);
}
.site-header__inner {
	transition: min-height .4s ease;
}
.site-header.is-scrolled .site-header__inner {
	min-height: 64px;
}
/* The logo file is white: on the white header it is drawn in deep blue. */
.site-header .custom-logo {
	filter: brightness(0) saturate(100%) invert(13%) sepia(52%) saturate(2400%) hue-rotate(207deg) brightness(92%);
	/* The color changes at once: animating these filter chains passes through
	   every hue on the way (fluorescent green on phones). */
	transition: max-height .4s ease;
}
.site-header.is-scrolled .custom-logo {
	max-height: 28px;
}

/* 1. Home: transparent over the video, white text. */
.home .site-header {
	position: fixed;
	left: 0;
	right: 0;
}
.home .site-main {
	padding-top: 0;
}
.home .lead-hero {
	padding-top: var(--header-h);
}
.site-header.is-over-hero {
	background: transparent;
	border-bottom-color: transparent;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
.site-header.is-over-hero .custom-logo {
	filter: none;
}
.site-header.is-over-hero .site-nav__menu > li > a {
	color: #fff;
}
.site-header.is-over-hero .menu-toggle__bars,
.site-header.is-over-hero .menu-toggle__bars::before,
.site-header.is-over-hero .menu-toggle__bars::after {
	background: #fff;
}

/* 3 + 4. Colours of the house, concert-programme lettering. */
.site-nav__menu > li > a {
	position: relative;
	padding: 10px 14px;
	color: var(--nav-ink);
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	transition: color .25s ease;
}
.site-nav__menu > li > a:hover {
	color: var(--nav-blue);
}
.site-nav__menu > .current-menu-item > a,
.site-nav__menu > .current-menu-ancestor > a {
	color: var(--nav-ink);
}

/* 2. A thin line draws itself under the item; the current one stays gold. */
.site-nav__menu > li > a::before {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 4px;
	height: 1.5px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .45s cubic-bezier(.2, .8, .2, 1);
}
.site-nav__menu > li > a:hover::before,
.site-nav__menu > li > a:focus-visible::before {
	transform: scaleX(1);
}
.site-nav__menu > .current-menu-item > a::before,
.site-nav__menu > .current-menu-ancestor > a::before {
	background: var(--nav-gold);
	transform: scaleX(1);
}

/* 5. "Tienda oficial" as the call to action. */
.site-nav__menu > .menu-item--cta > a {
	margin-left: 10px;
	padding: 10px 20px;
	border-radius: 999px;
	background: var(--nav-blue);
	color: #fff !important;
	box-shadow: 0 6px 18px rgba(30, 91, 184, .3);
	transition: background-color .25s ease, transform .25s ease;
}
.site-nav__menu > .menu-item--cta > a::before {
	display: none;
}
.site-nav__menu > .menu-item--cta > a:hover {
	background: #174b99;
	transform: translateY(-1px);
}
.site-header.is-over-hero .site-nav__menu > .menu-item--cta > a {
	background: #fff;
	color: var(--nav-ink) !important;
}
.site-nav__extra {
	display: none;
}

/* 7. Sound wave by the logo while music plays. */
.site-header__brand {
	display: flex;
	align-items: center;
	gap: 12px;
}
.site-header__wave {
	display: none;
	align-items: flex-end;
	gap: 2px;
	height: 16px;
}
.has-urtext-player .site-header__wave {
	display: inline-flex;
}
.site-header__wave i {
	width: 3px;
	height: 100%;
	border-radius: 2px;
	/* --urtext-wave: the playing disco's color, set by discos-ui.js. */
	background: var(--urtext-wave, var(--nav-gold));
	transform-origin: bottom;
	animation: header-wave 1s ease-in-out infinite;
}
.site-header__wave i:nth-child(2) {
	animation-delay: -.3s;
}
.site-header__wave i:nth-child(3) {
	animation-delay: -.6s;
}
.site-header__wave i:nth-child(4) {
	animation-delay: -.15s;
}
@keyframes header-wave {
	0%,
	100% {
		transform: scaleY(.3);
	}
	50% {
		transform: scaleY(1);
	}
}

/* 6. Phone: full-screen menu in deep blue, items arriving one by one. */
@media (max-width: 980px) {
	.menu-toggle__bars,
	.menu-toggle__bars::before,
	.menu-toggle__bars::after {
		background: var(--nav-ink);
	}
	.menu-open .site-header {
		background: #26438e;
	}
	.menu-open .site-header .custom-logo {
		filter: none;
	}
	.menu-open .menu-toggle__bars::before,
	.menu-open .menu-toggle__bars::after {
		background: #fff;
	}
	.site-nav {
		justify-content: space-between;
		background: #26438e;
	}
	.site-nav__menu > li > a {
		padding: 14px 0;
		border-bottom: 1px solid rgba(255, 255, 255, .1);
		color: #fff !important;
		font-family: var(--font-display);
		font-size: clamp(1.7rem, 7vw, 2.2rem);
		font-weight: 500;
		letter-spacing: 0;
		text-transform: none;
	}
	.site-nav__menu > li > a::before {
		display: none;
	}
	.site-nav__menu > .current-menu-item > a {
		color: #e7c873 !important;
	}
	.site-nav__menu > .menu-item--cta > a {
		margin: 18px 0 0;
		padding: 14px 24px;
		border: 0;
		background: #fff;
		color: var(--nav-ink) !important;
		font-family: var(--font-sans);
		font-size: 1rem;
		font-weight: 700;
		text-align: center;
	}
	.site-nav__menu > li {
		opacity: 0;
		transform: translateY(14px);
		transition: opacity .4s ease, transform .5s cubic-bezier(.2, .8, .2, 1);
	}
	.menu-open .site-nav__menu > li {
		opacity: 1;
		transform: none;
	}
	.menu-open .site-nav__menu > li:nth-child(2) { transition-delay: .05s; }
	.menu-open .site-nav__menu > li:nth-child(3) { transition-delay: .1s; }
	.menu-open .site-nav__menu > li:nth-child(4) { transition-delay: .15s; }
	.menu-open .site-nav__menu > li:nth-child(5) { transition-delay: .2s; }
	.menu-open .site-nav__menu > li:nth-child(6) { transition-delay: .25s; }
	.menu-open .site-nav__menu > li:nth-child(7) { transition-delay: .3s; }
	.menu-open .site-nav__menu > li:nth-child(8) { transition-delay: .35s; }
	.site-nav__extra {
		display: flex;
		flex-direction: column;
		gap: 14px;
		padding-top: 24px;
	}
	.site-nav__phone {
		color: rgba(255, 255, 255, .85) !important;
		font-weight: 600;
		text-decoration: none;
	}
	.site-nav__extra .site-footer__social {
		margin: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.site-nav__menu > li,
	.site-header__wave i {
		transition: none;
		animation: none;
	}
}

/* Menu on one line: no wrapping, compact Tienda pill. */
@media (min-width: 981px) {
	.site-nav__menu {
		gap: 0;
	}
	.site-nav__menu > li > a {
		padding: 8px 10px;
		font-size: .7rem;
		letter-spacing: .12em;
		white-space: nowrap;
	}
	.site-nav__menu > li > a::before {
		left: 10px;
		right: 10px;
	}
	.site-nav__menu > .menu-item--cta > a {
		margin-left: 8px;
		padding: 7px 14px;
		font-size: .68rem;
		box-shadow: 0 4px 12px rgba(30, 91, 184, .25);
	}
}
@media (min-width: 981px) and (max-width: 1180px) {
	.site-nav__menu > li > a {
		padding: 8px 7px;
		letter-spacing: .08em;
	}
}

/* ---------- Inicio: El catálogo (compact) ---------- */
.home-catalog {
	padding-top: clamp(48px, 6vw, 80px);
	padding-bottom: clamp(32px, 4vw, 56px);
}
.home-catalog__head {
	max-width: none;
	margin-bottom: 28px;
	padding: 0 0 18px;
	align-items: center;
}
.home-catalog__all {
	padding: 11px 24px;
	font-size: .9rem;
}
.home-catalog__row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 22px;
}
.home-catalog__cat {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px;
	border: 1px solid rgba(30, 91, 184, .14);
	border-radius: 14px;
	background: #fff;
	color: inherit !important;
	text-decoration: none !important;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.home-catalog__cat:hover {
	transform: translateY(-2px);
	border-color: #1e5bb8;
	box-shadow: 0 12px 28px rgba(15, 30, 60, .1);
}
.home-catalog__cat img {
	width: 56px;
	height: 56px;
	flex: none;
	border-radius: 8px;
	object-fit: cover;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
}
.home-catalog__cat strong,
.home-catalog__cat small {
	display: block;
	line-height: 1.25;
}
.home-catalog__cat strong {
	color: #0f2a55;
	font-weight: 600;
}
.home-catalog__cat small {
	color: #5b6b86;
	font-size: .8rem;
}
.home-catalog__insts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.home-catalog__inst {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 16px 7px 10px;
	border: 1px solid rgba(30, 91, 184, .18);
	border-radius: 999px;
	color: #1e5bb8 !important;
	font-size: .875rem;
	font-weight: 500;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}
.home-catalog__inst svg {
	width: 22px;
	height: 22px;
}
.home-catalog__inst:hover {
	background: #1e5bb8;
	color: #fff !important;
}
@media (max-width: 900px) {
	.home-catalog__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 600px) {
	.home-catalog__head {
		flex-direction: column;
		align-items: flex-start;
	}
	.home-catalog__insts {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 6px;
	}
	.home-catalog__inst {
		flex: none;
	}
	.home-catalog__cat img {
		width: 44px;
		height: 44px;
	}
}

/* Inicio, Catálogo: on royal blue from edge to edge (so it stands apart from
   the white blocks), a short introduction on the left and, on the right, a
   wall of covers drifting slowly, each column its own way. The full-screen
   sizing is in the plugin's home-snap.css. */
.home-cta {
	--cta-ink: #0f2a55;
	--cta-blue: #1e5bb8;
	--cta-gold: #e5c77a;
	--cta-gap: clamp(10px, 1.2vw, 18px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	align-items: center;
	gap: clamp(32px, 5vw, 88px);
	margin: clamp(40px, 5vw, 64px) 0;
	padding: clamp(40px, 6vw, 72px) max(var(--gutter), calc((100% - 1440px) / 2));
	background:
		radial-gradient(900px 600px at 12% 30%, rgba(255, 255, 255, .12), transparent 60%),
		linear-gradient(135deg, #1e5bb8, #123d7d);
	color: #fff;
}
.home-cta :focus-visible {
	outline-color: #fff;
}
.home-cta__text {
	max-width: 560px;
}
.home-cta__count {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	color: var(--cta-gold);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
}
.home-cta__count::before {
	content: "";
	width: 36px;
	height: 1px;
	background: currentColor;
}
.home .home-cta .home-cta__title {
	margin: 0 0 16px;
	font-size: clamp(3.2rem, 7vw, 6rem);
	font-weight: 500;
	line-height: .95;
	letter-spacing: -.015em;
	color: #fff;
}
.home-cta__lead {
	max-width: 34ch;
	margin: 0 0 clamp(28px, 5vh, 44px);
	color: rgba(255, 255, 255, .85);
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.5;
}

/* Categorías (white) and Instrumentación (outlined): the catalog's two tabs. */
.home-cta__links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.home-cta__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 999px;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.home-cta__link:hover,
.home-cta__link:focus-visible {
	border-color: #fff;
	background: rgba(255, 255, 255, .12);
	color: #fff;
}
.home-cta__link--main {
	border-color: #fff;
	background: #fff;
	color: var(--cta-blue);
	box-shadow: 0 12px 30px rgba(5, 20, 50, .25);
}
.home-cta__link--main:hover,
.home-cta__link--main:focus-visible {
	background: #fff;
	color: var(--cta-ink);
	box-shadow: 0 14px 34px rgba(5, 20, 50, .35);
}
.home-cta__link span {
	color: #b8902f;
	transition: translate .25s ease;
}
.home-cta__link:hover span {
	translate: 4px 0;
}

/* The wall: four tilted columns of covers, fading out at the edges. Each
   column holds its covers twice and slides by half, so the loop is seamless;
   the mouse over it holds everything still. */
.home-cta__wall {
	position: relative;
	align-self: stretch;
	min-height: 460px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent), linear-gradient(to right, transparent, #000 10%, #000 92%, transparent);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent), linear-gradient(to right, transparent, #000 10%, #000 92%, transparent);
	mask-composite: intersect;
}
.home-cta__cols {
	position: absolute;
	inset: -18% -12%;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--cta-gap);
	transform: rotate(-8deg);
}
.home-cta__track {
	display: flex;
	flex-direction: column;
	animation: home-cta-drift var(--drift, 90s) linear var(--drift-delay, 0s) infinite;
}
.home-cta__col:nth-child(2) .home-cta__track {
	--drift: 110s;
	animation-direction: reverse;
}
.home-cta__col:nth-child(3) .home-cta__track {
	--drift: 80s;
	--drift-delay: -30s;
}
.home-cta__col:nth-child(4) .home-cta__track {
	--drift: 100s;
	--drift-delay: -45s;
	animation-direction: reverse;
}
.home-cta__wall:hover .home-cta__track {
	animation-play-state: paused;
}
.home-cta__disc {
	display: block;
	/* Space under every cover (the last one too): half the column is exactly one set. */
	margin-bottom: var(--cta-gap);
	overflow: hidden;
	aspect-ratio: 1;
	border-radius: 12px;
	background: rgba(255, 255, 255, .08);
	box-shadow: 0 18px 36px -12px rgba(5, 20, 50, .55);
	transition: scale .35s ease, box-shadow .35s ease;
}
.home-cta__disc img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.home-cta__disc:hover {
	scale: 1.04;
	box-shadow: 0 24px 44px -12px rgba(5, 20, 50, .65);
}
@keyframes home-cta-drift {
	to {
		translate: 0 -50%;
	}
}
@media (prefers-reduced-motion: reduce) {
	.home-cta__track {
		animation: none;
	}
}

/* Phone: the wall becomes a band above the text, edge to edge. */
@media (max-width: 860px) {
	.home-cta {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	.home-cta__text {
		max-width: none;
	}
	.home-cta__wall {
		order: -1;
		min-height: 0;
		height: clamp(220px, 34vh, 320px);
		margin: 0 calc(var(--gutter) * -1);
	}
}
@media (max-width: 420px) {
	.home-cta__link {
		padding: 13px 22px;
	}
}

/* Phone menu: the header's blur made it the frame of the fixed menu, cutting it
   short. Without it, the menu covers the whole screen above everything. */
@media (max-width: 980px) {
	.site-header,
	.site-header.is-scrolled {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
	.site-nav {
		position: fixed;
		top: var(--header-h);
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 60;
		height: calc(100vh - var(--header-h));
		height: calc(100dvh - var(--header-h));
	}
	.admin-bar .site-nav {
		top: calc(var(--header-h) + 46px);
	}
	.menu-open .site-header {
		z-index: 1000;
		background: #26438e !important;
	}
	.menu-open .site-header .site-header__inner {
		min-height: var(--header-h);
	}
	.menu-open .site-nav {
		padding-top: 12px;
	}
}
@media (max-width: 600px) {
	.admin-bar .site-nav {
		top: var(--header-h);
	}
}

/* Phone menu, refined: lighter and smaller lettering, tighter rows, small numbers, compact Tienda pill. */
@media (max-width: 980px) {
	.site-nav__menu {
		counter-reset: navitem;
	}
	.site-nav__menu > li > a {
		display: flex;
		align-items: baseline;
		gap: 14px;
		padding: 13px 0;
		border-bottom-color: rgba(255, 255, 255, .08);
		font-family: var(--font-sans);
		font-size: 1.05rem;
		font-weight: 400;
		letter-spacing: .02em;
	}
	.site-nav__menu > li:not(.menu-item--cta) > a::after {
		content: "\2192";
		margin-left: auto;
		font-size: .9rem;
		opacity: .35;
		transition: opacity .2s ease, transform .2s ease;
	}
	.site-nav__menu > li:not(.menu-item--cta) > a:active::after {
		opacity: 1;
		transform: translateX(4px);
	}
	.site-nav__menu > li:not(.menu-item--cta) > a::before {
		counter-increment: navitem;
		content: counter(navitem, decimal-leading-zero);
		position: static;
		display: inline;
		width: auto;
		height: auto;
		background: none;
		transform: none;
		font-size: .7rem;
		letter-spacing: .1em;
		color: #e7c873;
		opacity: .8;
	}
	.site-nav__menu > .menu-item--cta {
		margin-top: 20px;
	}
	.site-nav__menu > .menu-item--cta > a {
		display: inline-flex;
		margin: 0;
		padding: 10px 22px;
		border: 1px solid rgba(255, 255, 255, .5);
		border-radius: 999px;
		background: transparent;
		color: #fff !important;
		font-size: .85rem;
		font-weight: 600;
		letter-spacing: .1em;
		text-transform: uppercase;
	}
	.site-nav__extra {
		padding-top: 28px;
		font-size: .9rem;
	}
	.site-nav__extra .site-footer__social a {
		width: 36px;
		height: 36px;
	}
}

/* Destacados: panel numbers on a black circle */
.home-accordion__num {
	top: 16px;
	left: 16px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #000;
	color: #fff;
	font-size: .72rem;
	letter-spacing: .04em;
	opacity: 1;
	text-shadow: none;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .35);
}

/* Liderazgo: URTEXT disc logo above the title (the file is white: drawn in deep blue) */
.lead-header__logo {
	display: block;
	width: clamp(84px, 10vw, 120px);
	height: auto;
	margin: 0 auto 18px;
	filter: brightness(0) saturate(100%) invert(13%) sepia(52%) saturate(2400%) hue-rotate(207deg) brightness(92%);
}

/* Language switcher (ES / EN) in header */
.site-header__right {
	display: flex;
	align-items: center;
	gap: 12px;
}
.site-lang {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 3px;
	border: 1px solid rgba(15, 42, 85, .16);
	border-radius: 999px;
	background: rgba(15, 42, 85, .03);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1;
	flex: none;
	transition: border-color .25s ease, background-color .25s ease;
}
.site-lang__sep {
	display: none;
}
.site-lang__link {
	padding: 5px 8px;
	border-radius: 999px;
	color: rgba(15, 42, 85, .62) !important;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}
.site-lang__link:hover {
	color: var(--nav-ink) !important;
}
.site-lang__link.is-active {
	background: var(--nav-ink);
	color: #fff !important;
}
.site-header.is-over-hero .site-lang,
.menu-open .site-header .site-lang {
	border-color: rgba(255, 255, 255, .32);
	background: rgba(255, 255, 255, .08);
}
.site-header.is-over-hero .site-lang__link,
.menu-open .site-header .site-lang__link {
	color: rgba(255, 255, 255, .75) !important;
}
.site-header.is-over-hero .site-lang__link:hover,
.menu-open .site-header .site-lang__link:hover {
	color: #fff !important;
}
.site-header.is-over-hero .site-lang__link.is-active,
.menu-open .site-header .site-lang__link.is-active {
	background: #fff;
	color: var(--nav-ink) !important;
}
@media (min-width: 981px) and (max-width: 1220px) {
	.site-header__inner {
		gap: 14px;
	}
	.site-header__right {
		gap: 8px;
	}
	.site-nav__menu > li > a {
		padding: 8px 6px;
		letter-spacing: .07em;
	}
}

/* Phone menu: "Tienda oficial" reads like the other items, with a yellow cart where the others have their number. */
@media (max-width: 980px) {
	.site-header .site-nav .site-nav__menu > .menu-item--cta {
		margin-top: 0;
	}
	.site-header .site-nav .site-nav__menu > .menu-item--cta > a {
		display: flex;
		align-items: center;
		gap: 14px;
		margin: 0;
		padding: 13px 0;
		border: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .08);
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		color: #fff !important;
		font-family: var(--font-sans);
		font-size: 1.05rem;
		font-weight: 400;
		letter-spacing: .02em;
		text-transform: none;
		transform: none;
	}
	.site-header .site-nav .site-nav__menu > .menu-item--cta > a::before {
		content: "";
		position: static;
		display: inline-block;
		flex: none;
		width: 15px;
		height: 15px;
		background: #e7c873;
		opacity: .9;
		transform: none;
		transition: none;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM1 2v2h2l3.6 7.6-1.4 2.4A2 2 0 0 0 7 17h12v-2H7.4l1.1-2h7.5a2 2 0 0 0 1.7-1l3.6-6.5A1 1 0 0 0 20.4 4H5.2l-.9-2H1Z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM1 2v2h2l3.6 7.6-1.4 2.4A2 2 0 0 0 7 17h12v-2H7.4l1.1-2h7.5a2 2 0 0 0 1.7-1l3.6-6.5A1 1 0 0 0 20.4 4H5.2l-.9-2H1Z'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	/* It opens the shop in another site: an arrow pointing out. */
	.site-header .site-nav .site-nav__menu > .menu-item--cta > a::after {
		content: "\2197";
		margin-left: auto;
		font-size: .9rem;
		opacity: .35;
	}
	.site-header .site-nav .site-nav__menu > .menu-item--cta > a:hover {
		background: transparent;
		transform: none;
	}
}

/* Phone menu: the phone number as a small contact card, tap to call. */
@media (max-width: 980px) {
	.site-nav__extra {
		gap: 18px;
	}
	.site-nav__extra .site-nav__phone {
		display: flex;
		align-items: center;
		gap: 14px;
		padding: 12px 16px 12px 12px;
		border: 1px solid rgba(255, 255, 255, .12);
		border-radius: 16px;
		background: rgba(255, 255, 255, .05);
		color: #fff !important;
		font-weight: 600;
		letter-spacing: .03em;
		text-decoration: none !important;
		transition: background-color .2s ease, border-color .2s ease;
	}
	.site-nav__extra .site-nav__phone:active {
		background: rgba(255, 255, 255, .1);
		border-color: rgba(231, 200, 115, .5);
	}
	.site-nav__phone-icon {
		display: grid;
		place-items: center;
		flex: none;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background: rgba(231, 200, 115, .14);
	}
	.site-nav__phone-icon svg {
		width: 18px;
		height: 18px;
		fill: #e7c873;
	}
	.site-nav__phone-text {
		display: flex;
		flex-direction: column;
		line-height: 1.25;
	}
	.site-nav__phone-text small {
		font-size: .66rem;
		font-weight: 500;
		letter-spacing: .14em;
		text-transform: uppercase;
		color: rgba(255, 255, 255, .55);
	}
	.site-nav__phone-go {
		margin-left: auto;
		font-size: .9rem;
		opacity: .35;
	}
}
@media (min-width: 981px) {
	.site-nav__phone-icon,
	.site-nav__phone-go {
		display: none;
	}
}

/* Header: "Tienda oficial" is a quiet outlined button with a gold cart, so it never looks like the page you are on. */
@media (min-width: 981px) {
	.site-header .site-nav__menu > .menu-item--cta > a {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin-left: 12px;
		padding: 8px 16px 8px 14px;
		border: 1px solid rgba(15, 42, 85, .2);
		border-radius: 999px;
		background: transparent;
		box-shadow: none;
		color: var(--nav-ink) !important;
	}
	.site-header .site-nav__menu > .menu-item--cta > a::before {
		content: "";
		position: static;
		display: inline-block;
		flex: none;
		width: 14px;
		height: 14px;
		background: var(--nav-gold);
		transform: none;
		transition: none;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM1 2v2h2l3.6 7.6-1.4 2.4A2 2 0 0 0 7 17h12v-2H7.4l1.1-2h7.5a2 2 0 0 0 1.7-1l3.6-6.5A1 1 0 0 0 20.4 4H5.2l-.9-2H1Z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM1 2v2h2l3.6 7.6-1.4 2.4A2 2 0 0 0 7 17h12v-2H7.4l1.1-2h7.5a2 2 0 0 0 1.7-1l3.6-6.5A1 1 0 0 0 20.4 4H5.2l-.9-2H1Z'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.site-header .site-nav__menu > .menu-item--cta > a:hover,
	.site-header .site-nav__menu > .menu-item--cta > a:focus-visible {
		border-color: var(--nav-blue);
		background: rgba(30, 91, 184, .06);
		transform: none;
	}
	.site-header.is-over-hero .site-nav__menu > .menu-item--cta > a {
		border-color: rgba(255, 255, 255, .45);
		background: transparent;
		color: #fff !important;
	}
	.site-header.is-over-hero .site-nav__menu > .menu-item--cta > a::before {
		background: #e7c873;
	}
	.site-header.is-over-hero .site-nav__menu > .menu-item--cta > a:hover {
		border-color: #fff;
		background: rgba(255, 255, 255, .1);
	}
}

/* ES / EN: a small floating widget in the bottom-right corner, apart from the menu. */
.site-lang-float {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 40;
}
.site-lang-float .site-lang {
	padding: 4px;
	border-color: rgba(15, 42, 85, .1);
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: saturate(140%) blur(12px);
	backdrop-filter: saturate(140%) blur(12px);
	box-shadow: 0 10px 30px rgba(15, 30, 60, .14);
	font-size: .7rem;
}
.site-lang-float .site-lang__link {
	padding: 7px 11px;
	color: rgba(15, 42, 85, .6) !important;
}
.site-lang-float .site-lang__link:hover {
	color: #0f2a55 !important;
}
/* The language you are reading: navy pill, white letters. */
.site-lang-float .site-lang__link.is-active {
	background: #0f2a55;
	color: #fff !important;
}
.menu-open .site-lang-float {
	display: none;
}
@media print {
	.site-lang-float {
		display: none;
	}
}

/* Destacados on phones: the number stays top-left, the name goes to the bottom-right corner. */
@media (max-width: 760px) {
	.home-accordion__item .home-accordion__label {
		left: auto;
		right: 20px;
		bottom: 16px;
		max-width: calc(100% - 40px);
		text-align: right;
		white-space: normal;
	}
}

/* Destacados on wide screens: bigger names on the closed panels, over a darker
   foot of the panel, so they read on any image. */
@media (min-width: 761px) {
	.home-accordion__item .home-accordion__label {
		bottom: 32px;
		font-size: clamp(1.8rem, 2.3vw, 2.6rem);
		line-height: 1;
		letter-spacing: .01em;
		text-shadow: 0 2px 16px rgba(0, 0, 0, .85), 0 0 3px rgba(0, 0, 0, .6);
	}
	.home-accordion__item:not(.is-open) .home-accordion__shade {
		background: linear-gradient(180deg, rgba(10, 20, 45, .45), rgba(10, 20, 45, .7) 45%, rgba(5, 10, 25, .92));
	}
}


/* ---------- Single disco: Structured Programme, Credits, Liner Notes & Technical Sheet ---------- */
.disco__person-link {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px dashed rgba(30, 91, 184, .32);
	transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.disco__person-link:hover {
	color: var(--cat-blue-dark, #123d7d);
	border-bottom-style: solid;
	border-bottom-color: currentColor;
}
.disco__sep {
	opacity: .45;
	padding: 0 2px;
}
.disco__programme {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-top: 28px;
	border-top: 1px solid var(--line);
}
.disco__section {
	margin: 0;
}
.disco__section + .disco__section {
	padding-top: 28px;
	border-top: 1px solid var(--line);
}
.disco__section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 16px;
}
.disco__section > .disco__subtitle {
	margin-bottom: 14px;
}
.disco__section-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--urtext-surface, #eef3fc);
	color: var(--text-muted);
	font-size: .75rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.disco__tracklist {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--line);
	border-radius: 14px;
	overflow: hidden;
	background: rgba(255, 255, 255, .82);
}
.disco__track {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: baseline;
	padding: 12px 16px;
	border-bottom: 1px solid var(--line);
	transition: background-color .15s ease;
}
.disco__track:last-child {
	border-bottom: 0;
}
.disco__track:not(.disco__track--work):hover {
	background: rgba(30, 91, 184, .04);
}
.disco__track--work {
	grid-template-columns: 1fr;
	padding: 10px 16px;
	background: var(--urtext-surface, #eef3fc);
}
.disco__track-work-title {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--cat-blue-dark, #123d7d);
}
.disco__track-num {
	color: var(--text-muted);
	font-size: .82rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.disco__track-main {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.disco__track-title {
	font-weight: 600;
	line-height: 1.35;
}
.disco__track-sub {
	color: var(--text-muted);
	font-size: .82rem;
	line-height: 1.35;
}
.disco__track-dur {
	color: var(--text-muted);
	font-size: .82rem;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.disco__credits-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 32px;
	align-items: start;
}
.disco__credits-grid--single {
	grid-template-columns: 1fr;
}
.disco__credit-group .disco__subtitle {
	margin-bottom: 14px;
}
.disco__credit-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
}
.disco__credit-item {
	margin: 0;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(30, 91, 184, .1);
}
.disco__credit-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}
.disco__credit-item dt {
	margin: 0 0 2px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.disco__credit-item dd {
	margin: 0;
	font-size: .94rem;
	font-weight: 500;
	line-height: 1.45;
}
.disco__credit-item--ensemble dd {
	font-size: 1.02rem;
	font-weight: 700;
}
.disco__section--notes .disco__description {
	padding: 0;
	font-size: .95rem;
	line-height: 1.75;
}
.disco__section--notes .disco__description p {
	margin: 0 0 .95em;
}
.disco__section--notes .disco__description p:last-child {
	margin-bottom: 0;
}
.disco__techsheet {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px 20px;
	margin: 0;
	padding: 16px 18px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--urtext-surface, #eef3fc);
}
.disco__tech-item {
	margin: 0;
}
.disco__tech-item dt {
	margin: 0 0 2px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--text-muted);
}
.disco__tech-item dd {
	margin: 0;
	font-size: .88rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
@media (max-width: 680px) {
	.disco__credits-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

/* ==========================================================================
   UrWorld (page-urworld.php): URTEXT's world on Spatial.io. The pastel sky of
   the world itself, navy text, royal blue buttons and Güero as the guide.
   ========================================================================== */
body:has(.urworld) .site-main {
	padding-bottom: 0;
	background: #fff;
	color: #0f2a55;
}
.urworld {
	--uw-ink: #0f2a55;
	--uw-blue: #1e5bb8;
	--uw-violet: #7a4fd6;
	--uw-lilac: #c9b6f5;
	--uw-mint: #9fe3cf;
	--uw-peach: #ffc4a3;
	--uw-sun: #ffe89a;
	--uw-muted: #5b6b86;
	color: var(--uw-ink);
}
.urworld :is(h1, h2, h3) {
	color: var(--uw-ink);
}
.urworld-icon {
	width: 1.15em;
	height: 1.15em;
	flex: none;
}
.urworld-eyebrow {
	margin: 0 0 12px;
	color: var(--uw-violet);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
}

/* Buttons: royal blue, outlined, or white on the last call. */
.urworld-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 26px;
	border: 1px solid var(--uw-blue);
	border-radius: 999px;
	background: var(--uw-blue);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 12px 28px rgba(30, 91, 184, .28);
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, translate .2s ease;
}
.urworld-btn:hover,
.urworld-btn:focus-visible {
	background: var(--uw-ink);
	border-color: var(--uw-ink);
	color: #fff;
	translate: 0 -2px;
	box-shadow: 0 16px 34px rgba(15, 42, 85, .3);
}
.urworld-btn--ghost {
	background: rgba(255, 255, 255, .7);
	color: var(--uw-blue);
	box-shadow: none;
}
.urworld-btn--ghost:hover,
.urworld-btn--ghost:focus-visible {
	background: #fff;
	border-color: var(--uw-blue);
	color: var(--uw-ink);
}
.urworld-btn--light {
	border-color: #fff;
	background: #fff;
	color: var(--uw-blue);
}
.urworld-btn--light:hover,
.urworld-btn--light:focus-visible {
	border-color: #fff;
	background: #fff;
	color: var(--uw-ink);
}

/* Header: the world's soft sky behind, the video beside the text. */
.urworld-hero {
	position: relative;
	padding: clamp(48px, 7vw, 104px) var(--gutter) clamp(56px, 7vw, 96px);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .25), rgba(255, 255, 255, .1) 45%, #fff 100%),
		var(--urworld-bg, none) center top / cover no-repeat,
		linear-gradient(135deg, var(--uw-lilac), var(--uw-mint) 55%, var(--uw-sun));
}
.urworld-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	align-items: center;
	gap: clamp(32px, 5vw, 72px);
	max-width: var(--content);
	margin: 0 auto;
}
.urworld .urworld-hero__title {
	margin: 0 0 18px;
	font-family: var(--font-sans);
	font-size: clamp(3rem, 7.5vw, 6rem);
	font-weight: 800;
	line-height: .95;
	letter-spacing: -.03em;
	text-shadow: 0 2px 30px rgba(255, 255, 255, .7);
}
.urworld-hero__title span {
	background: linear-gradient(135deg, var(--uw-violet), var(--uw-blue));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	text-shadow: none;
}
.urworld-hero__lead {
	max-width: 30ch;
	margin: 0 0 22px;
	font-size: clamp(1.1rem, 1.6vw, 1.35rem);
	font-weight: 500;
	line-height: 1.5;
}
.urworld-perks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}
.urworld-perks li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	font-size: .85rem;
	font-weight: 600;
	box-shadow: 0 4px 14px rgba(15, 42, 85, .08);
}
.urworld-perks li::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--uw-violet);
}
.urworld-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.urworld-hero__video {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border: 6px solid #fff;
	border-radius: 24px;
	background: var(--uw-ink);
	box-shadow: 0 30px 70px rgba(122, 79, 214, .28), 0 10px 26px rgba(15, 42, 85, .16);
}
.urworld-hero__video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Section headings */
.urworld-head {
	max-width: 680px;
	margin: 0 auto clamp(32px, 4vw, 48px);
	text-align: center;
}
.urworld .urworld-head__title {
	margin: 0 0 12px;
	font-size: clamp(2.2rem, 4.5vw, 3.4rem);
	font-weight: 500;
	line-height: 1.05;
}
.urworld-head p {
	margin: 0;
	color: var(--uw-muted);
	font-size: 1.05rem;
	line-height: 1.6;
}

/* What is inside: three screenshots with a big figure each. */
.urworld-inside {
	padding-top: clamp(40px, 6vw, 80px);
	padding-bottom: clamp(56px, 7vw, 96px);
}
.urworld-features {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 32px);
}
.urworld-feature {
	padding: 12px 12px 26px;
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 18px 44px rgba(15, 42, 85, .1);
	transition: translate .3s ease, box-shadow .3s ease;
}
.urworld-feature:hover {
	translate: 0 -4px;
	box-shadow: 0 26px 54px rgba(122, 79, 214, .18);
}
.urworld-feature img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	margin-bottom: 20px;
	border-radius: 18px;
	object-fit: cover;
}
.urworld-feature > :not(img) {
	margin-left: 14px;
	margin-right: 14px;
}
.urworld-feature__big {
	margin-top: 0;
	margin-bottom: 0;
	background: linear-gradient(135deg, var(--uw-violet), var(--uw-blue));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-size: clamp(2.2rem, 3.6vw, 3rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
}
.urworld .urworld-feature__title {
	margin-top: 4px;
	margin-bottom: 10px;
	font-family: var(--font-sans);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--uw-muted);
}
.urworld-feature p:not(.urworld-feature__big) {
	margin-bottom: 0;
	font-size: .95rem;
	line-height: 1.6;
}
.urworld-islands {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 14px;
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}
.urworld-islands li {
	padding: 4px 11px;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 600;
}
.urworld-islands li:nth-child(6n + 1) { background: var(--uw-lilac); }
.urworld-islands li:nth-child(6n + 2) { background: var(--uw-mint); }
.urworld-islands li:nth-child(6n + 3) { background: var(--uw-peach); }
.urworld-islands li:nth-child(6n + 4) { background: var(--uw-sun); }
.urworld-islands li:nth-child(6n + 5) { background: #bcd6ff; }
.urworld-islands li:nth-child(6n + 6) { background: #f6c4e3; }

/* How to get in: one card per device, Güero beside the heading. */
.urworld-how {
	padding: clamp(56px, 7vw, 96px) 0;
	background:
		radial-gradient(600px 400px at 10% 0%, rgba(201, 182, 245, .45), transparent 70%),
		radial-gradient(600px 420px at 95% 100%, rgba(159, 227, 207, .45), transparent 70%),
		#f7f5fd;
}
.urworld-head--guide {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;
	max-width: 900px;
}
.urworld-guide {
	position: relative;
	flex: none;
	width: 150px;
	margin: 0;
}
.urworld-guide__img {
	display: block;
	width: 100%;
	height: auto;
	animation: urworld-bob 3.2s ease-in-out infinite;
}
.urworld-guide__note {
	position: absolute;
	right: 78%;
	top: -6px;
	width: 150px;
	height: auto;
	rotate: -6deg;
}
@keyframes urworld-bob {
	50% {
		translate: 0 -8px;
	}
}
.urworld-ways {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 28px);
	align-items: start;
}
.urworld-way {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	padding: 30px 26px 28px;
	overflow: hidden;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(15, 42, 85, .08);
}
.urworld-way--desktop { --uw-way: var(--uw-lilac); }
.urworld-way--phone { --uw-way: var(--uw-mint); }
.urworld-way--vr { --uw-way: var(--uw-peach); }
.urworld-way__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--uw-way);
	color: var(--uw-ink);
	font-size: 24px;
}
.urworld .urworld-way__title {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 1.15rem;
	font-weight: 700;
}
.urworld-way p {
	margin: 0;
	line-height: 1.6;
}
.urworld-way .urworld-btn {
	margin-top: 6px;
	padding: 12px 22px;
	font-size: .92rem;
}
.urworld-steps {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: urworld-step;
	font-size: .95rem;
	line-height: 1.55;
}
.urworld-steps li {
	position: relative;
	padding-left: 38px;
	counter-increment: urworld-step;
}
.urworld-steps li::before {
	content: counter(urworld-step);
	position: absolute;
	top: -1px;
	left: 0;
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--uw-ink);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
}
.urworld-stores {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
.urworld-store {
	display: inline-flex;
	flex-direction: column;
	padding: 7px 16px;
	border-radius: 12px;
	background: var(--uw-ink);
	color: #fff;
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.15;
	text-decoration: none;
	transition: background-color .2s ease;
}
.urworld-store small {
	font-size: .66rem;
	font-weight: 500;
	opacity: .75;
}
.urworld-store:hover,
.urworld-store:focus-visible {
	background: var(--uw-blue);
	color: #fff;
}
.urworld-key {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	margin: 0 2px;
	border-radius: 50%;
	background: var(--uw-ink);
	color: #fff;
	font-size: 14px;
	vertical-align: middle;
}
.urworld-note {
	max-width: 640px;
	margin: 32px auto 0;
	color: var(--uw-muted);
	font-size: .9rem;
	text-align: center;
}
.urworld-note::before {
	content: "* ";
}

/* Last call */
.urworld-final {
	padding-top: clamp(48px, 6vw, 80px);
	padding-bottom: clamp(56px, 7vw, 96px);
}
.urworld-final__box {
	position: relative;
	overflow: hidden;
	padding: clamp(40px, 6vw, 72px) var(--gutter);
	border-radius: 32px;
	background:
		radial-gradient(500px 300px at 85% 10%, rgba(255, 232, 154, .35), transparent 70%),
		linear-gradient(135deg, var(--uw-violet), var(--uw-blue));
	color: #fff;
	text-align: center;
	box-shadow: 0 30px 70px rgba(30, 91, 184, .25);
}
.urworld .urworld-final__title {
	margin: 0 0 10px;
	font-size: clamp(2.4rem, 5vw, 3.8rem);
	font-weight: 500;
	color: #fff;
}
.urworld-final__box p {
	margin: 0 0 28px;
	color: rgba(255, 255, 255, .88);
	font-size: 1.1rem;
}

@media (max-width: 900px) {
	.urworld-hero__inner {
		grid-template-columns: minmax(0, 1fr);
	}
	.urworld-hero__text {
		text-align: center;
	}
	.urworld-hero__lead {
		margin-left: auto;
		margin-right: auto;
	}
	.urworld-perks,
	.urworld-actions {
		justify-content: center;
	}
	.urworld-features,
	.urworld-ways {
		grid-template-columns: minmax(0, 1fr);
		max-width: 560px;
		margin-left: auto;
		margin-right: auto;
	}
}
@media (max-width: 600px) {
	.urworld-head--guide {
		flex-direction: column-reverse;
		gap: 8px;
	}
	.urworld-guide {
		width: 120px;
	}
	.urworld-guide__note {
		right: 85%;
		width: 120px;
	}
	.urworld-actions .urworld-btn {
		flex: 1 1 100%;
		justify-content: center;
	}
}
@media (prefers-reduced-motion: reduce) {
	.urworld-guide__img {
		animation: none;
	}
	.urworld-btn,
	.urworld-feature {
		transition: none;
	}
}

/* Header (4 nov): at the top of a page the bar is royal blue with the logo and
   menu in white; once the page moves it turns into white frosted glass with the
   logo in blue. Home keeps its transparent bar over the video. The glass lives
   in ::before so the header never becomes the frame of the fixed phone menu. */
.site-header {
	--nav-royal: #26438e;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
.site-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 255, 255, .62);
	-webkit-backdrop-filter: saturate(180%) blur(18px);
	backdrop-filter: saturate(180%) blur(18px);
	opacity: 0;
	transition: opacity .4s ease;
	pointer-events: none;
}
.site-header.is-scrolled:not(.is-over-hero) {
	background: transparent;
	border-bottom-color: rgba(255, 255, 255, .55);
	box-shadow: 0 10px 30px rgba(15, 30, 60, .1);
}
.site-header.is-scrolled:not(.is-over-hero)::before {
	opacity: 1;
}
/* On the glass the white logo file is drawn in the same royal blue as the bar (#26438e). */
body:not(.menu-open) .site-header.is-scrolled:not(.is-over-hero) .custom-logo {
	filter: brightness(0) saturate(100%) invert(32%) sepia(63%) saturate(6312%) hue-rotate(221deg) brightness(57%) contrast(81%);
}
.menu-open .site-header::before {
	opacity: 0;
}
.site-header.is-top {
	background: var(--nav-royal);
	border-bottom-color: transparent;
	box-shadow: none;
}
.site-header.is-top .custom-logo {
	filter: none;
}
.site-header.is-top .site-nav__menu > li > a {
	color: #fff;
}
.site-header.is-top .site-nav__menu > .current-menu-item > a::before,
.site-header.is-top .site-nav__menu > .current-menu-ancestor > a::before {
	background: #e7c873;
}
.site-header.is-top .menu-toggle__bars,
.site-header.is-top .menu-toggle__bars::before,
.site-header.is-top .menu-toggle__bars::after {
	background: #fff;
}
@media (min-width: 981px) {
	.site-header.is-top .site-nav__menu > .menu-item--cta > a {
		border-color: rgba(255, 255, 255, .45);
		background: transparent;
		color: #fff !important;
	}
	.site-header.is-top .site-nav__menu > .menu-item--cta > a::before {
		background: #e7c873;
	}
	.site-header.is-top .site-nav__menu > .menu-item--cta > a:hover {
		border-color: #fff;
		background: rgba(255, 255, 255, .1);
	}
}
/* Sound wave, two-tone: each bar is white on the blue bar, the home video and
   the open phone menu (royal blue on the glass), with its tip in the disco's
   color, so it always reads and the color is the accent. */
.site-header {
	--wave-base: var(--nav-royal);
}
.site-header.is-top,
.site-header.is-over-hero,
.menu-open .site-header {
	--wave-base: #fff;
}
.site-header__wave {
	gap: 3px;
	height: 18px;
}
.site-header__wave i {
	width: 4px;
	background: linear-gradient(to top, var(--wave-base) 55%, var(--urtext-wave, var(--nav-gold)) 55%);
}

/* ==========================================================================
   Liderazgo, modern version (4 nov): a pale-blue hero where both portraits sit
   in arches over the fine grooves of a record (the URTEXT disc), standing on one
   gold line; then one band per director. Text colors are the usual ones.
   ========================================================================== */
body:has(.leaders) .site-main {
	--line: rgba(30, 91, 184, .16);
	--text: #1e5bb8;
	--text-muted: #5b6b86;
	--urtext-accent: #1e5bb8;
	padding-bottom: 0;
	background: #fff;
	color: #1e5bb8;
}
body:has(.leaders) .urtext-disco-card__title {
	color: #1e5bb8;
}
.leaders {
	--ld-ink: #0f2a55;
	--ld-body: #3d4b66;
	--ld-muted: #5b6b86;
	--ld-gold: #b8902f;
	--ld-ice: #edf2fa;
	--ld-mist: #f5f8fc;
}

/* Hero */
.leaders-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(44px, 6vw, 80px) 0 clamp(64px, 8vw, 112px);
	background: linear-gradient(180deg, var(--ld-ice) 0%, var(--ld-mist) 62%, #fff 100%);
	text-align: center;
}
/* Record grooves radiating from behind the two portraits. */
.leaders-hero::before {
	content: "";
	position: absolute;
	top: 68%;
	left: 50%;
	width: min(1700px, 240vw);
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	background: repeating-radial-gradient(circle, rgba(30, 91, 184, .1) 0 .7px, transparent 1.3px 13px);
	-webkit-mask: radial-gradient(circle, transparent 0 8%, #000 9%, #000 26%, transparent 62%);
	mask: radial-gradient(circle, transparent 0 8%, #000 9%, #000 26%, transparent 62%);
	pointer-events: none;
}
.leaders-hero__inner {
	position: relative;
}
.leaders-hero__logo {
	display: block;
	width: clamp(56px, 6vw, 76px);
	height: auto;
	margin: 0 auto 16px;
	filter: brightness(0) saturate(100%) invert(13%) sepia(52%) saturate(2400%) hue-rotate(207deg) brightness(92%);
}
.leaders-hero__title {
	margin: 0;
	font-size: clamp(2.9rem, 7vw, 5.25rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.01em;
	color: var(--ld-ink);
}
.leaders-hero__intro {
	max-width: 38ch;
	margin: 16px auto 0;
	font-size: 1.05rem;
	color: var(--ld-muted);
}

/* The two directors, side by side. */
.leaders-duo {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: clamp(24px, 7vw, 112px);
	max-width: 800px;
	margin: clamp(44px, 6vw, 72px) auto 0;
}
.leaders-duo__person {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none !important;
	border-radius: 999px 999px 0 0;
}
.leaders-duo__person:focus-visible {
	outline: 2px solid #1e5bb8;
	outline-offset: 10px;
}
/* Both arches stand on one gold line that runs between them, like the edge of
   a stage: each half reaches past the middle and fades at the outer end. */
.leaders-duo__stage {
	position: relative;
	display: block;
	width: 100%;
}
.leaders-duo__stage::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: -32px;
	right: -62%;
	height: 1px;
	background: linear-gradient(to right, rgba(184, 144, 47, 0), var(--ld-gold) 32px);
	transform-origin: right;
}
.leaders-duo__person + .leaders-duo__person .leaders-duo__stage::after {
	left: -62%;
	right: -32px;
	background: linear-gradient(to left, rgba(184, 144, 47, 0), var(--ld-gold) 32px);
	transform-origin: left;
}
.leaders-duo__name {
	margin-top: clamp(22px, 3vw, 34px);
	font-family: var(--font-display);
	font-size: clamp(1.3rem, 2.6vw, 2rem);
	font-weight: 500;
	line-height: 1.1;
	color: var(--ld-ink);
}
/* One title for both, under the pair, between two short gold rules. */
.leaders-duo__caption {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin: clamp(26px, 3.5vw, 40px) auto 0;
	font-family: var(--font-display);
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	font-style: italic;
	line-height: 1.3;
	color: var(--ld-muted);
}
.leaders-duo__caption::before,
.leaders-duo__caption::after {
	content: "";
	flex: 0 0 clamp(28px, 6vw, 64px);
	height: 1px;
	background: var(--ld-gold);
	opacity: .7;
}

/* Arched portrait (hero and bands): round top, straight base, a soft shadow and
   a light navy veil at the foot so both photos feel like one session. */
.leaders-arch {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 999px 999px 0 0;
	background: var(--ld-ink);
	box-shadow: 0 26px 44px -32px rgba(15, 42, 85, .55);
	transform: translateZ(0);
}
.leaders-arch img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s cubic-bezier(.16, 1, .3, 1);
}
.leaders-arch::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 42, 85, .42), rgba(15, 42, 85, .08) 38%, rgba(15, 42, 85, 0) 60%);
	pointer-events: none;
}
.leaders-duo__person:hover .leaders-arch img {
	transform: scale(1.04);
}

/* Page load: the portraits rise in and the gold line draws out from the middle. */
@media (prefers-reduced-motion: no-preference) {
	.leaders-duo__person {
		animation: leaders-rise 1.1s cubic-bezier(.16, 1, .3, 1) both;
		animation-delay: calc(.15s + var(--i, 0) * .18s);
	}
	.leaders-duo__stage::after {
		animation: leaders-line 1.4s cubic-bezier(.16, 1, .3, 1) both .7s;
	}
	.leaders-duo__caption {
		animation: leaders-fade 1.2s ease both .6s;
	}
}
@keyframes leaders-rise {
	from {
		opacity: 0;
		transform: translateY(28px);
	}
}
@keyframes leaders-line {
	from {
		transform: scaleX(0);
	}
}
@keyframes leaders-fade {
	from {
		opacity: 0;
	}
}

/* One band per director. */
.leader {
	padding: clamp(64px, 8vw, 112px) 0 clamp(56px, 7vw, 96px);
	background: #fff;
}
.leader--alt {
	background: var(--ld-mist);
	border-top: 1px solid rgba(30, 91, 184, .08);
}
.leader__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(36px, 6vw, 96px);
	align-items: start;
}
.leader--alt .leader__grid {
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
.leader--alt .leader__photo {
	order: 2;
}
.leader__photo {
	position: sticky;
	top: calc(var(--header-h) + 48px);
	justify-self: center;
	width: 100%;
	max-width: 460px;
	margin: 12px 0 0;
}
.leader__info {
	max-width: 66ch;
}
.leader__name {
	margin: 2px 0 14px;
	font-size: clamp(2.4rem, 5vw, 3.75rem);
	font-weight: 500;
	line-height: 1.02;
	color: var(--ld-ink) !important;
}
.leader__note {
	margin: 0 0 8px;
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-style: italic;
	line-height: 1.5;
	color: var(--ld-muted);
}
/* Highlights: one big Bodoni figure (as in the home Cifras) sitting on the fine
   gold grooves of a record, and two distinctions beside it behind a gold rule. */
.leader {
	overflow-x: clip;
}
.leader__facts {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	align-items: center;
	margin: 34px 0 44px;
}
.leader__figure {
	position: relative;
	isolation: isolate;
	margin: 0;
	padding: 6px clamp(20px, 3vw, 36px) 6px 0;
}
.leader__figure::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 34%;
	left: 64px;
	width: 340px;
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	background: repeating-radial-gradient(circle, rgba(184, 144, 47, .26) 0 .7px, transparent 1.3px 9px);
	-webkit-mask: radial-gradient(circle, transparent 0 9%, #000 10%, #000 28%, transparent 68%);
	mask: radial-gradient(circle, transparent 0 9%, #000 10%, #000 28%, transparent 68%);
	pointer-events: none;
}
.leader__figure-num {
	display: block;
	font-family: "Bodoni Moda", "Bodoni 72", Didot, var(--font-display);
	font-size: clamp(5rem, 8vw, 7rem);
	font-weight: 400;
	font-variant-numeric: lining-nums;
	line-height: .9;
	letter-spacing: -.03em;
	color: var(--ld-ink);
}
.leader__figure-label {
	display: block;
	max-width: 24ch;
	margin-top: 16px;
	font-size: .86rem;
	line-height: 1.55;
	color: var(--ld-muted);
}
.leader__figure-label::before {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin-bottom: 12px;
	background: var(--ld-gold);
}
.leader__honors {
	margin: 0;
	padding: 4px 0 4px clamp(20px, 3vw, 36px);
	list-style: none;
	border-left: 1px solid rgba(184, 144, 47, .45);
}
.leader__honors li + li {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(30, 91, 184, .1);
}
.leader__honors strong {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(1.2rem, 1.7vw, 1.35rem);
	font-weight: 600;
	line-height: 1.2;
	color: var(--ld-ink);
}
.leader__honors span {
	display: block;
	margin-top: 5px;
	font-size: .84rem;
	line-height: 1.5;
	color: var(--ld-muted);
}
.leader__bio p {
	margin: 0 0 1.1em;
	font-size: 1rem;
	line-height: 1.8;
	color: var(--ld-body);
	text-align: justify;
	-webkit-hyphens: auto;
	hyphens: auto;
}
.leader__bio .leader__lead {
	font-family: var(--font-display);
	font-size: clamp(1.2rem, 1.8vw, 1.4rem);
	font-weight: 500;
	line-height: 1.6;
}
.leader__bio p.is-more {
	display: none;
}
[data-bio].is-open .leader__bio p.is-more {
	display: block;
	animation: leaders-fade .5s ease both;
}
.leader__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
	margin-top: 10px;
}
.leader__toggle {
	padding: 12px 24px;
	border: 1px solid rgba(30, 91, 184, .35);
	border-radius: 999px;
	background: transparent;
	color: #1e5bb8;
	font: 600 .9rem/1 var(--font-sans);
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.leader__toggle:hover,
.leader__toggle:focus-visible {
	border-color: #1e5bb8;
	background: #1e5bb8;
	color: #fff;
}
.leader__link {
	font-weight: 600;
	text-decoration: none;
	color: #1e5bb8;
}
.leader__link:hover {
	color: var(--ld-ink);
	text-decoration: underline;
}
.leader__discos {
	margin-top: clamp(56px, 7vw, 96px);
}
.leader__discos-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	margin-bottom: 26px;
	padding-top: 24px;
	border-top: 1px solid rgba(30, 91, 184, .16);
}
.leader__discos-title {
	margin: 0;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 500;
	color: var(--ld-ink);
}

@media (max-width: 860px) {
	.leader__grid,
	.leader--alt .leader__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.leader--alt .leader__photo {
		order: 0;
	}
	.leader__photo {
		position: static;
		max-width: 340px;
		margin: 12px auto 8px;
	}
	.leader__info {
		max-width: none;
	}
}
/* Phones: the figure sits beside its text (not alone at the edge), with a bit
   less contrast so the hairlines of the Bodoni "1" don't vanish; the two
   distinctions follow below, aligned with everything else. */
@media (max-width: 600px) {
	.leader__facts {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		margin: 30px 0 36px;
	}
	.leader__facts .leader__figure {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		column-gap: 22px;
		padding: 10px 0;
	}
	.leader__figure::before {
		top: 50%;
		left: 40px;
		width: 250px;
	}
	.leader__figure-num {
		font-size: 4.5rem;
		font-variation-settings: "opsz" 28;
		letter-spacing: -.01em;
	}
	.leader__figure-label {
		max-width: none;
		margin-top: 0;
		font-size: .9rem;
	}
	.leader__facts .leader__honors {
		padding: 22px 0 0;
		border-left: 0;
		border-top: 1px solid rgba(184, 144, 47, .45);
	}
	.leader__honors li {
		margin: 0;
		padding-left: 0;
	}
	.leader__honors span {
		font-size: .88rem;
	}
	.leaders-duo__name {
		font-size: 1.15rem;
		line-height: 1.15;
	}
	.leaders-duo__caption {
		gap: 12px;
		padding: 0 4px;
		font-size: 1.05rem;
		text-align: center;
	}
	.leaders-duo__caption::before,
	.leaders-duo__caption::after {
		flex-basis: 20px;
	}
}

/* Más allá del disco (4 nov): the open panel's caption sits in the middle of the
   panel, centred, where the eye already is (not at its foot). A soft dark pool
   behind it keeps it readable over any image; the number stays on top in the
   top-left corner. */
.home-accordion__body {
	inset: 0;
	justify-content: center;
	align-items: center;
	padding: clamp(24px, 3vw, 40px) clamp(56px, 5vw, 72px);
	background: radial-gradient(ellipse 75% 55% at 50% 50%, rgba(4, 8, 20, .82), rgba(4, 8, 20, .45) 60%, rgba(4, 8, 20, 0) 100%);
	text-align: center;
	transform: translateY(12px);
}
.home-accordion__title::before {
	left: 50%;
	transform: translateX(-50%);
}
.home-accordion__text {
	max-width: 420px;
}
.home-accordion__shade {
	background: rgba(5, 10, 25, .25);
}
.home-accordion__num {
	z-index: 3;
}
@media (max-width: 760px) {
	.home-accordion__body {
		padding: 20px 52px;
	}
}

/* Liderazgo (4 nov): each director's band takes the main colour of their photo
   (--ld-tone, worked out in page-2774.php) in a deep, dark version, with a
   lighter glow of it behind the portrait like stage light, so photo and page
   feel like one piece: deep teal for Marisa, bronze for Benjamín. On that dark
   ground the text turns light (same roles: white names, soft white body, a
   light version of the purple role, gold details). */
.leader.has-tone {
	--ld-deep: color-mix(in srgb, rgb(var(--ld-tone)) 52%, #000);
	--ld-deeper: color-mix(in srgb, rgb(var(--ld-tone)) 28%, #000);
	--ld-glow: color-mix(in srgb, rgb(var(--ld-tone)) 78%, #fff);
	--ld-gold: #d4b062;
	--text: #fff;
	--text-muted: rgba(255, 255, 255, .66);
	--urtext-accent: #fff;
	border-top: 0;
	background-color: #0b1016;
	background-image:
		radial-gradient(ellipse 44% 60% at 24% 40%, color-mix(in srgb, var(--ld-glow) 30%, transparent), transparent 70%),
		linear-gradient(180deg, var(--ld-deep), var(--ld-deeper));
	color: #fff;
}
.leader--alt.has-tone {
	background-image:
		radial-gradient(ellipse 44% 60% at 76% 40%, color-mix(in srgb, var(--ld-glow) 30%, transparent), transparent 70%),
		linear-gradient(180deg, var(--ld-deep), var(--ld-deeper));
}
.leader.has-tone + .leader.has-tone {
	border-top: 1px solid rgba(255, 255, 255, .08);
}
/* No frame and no shadow: the portrait keeps its arch at the top and dissolves
   into the band at its foot, as if it came out of the dark of a stage. */
.leader.has-tone .leaders-arch {
	box-shadow: none;
	-webkit-mask-image: linear-gradient(to bottom, #000 58%, rgba(0, 0, 0, .55) 80%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 58%, rgba(0, 0, 0, .55) 80%, transparent 100%);
}
.leader.has-tone .leaders-arch::after {
	display: none;
}
.leader.has-tone .eyebrow {
	color: #dcb0f7;
}
.leader.has-tone .leader__name {
	color: #fff !important;
}
.leader.has-tone .leader__note {
	color: rgba(255, 255, 255, .72);
}
/* The white figure stands on its own: no grooves behind it here. */
.leader.has-tone .leader__figure::before {
	display: none;
}
.leader.has-tone .leader__figure-num,
.leader.has-tone .leader__honors strong {
	color: #fff;
}
.leader.has-tone .leader__figure-label,
.leader.has-tone .leader__honors span {
	color: rgba(255, 255, 255, .68);
}
.leader.has-tone .leader__honors {
	border-left-color: rgba(212, 176, 98, .55);
}
.leader.has-tone .leader__honors li + li {
	border-top-color: rgba(255, 255, 255, .12);
}
.leader.has-tone .leader__bio p {
	color: rgba(255, 255, 255, .82);
}
.leader.has-tone .leader__bio .leader__lead {
	color: rgba(255, 255, 255, .94);
}
.leader.has-tone .leader__toggle {
	border-color: rgba(255, 255, 255, .45);
	color: #fff;
}
.leader.has-tone .leader__toggle:hover,
.leader.has-tone .leader__toggle:focus-visible {
	border-color: #fff;
	background: #fff;
	color: var(--ld-deeper);
}
.leader.has-tone .leader__link,
.leader.has-tone .leader__discos-head .home-section__link {
	color: #fff;
}
.leader.has-tone .leader__link:hover,
.leader.has-tone .leader__discos-head .home-section__link:hover {
	color: var(--ld-gold);
}
.leader.has-tone .leader__discos-head {
	border-top-color: rgba(255, 255, 255, .16);
}
.leader.has-tone .leader__discos-title,
.leader.has-tone .urtext-disco-card__title {
	color: #fff;
}
.leader.has-tone .urtext-disco-card__artists {
	color: rgba(255, 255, 255, .62);
}
@media (max-width: 860px) {
	.leader.has-tone,
	.leader--alt.has-tone {
		background-image:
			radial-gradient(ellipse 90% 34% at 50% 14%, color-mix(in srgb, var(--ld-glow) 30%, transparent), transparent 72%),
			linear-gradient(180deg, var(--ld-deep), var(--ld-deeper));
	}
}

/* Liderazgo (4 nov): like the home page, the page settles softly on the start
   of each block (the hero, each director, the footer) when you stop scrolling
   near one; "proximity", not "mandatory", so it never feels pulled, and inside
   a long biography it scrolls freely. The offset is the header once it has
   shrunk (64px), plus the WordPress bar when logged in. */
html:has(.leaders) {
	scroll-snap-type: y proximity;
	scroll-padding-top: 64px;
	scroll-behavior: smooth;
}
@media (min-width: 783px) {
	html:has(body.admin-bar .leaders) {
		scroll-padding-top: calc(64px + 32px);
	}
}
@media (min-width: 601px) and (max-width: 782px) {
	html:has(body.admin-bar .leaders) {
		scroll-padding-top: calc(64px + 46px);
	}
}
.leaders-hero,
.leader {
	scroll-snap-align: start;
}
body:has(.leaders) .site-footer {
	scroll-snap-align: end;
}
@media (prefers-reduced-motion: reduce) {
	html:has(.leaders) {
		scroll-behavior: auto;
	}
}

/* Header: on every page but home, the strip of the page right behind the bar is
   white, so while the bar turns from blue to glass it never shows the theme's
   dark base through it (that dark flash was part of the menu flicker). */
body:not(.home) {
	background:
		linear-gradient(#fff, #fff) top / 100% calc(var(--header-h) + 8px) no-repeat,
		var(--bg);
}

/* Liderazgo on phones and tablets: each director's recordings are one row you
   swipe sideways, a card at a time, instead of a long column. The row runs to
   the edges of the screen and the next cover peeks in, so it reads as swipeable. */
@media (max-width: 860px) {
	.leader__discos .urtext-catalog__grid {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: min(64%, 240px);
		gap: 16px;
		margin: 0 calc(var(--gutter) * -1);
		padding: 0 var(--gutter) 6px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--gutter);
		scrollbar-width: none;
	}
	.leader__discos .urtext-catalog__grid::-webkit-scrollbar {
		display: none;
	}
	.leader__discos .urtext-catalog__grid > * {
		scroll-snap-align: start;
	}
}

/* ==========================================================================
   Disco page on phones and tablets (4 nov): like an album page in a music app.
   The cover is centred and bigger with its colour glowing above it, the record
   tucked behind; under it the categories and title, centred and with room to
   breathe; then one clear main action ("Escuchar aquí") and a lighter second
   row ("Comprar CD" and the heart). Credits and everything after it go back to
   the left, for reading.
   ========================================================================== */
@media (max-width: 860px) {
	.single-discos .disco[style*="--disc-rgb"]::before {
		background:
			radial-gradient(120% 420px at 50% 0%, rgba(var(--disc-rgb), .4), transparent 75%),
			linear-gradient(180deg, rgba(var(--disc-rgb), .08), transparent 620px);
	}
	.single-discos .disco__grid {
		gap: 24px;
		padding-top: 32px;
	}
	.single-discos .disco__media {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		max-width: none;
		margin: 0 auto;
	}
	/* Cover and record always fit on the screen: when the record slides out (by
	   57.5% of its width, as on wide screens) the pair is 1.36 covers wide, so the
	   cover is sized to that, and the whole disco moves 18% to the left while the
	   record comes out, keeping the pair centred. At rest the cover is centred. */
	.single-discos .disco__deck {
		width: min(380px, calc((100vw - var(--gutter) * 2) / 1.36));
		margin: 0 auto;
		transform: none;
		transition: transform .8s cubic-bezier(.2, .8, .2, 1);
	}
	.single-discos .disco__deck > .disco__flip,
	.single-discos .disco__deck > .disco__cover,
	.single-discos .disco__deck:hover > .disco__flip,
	.single-discos .disco__deck:hover > .disco__cover {
		transform: none;
	}
	.single-discos .disco__deck .disco__vinyl {
		transform: none;
	}
	.single-discos .disco__deck:hover,
	.single-discos .disco__deck:focus-within {
		transform: translateX(-18%);
	}
	.single-discos .disco__deck:hover .disco__vinyl,
	.single-discos .disco__deck:focus-within .disco__vinyl {
		transform: translateX(57.5%) rotate(240deg);
	}
	/* Back cover showing: no record, so the cover comes back to the centre. */
	.single-discos .disco__deck:has(.is-flipped) {
		transform: none;
	}
	.single-discos .disco__cover img,
	.single-discos .disco[style*="--disc-rgb"] .disco__cover img {
		border-radius: 10px;
		box-shadow: 0 28px 60px -18px rgba(var(--disc-rgb, 15, 30, 60), .55), 0 8px 20px rgba(15, 30, 60, .12);
	}
	.single-discos .disco__flip-toggle {
		margin: 16px auto 0;
		transform: none;
	}
	.single-discos .disco__info {
		text-align: center;
	}
	.single-discos .disco__info > .eyebrow {
		margin: 4px 0 10px;
		font-size: .7rem;
		letter-spacing: .16em;
	}
	.single-discos .disco__title {
		max-width: 20ch;
		margin: 0 auto 26px;
		font-size: clamp(1.85rem, 7.6vw, 2.5rem);
		line-height: 1.1;
		text-wrap: balance;
	}
	.single-discos .disco__cta {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 52px;
		gap: 12px;
		max-width: 440px;
		margin: 0 auto 40px;
	}
	.single-discos .disco__cta .disco__listen {
		grid-column: 1 / -1;
		justify-content: center;
		min-height: 56px;
		font-size: 1.02rem;
		box-shadow: 0 14px 30px -10px rgba(var(--disc-rgb, 30, 91, 184), .6);
	}
	.single-discos .disco__cta .disco__buy {
		justify-content: center;
		min-height: 52px;
		border: 1px solid rgba(var(--disc-rgb, 30, 91, 184), .22);
		background: rgba(var(--disc-rgb, 30, 91, 184), .08);
		color: var(--disc-dark, #1e5bb8) !important;
		box-shadow: none;
		text-align: left;
	}
	.single-discos .disco__cta .disco__buy:hover {
		background: rgba(var(--disc-rgb, 30, 91, 184), .14);
		transform: none;
	}
	.single-discos .disco__cta .disco__fav {
		width: 52px;
		height: 52px;
		border-color: rgba(var(--disc-rgb, 30, 91, 184), .28);
		background: transparent;
		color: var(--disc-dark, #1e5bb8);
	}
	.single-discos .disco__info > :not(.eyebrow):not(.disco__title):not(.disco__cta) {
		text-align: left;
	}
	.single-discos .disco__credits {
		padding: 22px 0;
	}
	.single-discos .disco__credits dd + dt {
		margin-top: 16px;
	}
}

/* Phones (no mouse): once the cover has loaded the record slides out by itself,
   spinning, and stays half out, as before; the disco moves left as it does, so
   cover and record stay centred and inside the screen. */
@media (max-width: 860px) and (hover: none) {
	.single-discos .disco__deck.is-ready {
		transform: translateX(-18%);
	}
	.single-discos .disco__deck.is-ready .disco__vinyl {
		transform: translateX(57.5%) rotate(240deg);
	}
	.single-discos .disco__deck.is-ready:has(.is-flipped) {
		transform: none;
	}
}

/* Phone menu: it opens right under the bar, wherever the bar is. --nav-top is
   the bar's distance from the top of the screen (theme.js); logged in, the
   WordPress toolbar pushes the bar down and the menu used to cover its lower
   half, logo and close button included. */
@media (max-width: 980px) {
	#site-nav {
		top: calc(var(--nav-top, 0px) + var(--header-h));
		height: calc(100vh - var(--nav-top, 0px) - var(--header-h));
		height: calc(100dvh - var(--nav-top, 0px) - var(--header-h));
	}
}


/* ==========================================================================
   Footer legal links & Aviso Legal page (page-aviso-legal.php)
   White editorial layout with navy (#0f2a55), royal blue (#1e5bb8) and gold (#b8902f).
   ========================================================================== */
.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 10px;
	font-size: .8125rem;
}
.site-footer__legal a {
	color: #a9b3c7;
	text-decoration: none;
	transition: color .15s ease;
}
.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
	color: #fff;
	text-decoration: underline;
}
.site-footer__legal span[aria-hidden="true"] {
	color: rgba(169, 179, 199, .45);
}

body:has(.legal-page) .site-main {
	--line: rgba(30, 91, 184, .16);
	--text: #2c3a52;
	--text-muted: #5b6b86;
	--accent: #1e5bb8;
	--accent-hover: #0f2a55;
	padding-bottom: 0;
	background: #fff;
	color: #2c3a52;
}
.legal-page {
	--lg-ink: #0f2a55;
	--lg-blue: #1e5bb8;
	--lg-body: #2c3a52;
	--lg-muted: #5b6b86;
	--lg-gold: #b8902f;
	--lg-ice: #edf2fa;
	--lg-mist: #f6f8fc;
	padding-bottom: clamp(64px, 8vw, 112px);
}
.legal-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(48px, 6vw, 84px) 0 clamp(44px, 5vw, 68px);
	background: #fff;
	border-bottom: 1px solid rgba(30, 91, 184, .12);
	text-align: center;
}
.legal-hero__inner {
	position: relative;
	max-width: 900px;
}
.legal-hero__logo {
	display: block;
	width: clamp(52px, 5.5vw, 70px);
	height: auto;
	margin: 0 auto 14px;
	filter: brightness(0) saturate(100%) invert(13%) sepia(52%) saturate(2400%) hue-rotate(207deg) brightness(92%);
}
.legal-hero .eyebrow {
	color: var(--lg-blue);
}
.legal-hero__title {
	margin: 0 auto;
	max-width: 24ch;
	font-size: clamp(2.2rem, 5vw, 3.75rem);
	font-weight: 600;
	line-height: 1.08;
	color: var(--lg-ink);
}
.legal-hero__intro {
	max-width: 68ch;
	margin: 18px auto 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--lg-muted);
}
.legal-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 12px;
	margin: 18px auto 0;
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--lg-ink);
}
.legal-hero__meta span[aria-hidden="true"] {
	color: var(--lg-gold);
}
.legal-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 28px auto 0;
}
.legal-pills__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	border: 1px solid rgba(30, 91, 184, .24);
	border-radius: 999px;
	background: rgba(255, 255, 255, .85);
	color: var(--lg-ink);
	font-size: .84rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.legal-pills__item:hover,
.legal-pills__item:focus-visible {
	border-color: var(--lg-blue);
	background: var(--lg-blue);
	color: #fff;
	transform: translateY(-1px);
}
.legal-pills__num {
	font-family: "Bodoni Moda", var(--font-display);
	color: var(--lg-gold);
	font-weight: 600;
}
.legal-pills__item:hover .legal-pills__num,
.legal-pills__item:focus-visible .legal-pills__num {
	color: #ffe299;
}

.legal-layout {
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr);
	gap: clamp(32px, 5vw, 68px);
	align-items: start;
	padding-top: clamp(36px, 5vw, 64px);
}
.legal-toc {
	position: sticky;
	top: calc(var(--header-h) + 28px);
}
.legal-toc__box {
	padding: 24px 22px;
	border: 1px solid rgba(30, 91, 184, .15);
	border-radius: 14px;
	background: #fff;
}
.legal-toc__heading {
	margin: 0 0 14px;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--lg-blue);
}
.legal-toc__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.legal-toc__list a {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	align-items: baseline;
	gap: 6px;
	padding: 6px 8px;
	border-radius: 8px;
	color: var(--lg-body);
	font-size: .86rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.legal-toc__list a:hover,
.legal-toc__list a:focus-visible {
	background: rgba(30, 91, 184, .08);
	color: var(--lg-blue);
}
.legal-toc__num {
	font-family: "Bodoni Moda", var(--font-display);
	font-weight: 600;
	color: var(--lg-gold);
}
.legal-toc__contact {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid rgba(30, 91, 184, .14);
	font-size: .83rem;
}
.legal-toc__contact p {
	margin: 4px 0 0;
}
.legal-toc__contact-title {
	margin: 0 0 6px !important;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lg-ink);
}
.legal-toc__contact a {
	color: var(--lg-blue);
	font-weight: 600;
	text-decoration: none;
}
.legal-toc__contact a:hover {
	text-decoration: underline;
}
.legal-toc__city {
	color: var(--lg-muted);
	font-size: .78rem;
}

.legal-content {
	max-width: 820px;
}
.legal-section {
	scroll-margin-top: calc(var(--header-h) + 28px);
	padding-bottom: clamp(40px, 5vw, 60px);
	margin-bottom: clamp(40px, 5vw, 60px);
	border-bottom: 1px solid rgba(30, 91, 184, .14);
}
.legal-section:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
.legal-section__head {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	margin-bottom: 24px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(30, 91, 184, .14);
}
.legal-section__num {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(30, 91, 184, .22);
	border-radius: 50%;
	background: #fff;
	font-family: "Bodoni Moda", var(--font-display);
	font-size: 1.45rem;
	color: var(--lg-ink);
}
.legal-section__kicker {
	margin: 0 0 4px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lg-blue);
}
.legal-section__title {
	margin: 0;
	font-size: clamp(1.65rem, 3vw, 2.3rem);
	font-weight: 600;
	line-height: 1.15;
	color: var(--lg-ink) !important;
}
.legal-section h3 {
	margin: 28px 0 10px;
	font-family: var(--font-sans);
	font-size: 1.04rem;
	font-weight: 700;
	color: var(--lg-ink) !important;
}
.legal-section p,
.legal-section li {
	font-size: .965rem;
	line-height: 1.78;
	color: var(--lg-body);
	text-align: justify;
	-webkit-hyphens: auto;
	hyphens: auto;
}
.legal-section p {
	margin: 0 0 1.05em;
}
.legal-section ul,
.legal-section ol {
	margin: 0 0 1.25em;
	padding-left: 1.4rem;
}
.legal-section li + li {
	margin-top: 8px;
}
.legal-section a {
	color: var(--lg-blue);
	font-weight: 600;
}
.legal-section a:hover {
	color: var(--lg-ink);
}
.legal-section code {
	padding: 2px 6px;
	border-radius: 4px;
	background: var(--lg-ice);
	color: var(--lg-ink);
	font-size: .86em;
}
.legal-callout {
	margin: 20px 0 24px;
	padding: 18px 22px;
	border: 1px solid rgba(30, 91, 184, .16);
	border-radius: 12px;
	background: #fff;
	font-size: .93rem;
	line-height: 1.7;
	color: var(--lg-body);
}
.legal-callout strong {
	color: var(--lg-ink);
}

.legal-table-wrap {
	margin: 20px 0 24px;
	overflow-x: auto;
	border: 1px solid rgba(30, 91, 184, .18);
	border-radius: 12px;
	background: #fff;
}
.legal-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .875rem;
	line-height: 1.55;
	text-align: left;
}
.legal-table th,
.legal-table td {
	padding: 14px 16px;
	border-bottom: 1px solid rgba(30, 91, 184, .12);
	vertical-align: top;
}
.legal-table th {
	background: #fff;
	color: var(--lg-ink);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.legal-table tbody tr:last-child td {
	border-bottom: 0;
}
.legal-table td {
	color: var(--lg-body);
}

.legal-signature {
	margin-top: 28px;
	padding: 24px 26px;
	border: 1px solid rgba(30, 91, 184, .16);
	border-radius: 14px;
	background: #fff;
	text-align: center;
}
.legal-signature p {
	margin: 4px 0;
	text-align: center;
	font-size: .9rem;
}
.legal-signature__brand {
	font-family: var(--font-display);
	font-size: 1.45rem !important;
	font-weight: 600;
	color: var(--lg-ink) !important;
}
.legal-signature__date {
	margin-top: 10px !important;
	font-size: .82rem !important;
	color: var(--lg-muted) !important;
}

@media (max-width: 960px) {
	.legal-layout {
		grid-template-columns: minmax(0, 1fr);
	}
	.legal-toc {
		position: static;
	}
}
@media (max-width: 600px) {
	.legal-section p,
	.legal-section li {
		text-align: left;
		hyphens: none;
	}
	.legal-section__head {
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 12px;
	}
	.legal-section__num {
		width: 42px;
		height: 42px;
		font-size: 1.2rem;
	}
}

/* Header (5 nov): the URTEXT disc mark before the <ur/txt:online> wordmark. It
   carries .custom-logo, so it follows the wordmark's height and color (white on
   the blue bar and over the video, blue on the glass). */
.site-header .custom-logo-link {
	display: flex;
	align-items: center;
	gap: 12px;
}
.site-header .custom-logo--mark {
	flex: none;
	width: auto;
	height: 34px;
	max-height: none;
	transition: height .4s ease;
}
.site-header.is-scrolled .custom-logo--mark {
	height: 28px;
}
@media (max-width: 760px) {
	.site-header .custom-logo-link {
		gap: 9px;
	}
	.site-header .custom-logo--mark {
		height: 30px;
	}
	.site-header.is-scrolled .custom-logo--mark {
		height: 26px;
	}
}

/* Footer (5 nov): Cenzontle Música, the sister score publisher, under the shop
   button. Its logo sits on a white disc so the grey note reads on the dark footer. */
.site-footer__sister {
	display: flex;
	align-items: center;
	gap: 12px;
	width: fit-content;
	max-width: 100%;
	margin-top: 14px;
	padding: 6px 18px 6px 6px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 999px;
	color: #fff !important;
	font-weight: 600;
	font-size: .875rem;
	line-height: 1.2;
	text-decoration: none;
	transition: border-color .2s ease, background-color .2s ease;
}
.site-footer__sister:hover,
.site-footer__sister:focus-visible {
	border-color: #d4b062;
	background: rgba(255, 255, 255, .05);
}
.site-footer__sister img {
	flex: none;
	width: 40px;
	height: 40px;
	padding: 3px;
	border-radius: 50%;
	background: #fff;
}
.site-footer__sister-text small {
	display: block;
	margin-bottom: 2px;
	color: rgba(255, 255, 255, .6);
	font-size: .6875rem;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.site-footer__sister-go {
	color: #d4b062;
}

/* Footer, Cenzontle pill (5 nov): in Cenzontle's own sand colour (#f2efe8, the
   cream of cenzontlemusica.com), dark text and its plum, the logo straight on
   the sand (no white disc). */
.site-footer__sister {
	border-color: transparent;
	background: #f2efe8;
	color: #1a1a1a !important;
}
.site-footer__sister:hover,
.site-footer__sister:focus-visible {
	border-color: #d4b062;
	background: #fffcf5;
}
.site-footer__sister img {
	padding: 0;
	border-radius: 0;
	background: none;
}
.site-footer__sister-text small {
	color: #874865;
}
.site-footer__sister-go {
	color: #874865;
}

/* Footer (5 nov): the shop button and the Cenzontle pill are the same size,
   one under the other: same width and height, same rounded ends. */
.site-footer__shop,
.site-footer__sister {
	box-sizing: border-box;
	display: flex;
	width: 248px;
	max-width: 100%;
	height: 52px;
	border-radius: 999px;
}
.site-footer__shop {
	justify-content: center;
	padding: 0 20px;
}
.site-footer__sister {
	padding: 0 20px 0 6px;
}
.site-footer__sister-text {
	flex: 1;
	min-width: 0;
}

/* Footer (5 nov): "by yedmilk", small and quiet, centred under the bottom bar. */
.site-footer__credit {
	margin: 0;
	padding: 0 var(--gutter) 22px;
	text-align: center;
	font-size: .8125rem;
	line-height: 1;
}
.site-footer__credit a {
	color: #7c869b !important;
	text-decoration: none;
	transition: color .2s ease;
}
.site-footer__credit strong {
	color: #aab3c5;
	font-weight: 800;
	font-size: 1.05em;
	letter-spacing: .01em;
	transition: color .2s ease;
}
.site-footer__credit a:hover strong,
.site-footer__credit a:focus-visible strong {
	color: #fff;
}

/* Footer (5 nov): "by yedmilk" sits on the right of the bottom bar, where
   "Volver arriba" was. */
.site-footer__bottom .site-footer__credit {
	padding: 0;
	text-align: right;
}

/* Bottom-right corner (5 nov): one small dock. The round "back to top" button
   sits centred above the ES / EN switcher, in the same white glass, and only
   shows once the page has moved most of a screen down. */
.site-lang-float {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.site-top-btn {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(15, 42, 85, .1);
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: saturate(140%) blur(12px);
	backdrop-filter: saturate(140%) blur(12px);
	box-shadow: 0 10px 30px rgba(15, 30, 60, .14);
	color: #0f2a55 !important;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s, background-color .2s ease, color .2s ease;
}
.site-top-btn svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}
.site-top-btn.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.site-top-btn:hover,
.site-top-btn:focus-visible {
	background: #0f2a55;
	color: #fff !important;
}
@media (prefers-reduced-motion: reduce) {
	.site-top-btn {
		transition: none;
	}
}
