/* ==========================================================================
   SERO — estilos del tema
   --------------------------------------------------------------------------
   Escritorio (>= 1024px): diseño a 1920×1080. Todas las medidas se expresan
   en «píxeles de diseño» multiplicados por --u, que escala con la ventana.
   Móvil (< 1024px): diseño a 1080 de ancho. Medidas × --m.
   Tracking del diseño: -75 (‑0.075em) en casi todo el texto; -100 en la
   descripción de escritorio; -20 en titulares.
   ========================================================================== */

@font-face {
	font-family: "Geist Mono SERO";
	src: url("../fonts/GeistMono-Medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Geist Mono SERO";
	src: url("../fonts/GeistMono-UltraBlack.woff") format("woff");
	font-weight: 950;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Junicode SERO";
	src: url("../fonts/Junicode-Bold.woff") format("woff");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--black: #000;
	--white: #fff;
	--mono: "Geist Mono SERO", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	--serif: "Junicode SERO", "Garamond", "Times New Roman", serif;
	--track: -0.075em;
}

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

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--black);
	color: var(--white);
	font-family: var(--mono);
	font-weight: 500;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* El tracking en em se declara en cada elemento: si se heredara, se calcularía
   con el tamaño de letra del body y no con el del texto. */
body, body * { letter-spacing: var(--track); }

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
ol, ul { list-style: none; margin: 0; padding: 0; }
p, figure, h1, h2, h3 { margin: 0; }
button { font: inherit; letter-spacing: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}
.skip-link:focus {
	clip: auto; clip-path: none; width: auto; height: auto;
	left: 8px; top: 8px; z-index: 1000;
	background: var(--white); color: var(--black); padding: 8px 12px;
}

:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; }
/* El visor recibe el foco tras navegar (lectores de pantalla); no es un control. */
#sero-viewer:focus { outline: none; }
.is-active:focus-visible, .sq.is-active:focus-visible { outline-color: var(--white); outline-offset: 3px; }

/* --------------------------------------------------------------------------
   Componentes comunes
   -------------------------------------------------------------------------- */

/* Botón cuadrado ($, C, 1, 2, ↑, ↓, ←) */
.sq {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border: var(--line) solid var(--white);
	background: var(--black);
	color: var(--white);
	line-height: 1;
	user-select: none;
}
.sq, .sq * { letter-spacing: 0; }
.sq.is-active,
.sq[aria-current="true"],
.sq[aria-current="page"] { background: var(--white); color: var(--black); }

/* Botón grande (DESCARGA / COMPRA) */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: var(--line) solid var(--white);
	background: var(--black);
	color: var(--white);
	text-transform: uppercase;
	line-height: 1;
}
.btn--fill { background: var(--white); color: var(--black); }

/* Franja horizontal (artículos de un número, hermanos de una sección) */
.strip {
	display: flex;
	align-items: center;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	text-transform: uppercase;
}
.strip::-webkit-scrollbar { display: none; }
.strip__item { flex: 0 0 auto; display: block; }
.strip__item.is-active { background: var(--white); color: var(--black); font-weight: 950; }
.strip__sep { flex: 0 0 auto; white-space: pre; }

.prose p + p,
.prose p + ul, .prose ul + p,
.prose p + ol, .prose ol + p { margin-top: 1lh; }

.empty { text-transform: uppercase; }
.v-title, .v-title * { letter-spacing: -0.02em; }

/* ==========================================================================
   ESCRITORIO  (>= 1024px)
   ========================================================================== */
@media (min-width: 1024px) {

	:root {
		--u: min(calc(100vw / 1920), calc(100vh / 1080));
		--line: max(1px, calc(2 * var(--u)));
		--pad: calc(32 * var(--u));
		--fs-about: max(10px, calc(18 * var(--u)));
		--fs-menu: max(14px, calc(28 * var(--u)));
		--fs-small: max(10px, calc(18 * var(--u)));
		--fs-desc: max(11px, calc(16 * var(--u)));
		--fs-title: max(36px, calc(80.5 * var(--u)));
		--fs-body: max(15px, calc(30 * var(--u)));
		--sq: calc(39 * var(--u));
		--sb: max(8px, calc(12 * var(--u)));
	}

	html, body { height: 100%; overflow: hidden; }

	.sero {
		display: grid;
		grid-template-columns: 505fr 472fr 943fr;
		height: 100vh;
		height: 100dvh;
	}

	.col {
		position: relative;
		display: flex;
		flex-direction: column;
		min-width: 0;
		min-height: 0;
		padding: var(--pad);
	}
	/* Separadores verticales: no tocan el borde superior ni inferior */
	.col--index::before,
	.col--viewer::before {
		content: "";
		position: absolute;
		left: calc(var(--line) / -2);
		top: var(--pad);
		bottom: var(--pad);
		width: var(--line);
		background: var(--white);
	}

	.sq { width: var(--sq); height: var(--sq); font-size: var(--fs-small); }
	.col__foot {
		display: flex;
		align-items: flex-end;
		gap: calc(8 * var(--u));
		margin-top: auto;
		flex: 0 0 auto;
	}

	/* ---- Columna izquierda: identidad ---------------------------------- */

	.brand { display: block; flex: 0 0 auto; }
	.brand img, .brand svg { width: 100%; height: auto; }

	.about {
		margin-top: calc(41 * var(--u));
		font-weight: 950;
		font-size: var(--fs-about);
		line-height: calc(22 / 18);
		text-transform: uppercase;
		text-align: justify;
		hyphens: none;
	}
	.about, .about * { letter-spacing: -0.1em; word-spacing: -0.12em; }

	.menu { margin-top: calc(32 * var(--u)); }
	.menu__item + .menu__item { margin-top: calc(10 * var(--u)); }
	.menu__link {
		display: inline-block;
		font-size: var(--fs-menu);
		line-height: calc(24 * var(--u));
		padding: calc(7 * var(--u)) calc(8 * var(--u)) calc(7 * var(--u)) calc(7 * var(--u));
		text-transform: uppercase;
	}
	.menu__link.is-active { background: var(--white); color: var(--black); }
	.menu__sub { display: none; }

	/* ---- Columna central: índice --------------------------------------- */

	.index__media {
		flex: 0 1 auto;
		min-height: 0;
		width: 100%;
		/* 20px menos que el diseño para que la lista quepa sin desplazarse. */
		height: calc(738 * var(--u) - 20px);
		overflow: hidden;
	}
	.index__media img { width: 100%; height: 100%; object-fit: cover; }
	.index__media.is-thumb {
		width: calc(237 * var(--u));
		height: calc(237 * var(--u));
	}

	.index__body {
		margin-top: auto;
		padding-top: calc(24 * var(--u));
		/* El texto (28) es más alto que su interlínea (24): margen para que no
		   aparezca la barra de desplazamiento sin necesidad. */
		padding-bottom: calc(6 * var(--u));
		/* La imagen cede espacio primero; la lista solo se desplaza si es muy larga. */
		flex: 0 0 auto;
		max-height: 62%;
		min-height: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.index__list { font-size: var(--fs-menu); text-transform: uppercase; }
	.index__list > li + li { margin-top: calc(10 * var(--u)); }
	.index__list > li[hidden] { display: none; }
	.index__item {
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: calc(22.8 * var(--u));
		line-height: calc(24 * var(--u));
		padding: calc(7 * var(--u));
	}
	.index__item:not(:has(.index__num)) { display: block; }
	.index__item.is-active { background: var(--white); color: var(--black); }

	.index__empty { line-height: calc(24 * var(--u)); padding: calc(7 * var(--u)); }

	.index__body + .col__foot { margin-top: calc(30 * var(--u)); }
	.col--index .col__foot { justify-content: space-between; }
	.pager { display: flex; gap: calc(8 * var(--u)); }
	.col__foot .sq--up { margin-left: auto; }

	.contact {
		font-size: var(--fs-menu);
		line-height: calc(24 * var(--u));
		text-transform: uppercase;
	}
	.contact__title { margin-bottom: calc(24 * var(--u)); }
	.contact a:hover { text-decoration: underline; text-decoration-thickness: var(--line); }

	/* ---- Columna derecha: visor ---------------------------------------- */

	.viewer__head { flex: 0 0 auto; }
	.viewer__scroll {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	/* Barra de desplazamiento visible, con el lenguaje de SERO: un filete
	   blanco (como los separadores) y un bloque blanco como indicador.
	   Ocupa el margen derecho de la columna, así el texto no pierde ancho. */
	.viewer__scroll,
	.index__body {
		margin-right: calc(-1 * (var(--pad) - var(--sb)) / 2 - var(--sb));
		padding-right: calc((var(--pad) - var(--sb)) / 2);
		scrollbar-gutter: stable;
	}
	.viewer__scroll::-webkit-scrollbar,
	.index__body::-webkit-scrollbar { width: var(--sb); }
	.viewer__scroll::-webkit-scrollbar-track,
	.index__body::-webkit-scrollbar-track {
		background: linear-gradient(var(--white), var(--white)) center / var(--line) 100% no-repeat;
	}
	.viewer__scroll::-webkit-scrollbar-thumb,
	.index__body::-webkit-scrollbar-thumb {
		background: var(--white);
		border-radius: 0;
		min-height: calc(60 * var(--u));
	}
	.viewer__scroll::-webkit-scrollbar-button,
	.index__body::-webkit-scrollbar-button { display: none; height: 0; }
	/* Firefox no admite ::-webkit-scrollbar: barra fina blanca sobre negro. */
	@supports not selector(::-webkit-scrollbar) {
		.viewer__scroll,
		.index__body { scrollbar-width: thin; scrollbar-color: var(--white) var(--black); }
	}
	.viewer__foot {
		flex: 0 0 auto;
		display: flex;
		align-items: flex-end;
		gap: calc(8 * var(--u));
		padding-top: calc(20 * var(--u));
	}
	.viewer__foot .sq--up { margin-left: auto; }
	.viewer__foot--actions { gap: calc(17 * var(--u)); }

	.strip {
		font-size: var(--fs-menu);
		line-height: calc(38 * var(--u));
		height: calc(38 * var(--u));
	}
	.strip { padding-left: calc(9 * var(--u)); }
	.strip__item.is-active { padding: 0 calc(8 * var(--u)); margin: 0 calc(-8 * var(--u)); position: relative; z-index: 1; }
	.strip__item:not(.is-active):hover { padding: 0 calc(8 * var(--u)); margin: 0 calc(-8 * var(--u)); position: relative; z-index: 1; }

	.ficha {
		font-size: var(--fs-small);
		line-height: calc(18 * var(--u));
		text-align: right;
		text-transform: uppercase;
	}

	.v-title {
		font-weight: 950;
		font-size: var(--fs-title);
		line-height: calc(75 / 80.5);
		text-transform: uppercase;
		overflow-wrap: anywhere;
	}

	.btn {
		width: calc(189 * var(--u));
		height: calc(77 * var(--u));
		font-size: var(--fs-small);
	}

	/* Inicio: imagen principal a sangre en el visor */
	.v-home { flex: 1 1 auto; min-height: 0; }
	.v-home img { width: 100%; height: 100%; object-fit: cover; }

	/* Número de revista / edición especial */
	.v-issue .v-title { margin-top: calc(40 * var(--u)); }
	.v-issue--special .v-title { margin-top: 0; }
	.v-issue__grid {
		display: grid;
		grid-template-columns: 396fr 454fr;
		column-gap: calc(29 * var(--u));
		align-items: start;
		margin-top: calc(38 * var(--u));
	}
	.v-issue--special .v-issue__grid { margin-top: calc(14 * var(--u)); }
	.v-issue__desc {
		font-size: var(--fs-desc);
		line-height: 1;
		text-align: justify;
		hyphens: manual;
	}
	.v-issue__desc p + p { margin-top: 1em; }
	.v-issue__cover img { width: 100%; height: auto; }

	/* Artículo */
	.v-article .v-article__image { margin-top: calc(30 * var(--u)); }
	.v-article__image img { width: 100%; height: auto; max-height: calc(547 * var(--u)); object-fit: cover; }
	.v-article .v-title { margin-top: calc(27 * var(--u)); }
	.v-article__credits,
	.v-article__body {
		font-family: var(--serif);
		font-weight: 700;
		font-size: var(--fs-body);
		line-height: calc(29 / 30);
	}
	.v-article__credits, .v-article__credits *,
	.v-article__body, .v-article__body * { letter-spacing: -0.073em; }
	.v-article__credits { margin-top: calc(28 * var(--u)); }
	.v-article__body {
		margin-top: 1lh;
		text-align: justify;
		hyphens: manual;
	}

	/* Video */
	.v-video .viewer__head { display: flex; justify-content: flex-end; }
	.v-video__media { margin-top: calc(79 * var(--u)); }

	/* Galería */
	.v-gallery .viewer__head { display: flex; justify-content: flex-end; }
	.v-gallery__list { margin-top: calc(79 * var(--u)); }
	.v-gallery__item + .v-gallery__item { margin-top: calc(48 * var(--u)); }
	.v-gallery__item img { width: 100%; height: auto; }
	.v-gallery__item figcaption {
		margin-top: calc(10 * var(--u));
		font-size: var(--fs-small);
		line-height: calc(18 * var(--u));
		text-transform: uppercase;
	}
	.v-empty { font-size: var(--fs-menu); line-height: calc(24 * var(--u)); text-transform: uppercase; }

	.only-m { display: none !important; }
}

/* Al pasar el ratón, los menús y listas toman el mismo aspecto que el elemento
   activo: fondo blanco y letra negra. Solo en dispositivos con ratón, para que
   en pantallas táctiles no se quede «pegado» tras tocar. */
@media (hover: hover) {
	.menu__link:hover,
	.index__item:hover,
	.strip__item:hover,
	.menu__sub a:hover,
	.m-bar:hover,
	a.sq:hover,
	button.sq:hover {
		background: var(--white);
		color: var(--black);
	}
}

/* Video: póster y reproductor (común) */
.video { position: relative; }
.video__poster { display: block; width: 100%; padding: 0; cursor: pointer; }
.video__poster img { width: 100%; height: auto; }
.video__play { position: absolute; left: 0; bottom: 0; }
.video__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; }
.video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ==========================================================================
   MÓVIL Y TABLETA VERTICAL  (< 1024px)
   ========================================================================== */
@media (max-width: 1023.98px) {

	:root {
		--frame: min(100vw, 600px);
		--m: calc(var(--frame) / 1080);
		--line: max(1px, calc(2 * var(--m)));
		--pad: calc(32 * var(--m));
		--msq: calc(127 * var(--m));
	}

	.only-d { display: none !important; }

	body { min-height: 100vh; min-height: 100dvh; }

	.sero {
		max-width: var(--frame);
		margin: 0 auto;
		padding: var(--pad) var(--pad) calc(var(--msq) + 2 * var(--pad));
	}

	/* Qué columna se ve según el estado */
	.sero[data-view="home"] .col--index,
	.sero[data-view="home"] .col--viewer,
	.sero[data-view="section"] .col--index,
	.sero[data-view="section"] .col--viewer { display: none; }
	.sero:not([data-view="home"]):not([data-view="section"]) .col--id,
	.sero:not([data-view="home"]):not([data-view="section"]) .col--index { display: none; }

	.sq {
		width: var(--msq);
		height: var(--msq);
		font-size: calc(59 * var(--m));
	}

	/* ---- Portada móvil (columna izquierda reorganizada) ----------------- */
	.col--id { display: flex; flex-direction: column; }
	.brand { order: 1; display: block; }
	.brand img, .brand svg { width: 100%; height: auto; }
	.m-nums { order: 2; }
	.m-img-a { order: 3; }
	.menu { order: 4; }
	.m-rule { order: 5; }
	.about { order: 6; }
	.m-img-b { order: 7; }
	.m-contact { order: 8; }
	.col--id > .col__foot { display: none; }

	.m-nums {
		display: flex;
		gap: calc(33 * var(--m));
		overflow-x: auto;
		scrollbar-width: none;
		margin-top: calc(50 * var(--m));
	}
	.m-nums::-webkit-scrollbar { display: none; }
	.m-nums .sq { font-size: calc(60 * var(--m)); }

	.m-img-a { margin-top: calc(107 * var(--m)); }
	.m-img-a img { width: 100%; aspect-ratio: 1016 / 730; object-fit: cover; }

	.menu { margin-top: calc(52 * var(--m)); }
	.menu__item--revistas { display: none; }
	.menu__link {
		display: block;
		font-size: calc(68 * var(--m));
		line-height: calc(104 * var(--m));
		padding: 0 calc(18 * var(--m));
		text-transform: uppercase;
	}
	.menu__item + .menu__item { margin-top: calc(6 * var(--m)); }
	.menu__item.is-open > .menu__link { background: var(--white); color: var(--black); }
	.menu__sub {
		display: none;
		margin: calc(25 * var(--m)) 0 calc(45 * var(--m));
		font-size: calc(40 * var(--m));
		line-height: calc(48 * var(--m));
		text-transform: uppercase;
	}
	.menu__item.is-open > .menu__sub { display: block; }
	.menu__sub li { display: inline; }
	.menu__sub li + li::before { content: " - "; white-space: pre; }
	.menu__sub a { padding: 0 calc(6 * var(--m)); margin: 0 calc(-6 * var(--m)); }

	.m-rule {
		display: block;
		height: var(--line);
		background: var(--white);
		border: 0;
		margin: calc(33 * var(--m)) 0 0;
	}

	.about {
		margin-top: calc(57 * var(--m));
		font-size: max(13px, calc(40 * var(--m)));
		line-height: calc(42 / 40);
		text-transform: uppercase;
		text-align: justify;
	}

	.m-img-b { margin-top: calc(38 * var(--m)); }
	.m-img-b img { width: 100%; aspect-ratio: 1016 / 812; object-fit: cover; }

	.m-contact {
		margin-top: calc(80 * var(--m));
		font-size: calc(40 * var(--m));
		line-height: calc(48 * var(--m));
		text-transform: uppercase;
		scroll-margin-top: var(--pad);
	}
	.m-contact .contact__title { margin-bottom: calc(48 * var(--m)); }

	/* ---- Visor móvil --------------------------------------------------- */
	.col--viewer { display: flex; flex-direction: column; }

	.viewer__head {
		position: sticky;
		top: 0;
		z-index: 5;
		background: var(--black);
		margin: calc(-1 * var(--pad)) calc(-1 * var(--pad)) 0;
		padding: var(--pad) var(--pad) calc(20 * var(--m));
	}
	.viewer__head .m-nums { margin-top: 0; }
	.m-bar {
		display: block;
		background: var(--white);
		color: var(--black);
		font-size: calc(68 * var(--m));
		line-height: calc(104 * var(--m));
		padding: 0 calc(18 * var(--m));
		text-transform: uppercase;
	}
	.strip {
		font-size: calc(40 * var(--m));
		line-height: calc(55 * var(--m));
		height: calc(55 * var(--m));
		margin-top: calc(18 * var(--m));
	}
	.m-nums + .strip { margin-top: calc(18 * var(--m)); }
	.strip__item.is-active { padding: 0 calc(6 * var(--m)); margin: 0 calc(-6 * var(--m)); position: relative; z-index: 1; }
	.strip__item.is-active:first-child { margin-left: 0; }
	.ficha { display: none; }

	.v-title {
		font-weight: 950;
		font-size: calc(92.4 * var(--m));
		line-height: calc(86 / 92.4);
		text-transform: uppercase;
		text-align: justify;
		text-align-last: justify;
		overflow-wrap: anywhere;
	}

	.btn {
		width: calc(330 * var(--m));
		height: calc(134 * var(--m));
		font-size: calc(41.3 * var(--m));
	}
	.m-actions {
		display: flex;
		justify-content: center;
		gap: calc(30 * var(--m));
		margin-top: calc(31 * var(--m));
	}

	.viewer__scroll { flex: 1 0 auto; }
	.v-home { display: none; }

	.v-issue .v-title { margin-top: calc(25 * var(--m)); }
	.v-issue__grid { display: flex; flex-direction: column; }
	.v-issue__cover { order: 1; margin-top: calc(10 * var(--m)); align-self: center; width: 68%; }
	.v-issue--special .v-issue__cover { width: 48%; margin-top: calc(26 * var(--m)); }
	.v-issue__cover img { width: 100%; height: auto; }
	.v-issue__grid .m-actions { order: 2; }
	.v-issue__desc {
		order: 3;
		margin-top: calc(65 * var(--m));
		font-size: max(13px, calc(28 * var(--m)));
		line-height: 1.08;
		text-align: justify;
		hyphens: manual;
	}
	.v-issue__desc p + p { margin-top: 1lh; }

	.v-article__image { margin-top: calc(2 * var(--m)); }
	.v-article__image img { width: 100%; height: auto; }
	.v-article .v-title {
		margin-top: calc(4 * var(--m));
		text-align: left;
		text-align-last: auto;
	}
	.v-article__credits,
	.v-article__body {
		font-family: var(--serif);
		font-weight: 700;
		font-size: max(14px, calc(40 * var(--m)));
		line-height: 1;
	}
	.v-article__credits, .v-article__credits *,
	.v-article__body, .v-article__body * { letter-spacing: -0.05em; }
	.v-article__credits { margin-top: calc(43 * var(--m)); }
	.v-article__body { margin-top: 1lh; text-align: justify; hyphens: manual; }

	.v-video .viewer__scroll {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: calc(100dvh - var(--msq) - 2 * var(--pad) - calc(260 * var(--m)));
	}

	.v-gallery__list { margin-top: calc(30 * var(--m)); }
	.v-gallery__item + .v-gallery__item { margin-top: calc(60 * var(--m)); }
	.v-gallery__item img { width: 100%; height: auto; }
	.v-gallery__item figcaption {
		margin-top: calc(14 * var(--m));
		font-size: max(12px, calc(34 * var(--m)));
		text-transform: uppercase;
	}

	.v-empty { margin-top: calc(60 * var(--m)); font-size: calc(40 * var(--m)); text-transform: uppercase; }

	/* Barra inferior fija */
	.m-dock {
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 10;
		display: flex;
		justify-content: space-between;
		max-width: var(--frame);
		margin: 0 auto;
		padding: calc(18 * var(--m)) var(--pad) var(--pad);
		padding-bottom: max(var(--pad), env(safe-area-inset-bottom));
		background: var(--black);
	}
	.m-dock__group { display: flex; gap: calc(33 * var(--m)); }
	.m-dock__group--end { gap: calc(31 * var(--m)); }
}

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

/* --------------------------------------------------------------------------
   Contenido escrito en Gutenberg (artículos, descripciones, páginas)
   -------------------------------------------------------------------------- */
.prose a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
.prose a:hover { text-decoration-thickness: 2px; }
.prose strong, .prose b { font-weight: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
.prose em, .prose i { font-style: italic; }
.prose h2, .prose h3, .prose h4 {
	font-family: var(--mono);
	font-weight: 950;
	text-transform: uppercase;
	line-height: 1;
	margin: 1.5lh 0 0;
}
.prose h2, .prose h2 * , .prose h3, .prose h3 *, .prose h4, .prose h4 * { letter-spacing: -0.02em; }
.prose h2 { font-size: 1.15em; }
.prose h3, .prose h4 { font-size: 1em; }
.prose h2 + *, .prose h3 + *, .prose h4 + * { margin-top: 0.5lh; }
.prose ul, .prose ol { margin: 1lh 0 0; padding-left: 1.4em; }
.prose ul { list-style: square; }
.prose ol { list-style: decimal; }
.prose li + li { margin-top: 0.25lh; }
.prose blockquote, .prose .wp-block-quote, .prose .wp-block-pullquote {
	margin: 1lh 0 0;
	padding: 0 0 0 1em;
	border-left: var(--line) solid var(--white);
}
.prose .wp-block-pullquote { border: 0; padding: 0; text-align: left; }
.prose .wp-block-pullquote blockquote { margin: 0; }
.prose blockquote cite, .prose .wp-block-quote cite, .prose figcaption, .prose .wp-element-caption {
	display: block;
	margin-top: 0.4lh;
	font-family: var(--mono);
	font-size: 0.6em;
	line-height: 1.2;
	text-transform: uppercase;
	font-style: normal;
}
.prose figure, .prose .wp-block-image, .prose .wp-block-gallery, .prose .wp-block-embed, .prose .wp-block-table, .prose .wp-block-video, .prose .wp-block-audio { margin: 1lh 0 0; }
.prose img, .prose video { max-width: 100%; height: auto; }
.prose .wp-block-image img { width: 100%; }
.prose .wp-block-image.alignleft, .prose .alignleft, .prose .wp-block-image.alignright, .prose .alignright { float: none; margin-left: 0; margin-right: 0; }
.prose .wp-block-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5em; }
.prose .wp-block-gallery figure { margin: 0; }
.prose .wp-block-embed__wrapper { position: relative; }
.prose .wp-block-embed__wrapper iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.prose hr, .prose .wp-block-separator { border: 0; height: var(--line); background: var(--white); margin: 1lh 0 0; }
.prose table { width: 100%; border-collapse: collapse; font-size: 0.8em; }
.prose th, .prose td { border: 1px solid var(--white); padding: 0.3em 0.5em; text-align: left; vertical-align: top; }
.prose pre { white-space: pre-wrap; font-family: var(--mono); font-size: 0.7em; }
.prose sup { font-size: 0.6em; line-height: 0; }
.prose .wp-block-footnotes {
	margin: 1.5lh 0 0;
	padding: 1lh 0 0 1.4em;
	border-top: var(--line) solid var(--white);
	font-size: 0.7em;
	list-style: decimal;
}
.prose .wp-block-footnotes li + li { margin-top: 0.3lh; }

/* Barra de administración de WordPress (solo con sesión iniciada) */
@media (min-width: 1024px) {
	body.admin-bar .sero { height: calc(100vh - 32px); height: calc(100dvh - 32px); }
}
@media (min-width: 601px) and (max-width: 782px) {
	body.admin-bar .viewer__head { top: 46px; }
}
@media (min-width: 783px) and (max-width: 1023.98px) {
	body.admin-bar .viewer__head { top: 32px; }
}

/* Mientras carga una vista */
html.is-loading, html.is-loading a { cursor: progress; }
html.is-loading #sero { transition: opacity .2s .25s; opacity: .7; }
