:root {
	--mad-red: #ef1717;
	--mad-red-dark: #b70909;
	--mad-red-accessible: #d91515;
	--mad-black: #080808;
	--mad-coal: #141414;
	--mad-gray: #a6a6a6;
	--mad-line: #303030;
	--mad-paper: #f4f1ea;
	--mad-white: #fff;
	--mad-display: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	--mad-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--mad-shadow: 0 20px 60px rgb(0 0 0 / 28%);
	--mad-wrap: min(1240px, calc(100% - 40px));
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: 105px;
}

body {
	margin: 0;
	background: var(--mad-black);
	color: var(--mad-paper);
	font-family: var(--mad-body);
	font-size: 1rem;
	line-height: 1.65;
	overflow-x: hidden;
}

body.nav-open {
	overflow: hidden;
}

img {
	display: block;
	height: auto;
	max-width: 100%;
}

figure {
	margin: 0;
}

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

a:hover {
	color: var(--mad-red);
}

button,
input,
textarea,
select {
	font: inherit;
}

button,
summary {
	cursor: pointer;
}

:focus-visible {
	outline: 3px solid var(--mad-red);
	outline-offset: 4px;
}

::selection {
	background: var(--mad-red);
	color: var(--mad-white);
}

h1,
h2,
h3,
h4 {
	font-family: var(--mad-display);
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 0.98;
	margin: 0 0 0.65em;
	text-transform: uppercase;
}

h1 {
	font-size: clamp(3.1rem, 8vw, 7.7rem);
}

h2 {
	font-size: clamp(2.4rem, 5.4vw, 5rem);
}

h3 {
	font-size: clamp(1.45rem, 2.4vw, 2.15rem);
}

p {
	margin: 0 0 1.35em;
}

.wrap {
	margin-inline: auto;
	width: var(--mad-wrap);
}

.wrap--article {
	max-width: 860px;
}

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

.screen-reader-text:focus {
	background: var(--mad-white);
	clip: auto !important;
	clip-path: none;
	color: var(--mad-black);
	display: block;
	font-size: 0.9rem;
	font-weight: 800;
	height: auto;
	left: 12px;
	padding: 14px 18px;
	top: 12px;
	width: auto;
	z-index: 100000;
}

.mad-kicker {
	color: var(--mad-red);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.15em;
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.mad-meta {
	color: var(--mad-gray);
	font-size: 0.82rem;
	font-weight: 650;
}

.mad-tag {
	background: var(--mad-red-accessible);
	color: var(--mad-white);
	display: inline-flex;
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	padding: 0.43rem 0.65rem 0.38rem;
	text-transform: uppercase;
}

.mad-tag:hover {
	background: var(--mad-white);
	color: var(--mad-black);
}

.mad-button {
	align-items: center;
	background: var(--mad-red-accessible);
	border: 1px solid var(--mad-red-accessible);
	color: var(--mad-white);
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 900;
	justify-content: center;
	letter-spacing: 0.06em;
	min-height: 50px;
	padding: 0.8rem 1.25rem;
	text-align: center;
	text-transform: uppercase;
	transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.mad-button:hover {
	background: var(--mad-white);
	border-color: var(--mad-white);
	color: var(--mad-black);
	transform: translateY(-2px);
}

.mad-button--ghost,
.mad-button--outline {
	background: transparent;
	border-color: #5a5a5a;
}

.mad-section--paper .mad-button--ghost {
	border-color: #999;
	color: var(--mad-black);
}

.mad-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.mad-link-arrow {
	align-items: center;
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 900;
	gap: 0.75rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mad-link-arrow span {
	color: var(--mad-red);
	font-size: 1.3em;
	transition: transform 160ms ease;
}

.mad-link-arrow:hover span {
	transform: translateX(4px);
}

/* Header */

.mad-signal {
	background: var(--mad-red-accessible);
	color: var(--mad-white);
	font-size: 0.72rem;
	letter-spacing: 0.04em;
}

.mad-signal__inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	min-height: 33px;
}

.mad-signal a {
	font-weight: 900;
	text-transform: uppercase;
}

.mad-signal a:hover {
	color: var(--mad-black);
}

.site-header {
	background: rgb(8 8 8 / 96%);
	border-bottom: 1px solid var(--mad-line);
	position: sticky;
	top: 0;
	z-index: 100;
}

@supports (backdrop-filter: blur(12px)) {
	.site-header {
		backdrop-filter: blur(12px);
		background: rgb(8 8 8 / 87%);
	}
}

.site-header__inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	min-height: 80px;
}

.mad-brand {
	align-items: center;
	display: flex;
	gap: 0.55rem;
}

.mad-brand .custom-logo-link,
.mad-brand__fallback {
	display: block;
	height: 61px;
	width: 64px;
}

.mad-brand .custom-logo,
.mad-brand__fallback img {
	height: 61px;
	object-fit: contain;
	width: 64px;
}

.mad-brand__words {
	border-left: 1px solid #444;
	display: grid;
	line-height: 1;
	padding-left: 0.7rem;
}

.mad-brand__words span {
	font-family: var(--mad-display);
	font-size: 1.12rem;
	font-weight: 900;
	letter-spacing: 0.03em;
}

.mad-brand__words small {
	color: var(--mad-gray);
	font-size: 0.62rem;
	font-weight: 700;
	margin-top: 0.35rem;
	text-transform: uppercase;
}

.primary-nav {
	align-items: center;
	display: flex;
}

.primary-nav ul {
	align-items: center;
	display: flex;
	gap: clamp(1rem, 2vw, 2.15rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-nav a {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.045em;
	padding-block: 1.8rem;
	text-transform: uppercase;
}

.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a {
	color: var(--mad-red);
}

.search-toggle,
.nav-toggle {
	background: none;
	border: 0;
	color: var(--mad-white);
}

.search-toggle {
	font-size: 1.75rem;
	line-height: 1;
	margin-left: 1.7rem;
	padding: 0.45rem;
}

.search-toggle__label {
	display: none;
	font-family: var(--mad-body);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.nav-toggle {
	align-items: center;
	display: none;
	gap: 0.75rem;
	padding: 0.7rem 0;
}

.nav-toggle__label {
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.nav-toggle__lines,
.nav-toggle__lines::before,
.nav-toggle__lines::after {
	background: var(--mad-white);
	content: "";
	display: block;
	height: 2px;
	transition: transform 180ms ease, opacity 180ms ease;
	width: 24px;
}

.nav-toggle__lines {
	position: relative;
}

.nav-toggle__lines::before {
	position: absolute;
	top: -7px;
}

.nav-toggle__lines::after {
	position: absolute;
	top: 7px;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__lines {
	background: transparent;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__lines::before {
	top: 0;
	transform: rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__lines::after {
	top: 0;
	transform: rotate(-45deg);
}

.mad-search-panel {
	background: var(--mad-coal);
	border-top: 1px solid var(--mad-line);
	inset-inline: 0;
	padding: 1.5rem 0;
	position: absolute;
	top: 100%;
}

.mad-search-form label {
	display: block;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	margin-bottom: 0.55rem;
	text-transform: uppercase;
}

.mad-search-form__row {
	display: grid;
	grid-template-columns: 1fr auto;
}

.mad-search-form input {
	background: var(--mad-white);
	border: 0;
	border-radius: 0;
	color: var(--mad-black);
	min-height: 52px;
	padding: 0.8rem 1rem;
}

.mad-search-form button {
	background: var(--mad-red);
	border: 0;
	color: var(--mad-white);
	font-size: 0.75rem;
	font-weight: 900;
	padding: 0 1.6rem;
	text-transform: uppercase;
}

/* Hero */

.mad-hero {
	background:
		linear-gradient(90deg, rgb(8 8 8 / 100%) 5%, rgb(8 8 8 / 84%) 50%, rgb(8 8 8 / 35%) 100%),
		linear-gradient(135deg, #101010, #050505);
	isolation: isolate;
	min-height: min(790px, calc(100svh - 113px));
	overflow: hidden;
	position: relative;
}

.mad-hero::after {
	background: var(--mad-red);
	bottom: 0;
	content: "";
	height: 8px;
	left: 0;
	position: absolute;
	width: 38%;
}

.mad-hero__texture {
	background:
		repeating-linear-gradient(115deg, transparent 0 28px, rgb(255 255 255 / 2%) 28px 29px),
		radial-gradient(circle at 82% 28%, rgb(239 23 23 / 22%), transparent 33%);
	inset: 0;
	position: absolute;
	z-index: -1;
}

.mad-hero__grid {
	align-items: center;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
	min-height: inherit;
	padding-block: clamp(4rem, 8vw, 8rem);
}

.mad-hero h1 {
	max-width: 900px;
}

.mad-hero h1 em,
.service-hero h1 em {
	color: var(--mad-red);
	font-style: normal;
}

.mad-hero__lead {
	color: #d4d4d4;
	font-size: clamp(1rem, 1.5vw, 1.25rem);
	max-width: 670px;
}

.mad-hero__facts {
	border-top: 1px solid var(--mad-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, 1fr);
	list-style: none;
	margin: 3.5rem 0 0;
	max-width: 700px;
	padding: 1.25rem 0 0;
}

.mad-hero__facts li {
	display: grid;
}

.mad-hero__facts strong {
	font-family: var(--mad-display);
	font-size: 1.25rem;
	text-transform: uppercase;
}

.mad-hero__facts span {
	color: var(--mad-gray);
	font-size: 0.7rem;
}

.mad-hero__mark {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	opacity: 0.95;
	transform: rotate(-3deg);
}

.mad-hero__mark img {
	filter: drop-shadow(0 24px 20px rgb(0 0 0 / 55%));
	width: min(90%, 480px);
}

.mad-hero__mark span {
	border-bottom: 1px solid #555;
	border-top: 1px solid #555;
	font-family: var(--mad-display);
	font-size: clamp(1rem, 2vw, 1.6rem);
	font-weight: 900;
	letter-spacing: 0.12em;
	padding: 0.65rem 0;
}

.mad-home-blocks {
	background: var(--mad-paper);
	color: var(--mad-black);
	padding-block: clamp(3rem, 6vw, 6rem);
}

.mad-home-blocks .mad-prose {
	margin-inline: auto;
}

/* Sections and cards */

.mad-section {
	padding-block: clamp(4.7rem, 8vw, 8.5rem);
}

.mad-section--paper {
	background: var(--mad-paper);
	color: var(--mad-black);
}

.mad-section--paper .mad-kicker,
.mad-section--paper .service-grid article > span,
.mad-section--paper .culture-element-grid article > span,
.mad-section--paper .culture-element-grid a,
.mad-section--paper .contact-brief li strong {
	color: var(--mad-red-accessible);
}

.mad-section__header {
	align-items: end;
	border-bottom: 1px solid var(--mad-line);
	display: flex;
	justify-content: space-between;
	margin-bottom: 2.5rem;
	padding-bottom: 1.25rem;
}

.mad-section__header h2 {
	font-size: clamp(2.2rem, 4.2vw, 4rem);
	margin-bottom: 0;
}

.mad-section__header .mad-kicker {
	margin-bottom: 0.6rem;
}

.mad-section__header--dark {
	border-color: #bebbb5;
}

.mad-section__summary,
.mad-section__header > p {
	color: #5e5b56;
	max-width: 440px;
}

.mad-grid {
	display: grid;
	gap: 2rem 1.35rem;
}

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

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

.mad-card {
	min-width: 0;
}

.mad-card__media {
	background: #202020;
	display: block;
	overflow: hidden;
	position: relative;
}

.mad-card--news .mad-card__media {
	aspect-ratio: 16 / 10;
}

.mad-card--bio .mad-card__media {
	aspect-ratio: 4 / 5;
	background: #dedbd3;
}

.mad-card__media img {
	height: 100%;
	object-fit: cover;
	transition: filter 260ms ease, transform 400ms ease;
	width: 100%;
}

.mad-card:hover .mad-card__media img {
	filter: saturate(1.08) contrast(1.04);
	transform: scale(1.025);
}

.mad-card__placeholder {
	align-items: center;
	background:
		linear-gradient(145deg, rgb(239 23 23 / 55%), transparent 50%),
		repeating-linear-gradient(120deg, #181818 0 15px, #1e1e1e 15px 17px);
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.mad-card__placeholder b {
	color: var(--mad-white);
	font-family: var(--mad-display);
	font-size: 3rem;
	font-style: italic;
}

.mad-card__placeholder--portrait {
	display: grid;
	place-content: center;
	text-align: center;
}

.mad-card__placeholder--portrait b {
	font-size: 7rem;
	line-height: 1;
}

.mad-card__placeholder--portrait small {
	color: var(--mad-gray);
	font-size: 0.62rem;
	font-weight: 900;
	letter-spacing: 0.2em;
}

.mad-card__body {
	padding-top: 1.1rem;
}

.mad-card__meta {
	align-items: center;
	color: var(--mad-gray);
	display: flex;
	font-size: 0.72rem;
	gap: 0.7rem;
	justify-content: space-between;
	margin-bottom: 0.9rem;
}

.mad-card h3 {
	font-size: clamp(1.35rem, 2vw, 1.85rem);
	margin-bottom: 0.5rem;
}

.mad-card p {
	color: var(--mad-gray);
	font-size: 0.9rem;
	margin-bottom: 0.9rem;
}

.mad-section--paper .mad-card p {
	color: #5f5c57;
}

.lead-story {
	margin-bottom: 3rem;
}

.lead-story__article {
	background: var(--mad-coal);
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(310px, 0.65fr);
}

.lead-story__media {
	min-height: 510px;
	overflow: hidden;
}

.lead-story__media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.lead-story__body {
	align-self: center;
	padding: clamp(2rem, 4vw, 4rem);
}

.lead-story__body h3 {
	font-size: clamp(2rem, 3.6vw, 3.7rem);
	margin-top: 0.4rem;
}

.lead-story__body > p:not(.mad-meta) {
	color: var(--mad-gray);
}

.mad-empty {
	background: var(--mad-coal);
	border-left: 5px solid var(--mad-red);
	margin-bottom: 2rem;
	padding: clamp(1.5rem, 4vw, 3rem);
}

.mad-empty h2,
.mad-empty h3 {
	margin-bottom: 0.4rem;
}

.mad-empty p {
	color: var(--mad-gray);
	margin-bottom: 1rem;
}

.mad-empty--light {
	background: #e7e3db;
}

.mad-empty--light p {
	color: #585550;
}

/* Playlists */

.playlist-band {
	background: var(--mad-red-accessible);
	color: var(--mad-white);
	padding-block: clamp(3rem, 5vw, 5rem);
}

.playlist-band .mad-kicker {
	color: var(--mad-white);
	margin-bottom: 0.5rem;
	opacity: 0.8;
}

.playlist-band__intro {
	align-items: center;
	display: grid;
	gap: 1.2rem;
	grid-template-columns: auto 1fr minmax(260px, 0.8fr);
	margin-bottom: 2rem;
}

.playlist-band__intro h2 {
	font-size: clamp(2rem, 4vw, 3.8rem);
	margin: 0;
}

.playlist-band__intro > p {
	margin: 0;
}

.playlist-band__icon {
	align-items: center;
	border: 2px solid rgb(255 255 255 / 55%);
	border-radius: 50%;
	display: flex;
	font-size: 1.6rem;
	height: 58px;
	justify-content: center;
	width: 58px;
}

.playlist-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, 1fr);
}

.playlist-card {
	align-items: center;
	background: var(--mad-black);
	display: grid;
	gap: 1rem;
	grid-template-columns: auto 1fr auto;
	padding: 1.45rem;
	transition: background 160ms ease, transform 160ms ease;
}

.playlist-card:hover {
	background: var(--mad-white);
	color: var(--mad-black);
	transform: translateY(-4px);
}

.playlist-card__number {
	color: var(--mad-red);
	font-family: var(--mad-display);
	font-size: 1.6rem;
	font-weight: 900;
}

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

.playlist-card strong {
	font-family: var(--mad-display);
	font-size: 1.3rem;
	text-transform: uppercase;
}

.playlist-card small {
	color: var(--mad-gray);
	font-size: 0.7rem;
}

/* Editorial photography and freestyle */

.mad-scene-strip {
	align-items: end;
	background:
		linear-gradient(180deg, rgb(0 0 0 / 8%) 25%, rgb(0 0 0 / 88%) 100%),
		var(--mad-bg-image, url("../images/movimiento-original-en-vivo.webp")) center 52% / cover;
	display: flex;
	min-height: clamp(310px, 42vw, 520px);
	position: relative;
}

.mad-scene-strip::after {
	background: var(--mad-red);
	bottom: 0;
	content: "";
	height: 7px;
	left: 0;
	position: absolute;
	width: min(520px, 38%);
}

.mad-scene-strip__inner {
	align-items: end;
	display: flex;
	justify-content: space-between;
	padding-block: 2.5rem;
}

.mad-scene-strip__inner p {
	display: grid;
	margin: 0;
	text-shadow: 0 2px 18px rgb(0 0 0 / 85%);
}

.mad-scene-strip__inner span {
	color: var(--mad-red);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.mad-scene-strip__inner strong {
	font-family: var(--mad-display);
	font-size: clamp(2rem, 5vw, 4.7rem);
	line-height: 1;
	text-transform: uppercase;
}

.mad-freestyle {
	background: var(--mad-paper);
	color: var(--mad-black);
	overflow: hidden;
}

.mad-freestyle__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(420px, 1.2fr);
	min-height: 600px;
	width: min(100%, 1600px);
}

.mad-freestyle__copy {
	align-self: center;
	padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 5vw, 5rem) clamp(4rem, 8vw, 8rem) max(20px, calc((100vw - 1240px) / 2));
}

.mad-freestyle__copy h2 {
	font-size: clamp(2.8rem, 5vw, 5.5rem);
}

.mad-freestyle__copy > p:not(.mad-kicker) {
	color: #57534e;
	font-size: 1.05rem;
}

.mad-freestyle__photo {
	background:
		linear-gradient(90deg, rgb(244 241 234 / 15%), transparent 20%),
		var(--mad-bg-image, url("../images/freestyle-batalla.webp")) center / cover;
	min-height: 540px;
	position: relative;
}

.mad-freestyle__photo::after {
	background: var(--mad-red);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 8px;
}

/* Culture and events */

.mad-culture {
	background:
		linear-gradient(90deg, rgb(8 8 8 / 95%), rgb(8 8 8 / 84%)),
		var(--mad-bg-image, url("../images/chystemc-calle.webp")) center / cover;
}

.mad-culture__grid {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 8vw, 8rem);
	grid-template-columns: 0.85fr 1.15fr;
}

.mad-culture__copy > p:not(.mad-kicker) {
	color: #c0c0c0;
	font-size: 1.1rem;
}

.mad-culture__elements {
	border-top: 1px solid var(--mad-line);
}

.mad-culture__elements a {
	align-items: center;
	border-bottom: 1px solid var(--mad-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 45px 1fr auto;
	padding: 1.3rem 0;
}

.mad-culture__elements span {
	color: var(--mad-red);
	font-family: var(--mad-display);
	font-size: 1.35rem;
	font-weight: 900;
}

.mad-culture__elements strong {
	font-family: var(--mad-display);
	font-size: clamp(1.6rem, 3vw, 2.7rem);
	text-transform: uppercase;
}

.mad-culture__elements small {
	color: var(--mad-gray);
}

.event-list {
	border-top: 1px solid var(--mad-line);
}

.event-row {
	align-items: center;
	border-bottom: 1px solid var(--mad-line);
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 100px 1fr auto;
	padding: 1.4rem 0;
}

.event-row > time {
	border-right: 1px solid var(--mad-line);
	display: grid;
	line-height: 1;
	text-align: center;
}

.event-row time strong {
	font-family: var(--mad-display);
	font-size: 2.7rem;
}

.event-row time span {
	color: var(--mad-red);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.event-row h2,
.event-row h3 {
	font-size: clamp(1.35rem, 2.6vw, 2.3rem);
	margin: 0;
}

.event-row p {
	color: var(--mad-gray);
	font-size: 0.84rem;
	margin: 0.25rem 0 0;
}

.event-list--archive .event-row {
	padding-block: 2rem;
}

/* Private music submission */

.music-drop {
	background: #101010;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(4.5rem, 8vw, 8rem);
	position: relative;
}

.music-drop::before {
	background:
		linear-gradient(90deg, rgb(8 8 8 / 18%), rgb(8 8 8 / 95%)),
		var(--mad-bg-image, url("../images/rap-microfono.webp")) center / cover;
	content: "";
	inset: 0 50% 0 0;
	position: absolute;
	z-index: -1;
}

.music-drop__grid {
	align-items: start;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(0, 0.72fr) minmax(460px, 1.28fr);
}

.music-drop__intro {
	background: rgb(8 8 8 / 80%);
	border-left: 5px solid var(--mad-red);
	margin-top: 2rem;
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.music-drop__intro h2 {
	font-size: clamp(2.5rem, 5vw, 4.8rem);
}

.music-drop__intro > p:not(.mad-kicker) {
	color: #d0d0d0;
}

.music-drop__intro ul {
	border-top: 1px solid #424242;
	color: var(--mad-gray);
	font-size: 0.78rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 1rem 0 0;
}

.music-drop__intro li {
	margin-bottom: 0.45rem;
}

.music-drop__intro li::before {
	color: var(--mad-red);
	content: "✓ ";
	font-weight: 900;
}

.music-drop__form {
	background: var(--mad-paper);
	color: var(--mad-black);
	padding: clamp(1.5rem, 4vw, 3rem);
}

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

.music-form p {
	margin: 0;
}

.music-form__wide {
	grid-column: 1 / -1;
}

.music-form label:not(.music-form__consent) {
	display: block;
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.035em;
	margin-bottom: 0.4rem;
	text-transform: uppercase;
}

.music-form input:not([type="checkbox"]),
.music-form select,
.music-form textarea {
	background: #fff;
	border: 1px solid #bdb9b0;
	border-radius: 0;
	color: #111;
	min-height: 50px;
	padding: 0.75rem 0.85rem;
	width: 100%;
}

.music-form textarea {
	line-height: 1.55;
	resize: vertical;
}

.music-form input:focus,
.music-form select:focus,
.music-form textarea:focus {
	border-color: var(--mad-red);
	outline: 3px solid rgb(217 21 21 / 18%);
	outline-offset: 0;
}

.music-form__consent {
	align-items: start;
	display: grid;
	font-size: 0.72rem;
	gap: 0.7rem;
	grid-template-columns: auto 1fr;
	line-height: 1.5;
	margin-top: 1.25rem;
}

.music-form__consent input {
	accent-color: var(--mad-red-accessible);
	height: 18px;
	margin-top: 0.1rem;
	width: 18px;
}

.music-form__actions {
	align-items: center;
	border-top: 1px solid #d2cec6;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-top: 1.4rem;
	padding-top: 1.4rem;
}

.music-form__actions small {
	color: #5f5b55;
	font-size: 0.67rem;
	max-width: 260px;
}

.music-form__trap {
	height: 0;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	width: 0;
}

.music-form__notice {
	border-left: 5px solid;
	font-size: 0.82rem;
	font-weight: 750;
	margin-bottom: 1.25rem;
	padding: 0.8rem 1rem;
}

.music-form__notice p {
	margin: 0;
}

.music-form__notice--success {
	background: #e6f4e8;
	border-color: #22863a;
	color: #155d27;
}

.music-form__notice--error {
	background: #fbe8e8;
	border-color: var(--mad-red-accessible);
	color: #7b0b0b;
}

/* Conversion banner */

.mad-promo {
	background: #1a1a1a;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(4rem, 7vw, 7rem);
	position: relative;
}

.mad-promo__image {
	background:
		linear-gradient(90deg, #080808 10%, rgb(8 8 8 / 70%) 60%, rgb(8 8 8 / 20%)),
		var(--mad-bg-image, url("../images/chystemc-en-vivo.webp")) center / cover;
	inset: 0;
	opacity: 0.5;
	position: absolute;
	z-index: -1;
}

.mad-promo::after {
	background: var(--mad-red);
	content: "";
	height: 100%;
	position: absolute;
	right: 8%;
	top: 0;
	transform: skew(-18deg);
	width: 8px;
	z-index: -1;
}

.mad-promo__inner {
	align-items: end;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) auto;
}

.mad-promo h2 {
	font-size: clamp(2.4rem, 5vw, 5.3rem);
	max-width: 900px;
}

.mad-promo p:not(.mad-kicker) {
	color: #c1c1c1;
	max-width: 680px;
}

/* Archives and breadcrumbs */

.mad-breadcrumbs {
	padding-top: 1.15rem;
}

.mad-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mad-breadcrumbs li {
	color: var(--mad-gray);
	font-size: 0.68rem;
	font-weight: 700;
}

.mad-breadcrumbs li:not(:last-child)::after {
	color: #555;
	content: "/";
	margin-left: 0.45rem;
}

.mad-breadcrumbs a:hover {
	color: var(--mad-white);
}

.mad-archive {
	padding-block: clamp(3rem, 7vw, 7rem);
}

.mad-archive__header {
	margin-bottom: 3rem;
	max-width: 950px;
}

.mad-archive__header h1 {
	font-size: clamp(3.2rem, 7vw, 6.5rem);
}

.mad-archive__header > p,
.mad-archive__description {
	color: var(--mad-gray);
	font-size: 1.1rem;
	max-width: 680px;
}

.mad-archive__header--split {
	align-items: end;
	display: grid;
	gap: 2rem;
	grid-template-columns: 1.3fr 0.7fr;
	max-width: none;
}

.mad-archive__header--split > p {
	border-left: 3px solid var(--mad-red);
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}

.mad-filter-bar {
	align-items: center;
	border-bottom: 1px solid var(--mad-line);
	border-top: 1px solid var(--mad-line);
	display: flex;
	gap: 1.5rem;
	margin-bottom: 2.5rem;
	padding: 0.8rem 0;
}

.mad-filter-bar p {
	font-size: 0.72rem;
	font-weight: 900;
	margin: 0;
	text-transform: uppercase;
}

.mad-filter-bar nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.mad-filter-bar a {
	border: 1px solid #444;
	font-size: 0.68rem;
	font-weight: 800;
	padding: 0.35rem 0.65rem;
	text-transform: uppercase;
}

.mad-filter-bar a:hover,
.mad-filter-bar a.is-active {
	background: var(--mad-red);
	border-color: var(--mad-red);
	color: var(--mad-white);
}

.navigation.pagination {
	margin-top: 3rem;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.page-numbers {
	align-items: center;
	border: 1px solid var(--mad-line);
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 800;
	justify-content: center;
	min-height: 42px;
	min-width: 42px;
	padding: 0.5rem 0.8rem;
	text-transform: uppercase;
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--mad-red);
	border-color: var(--mad-red);
	color: var(--mad-white);
}

/* Article */

.mad-article__header {
	padding-block: clamp(3.5rem, 7vw, 7rem) 2rem;
}

.mad-article__header h1 {
	font-size: clamp(3rem, 7vw, 6.8rem);
	margin-top: 0.3em;
}

.mad-article__deck {
	color: #c5c5c5;
	font-size: clamp(1.08rem, 2vw, 1.4rem);
	line-height: 1.55;
}

.mad-byline {
	align-items: center;
	color: var(--mad-gray);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.75rem;
	gap: 0.55rem 1.1rem;
}

.mad-byline > *:not(:first-child) {
	border-left: 1px solid #4a4a4a;
	padding-left: 1.1rem;
}

.mad-byline strong {
	color: var(--mad-white);
}

.mad-article__hero {
	margin-bottom: clamp(2.5rem, 5vw, 5rem);
}

.mad-article__hero img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
}

.mad-article__hero figcaption {
	color: var(--mad-gray);
	font-size: 0.72rem;
	margin-top: 0.65rem;
}

.mad-article__layout {
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 120px minmax(0, 760px);
	justify-content: center;
}

.mad-share {
	align-self: start;
	display: grid;
	gap: 0.65rem;
	position: sticky;
	top: 120px;
}

.mad-share > span {
	color: var(--mad-gray);
	font-size: 0.65rem;
	font-weight: 900;
	text-transform: uppercase;
}

.mad-share a,
.mad-share button {
	background: none;
	border: 0;
	color: var(--mad-paper);
	font-size: 0.72rem;
	padding: 0;
	text-align: left;
}

.mad-share a:hover,
.mad-share button:hover {
	color: var(--mad-red);
}

.mad-prose {
	font-size: clamp(1rem, 1.25vw, 1.12rem);
	line-height: 1.78;
	min-width: 0;
}

.mad-prose > *:first-child {
	margin-top: 0;
}

.mad-prose > p:first-child {
	font-size: 1.18em;
}

.mad-prose h2 {
	font-size: clamp(2rem, 4vw, 3.5rem);
	margin-top: 1.6em;
	scroll-margin-top: 130px;
}

.mad-prose h3 {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin-top: 1.5em;
	scroll-margin-top: 130px;
}

.mad-prose a {
	color: var(--mad-red);
	text-decoration: underline;
}

.mad-prose blockquote {
	border-left: 5px solid var(--mad-red);
	font-family: var(--mad-display);
	font-size: clamp(1.6rem, 3vw, 2.6rem);
	font-weight: 900;
	line-height: 1.12;
	margin: 2.3rem 0;
	padding: 0.5rem 0 0.5rem 1.5rem;
	text-transform: uppercase;
}

.mad-prose figure,
.mad-prose .wp-block-image {
	margin-block: 2.2rem;
}

.mad-prose figcaption {
	color: var(--mad-gray);
	font-size: 0.72rem;
}

.mad-prose table {
	border-collapse: collapse;
	display: block;
	max-width: 100%;
	overflow-x: auto;
	width: 100%;
}

.mad-prose th,
.mad-prose td {
	border-bottom: 1px solid var(--mad-line);
	padding: 0.75rem;
	text-align: left;
}

.article-sources,
.bio-sources {
	border-top: 1px solid var(--mad-line);
	margin-top: 3rem;
	padding-top: 1.5rem;
}

.article-sources h2,
.bio-sources h2 {
	font-size: 1.7rem;
	margin-top: 0;
}

.article-sources li,
.bio-sources li {
	font-size: 0.82rem;
}

.mad-article__footer {
	border-top: 1px solid var(--mad-line);
	margin-top: 4rem;
	padding-block: 2rem 5rem;
}

.mad-author-box {
	align-items: center;
	display: flex;
	gap: 1rem;
	margin-bottom: 2rem;
}

.mad-author-box img {
	border-radius: 50%;
}

.mad-author-box div {
	display: grid;
}

.mad-author-box span,
.mad-author-box p {
	color: var(--mad-gray);
	font-size: 0.75rem;
	margin: 0;
}

.mad-breaking {
	border: 1px solid var(--mad-red);
	color: var(--mad-red);
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 900;
	margin-left: 0.4rem;
	padding: 0.35rem 0.55rem;
}

.mad-comments {
	border-top: 1px solid var(--mad-line);
	padding-block: 3rem;
}

.comment-list {
	list-style: none;
	padding: 0;
}

.comment-body {
	border-bottom: 1px solid var(--mad-line);
	padding-block: 1.25rem;
}

.comment-form input:not([type="checkbox"]),
.comment-form textarea {
	background: var(--mad-coal);
	border: 1px solid var(--mad-line);
	color: var(--mad-white);
	padding: 0.8rem;
	width: 100%;
}

.form-submit .submit {
	background: var(--mad-red);
	border: 0;
	color: var(--mad-white);
	font-weight: 900;
	padding: 0.9rem 1.2rem;
	text-transform: uppercase;
}

/* Biography */

.bio-profile__hero {
	background:
		radial-gradient(circle at 78% 20%, rgb(239 23 23 / 17%), transparent 30%),
		linear-gradient(135deg, #101010, #050505);
	border-bottom: 1px solid var(--mad-line);
	padding-block: clamp(2.5rem, 6vw, 6rem);
}

.bio-profile__hero-grid {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 6vw, 6rem);
	grid-template-columns: minmax(260px, 0.68fr) 1.32fr;
}

.bio-profile__portrait {
	aspect-ratio: 4 / 5;
	background: var(--mad-coal);
	box-shadow: var(--mad-shadow);
	overflow: hidden;
}

.bio-profile__portrait img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.bio-profile__portrait-placeholder {
	align-items: center;
	background:
		linear-gradient(145deg, rgb(239 23 23 / 45%), transparent 55%),
		repeating-linear-gradient(115deg, #151515 0 16px, #1d1d1d 16px 18px);
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
}

.bio-profile__portrait-placeholder strong {
	font-family: var(--mad-display);
	font-size: clamp(6rem, 15vw, 12rem);
	line-height: 0.8;
}

.bio-profile__portrait-placeholder span {
	color: var(--mad-gray);
	font-size: 0.65rem;
	font-weight: 900;
	letter-spacing: 0.2em;
	margin-top: 2rem;
}

.bio-profile__intro h1 {
	font-size: clamp(4rem, 9vw, 8.6rem);
}

.bio-profile__deck {
	color: #c9c9c9;
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	max-width: 760px;
}

.bio-profile__facts {
	border-bottom: 1px solid var(--mad-line);
	border-top: 1px solid var(--mad-line);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-block: 2rem;
}

.bio-profile__facts div {
	display: grid;
	padding: 1rem;
}

.bio-profile__facts div:not(:last-child) {
	border-right: 1px solid var(--mad-line);
}

.bio-profile__facts span {
	color: var(--mad-gray);
	font-size: 0.63rem;
	font-weight: 800;
	text-transform: uppercase;
}

.bio-profile__facts strong {
	font-size: 0.85rem;
}

.bio-profile__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.bio-profile__links a {
	border: 1px solid #444;
	font-size: 0.7rem;
	font-weight: 900;
	padding: 0.48rem 0.65rem;
	text-transform: uppercase;
}

.bio-profile__body {
	display: grid;
	gap: clamp(2.5rem, 6vw, 6rem);
	grid-template-columns: 280px minmax(0, 760px);
	justify-content: center;
	padding-block: clamp(4rem, 8vw, 8rem);
}

.bio-infobox {
	align-self: start;
	background: var(--mad-coal);
	border-top: 5px solid var(--mad-red);
	padding: 1.35rem;
	position: sticky;
	top: 110px;
}

.bio-infobox h2 {
	font-size: 1.35rem;
}

.bio-infobox dl {
	margin: 0;
}

.bio-infobox dl div {
	border-top: 1px solid var(--mad-line);
	padding: 0.65rem 0;
}

.bio-infobox dt {
	color: var(--mad-gray);
	font-size: 0.62rem;
	font-weight: 800;
	text-transform: uppercase;
}

.bio-infobox dd {
	font-size: 0.8rem;
	font-weight: 650;
	margin: 0.15rem 0 0;
}

.bio-toc {
	border-top: 1px solid var(--mad-line);
	margin-top: 1rem;
	padding-top: 1rem;
}

.bio-toc > strong {
	font-size: 0.68rem;
	text-transform: uppercase;
}

.bio-toc ol {
	margin: 0.6rem 0 0;
	padding-left: 1.2rem;
}

.bio-toc li {
	color: var(--mad-gray);
	font-size: 0.72rem;
	margin-bottom: 0.45rem;
}

.bio-section {
	border-top: 1px solid var(--mad-line);
	margin-top: 4rem;
	padding-top: 2.5rem;
}

.bio-section h2 {
	font-size: clamp(2rem, 4vw, 3.4rem);
}

.bio-discography {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bio-discography li {
	align-items: baseline;
	border-bottom: 1px solid var(--mad-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr 120px 60px;
	padding: 1rem 0;
}

.bio-discography strong {
	font-family: var(--mad-display);
	font-size: 1.4rem;
	text-transform: uppercase;
}

.bio-discography span,
.bio-discography time {
	color: var(--mad-gray);
	font-size: 0.75rem;
}

.bio-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bio-timeline li {
	border-left: 2px solid var(--mad-line);
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 80px 1fr;
	padding: 0 0 2rem 1.3rem;
	position: relative;
}

.bio-timeline li::before {
	background: var(--mad-red);
	border-radius: 50%;
	content: "";
	height: 10px;
	left: -6px;
	position: absolute;
	top: 0.5rem;
	width: 10px;
}

.bio-timeline time {
	color: var(--mad-red);
	font-family: var(--mad-display);
	font-size: 1.3rem;
	font-weight: 900;
}

.bio-timeline p {
	margin: 0;
}

.bio-gallery {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(2, 1fr);
}

.bio-gallery figure:first-child:nth-last-child(odd) {
	grid-column: 1 / -1;
}

.bio-gallery img {
	aspect-ratio: 4 / 3;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.bio-gallery figcaption {
	color: var(--mad-gray);
	font-size: 0.68rem;
	margin-top: 0.3rem;
}

/* Event detail */

.event-detail__hero {
	padding-block: clamp(3rem, 7vw, 7rem);
}

.event-detail__grid {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 8vw, 8rem);
	grid-template-columns: 1fr 340px;
}

.event-detail h1 {
	font-size: clamp(3.5rem, 8vw, 7.5rem);
}

.event-ticket {
	background: var(--mad-paper);
	color: var(--mad-black);
	padding: 1.5rem;
}

.event-ticket > time {
	border-bottom: 1px solid #c7c3bc;
	display: grid;
	line-height: 1;
	padding-bottom: 1rem;
}

.event-ticket time strong {
	color: var(--mad-red);
	font-family: var(--mad-display);
	font-size: 5rem;
}

.event-ticket time span {
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.event-ticket dl div {
	border-bottom: 1px solid #d7d3cb;
	padding-block: 0.6rem;
}

.event-ticket dt {
	color: #696660;
	font-size: 0.62rem;
	font-weight: 800;
	text-transform: uppercase;
}

.event-ticket dd {
	font-size: 0.85rem;
	font-weight: 700;
	margin: 0.15rem 0 0;
}

.event-ticket .mad-button {
	margin-top: 1rem;
	width: 100%;
}

/* Editorial pages */

.mad-page {
	padding-block: 2rem 6rem;
}

.mad-page__header {
	padding-block: clamp(3rem, 7vw, 6rem) 2rem;
}

.service-hero,
.contact-hero,
.culture-hero,
.about-hero {
	padding-block: clamp(4rem, 8vw, 8rem);
}

.service-hero {
	background:
		radial-gradient(circle at 75% 25%, rgb(239 23 23 / 25%), transparent 28%),
		repeating-linear-gradient(115deg, #080808 0 35px, #0d0d0d 35px 36px);
}

.service-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: 1fr 360px;
}

.service-hero h1 {
	font-size: clamp(3.7rem, 8vw, 7.3rem);
}

.service-hero__card {
	background: var(--mad-red);
	box-shadow: var(--mad-shadow);
	color: var(--mad-white);
	padding: 1.7rem;
	transform: rotate(2deg);
}

.service-hero__card span {
	font-size: 0.65rem;
	font-weight: 900;
	text-transform: uppercase;
}

.service-hero__card strong {
	display: block;
	font-family: var(--mad-display);
	font-size: 2rem;
	margin-block: 0.6rem;
}

.service-hero__card p {
	font-size: 0.88rem;
	margin: 0;
}

.service-grid,
.principles-grid,
.culture-element-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, 1fr);
}

.service-grid article,
.principles-grid article,
.culture-element-grid article {
	background: #e7e3db;
	padding: clamp(1.4rem, 3vw, 2.3rem);
}

.service-grid article > span,
.principles-grid article > span,
.culture-element-grid article > span {
	color: var(--mad-red);
	font-family: var(--mad-display);
	font-size: 1.5rem;
	font-weight: 900;
}

.service-grid h3,
.principles-grid h3,
.culture-element-grid h3 {
	font-size: 1.8rem;
	margin-top: 2.3rem;
}

.service-grid p,
.principles-grid p,
.culture-element-grid p {
	color: #5f5b55;
	font-size: 0.9rem;
}

.service-grid ul {
	border-top: 1px solid #c8c4bc;
	font-size: 0.75rem;
	list-style: none;
	margin: 1.2rem 0 0;
	padding: 1rem 0 0;
}

.service-grid li::before {
	color: var(--mad-red);
	content: "— ";
}

.process-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	list-style: none;
	margin: 0;
	padding: 0;
}

.process-list li {
	border-left: 1px solid var(--mad-line);
	padding: 1.5rem;
}

.process-list > li > strong {
	color: var(--mad-red);
	font-family: var(--mad-display);
	font-size: 2.8rem;
}

.process-list h3 {
	font-size: 1.4rem;
	margin-top: 2rem;
}

.process-list p {
	color: var(--mad-gray);
	font-size: 0.82rem;
}

.service-faq h2 {
	margin-bottom: 1rem;
}

.service-faq details {
	border-top: 1px solid #c8c4bc;
	padding: 1rem 0;
}

.service-faq details:last-child {
	border-bottom: 1px solid #c8c4bc;
}

.service-faq summary {
	font-family: var(--mad-display);
	font-size: 1.35rem;
	font-weight: 900;
	text-transform: uppercase;
}

.service-faq details p {
	color: #5d5954;
	padding: 1rem 2rem 0 0;
}

.culture-hero {
	background:
		linear-gradient(rgb(8 8 8 / 55%), rgb(8 8 8 / 85%)),
		url("../images/mad-chile-portada.webp") center / cover;
	min-height: 520px;
}

.culture-hero__inner {
	align-items: end;
	display: flex;
	flex-direction: column;
	justify-content: end;
	min-height: 360px;
	text-align: right;
}

.culture-hero h1 {
	font-size: clamp(4rem, 11vw, 10rem);
}

.culture-hero p:last-child {
	color: #d0d0d0;
	font-size: 1.15rem;
	max-width: 690px;
}

.culture-element-grid {
	grid-template-columns: repeat(4, 1fr);
}

.culture-element-grid article {
	min-height: 360px;
}

.culture-element-grid a {
	color: var(--mad-red);
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.about-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 6vw, 6rem);
	grid-template-columns: 0.8fr 1.2fr;
}

.about-hero h1 {
	font-size: clamp(4rem, 8vw, 7rem);
}

.about-hero p:last-child {
	color: var(--mad-gray);
	font-size: 1.15rem;
}

.about-hero img {
	border-bottom: 8px solid var(--mad-red);
}

.about-manifesto h2 {
	font-size: clamp(3rem, 7vw, 6.5rem);
	max-width: 1150px;
}

.about-manifesto__columns {
	display: grid;
	gap: 3rem;
	grid-template-columns: 1fr 1fr;
	margin-left: auto;
	max-width: 860px;
}

.about-manifesto__columns p {
	color: #55514c;
}

.principles-grid article {
	background: var(--mad-coal);
}

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

.principles-grid p {
	color: var(--mad-gray);
}

.contact-hero__grid {
	align-items: start;
	display: grid;
	gap: clamp(3rem, 8vw, 8rem);
	grid-template-columns: 0.8fr 1.2fr;
}

.contact-hero h1 {
	font-size: clamp(4rem, 9vw, 8rem);
}

.contact-hero p:last-child {
	color: var(--mad-gray);
	font-size: 1.1rem;
}

.contact-options {
	border-top: 1px solid var(--mad-line);
}

.contact-options a {
	align-items: center;
	border-bottom: 1px solid var(--mad-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 100px 1fr auto;
	padding: 1.25rem 0;
}

.contact-options span {
	color: var(--mad-gray);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.contact-options strong {
	font-family: var(--mad-display);
	font-size: clamp(1.3rem, 3vw, 2.2rem);
	text-transform: uppercase;
}

.contact-options b {
	color: var(--mad-red);
	font-size: 1.5rem;
}

.contact-brief {
	display: grid;
	gap: 3rem;
	grid-template-columns: 0.7fr 1.3fr;
}

.contact-brief ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.contact-brief li {
	align-items: baseline;
	border-bottom: 1px solid #c8c4bc;
	display: grid;
	gap: 1.2rem;
	grid-template-columns: 50px 1fr;
	padding: 1rem 0;
}

.contact-brief li strong {
	color: var(--mad-red);
	font-family: var(--mad-display);
	font-size: 1.4rem;
}

.mad-404 {
	padding-block: clamp(5rem, 10vw, 10rem);
}

.mad-404__inner {
	align-items: center;
	display: grid;
	gap: 4rem;
	grid-template-columns: 0.7fr 1.3fr;
}

.mad-404__code {
	color: var(--mad-red);
	font-family: var(--mad-display);
	font-size: clamp(9rem, 25vw, 23rem);
	font-weight: 900;
	line-height: 0.7;
	margin: 0;
}

/* Footer */

.site-footer {
	background: #050505;
	border-top: 1px solid var(--mad-line);
	padding-top: clamp(3rem, 7vw, 6rem);
}

.site-footer__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 4rem);
	grid-template-columns: minmax(230px, 1.25fr) repeat(3, minmax(120px, 0.65fr)) minmax(220px, 1fr);
}

.site-footer__isotype {
	display: block;
	height: 92px;
	width: 92px;
}

.site-footer__isotype img {
	height: 92px;
	object-fit: contain;
	width: 92px;
}

.site-footer h2 {
	font-size: 1.25rem;
	margin: 1rem 0;
}

.site-footer p,
.site-footer li {
	color: var(--mad-gray);
	font-size: 0.82rem;
}

.site-footer__brand p {
	max-width: 420px;
}

.site-footer__motto {
	color: var(--mad-red) !important;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.site-footer__nav ul,
.social-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__nav a {
	display: inline-block;
	padding: 0.25rem 0;
}

.site-footer__nav a::after {
	color: var(--mad-red);
	content: " →";
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity 160ms ease, transform 160ms ease;
}

.site-footer__nav a:hover::after {
	opacity: 1;
	transform: translateX(0);
}

.social-list {
	border-top: 1px solid var(--mad-line);
	margin-top: 1rem;
	padding-top: 1rem;
}

.social-list a {
	display: flex;
	justify-content: space-between;
	padding: 0.35rem 0;
}

.social-list span {
	color: var(--mad-red);
}

.site-footer__bottom {
	border-top: 1px solid var(--mad-line);
	display: flex;
	justify-content: space-between;
	margin-top: 3rem;
	padding-block: 1.2rem;
}

.site-footer__bottom p {
	font-size: 0.65rem;
	margin: 0;
}

/* Gentle reveal motion. Content remains visible when JavaScript is unavailable. */

[data-reveal].reveal-pending {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 600ms ease, transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

[data-reveal].reveal-pending.is-revealed {
	opacity: 1;
	transform: translateY(0);
}

/* Responsive */

@media (max-width: 1024px) {
	.mad-grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}

	.mad-grid--3,
	.service-grid {
		grid-template-columns: repeat(2, 1fr);
	}

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

	.lead-story__article {
		grid-template-columns: 1fr 0.8fr;
	}

	.playlist-grid {
		grid-template-columns: 1fr;
	}

	.process-list,
	.principles-grid,
	.culture-element-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.bio-profile__body {
		grid-template-columns: 240px minmax(0, 1fr);
	}

	.music-drop__grid {
		gap: 2.5rem;
		grid-template-columns: minmax(0, 0.8fr) minmax(420px, 1.2fr);
	}

	.site-footer__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.site-footer__brand,
	.site-footer__contact {
		grid-column: span 3;
	}
}

@media (max-width: 860px) {
	:root {
		--mad-wrap: min(100% - 30px, 1240px);
	}

	.mad-signal__inner > span {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.mad-signal__inner > a {
		flex: 0 0 auto;
		margin-left: 1rem;
	}

	.nav-toggle {
		display: flex;
	}

	.primary-nav {
		background: var(--mad-black);
		border-top: 1px solid var(--mad-line);
		display: none;
		left: 0;
		max-height: calc(100svh - 80px);
		overflow-y: auto;
		padding: 0.5rem max(20px, calc((100vw - 1240px) / 2)) 2rem;
		position: absolute;
		right: 0;
		top: 100%;
		width: 100vw;
	}

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

	.primary-nav ul {
		align-items: stretch;
		display: grid;
		gap: 0;
	}

	.primary-nav li {
		border-bottom: 1px solid var(--mad-line);
	}

	.primary-nav a {
		font-family: var(--mad-display);
		font-size: clamp(1.65rem, 7vw, 2.5rem);
		padding-block: 0.8rem;
	}

	.search-toggle {
		align-items: center;
		border: 1px solid var(--mad-line);
		display: flex;
		justify-content: center;
		margin: 1rem 0 0;
		min-height: 48px;
		width: 100%;
	}

	.search-toggle__label {
		display: inline;
		margin-right: 0.5rem;
	}

	.mad-hero {
		min-height: auto;
	}

	.mad-hero__grid,
	.mad-culture__grid,
	.service-hero__grid,
	.about-hero__grid,
	.contact-hero__grid,
	.contact-brief,
	.event-detail__grid {
		grid-template-columns: 1fr;
	}

	.mad-freestyle__grid,
	.music-drop__grid {
		grid-template-columns: 1fr;
	}

	.mad-freestyle__copy {
		padding: clamp(3.5rem, 10vw, 6rem) max(20px, calc((100vw - 1240px) / 2));
	}

	.mad-freestyle__photo {
		min-height: min(70vw, 520px);
		order: -1;
	}

	.music-drop {
		padding-top: min(62vw, 450px);
	}

	.music-drop::before {
		background:
			linear-gradient(180deg, transparent 45%, #101010 100%),
			var(--mad-bg-image, url("../images/rap-microfono.webp")) center / cover;
		inset: 0 0 auto;
		min-height: min(68vw, 500px);
	}

	.music-drop__intro {
		margin-top: 0;
	}

	.mad-hero__mark {
		display: none;
	}

	.lead-story__article {
		grid-template-columns: 1fr;
	}

	.lead-story__media {
		aspect-ratio: 16 / 9;
		min-height: 0;
	}

	.playlist-band__intro {
		grid-template-columns: auto 1fr;
	}

	.playlist-band__intro > p {
		grid-column: 2;
	}

	.mad-promo__inner {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.mad-archive__header--split {
		grid-template-columns: 1fr;
	}

	.bio-profile__hero-grid {
		align-items: end;
		grid-template-columns: 0.75fr 1.25fr;
	}

	.bio-profile__body {
		grid-template-columns: 1fr;
	}

	.bio-infobox {
		position: static;
	}

	.bio-toc {
		display: none;
	}

	.mad-article__layout {
		grid-template-columns: 1fr;
	}

	.mad-share {
		display: flex;
		flex-wrap: wrap;
		position: static;
	}

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

	.site-footer__brand,
	.site-footer__contact {
		grid-column: 1 / -1;
	}
}

@media (max-width: 620px) {
	h1 {
		font-size: clamp(2.8rem, 16vw, 5rem);
	}

	.mad-brand__words {
		display: none;
	}

	.mad-signal__inner > span {
		max-width: 52%;
	}

	.mad-signal__inner > a {
		font-size: 0.65rem;
	}

	.mad-hero__facts,
	.mad-grid--4,
	.mad-grid--3,
	.service-grid,
	.process-list,
	.principles-grid,
	.culture-element-grid,
	.site-footer__grid {
		grid-template-columns: 1fr;
	}

	.mad-scene-strip {
		min-height: 360px;
	}

	.mad-scene-strip__inner {
		align-items: start;
		flex-direction: column;
		gap: 1.25rem;
	}

	.music-form__grid {
		grid-template-columns: 1fr;
	}

	.music-form__wide {
		grid-column: auto;
	}

	.music-form__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.music-form__actions small {
		max-width: none;
	}

	.mad-section__header {
		align-items: start;
		flex-direction: column;
		gap: 1rem;
	}

	.playlist-band__intro {
		grid-template-columns: 1fr;
	}

	.playlist-band__intro > p {
		grid-column: auto;
	}

	.playlist-band__icon {
		display: none;
	}

	.event-row {
		align-items: start;
		grid-template-columns: 65px 1fr;
	}

	.event-row > .mad-link-arrow {
		grid-column: 2;
	}

	.event-row time strong {
		font-size: 2rem;
	}

	.mad-filter-bar {
		align-items: start;
		flex-direction: column;
	}

	.bio-profile__hero-grid {
		grid-template-columns: 1fr;
	}

	.bio-profile__portrait {
		max-width: 420px;
	}

	.bio-profile__facts {
		grid-template-columns: 1fr;
	}

	.bio-profile__facts div:not(:last-child) {
		border-bottom: 1px solid var(--mad-line);
		border-right: 0;
	}

	.bio-discography li {
		grid-template-columns: 1fr auto;
	}

	.bio-discography span {
		display: none;
	}

	.bio-gallery {
		grid-template-columns: 1fr;
	}

	.bio-gallery figure:first-child:nth-last-child(odd) {
		grid-column: auto;
	}

	.mad-byline > *:not(:first-child) {
		border-left: 0;
		padding-left: 0;
	}

	.mad-article__header h1 {
		font-size: clamp(2.8rem, 13vw, 5rem);
	}

	.about-manifesto__columns {
		grid-template-columns: 1fr;
	}

	.contact-options a {
		grid-template-columns: 1fr auto;
	}

	.contact-options span {
		grid-column: 1 / -1;
	}

	.mad-404__inner {
		gap: 2rem;
		grid-template-columns: 1fr;
	}

	.site-footer__brand,
	.site-footer__contact {
		grid-column: auto;
	}

	.site-footer__bottom {
		display: grid;
		gap: 0.5rem;
	}
}

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

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

	[data-reveal].reveal-pending {
		opacity: 1;
		transform: none;
	}
}

@media print {
	.mad-signal,
	.site-header,
	.site-footer,
	.mad-share,
	.mad-promo {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}

	.mad-prose a {
		color: #000;
		text-decoration: underline;
	}
}
