/*
 * Mezon Central 0.4.4
 *
 * Built to the brand book's reference screens (04_REFERENCES: homepage at
 * 1440 and 390 px, article at 1440 px). Sizes, weights, letter spacing,
 * colours and positions were measured on those screens; docs/08 lists the
 * few places where an accessibility or language rule from the handoff wins.
 *
 * Breakpoints: phone below 768 px, tablet 768 to 1099 px, desktop from 1100 px.
 * The desktop container is 1310 px wide, with 65 px margins at 1440.
 */

/* Tokens ----------------------------------------------------------------- */

:root {
	--mz-ink: #0B2A3A;
	--mz-mid: #0E6A8D;
	--mz-sky: #A9CBE0;
	--mz-signal: #C6622D;
	--mz-paper: #F2F1ED;
	--mz-white: #FFFFFF;
	/* Measured on the reference screens. */
	--mz-muted: #556973;          /* ink at 68 % on paper, 5.1:1 */
	--mz-hair: #D2D5D4;           /* ink at 14 % on paper */
	--mz-rule: #C4C9C9;           /* ink at 20 % on paper */
	--mz-rule-header: #BFC5C6;    /* ink at 22 % on paper */
	--mz-signal-light: #F19A70;   /* topic labels and underline on dark photos */
	--mz-signal-text: #A15730;    /* signal for small text on paper, 4.7:1 (BRD-03) */
	--mz-signal-label: #FFC09C;   /* topic labels on card photos, 4.5:1 or more (BRD-03) */
	--mz-pulse-label: #E3B59D;
	--mz-pulse-rule: #DDE1E3;     /* phone Pulse card border and hairline */
	--mz-golos: "Golos Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--mz-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	--mz-gutter: 20px;
	--mz-focus: 2px solid var(--mz-mid);
	--mz-foot-bg: #E6EDF1;        /* logo sky #8EAFC0 at 22 % on white (0.4.11) */
	--mz-foot-muted: #3E677D;     /* logo slate, darkened: 5.2:1 on the tint */
	--mz-foot-rule: #C7D6DF;
}

@media (min-width: 768px) {
	:root {
		--mz-gutter: 40px;
	}
}

@media (min-width: 1100px) {
	:root {
		--mz-gutter: 64px;
	}
}

/* Base ------------------------------------------------------------------- */

html {
	background: var(--mz-paper);
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--mz-paper);
	color: var(--mz-ink);
	font-family: var(--mz-golos);
	font-size: 17px;
	line-height: 28px;
	font-weight: 400;
	/* "anywhere" also lowers min-content width, so an unbroken long word
	   cannot widen a grid or flex column past the viewport. */
	overflow-wrap: anywhere;
}

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

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

/* Short pages (a topic with one story, the 404) keep the footer and the demo
   label at the bottom of the window. */
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body.admin-bar {
	min-height: calc(100vh - 32px);
}

.wp-site-blocks {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
}

.wp-site-blocks > main {
	flex: 1 0 auto;
}

@media (max-width: 782px) {
	body.admin-bar {
		min-height: calc(100vh - 46px);
	}
}

a {
	color: var(--mz-mid);
}

a:hover {
	color: var(--mz-ink);
}

:focus-visible {
	outline: var(--mz-focus);
	outline-offset: 2px;
}

/* Theme layouts set their own spacing. Core's block gap (28px, the paragraph
   spacing of story text) is applied again inside story bodies below. */
.wp-site-blocks > * + *,
.is-layout-flow > *,
.is-layout-constrained > * {
	margin-block-start: 0;
}

.mz-main :where(h1, h2, h3, h4, p, ul, ol, figure) {
	margin: 0;
}

.mz-container {
	width: min(1310px, 100% - 2 * var(--mz-gutter));
	margin-inline: auto;
}

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

.mz-skip-link {
	position: absolute;
	top: -100px;
	left: 16px;
	z-index: 100;
	padding: 10px 16px;
	background: var(--mz-ink);
	color: var(--mz-white);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
}

.mz-skip-link:focus {
	top: 12px;
	color: var(--mz-white);
	outline: 2px solid var(--mz-ink);
}

/* Thin arrow (mezon_arrow()), centred on the x-height like the reference. */
.mz-arrow {
	display: inline-block;
	width: 14px;
	height: 6.2px;
	vertical-align: middle;
	fill: currentColor;
}

/* Shared: counters and kickers ------------------------------------------- */

.mz-count {
	font-family: var(--mz-mono);
	font-weight: 700;
	white-space: nowrap;
	color: rgba(255, 255, 255, 0.8);
}

.mz-count__sep {
	margin: 0 4.5px;
	color: var(--mz-signal);
}

.mz-kicker {
	font-weight: 600;
	text-transform: uppercase;
	color: var(--mz-signal-text);
}

.mz-kicker a {
	color: inherit;
	text-decoration: none;
}

.mz-kicker a:hover {
	text-decoration: underline;
}

/* Header ----------------------------------------------------------------- */

.mz-header {
	border-bottom: 1px solid var(--mz-rule-header);
	background: var(--mz-paper);
}

.mz-header__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	height: 87px;
}

.mz-header__id {
	display: flex;
	align-items: flex-start;
}

.mz-brand {
	display: flex;
	align-items: flex-start;
	color: var(--mz-ink);
	text-decoration: none;
}

.mz-brand:hover {
	color: var(--mz-ink);
}

.mz-brand__logo {
	display: block;
	width: auto;
	height: 35px;
	margin-top: 26px;
	/* The logo file sits on white; multiplying keeps the page colour around the mark. */
	mix-blend-mode: multiply;
}

.mz-brand__name {
	display: flex;
	flex-direction: column;
	margin: 28.8px 0 0 11px;
}

.mz-brand__mezon {
	font-size: 16.75px;
	line-height: 17px;
	font-weight: 800;
	letter-spacing: 0.15em;
}

.mz-brand__region {
	margin-top: 3px;
	font-size: 8.75px;
	line-height: 10px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: var(--mz-muted);
}

.mz-tagline {
	display: flex;
	flex-direction: column;
	height: 38px;
	margin: 25px 0 0 28px;
	padding: 3.2px 0 0 28.5px;
	border-left: 1px solid var(--mz-hair);
}

.mz-tagline__title {
	font-size: 13px;
	line-height: 16px;
	font-weight: 600;
	letter-spacing: 0.005em;
}

.mz-tagline__sub {
	margin-top: 2.7px;
	font-size: 10.5px;
	line-height: 13px;
	letter-spacing: 0.025em;
	color: var(--mz-muted);
}

.mz-nav {
	margin-top: 36.6px;
}

.mz-nav__list {
	display: flex;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mz-nav a {
	display: block;
	font-size: 12.75px;
	line-height: 16px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--mz-muted);
	text-decoration: none;
}

.mz-nav a:hover,
.mz-nav .is-current a {
	color: var(--mz-ink);
}

.mz-header__tools {
	display: flex;
	align-items: flex-start;
	padding-top: 24px;
}

.mz-pulsebtn {
	display: flex;
	align-items: center;
	height: 39px;
	padding: 0 19px 0 18.4px;
	border-radius: 999px;
	background: var(--mz-ink);
	color: var(--mz-white);
	font-size: 11.75px;
	line-height: 39px;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none;
	white-space: nowrap;
}

.mz-pulsebtn:hover,
.mz-pulsebtn:focus-visible {
	background: var(--mz-mid);
	color: var(--mz-white);
}

.mz-pulsebtn__icon {
	flex: none;
	margin-left: 10.5px;
	fill: currentColor;
}

.mz-lang__list {
	display: flex;
	gap: 4.5px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mz-lang__item {
	flex: none;
}

.mz-lang a {
	display: block;
	color: var(--mz-muted);
	text-decoration: none;
	white-space: nowrap;
	font-size: 12.5px;
	line-height: 16px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.mz-lang a:hover {
	color: var(--mz-ink);
}

.mz-lang .is-current a {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.065em;
}

.mz-lang .is-unavailable a {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.mz-header__tools > .mz-lang {
	display: flex;
	justify-content: flex-end;
	width: 65.9px;
	margin: 12px 0 0 23.1px;
}

/* 2 px wider gaps than on the screen put the centres of the three codes at least
   24 px apart, the WCAG 2.2 minimum spacing for targets narrower than 24 px. The
   codes keep the screen's right edge and spread to the left. */
.mz-header__tools > .mz-lang .mz-lang__list {
	gap: 6.5px;
}

.mz-search-link,
.mz-menu {
	display: none;
}

.mz-header__phone {
	display: none;
}

/* Phone menu (details disclosure) */

.mz-menu summary {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	cursor: pointer;
	list-style: none;
	color: var(--mz-muted);
}

.mz-menu summary::-webkit-details-marker {
	display: none;
}

.mz-menu .mz-icon {
	fill: currentColor;
}

.mz-menu .mz-icon--close {
	width: 20px;
	height: 20px;
}

.mz-menu__open {
	display: flex;
}

.mz-menu__close,
.mz-menu[open] .mz-menu__open {
	display: none;
}

.mz-menu[open] .mz-menu__close {
	display: flex;
}

.mz-menu__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.mz-menu__panel {
	position: absolute;
	top: 72px;
	right: 0;
	left: 0;
	z-index: 50;
	/* The panel scrolls on its own when the window is short (landscape
	   phones); dvh follows the mobile browser bar, and the admin bar's height
	   is taken off when it shows. */
	max-height: calc(100vh - 72px - var(--wp-admin--admin-bar--height, 0px));
	max-height: calc(100dvh - 72px - var(--wp-admin--admin-bar--height, 0px));
	overflow: auto;
	overscroll-behavior: contain;
	padding: 20px 20px 28px;
	background: var(--mz-paper);
	border-top: 1px solid var(--mz-hair);
	border-bottom: 1px solid var(--mz-rule);
	box-shadow: 0 12px 24px rgba(11, 42, 58, 0.12);
}

.mz-menu__heading {
	margin: 24px 0 8px;
	font-size: 11.25px;
	line-height: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mz-muted);
}

/* The language versions open the panel (0.4.3), then search and sections. */
.mz-menu__panel > .mz-menu__heading:first-child {
	margin-top: 0;
}

.mz-menu__langs + .mz-search {
	margin-top: 24px;
}

.mz-menu .mz-sections__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mz-menu .mz-sections__item a,
.mz-menu__about a {
	display: block;
	padding: 8px 0;
	font-size: 17px;
	line-height: 24px;
	font-weight: 600;
	color: var(--mz-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--mz-hair);
}

.mz-menu__about {
	margin: 0;
}

.mz-menu .mz-lang--full .mz-lang__list {
	flex-wrap: wrap;
	gap: 8px;
}

.mz-menu .mz-lang--full a {
	padding: 8px 14px;
	border: 1px solid var(--mz-rule);
	border-radius: 999px;
	font-size: 15px;
	line-height: 20px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--mz-ink);
}

.mz-menu .mz-lang--full .is-current a {
	background: var(--mz-ink);
	border-color: var(--mz-ink);
	color: var(--mz-white);
}

/* Search form */

.mz-search__label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 20px;
	font-weight: 600;
}

.mz-search__row {
	display: flex;
	gap: 8px;
}

.mz-search__input {
	flex: 1;
	min-width: 0;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--mz-muted);
	border-radius: 4px;
	background: var(--mz-white);
	color: var(--mz-ink);
	font: inherit;
	font-size: 16px;
}

.mz-search__submit {
	height: 44px;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	background: var(--mz-ink);
	color: var(--mz-white);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.mz-search__submit:hover {
	background: var(--mz-mid);
}

/* Article top bar --------------------------------------------------------- */

.mz-topbar {
	border-bottom: 1px solid var(--mz-hair);
	background: var(--mz-paper);
}

.mz-topbar__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	height: 60px;
}

.mz-topbar__back {
	margin-top: 22.5px;
	font-size: 11.75px;
	line-height: 16px;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--mz-muted);
	text-decoration: none;
}

.mz-topbar__back .mz-arrow {
	width: 13px;
	height: 5.7px;
	margin-right: 1.5px;
}

.mz-topbar__back:hover {
	color: var(--mz-ink);
}

.mz-topbar__slogan {
	margin: 23px 0 0;
	font-size: 12.5px;
	line-height: 16px;
	font-weight: 600;
	font-style: italic;
	letter-spacing: -0.02em;
	color: var(--mz-muted);
}

/* Homepage edition -------------------------------------------------------- */

/* Lead, story 01 */

.mz-hero {
	position: relative;
	/* The text sits in the flow at the foot of the box, so a long headline
	   makes the box taller instead of running up under the counter and being
	   cut off. The top padding keeps the counter's row clear. */
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 620px;
	padding-top: 110px;
	box-sizing: border-box;
	overflow: hidden;
	background: #061C28;
	color: var(--mz-white);
}

.mz-hero__media,
.mz-hero__media::after {
	position: absolute;
	inset: 0;
}

.mz-hero__media::after {
	content: "";
	/* Fitted to the reference: the photo fades into Ink on the left. */
	background: linear-gradient(90deg, rgba(6, 28, 40, 0.98) 0%, rgba(6, 28, 40, 0.823) 39%, rgba(6, 28, 40, 0) 80.4%, rgba(6, 28, 40, 0) 100%);
}

.mz-hero__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.mz-hero__count {
	position: absolute;
	top: 70.6px;
	left: 64px;
	font-size: 12.5px;
	line-height: 14px;
	letter-spacing: 0.1em;
}

.mz-hero__text {
	position: relative;
	margin: 0 65px 68px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.mz-hero__kicker {
	font-size: 10.25px;
	line-height: 13px;
	letter-spacing: 0.12em;
	color: var(--mz-signal-light);
}

.mz-hero__title {
	max-width: 600px;
	margin-top: 16.7px;
	font-size: 60.75px;
	line-height: 58px;
	font-weight: 700;
	letter-spacing: -0.0475em;
	color: var(--mz-white);
}

.mz-hero__title a {
	color: inherit;
	text-decoration: none;
}

.mz-hero__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}

/* Focus rings on dark photos and dark headers are white (Mid is 2.9:1 there). */
.mz-hero__title a:focus-visible,
.mz-hero__link:focus-visible,
.mz-card__link:focus-visible,
.mz-pulse__opt:focus-visible,
.mz-head a:focus-visible {
	outline: 2px solid var(--mz-white);
	outline-offset: 3px;
}

.mz-hero__stand {
	max-width: 540px;
	margin-top: 21px;
	font-size: 17px;
	line-height: 26px;
	color: rgba(255, 255, 255, 0.82);
}

.mz-hero__link {
	margin-top: 35px;
	padding-bottom: 8.5px;
	border-bottom: 2px solid var(--mz-signal-light);
	font-size: 14px;
	line-height: 18px;
	font-weight: 600;
	color: var(--mz-white);
	text-decoration: none;
	white-space: nowrap;
}

.mz-hero__link:hover {
	color: var(--mz-white);
}

.mz-hero__link .mz-arrow {
	margin-left: 16.9px;
}

.mz-hero.is-text-only {
	min-height: 420px;
}

/* In focus */

.mz-focus {
	display: grid;
	grid-template-columns: 135px 1fr auto;
	align-items: center;
	min-height: 55px;
	border-bottom: 1px solid var(--mz-rule);
}

.mz-focus__label {
	position: relative;
	top: 1px;
	font-size: 9px;
	line-height: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mz-signal-text);
}

.mz-focus__text {
	font-size: 14px;
	line-height: 20px;
	color: var(--mz-muted);
}

.mz-focus__date {
	position: relative;
	top: 2px;
	font-family: var(--mz-mono);
	font-size: 10px;
	line-height: 14px;
	color: var(--mz-muted);
}

/* Cards, stories 02 to 05 */

.mz-cards {
	margin-top: 30px;
}

.mz-cards__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mz-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	/* Grows with a long headline; the top padding keeps the counter clear. */
	min-height: 447px;
	padding-top: 56px;
	box-sizing: border-box;
	overflow: hidden;
	background: #061620;
	color: var(--mz-white);
}

.mz-card::before {
	content: "";
	position: absolute;
	top: 16px;
	left: 0;
	z-index: 2;
	width: 132px;
	height: 2px;
	background: var(--mz-signal);
}

.mz-card__media {
	position: absolute;
	inset: 0;
}

/* The scrim hangs from the top of the text block instead of the card. With the
   screen's two-line headlines the text block starts 298 px down the 447 px card, and
   these stops give the screen's gradient exactly (clear to 35%, 0.44 at 60%, 0.64 at
   80%, 0.74 at the foot). A longer headline lifts the dark part with the text, so
   the topic label never moves into the clear part of the photo. */
.mz-card__body::before {
	content: "";
	position: absolute;
	top: -400px;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 258.45px, rgba(0, 0, 0, 0.44) 370.2px, rgba(0, 0, 0, 0.64) 459.6px, rgba(0, 0, 0, 0.74) 100%);
	pointer-events: none;
}

.mz-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.mz-card__count {
	position: absolute;
	top: 23.9px;
	left: 22px;
	z-index: 2;
	font-size: 13.25px;
	line-height: 16px;
	letter-spacing: 0.07em;
}

.mz-card__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0 22px 22px;
}

.mz-card__kicker {
	font-size: 11px;
	line-height: 13px;
	letter-spacing: 0.14em;
	/* The screens' #F19A70 measures 3.5 to 4.1:1 against the lightest part of the card
	   photos behind it; this lighter tint of the signal colour reaches 4.5:1. */
	color: var(--mz-signal-label);
}

.mz-card__title {
	margin-top: 10px;
	font-size: 23.75px;
	line-height: 25px;
	font-weight: 700;
	letter-spacing: -0.025em;
}

.mz-card__link {
	color: var(--mz-white);
	text-decoration: none;
}

.mz-card__link::after {
	content: "";
	position: absolute;
	inset: -1000px -22px -22px;
	z-index: 1;
}

.mz-card__link:hover {
	color: var(--mz-white);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.mz-card__btn {
	height: 35px;
	margin-top: 19px;
	padding: 0 13.7px 0 12.5px;
	border: 1px solid rgba(255, 255, 255, 0.65);
	border-radius: 999px;
	font-size: 11.75px;
	line-height: 33px;
	font-weight: 500;
	letter-spacing: 0.015em;
	white-space: nowrap;
}

.mz-card__btn .mz-arrow {
	width: 12.6px;
	height: 5.5px;
	margin-left: 17.7px;
}

.mz-card.is-text-only {
	background: var(--mz-ink);
}

.mz-br {
	display: none;
}

@media (min-width: 1100px) {
	.mz-br {
		display: inline;
	}
}

/* Pulse band */

.mz-pulse {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 635fr) minmax(360px, 465fr) 210px;
	min-height: 330px;
	margin-top: 70px;
	background: var(--mz-ink);
	color: var(--mz-white);
}

.mz-pulse__media {
	position: relative;
	overflow: hidden;
}

.mz-pulse__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(11, 42, 58, 0) 0%, rgba(11, 42, 58, 0) 50%, rgba(11, 42, 58, 1) 100%);
	pointer-events: none;
}

.mz-pulse__media picture {
	display: contents;
}

.mz-pulse__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mz-pulse__play {
	position: absolute;
	left: 26px;
	bottom: 24px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	/* Places the triangle as on the screen, a little left of and above the centre. */
	padding: 0 3px 1px 0;
	border: 2px solid var(--mz-white);
	border-radius: 50%;
	background: var(--mz-signal);
	color: var(--mz-white);
}

.mz-pulse__play .mz-icon {
	width: 23px;
	height: 23px;
	fill: currentColor;
}

.mz-pulse__play:disabled {
	cursor: default;
}

.mz-pulse__text {
	padding: 41px 0 24px 38px;
}

.mz-pulse__label {
	font-size: 11.75px;
	line-height: 14px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mz-pulse-label);
}

.mz-pulse__title {
	max-width: 380px;
	margin-top: 12px;
	font-size: 43.25px;
	line-height: 42px;
	font-weight: 600;
	letter-spacing: -0.04em;
	color: var(--mz-white);
}

.mz-pulse__sub {
	margin-top: 7px;
	font-size: 18.25px;
	line-height: 24px;
	font-weight: 600;
	letter-spacing: -0.0025em;
}

.mz-pulse__desc {
	max-width: 385px;
	margin-top: 16px;
	font-size: 14.5px;
	line-height: 24px;
	letter-spacing: 0.0175em;
	color: rgba(255, 255, 255, 0.72);
}

.mz-pulse__every {
	margin-top: 11px;
	font-size: 13px;
	line-height: 20px;
	letter-spacing: 0.015em;
	color: rgba(255, 255, 255, 0.72);
}

.mz-pulse__opts {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin: 0;
	padding: 93px 0 0 25px;
	list-style: none;
	border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.mz-pulse__opt {
	display: grid;
	grid-template-columns: 30px auto;
	grid-template-rows: auto auto;
	column-gap: 14px;
	align-items: center;
	padding: 0;
	border: 0;
	background: none;
	color: rgba(255, 255, 255, 0.45);
	font: inherit;
	text-align: left;
	text-decoration: none;
}

.mz-pulse__icon {
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	font-size: 11.5px;
	font-weight: 900;
	letter-spacing: -0.02em;
}

.mz-pulse__icon .mz-icon--arrow-open {
	display: none;
}

.mz-pulse__icon .mz-icon {
	width: 12px;
	height: 12px;
	fill: currentColor;
}

/* Icon sizes and offsets measured on the desktop screen. */
@media (min-width: 768px) {
	.mz-pulse__icon .mz-icon--play {
		width: 16px;
		height: 16px;
		transform: translate(-0.5px, -0.5px);
	}

	.mz-pulse__icon .mz-icon--listen {
		width: 14.5px;
		height: 14.5px;
		transform: translateY(-0.5px);
	}
}

.mz-pulse__optname {
	font-size: 13.5px;
	line-height: 17px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.mz-pulse__optnote {
	font-size: 11.75px;
	line-height: 15px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.27);
}

.mz-pulse__opt.is-active {
	color: var(--mz-white);
}

.mz-pulse__opt.is-active .mz-pulse__optname {
	font-size: 14px;
	letter-spacing: 0;
}

.mz-pulse__opt.is-active .mz-pulse__icon {
	border-color: rgba(255, 255, 255, 0.65);
}

.mz-pulse__opt.is-active .mz-pulse__optnote {
	color: rgba(255, 255, 255, 0.6);
}

.mz-pulse__opt.is-active:hover .mz-pulse__optname {
	text-decoration: underline;
}

.mz-pulse__opt:disabled {
	cursor: default;
}

/* Below the edition: latest, topics and sections (R0 scope, PRO-01) ------- */

.mz-more {
	margin-top: 72px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 56px;
}

.mz-label {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--mz-ink);
}

.mz-label__text {
	font-size: 11.75px;
	line-height: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mz-ink);
}

.mz-label__text a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: inherit;
	text-decoration: none;
}

.mz-label__text a:hover {
	color: var(--mz-mid);
}

.mz-label .mz-icon,
.mz-label__more .mz-icon {
	width: 14px;
	height: 14px;
	fill: currentColor;
}

.mz-label__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	line-height: 16px;
	font-weight: 600;
	color: var(--mz-mid);
	text-decoration: none;
}

.mz-feed {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mz-feed > li {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 12px;
	align-content: start;
	padding: 16px 0;
	border-bottom: 1px solid var(--mz-hair);
}

.mz-feed .mz-meta {
	grid-row: 1 / span 2;
	padding-top: 2px;
	font-family: var(--mz-mono);
	font-size: 12px;
	line-height: 18px;
	color: var(--mz-muted);
}

.mz-feed .mz-kicker {
	font-size: 10.5px;
	line-height: 14px;
	letter-spacing: 0.12em;
}

.mz-feed__title {
	margin-top: 4px;
	font-size: 17px;
	line-height: 23px;
	font-weight: 600;
	letter-spacing: -0.005em;
}

.mz-feed__title a,
.mz-module__title a,
.mz-list__title a {
	color: var(--mz-ink);
	text-decoration: none;
}

.mz-feed__title a:hover,
.mz-module__title a:hover,
.mz-list__title a:hover {
	color: var(--mz-mid);
	text-decoration: underline;
}

.mz-topics {
	scroll-margin-top: 24px;
}

.mz-topics__title {
	padding-bottom: 12px;
	border-bottom: 2px solid var(--mz-ink);
	font-size: 11.75px;
	line-height: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mz-topics__label {
	margin-top: 20px;
	font-size: 11.25px;
	line-height: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mz-muted);
}

.mz-topics__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.mz-chip {
	display: inline-block;
	padding: 7px 14px;
	border: 1px solid var(--mz-rule);
	border-radius: 999px;
	font-size: 14px;
	line-height: 18px;
	font-weight: 600;
	color: var(--mz-ink);
	text-decoration: none;
}

.mz-chip:hover {
	border-color: var(--mz-ink);
	color: var(--mz-ink);
}

.mz-chip--topic {
	font-weight: 500;
	color: var(--mz-muted);
}

.mz-modules {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px 40px;
}

.mz-module__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mz-module__list > li {
	padding: 16px 0;
	border-bottom: 1px solid var(--mz-hair);
}

.mz-module .mz-kicker {
	font-size: 10.5px;
	line-height: 14px;
	letter-spacing: 0.12em;
}

.mz-module__title {
	margin-top: 4px;
	font-size: 18px;
	line-height: 24px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.mz-meta {
	margin-top: 6px;
	font-size: 13px;
	line-height: 18px;
	color: var(--mz-muted);
}

.mz-meta__sep::before {
	content: "·";
	margin: 0 0.35em;
}

.mz-meta__name {
	white-space: nowrap;
}

/* Article ----------------------------------------------------------------- */

.mz-head {
	position: relative;
	background:
		linear-gradient(180deg, rgba(5, 26, 37, 0) 42%, rgba(5, 26, 37, 0.7) 100%),
		linear-gradient(90deg, #051A25 0%, #061E2A 43.75%, #0A2737 76%, #0A2737 100%);
	color: var(--mz-white);
}

.mz-head__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 640px;
	padding: 107.6px 0 41px;
}

.mz-head .mz-kicker {
	display: flex;
	align-items: center;
	gap: 7.5px;
	font-size: 12px;
	line-height: 15px;
	letter-spacing: 0.06em;
	color: #F2A078;
}

.mz-head .mz-kicker::before {
	content: "";
	flex: none;
	width: 7px;
	height: 7px;
	transform: translateY(1px);
	border-radius: 50%;
	background: currentColor;
}

.mz-head__title {
	width: 546px;
	max-width: 100%;
	margin-top: 20px;
	/* --mz-head-size: smaller for a headline with a very long word
	   (mezon_head_title_size), so the word fits on one line. */
	font-size: var(--mz-head-size, 78.75px);
	line-height: calc(var(--mz-head-size, 78.75px) * 0.965);
	font-weight: 700;
	letter-spacing: -0.0525em;
	color: var(--mz-white);
}

.mz-standfirst--article {
	max-width: 600px;
	margin-top: 21.7px;
	font-size: 19px;
	line-height: 29px;
	color: rgba(255, 255, 255, 0.8);
}

.mz-head .mz-meta--article {
	width: 630px;
	max-width: 100%;
	margin-top: 51.2px;
	padding-bottom: 3px;
	border-bottom: 2px solid var(--mz-signal);
	font-size: 13.25px;
	line-height: 17px;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: rgba(255, 255, 255, 0.5);
}

.mz-head .mz-meta__byline {
	margin-right: 6.5px;
	font-size: 12.75px;
	font-weight: 700;
	letter-spacing: 0.015em;
	color: var(--mz-white);
}

.mz-head .mz-meta--article .mz-meta__sep {
	display: none;
}

.mz-figure--caption {
	position: absolute;
	right: -41px;
	bottom: 18px;
	max-width: 380px;
	font-size: 10px;
	line-height: 15px;
	text-align: right;
	color: rgba(255, 255, 255, 0.78);
}

.mz-article__grid {
	display: grid;
	/* At 1440 this is the screen's 75 / 680 / 150 / rest. Between 1100 and
	   about 1240 px the two spacer tracks give way first, so the sidebar keeps
	   220 px instead of shrinking to a 65 px column that broke its words. */
	grid-template-columns: minmax(0, 75px) 680px minmax(32px, 150px) minmax(220px, 1fr);
	padding-bottom: 24px;
}

.mz-article__main {
	grid-column: 2;
	padding-top: 107.6px;
}

.mz-aside {
	grid-column: 4;
	overflow-wrap: anywhere;
	align-self: start;
	margin-top: 64px;
	padding: 4px 0 64px 34px;
	border-left: 1px solid var(--mz-hair);
	min-height: 818px;
}

/* Article body typography */

.mz-article__body > * + * {
	margin-top: 26px;
}

.mz-article__body p {
	font-size: 17px;
	line-height: 28.9px;
}

.mz-article__body h2 {
	margin-top: 44px;
	font-size: 25.75px;
	line-height: 32px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.mz-article__body > h2:first-child {
	margin-top: 0;
}

.mz-article__body h2 + * {
	margin-top: 20.5px;
}

.mz-article__body h3 {
	margin-top: 40px;
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
	letter-spacing: -0.005em;
}

.mz-article__body h3 + * {
	margin-top: 12px;
}

.mz-article__body :where(ul, ol) {
	padding-left: 24px;
}

.mz-article__body li + li {
	margin-top: 8px;
}

.mz-article__body a {
	color: var(--mz-mid);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.mz-article__body a:hover {
	color: var(--mz-ink);
}

.mz-article__body blockquote,
.mz-article__body .wp-block-quote {
	margin: 40px 0;
	padding: 0 0 0 24px;
	border-left: 3px solid var(--mz-signal);
}

/* Brand specifications: quote, Golos Text 600 italic, 22px / 1.4. Golos Text has no italic
   face, so the browser slants the upright one, as on the production site the spec comes from. */
.mz-article__body .wp-block-quote p {
	font-size: 22px;
	line-height: 1.4;
	font-weight: 600;
	font-style: italic;
}

.mz-article__body .wp-block-quote cite {
	display: block;
	margin-top: 12px;
	font-size: 14px;
	line-height: 20px;
	font-style: normal;
	color: var(--mz-muted);
}

.mz-article__body em,
.mz-article__body i {
	font-style: italic;
}

.mz-article__body figure img {
	display: block;
	width: 100%;
}

.mz-article__body figcaption,
.mz-article__body .wp-element-caption {
	margin-top: 8px;
	font-size: 13px;
	line-height: 20px;
	color: var(--mz-muted);
}

.mz-article__body .wp-block-table {
	overflow-x: auto;
}

.mz-article__body table {
	width: 100%;
	border-collapse: collapse;
	/* Cells keep their words whole; the block scrolls sideways instead. */
	overflow-wrap: normal;
	font-size: 15px;
	line-height: 22px;
}

.mz-article__body th,
.mz-article__body td {
	padding: 10px 12px 10px 0;
	border-bottom: 1px solid var(--mz-hair);
	text-align: left;
	vertical-align: top;
}

.mz-article__body th {
	font-weight: 600;
	border-bottom-color: var(--mz-ink);
}

.mz-article__body td.has-text-align-right,
.mz-article__body th.has-text-align-right {
	text-align: right;
	font-family: var(--mz-mono);
	font-size: 14px;
}

.mz-article__body .is-style-factbox {
	padding: 24px 28px;
	background: var(--mz-white);
	border-top: 3px solid var(--mz-ink);
}

.mz-article__body .is-style-factbox > * + * {
	margin-top: 12px;
}

.mz-article__body .is-style-factbox h2,
.mz-article__body .is-style-factbox h3 {
	margin-top: 0;
	font-size: 11.75px;
	line-height: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mz-article__body .is-style-factbox p,
.mz-article__body .is-style-factbox li {
	font-size: 15px;
	line-height: 24px;
}

.mz-article__body .is-style-correction {
	padding: 16px 20px;
	border-left: 3px solid var(--mz-mid);
	background: rgba(14, 106, 141, 0.06);
}

.mz-article__body .is-style-correction p {
	font-size: 15px;
	line-height: 24px;
}

.mz-article__body .is-style-sources {
	padding-left: 0;
	list-style: none;
	font-size: 14px;
	line-height: 22px;
}

.mz-article__body .is-style-sources li {
	padding-left: 16px;
	position: relative;
}

.mz-article__body .is-style-sources li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 6px;
	background: var(--mz-signal);
}

/* Author box and signature */

.mz-authors {
	margin-top: 56.9px;
	padding-top: 40px;
	border-top: 1px solid var(--mz-hair);
}

.mz-author + .mz-author {
	margin-top: 24px;
}

.mz-author__name {
	font-size: 16px;
	line-height: 20px;
	font-weight: 700;
	letter-spacing: -0.0025em;
}

.mz-author__bio {
	margin-top: 4.7px;
	font-size: 13px;
	line-height: 20px;
	color: var(--mz-muted);
}

.mz-author__more {
	margin-top: 10.6px;
	font-size: 13.25px;
	line-height: 20px;
	font-weight: 700;
	letter-spacing: -0.015em;
}

.mz-author__more a {
	color: var(--mz-mid);
	text-decoration: none;
}

.mz-author__more .mz-arrow {
	margin-left: 4px;
}

.mz-author__more a:hover {
	color: var(--mz-ink);
	text-decoration: underline;
}

.mz-signature {
	width: 680px;
	max-width: none;
	margin: 47px 0 0 40px;
	padding-top: 19.7px;
	border-top: 1px solid var(--mz-hair);
	/* Words, not data: Golos Text (JetBrains Mono is for figures only). */
	font-size: 10.75px;
	line-height: 14px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mz-muted);
}

/* Sidebar */

.mz-aside__group + .mz-aside__group {
	margin-top: 35px;
}

.mz-aside__label {
	font-size: 11.25px;
	line-height: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mz-muted);
}

.mz-aside__topic {
	margin-top: 14.5px;
	font-size: 14px;
	line-height: 18px;
	font-weight: 600;
}

.mz-aside__topic a {
	color: var(--mz-ink);
	text-decoration: none;
}

.mz-aside__topic a:hover {
	text-decoration: underline;
}

.mz-aside__share {
	display: flex;
	gap: 12px;
	margin: 15px 0 0;
	padding: 0;
	list-style: none;
}

.mz-aside__circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid var(--mz-hair);
	border-radius: 50%;
	font-size: 11px;
	line-height: 1;
	font-weight: 700;
	color: var(--mz-ink);
	text-decoration: none;
}

.mz-aside__circle:hover {
	border-color: var(--mz-ink);
	color: var(--mz-ink);
}

.mz-aside__circle .mz-icon {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.mz-share.is-copied .mz-share__copy {
	border-color: var(--mz-ink);
}

.mz-share__status:not(:empty) {
	margin-top: 10px;
	font-size: 13px;
	line-height: 18px;
	color: var(--mz-muted);
}

/* Fallback when the browser refuses clipboard access: the address, selected. */
.mz-share__field {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	margin-top: 8px;
	padding: 0 10px;
	border: 1px solid var(--mz-rule);
	border-radius: 4px;
	background: var(--mz-white);
	font: inherit;
	font-size: 16px;
	color: var(--mz-ink);
}

.mz-aside .mz-lang {
	margin-top: 14px;
}

.mz-aside .mz-lang a {
	font-size: 13px;
	letter-spacing: 0.04em;
}

.mz-aside .mz-lang .is-current a {
	font-size: 13px;
	color: var(--mz-ink);
}

.mz-aside .mz-lang__list {
	gap: 10px;
}

.mz-related--aside .mz-related__list {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.mz-related--aside .mz-related__item + .mz-related__item {
	margin-top: 12px;
}

.mz-related--aside a {
	font-size: 14px;
	line-height: 20px;
	font-weight: 600;
	color: var(--mz-ink);
	text-decoration: none;
}

.mz-related--aside a:hover {
	color: var(--mz-mid);
	text-decoration: underline;
}

/* Pages, archives, search and 404 ----------------------------------------- */

.mz-page {
	padding: 64px 0 96px;
}

.mz-page__title,
.mz-archive__title,
.mz-status__title {
	font-size: 43.25px;
	line-height: 46px;
	font-weight: 600;
	letter-spacing: -0.04em;
}

.mz-page__body {
	max-width: 680px;
	margin-top: 40px;
}

/* Legal pages (0.4.4): label column and value column; addresses may break
   so a two-column table fits a phone. The four-column cookie table keeps
   its width and scrolls sideways. */
.mz-page__body .mz-legal td:first-child {
	width: 40%;
}

/* Only the rules between rows, as in the article tables (core adds a full grid). */
.mz-page__body .mz-legal th,
.mz-page__body .mz-legal td {
	border-width: 0 0 1px;
	border-style: solid;
}

.mz-page__body .mz-legal a {
	overflow-wrap: anywhere;
}

.mz-page__body .mz-legal--wide table {
	min-width: 640px;
}

.mz-page__body .mz-legal--wide td:first-child {
	width: auto;
}

.mz-archive {
	padding: 56px 0 24px;
	border-bottom: 1px solid var(--mz-rule);
}

.mz-archive__eyebrow {
	margin-bottom: 14px;
	font-size: 11.25px;
	line-height: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mz-muted);
}

.mz-archive__desc {
	max-width: 680px;
	margin-top: 14px;
	font-size: 17px;
	line-height: 28px;
	color: var(--mz-muted);
}

.mz-listing {
	padding-bottom: 80px;
}

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

.mz-list > li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 240px;
	gap: 32px;
	padding: 28px 0;
	border-bottom: 1px solid var(--mz-hair);
}

.mz-list > li:not(:has(.mz-list__media)) {
	grid-template-columns: 1fr;
}

.mz-list .mz-kicker {
	font-size: 10.5px;
	line-height: 14px;
	letter-spacing: 0.12em;
}

.mz-list__title {
	margin-top: 6px;
	font-size: 23.75px;
	line-height: 28px;
	font-weight: 700;
	letter-spacing: -0.025em;
}

.mz-standfirst--card {
	margin-top: 8px;
	font-size: 15px;
	line-height: 24px;
	color: var(--mz-muted);
}

.mz-list__media img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.mz-pagination {
	margin-top: 32px;
	font-size: 15px;
	font-weight: 600;
}

.mz-pagination a {
	text-decoration: none;
}

/* Page numbers and arrows get 44 px touch targets; the current page keeps
   the same box so the row does not shift. */
.mz-pagination .page-numbers,
.mz-pagination .wp-block-query-pagination-previous,
.mz-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
}

.mz-pagination .page-numbers.current {
	color: var(--mz-ink);
	box-shadow: inset 0 -2px 0 var(--mz-signal);
}

.mz-note {
	padding: 40px 0;
	font-size: 17px;
	line-height: 28px;
	color: var(--mz-muted);
}

.mz-searchpage .mz-search {
	max-width: 680px;
	margin-top: 24px;
}

.mz-searchpage .mz-note {
	padding: 12px 0 24px;
	font-size: 14px;
	line-height: 20px;
}

.mz-notfound {
	padding: 72px 0 120px;
}

.mz-status__mark {
	display: block;
	width: 81px;
	height: auto;
	margin-bottom: 32px;
}

.mz-status__body {
	max-width: 680px;
	margin-top: 16px;
	font-size: 19px;
	line-height: 32px;
	color: var(--mz-muted);
}

.mz-status__links {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	font-size: 17px;
	line-height: 28px;
	font-weight: 600;
}

.mz-notfound .mz-search {
	max-width: 680px;
	margin-top: 40px;
}

/* Footer ------------------------------------------------------------------ */

/* Not on the brand book screens, which show one line (name, tagline, closing
   line). The owner asked for a fuller footer in 0.4.3; it reuses the header's
   logo, the menu's labels and the card bar's copper. */
.mz-footer {
	margin-top: 56px;
	border-top: 1px solid var(--mz-foot-bg);
	background: var(--mz-foot-bg);
}

/* 0.4.5: four columns, as on a usual site footer: logo, tagline and
   languages; sections; the publication's pages; the legal pages. */
.mz-foot__top {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 2.5fr) minmax(0, 2.5fr);
	gap: 36px 40px;
	padding: 44px 0 40px;
}

.mz-foot__langs {
	margin-top: 28px;
}

/* The copper bar of the cards, laid on the footer rule. */
.mz-foot__top::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 132px;
	height: 2px;
	background: var(--mz-signal);
}

.mz-foot .mz-brand {
	align-items: center;
	width: fit-content;
}

.mz-foot .mz-brand__logo,
.mz-foot .mz-brand__name {
	margin-top: 0;
}

/* The header's tagline, one size up: title over the three words. */
.mz-foot__tagline {
	display: flex;
	flex-direction: column;
	margin: 18px 0 0;
}

.mz-foot__pulse {
	font-size: 15px;
	line-height: 20px;
	font-weight: 600;
	color: var(--mz-ink);
}

.mz-foot__facts {
	margin-top: 2px;
	font-size: 13px;
	line-height: 18px;
	letter-spacing: 0.02em;
	color: var(--mz-muted);
}

.mz-foot__heading {
	margin: 0 0 10px;
	font-size: 11.25px;
	line-height: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mz-muted);
}

.mz-foot .mz-sections__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mz-foot .mz-lang__list {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0 22px;
}

.mz-foot .mz-sections__item a,
.mz-foot .mz-lang a {
	display: inline-block;
	padding: 4px 0;
	font-size: 15px;
	line-height: 24px;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--mz-ink);
	text-decoration: none;
}

.mz-foot .mz-sections__item a:hover,
.mz-foot .mz-lang a:hover {
	color: var(--mz-mid);
	text-decoration: underline;
	text-underline-offset: 6px;
}

/* The current language and section carry the copper underline of the tabs. */
.mz-foot .mz-lang .is-current a,
.mz-foot .mz-sections__item.is-active a {
	text-decoration: underline;
	text-decoration-color: var(--mz-signal);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

.mz-foot .mz-lang .is-current a {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
}

.mz-foot .mz-lang .is-unavailable a {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

/* Page links (0.4.4), one per line in their column since 0.4.5. */
.mz-foot__legal-list {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mz-foot__legal a,
.mz-foot__consent {
	display: inline-block;
	padding: 4px 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 14px;
	line-height: 20px;
	font-weight: 500;
	text-align: left;
	color: var(--mz-ink);
	text-decoration: none;
	cursor: pointer;
}

.mz-foot__legal a:hover,
.mz-foot__consent:hover {
	color: var(--mz-mid);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* The publisher's footer text from the legal documents (document 06), in
   parts: the contacts, the imprint lines and a closing line. */
.mz-foot__contacts {
	padding: 18px 0;
	border-top: 1px solid var(--mz-hair);
}

.mz-foot__contact-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 48px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mz-foot__contact {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.mz-foot__contact-label {
	font-size: 11.25px;
	line-height: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mz-muted);
}

.mz-foot__contact a {
	font-size: 15px;
	line-height: 22px;
	font-weight: 600;
	color: var(--mz-ink);
	text-decoration: none;
	white-space: nowrap;
}

.mz-foot__contact a:hover {
	color: var(--mz-mid);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* 0.4.10: the newsletter form of The Newsletter Plugin, in the logo column
   under the languages (0.4.9 had it in the contacts row, larger than the rest
   of the footer). Heading like the other footer headings, one line on what
   readers get in the size of the tagline's second line, and a field and
   button at the size of the footer links. The selectors start at
   .mz-foot__news so they win over the plugin's own stylesheet, whatever
   order it loads in. */
.mz-foot__news {
	max-width: 360px;
	margin-top: 28px;
}

.mz-foot__news .mz-foot__heading {
	margin-bottom: 6px;
}

.mz-foot__news-text {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 18px;
	letter-spacing: 0.01em;
	color: var(--mz-muted);
}

.mz-foot__news .tnp {
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.mz-foot__news .tnp form {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	text-align: left !important; /* the plugin's align attribute sets an inline style */
}

.mz-foot__news .tnp input[type="email"],
.mz-foot__news .tnp input[type="text"] {
	flex: 1 1 140px;
	width: auto;
	max-width: none;
	min-width: 0;
	height: 36px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--mz-rule);
	border-radius: 4px;
	background: var(--mz-white);
	box-shadow: none;
	color: var(--mz-ink);
	font: inherit;
	font-size: 14px;
	line-height: 20px;
}

.mz-foot__news .tnp input[type="email"]:hover,
.mz-foot__news .tnp input[type="text"]:hover {
	border-color: var(--mz-muted);
}

.mz-foot__news .tnp input[type="email"]::placeholder,
.mz-foot__news .tnp input[type="text"]::placeholder {
	color: var(--mz-muted);
	opacity: 1;
}

.mz-foot__news .tnp input[type="submit"],
.mz-foot__news .tnp button {
	flex: 0 0 auto;
	width: auto;
	height: 36px;
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: var(--mz-ink) !important; /* the plugin's button_color sets an inline style */
	box-shadow: none;
	color: var(--mz-white);
	font: inherit;
	font-size: 13px;
	line-height: 18px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}

.mz-foot__news .tnp input[type="submit"]:hover,
.mz-foot__news .tnp button:hover {
	background: var(--mz-mid) !important;
}

.mz-foot__news .tnp input:focus-visible,
.mz-foot__news .tnp button:focus-visible {
	outline: var(--mz-focus);
	outline-offset: 2px;
}

/* The privacy checkbox, when it is switched on in the plugin's form settings. */
.mz-foot__news .tnp-privacy-field,
.mz-foot__news .tnp-field {
	flex: 1 1 100%;
	margin: 2px 0 0;
	padding: 0;
	font-size: 12px;
	line-height: 16px;
	color: var(--mz-muted);
}

.mz-foot__news .tnp-privacy-field label {
	display: inline-flex;
	align-items: flex-start;
	gap: 6px;
	font-size: inherit;
	font-weight: 400;
}

.mz-foot__news .tnp-privacy-field input[type="checkbox"] {
	flex: none;
	width: 14px;
	height: 14px;
	margin: 1px 0 0;
	accent-color: var(--mz-ink);
}

.mz-foot__news .tnp-privacy-field a {
	color: var(--mz-muted);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.mz-foot__news .tnp-privacy-field a:hover {
	color: var(--mz-ink);
}

/* 0.4.11: colour from the logo. Labels and small text in the darkened slate
   of the logo on the light tint; the contacts, imprint and copyright in an
   ink band across the full width (border-image paints outside the box
   without widening the page). */
.mz-foot .mz-foot__heading,
.mz-foot__facts,
.mz-foot__news-text,
.mz-foot__news .tnp-privacy-field,
.mz-foot__news .tnp-privacy-field a {
	color: var(--mz-foot-muted);
}

.mz-foot__news .tnp input[type="email"],
.mz-foot__news .tnp input[type="text"] {
	border-color: #A9BFCC;
}

.mz-foot__base {
	border-image: linear-gradient(var(--mz-ink), var(--mz-ink)) fill 0 / 0 / 0 100vmax;
	color: var(--mz-sky);
}

.mz-foot__base .mz-foot__contacts {
	padding: 28px 0 22px;
	border-top: 0;
}

.mz-foot__base .mz-foot__contact-label,
.mz-foot__base .mz-foot__people {
	color: var(--mz-sky);
}

.mz-foot__base .mz-foot__contact a,
.mz-foot__base .mz-foot__copy {
	color: var(--mz-white);
}

.mz-foot__base .mz-foot__contact a:hover {
	color: var(--mz-sky);
}

.mz-foot__base :focus-visible {
	outline-color: var(--mz-sky);
}

.mz-foot__base .mz-foot__fineprint {
	padding-bottom: 32px;
	border-top-color: rgba(169, 203, 224, 0.22);
	color: var(--mz-sky);
}

.mz-foot__fineprint {
	padding: 16px 0 24px;
	border-top: 1px solid var(--mz-hair);
	font-size: 12.5px;
	line-height: 18px;
	color: var(--mz-muted);
}

.mz-foot__fineprint p {
	margin: 0;
}

.mz-foot__fine {
	max-width: 960px;
}

.mz-foot__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 32px;
	margin-top: 14px;
}

.mz-foot__copy {
	font-weight: 500;
	color: var(--mz-ink);
}

.mz-foot__people {
	margin-left: auto !important;
}

/* Demo label from the R0 demo plugin, kept outside the reference layout */

.mz-demo-banner {
	border-top: 1px solid var(--mz-hair);
	background: var(--mz-paper);
}

.mz-demo-banner p {
	width: min(1310px, 100% - 2 * var(--mz-gutter));
	margin: 0 auto;
	padding: 12px 0 16px;
	font-size: 12px;
	line-height: 18px;
	color: var(--mz-muted);
}

/* Tablet: 768 to 1099 px -------------------------------------------------- */

@media (max-width: 1279px) {
	.mz-tagline {
		display: none;
	}
}

/* Between 1100 and 1439 px the cards are narrower than on the desktop screen and
   longer headlines lift the labels; the black scrim is a little deeper there. */
@media (min-width: 1100px) and (max-width: 1439px) {
	.mz-card__body::before {
		background: linear-gradient(180deg, rgba(0, 0, 0, 0) 258.45px, rgba(0, 0, 0, 0.52) 370.2px, rgba(0, 0, 0, 0.7) 459.6px, rgba(0, 0, 0, 0.78) 100%);
	}
}

@media (max-width: 1099px) {
	.mz-header__inner {
		height: 72px;
	}

	/* Tablets crop wider, brighter parts of each card photo behind the text than either
	   screen, so their navy scrim darkens sooner than the phone screen's, to keep the
	   topic labels at 4.5:1. */
	.mz-card__body::before {
		background: linear-gradient(180deg, rgba(6, 28, 40, 0.07) 254px, rgba(6, 28, 40, 0.3) 333px, rgba(6, 28, 40, 0.66) 378px, rgba(6, 28, 40, 0.8) 414px, rgba(6, 28, 40, 0.9) 456px, rgba(6, 28, 40, 0.97) 100%);
	}

	.mz-brand__logo {
		height: 30px;
		margin-top: 21px;
	}

	.mz-brand__name {
		margin-top: 22px;
	}

	.mz-nav,
	.mz-pulsebtn,
	.mz-header__tools > .mz-lang {
		display: none;
	}

	.mz-search-link,
	.mz-menu {
		display: flex;
	}

	.mz-header__tools {
		align-items: center;
		gap: 4px;
		height: 100%;
		padding-top: 0;
	}

	.mz-search-link {
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		color: var(--mz-muted);
	}


	.mz-header {
		position: relative;
	}

	.mz-header__phone {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: min(1310px, 100% - 2 * var(--mz-gutter));
		height: 41px;
		margin-inline: auto;
	}

	.mz-header {
		border-bottom-width: 2px;
		border-bottom-color: var(--mz-hair);
	}

	.mz-header__inner {
		border-bottom: 1px solid var(--mz-hair);
		width: 100%;
		padding-inline: max(var(--mz-gutter), (100% - 1310px) / 2);
	}

	.mz-ptabs__list {
		display: flex;
		gap: 17px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.mz-ptabs a {
		display: block;
		margin-top: 11.8px;
		padding-bottom: 2px;
		border-bottom: 2px solid transparent;
		font-size: 12px;
		line-height: 16px;
		font-weight: 500;
		letter-spacing: 0.005em;
		color: var(--mz-muted);
		text-decoration: none;
	}

	.mz-ptabs .is-current a {
		border-bottom-color: var(--mz-signal);
		color: var(--mz-ink);
	}

	.mz-header__phone .mz-lang {
		margin-top: 10.8px;
	}

	.mz-header__phone .mz-lang a {
		font-size: 12px;
		font-weight: 500;
		letter-spacing: 0.04em;
	}

	.mz-header__phone .mz-lang .is-current a {
		font-weight: 800;
		letter-spacing: 0.04em;
		color: var(--mz-ink);
	}

	.mz-header__phone .mz-lang__list {
		gap: 8px;
	}

	/* Edition */

	.mz-edition {
		width: min(1310px, 100% - 2 * var(--mz-gutter));
	}

	.mz-hero {
		min-height: 560px;
		padding-top: 64px;
	}

	/* Tablets see the photo's left part, which the desktop keeps under its dark
	   fade (the photo is rebuilt from the screens and is noisy there), so both
	   fades are layered. */
	.mz-hero__media::after {
		background:
			linear-gradient(90deg, rgba(6, 28, 40, 0.98) 0%, rgba(6, 28, 40, 0.823) 39%, rgba(6, 28, 40, 0) 80.4%, rgba(6, 28, 40, 0) 100%),
			linear-gradient(180deg, rgba(6, 28, 40, 0) 0%, rgba(6, 28, 40, 0) 22.5%, rgba(6, 28, 40, 0.711) 51.8%, rgba(6, 28, 40, 0.876) 100%);
	}

	.mz-hero__count {
		top: 24px;
		left: 32px;
	}

	.mz-hero__text {
		margin: 0 32px 40px;
	}

	.mz-hero__title {
		font-size: 44px;
		line-height: 46px;
		letter-spacing: -0.03em;
	}

	.mz-focus {
		grid-template-columns: 1fr;
		padding: 14px 0;
	}

	.mz-focus__label,
	.mz-focus__date {
		display: none;
	}

	.mz-cards {
		margin-top: 10px;
	}

	.mz-cards__list {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}

	.mz-card {
		min-height: 380px;
	}

	.mz-pulse {
		grid-template-columns: 1fr;
		min-height: 0;
		margin-top: 22px;
	}

	.mz-pulse__media {
		height: 260px;
	}

	.mz-pulse__text {
		padding: 28px 32px 0;
	}

	.mz-pulse__opts {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 16px 28px;
		padding: 24px 32px 32px;
		border-left: 0;
	}

	.mz-more {
		margin-top: 56px;
	}

	.mz-feed,
	.mz-modules {
		grid-template-columns: 1fr 1fr;
	}

	/* Article */

	.mz-head__inner {
		min-height: 0;
		padding: 64px 0 40px;
	}

	.mz-head__title {
		width: auto;
		max-width: 640px;
		font-size: 56px;
		line-height: 56px;
		letter-spacing: -0.045em;
	}

	.mz-figure--caption {
		position: static;
		max-width: none;
		margin-top: 16px;
		text-align: left;
	}

	.mz-article__grid {
		display: block;
		max-width: 680px;
	}

	.mz-article__main {
		padding-top: 48px;
	}

	.mz-aside {
		min-height: 0;
		margin-top: 48px;
		padding: 28px 0 0;
		border-left: 0;
		border-top: 1px solid var(--mz-hair);
	}

	.mz-signature {
		width: auto;
		max-width: none;
		margin-left: 0;
	}

	.mz-foot__top {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		padding: 36px 0 36px;
	}

	.mz-foot__brand,
	.mz-foot__col--sections {
		grid-column: 1 / -1;
	}

	.mz-foot__col--sections .mz-sections__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mz-foot__tagline {
		margin-top: 14px;
	}
}

/* Phone: below 768 px, measured on the 390 px reference ------------------- */

/* The phone Pulse card is white, so its options take the normal focus ring. */
@media (max-width: 767px) {
	.mz-pulse__opt:focus-visible {
		outline-color: var(--mz-mid);
	}
}

@media (max-width: 767px) {
	.mz-header__inner {
		height: 62px;
		padding-inline: 20px;
	}

	.mz-brand__logo {
		height: 25px;
		margin-top: 19px;
	}

	.mz-brand__name {
		margin: 17.5px 0 0 11.5px;
	}

	.mz-brand__mezon {
		font-size: 14px;
		line-height: 14px;
		letter-spacing: 0.02em;
	}

	.mz-brand__region {
		margin-top: 4.5px;
		font-size: 8px;
		line-height: 9px;
		letter-spacing: 0.14em;
	}

	.mz-header__tools {
		align-items: flex-start;
		margin-right: -8px;
		padding-top: 9px;
		gap: 0;
	}

	/* Icons sit where the reference draws them; the 44 px tall boxes around
	   them are the touch targets. */
	.mz-search-link,
	.mz-menu summary {
		align-items: flex-start;
		justify-content: flex-start;
		height: 44px;
		padding-left: 7px;
	}

	.mz-search-link {
		width: 33px;
		padding-top: 15px;
	}

	.mz-menu summary {
		width: 32px;
		padding-top: 17px;
	}

	.mz-menu[open] .mz-menu__close {
		margin: -4px 0 0 -2px;
	}

	.mz-menu__panel {
		top: 62px;
		max-height: calc(100vh - 62px - var(--wp-admin--admin-bar--height, 0px));
		max-height: calc(100dvh - 62px - var(--wp-admin--admin-bar--height, 0px));
	}

	.mz-header__phone {
		width: auto;
		margin-inline: 20px;
	}

	/* As on the phone screen, the tabs row holds only the tabs; the menu
	   carries the full language switcher. */
	.mz-header__phone .mz-lang {
		display: none;
	}

	.mz-edition {
		width: calc(100% - 20px);
	}

	.mz-hero {
		min-height: 540px;
		padding-top: 52px;
	}

	.mz-hero__media::after {
		background: linear-gradient(180deg, rgba(6, 28, 40, 0) 0%, rgba(6, 28, 40, 0) 22.5%, rgba(6, 28, 40, 0.711) 51.8%, rgba(6, 28, 40, 0.876) 100%);
	}

	.mz-hero__count {
		top: 15.9px;
		left: 17.65px;
		font-size: 15px;
		line-height: 18px;
		font-weight: 600;
		letter-spacing: 0.02em;
		color: var(--mz-white);
	}

	.mz-hero__count .mz-count__sep {
		margin: 0 6px 0 4.5px;
	}

	.mz-hero__text {
		margin: 0 18px 22px;
	}

	/* The phone screen sets topic labels larger and almost untracked, in a
	   lighter orange, after a dot in the signal colour. */
	.mz-hero__kicker,
	.mz-card__kicker {
		display: flex;
		align-items: center;
		gap: 7.75px;
		color: #F2A07A;
	}

	.mz-card__kicker {
		color: var(--mz-signal-label);
	}

	.mz-hero__kicker::before,
	.mz-card__kicker::before {
		content: "";
		flex: none;
		width: 7px;
		height: 7px;
		border-radius: 50%;
		background: var(--mz-signal);
	}

	.mz-card__kicker::before {
		width: 6px;
		height: 6px;
	}

	.mz-hero__kicker::before {
		transform: translateY(-1px);
	}

	.mz-hero__kicker {
		font-size: 12.625px;
		line-height: 14px;
		letter-spacing: 0.02em;
	}

	.mz-hero__title {
		margin-top: 12px;
		font-size: 26px;
		line-height: 31px;
		letter-spacing: 0;
	}

	.mz-hero__stand {
		margin-top: 14px;
		font-size: 14.75px;
		line-height: 23.6px;
		letter-spacing: 0.01em;
	}

	.mz-hero__link {
		height: 41px;
		margin-top: 17px;
		padding: 0 18.5px 0 18px;
		border: 1px solid rgba(255, 255, 255, 0.8);
		border-radius: 999px;
		line-height: 39px;
	}

	.mz-focus {
		margin-inline: 10px;
		padding: 14.3px 0 14.7px;
		border-top: 1px solid var(--mz-hair);
		border-bottom-color: var(--mz-hair);
	}

	.mz-focus__text {
		font-size: 12px;
		line-height: 19px;
	}

	.mz-cards {
		margin-top: 10px;
	}

	.mz-cards__list {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.mz-card {
		min-height: 300px;
		padding-top: 40px;
	}

	.mz-card::before {
		display: none;
	}

	/* The phone screen's navy scrim (0.07 to 22%, 0.16 at 35%, 0.46 at 50%, 0.66 at 62%,
	   0.82 at 76%, 0.97 at the foot of the 300 px card), hung from the text block, which
	   starts 172 px down on the screen. */
	.mz-card__body::before {
		background: linear-gradient(180deg, rgba(6, 28, 40, 0.07) 294px, rgba(6, 28, 40, 0.16) 333px, rgba(6, 28, 40, 0.46) 378px, rgba(6, 28, 40, 0.66) 414px, rgba(6, 28, 40, 0.82) 456px, rgba(6, 28, 40, 0.97) 100%);
	}

	.mz-card__count {
		top: 14px;
		left: 16px;
		font-size: 10.875px;
		line-height: 14px;
		letter-spacing: 0.025em;
	}

	.mz-card__count .mz-count__sep {
		margin: 0 5px;
	}

	.mz-card__body {
		padding: 0 16px 16px;
	}

	.mz-card__kicker {
		font-size: 11.125px;
		line-height: 13px;
		letter-spacing: 0.05em;
	}

	.mz-card__title {
		margin-top: 6px;
		font-size: 24px;
		line-height: 23px;
		letter-spacing: -0.025em;
	}

	.mz-card__btn {
		height: 33px;
		margin-top: 14px;
		padding: 0 11.7px 0 11.3px;
		font-size: 12.125px;
		line-height: 31px;
		font-weight: 600;
		letter-spacing: -0.005em;
	}

	.mz-card__btn .mz-arrow {
		width: 13.3px;
		height: 5.85px;
		margin-left: 18px;
	}

	/* The Pulse becomes a white card: thumbnail and title, a hairline, then the
	   three ways in. Watch and Listen are disabled controls, so the screen's
	   pale greys are allowed for them (WCAG 1.4.3 exempts inactive controls). */
	.mz-pulse {
		display: grid;
		grid-template-columns: 84px 1fr;
		column-gap: 12.5px;
		min-height: 0;
		margin: 22px 0 0;
		padding: 14px 20px 0;
		border: 1px solid var(--mz-pulse-rule);
		border-radius: 6px;
		background: var(--mz-white);
		color: var(--mz-ink);
		box-shadow: 0 5px 18px rgba(11, 42, 58, 0.08);
	}

	.mz-pulse__media {
		width: 84px;
		height: 84px;
	}

	.mz-pulse__media::after,
	.mz-pulse__play,
	.mz-pulse__label,
	.mz-pulse__desc,
	.mz-pulse__every {
		display: none;
	}

	.mz-pulse__text {
		align-self: start;
		padding: 20.2px 0 0;
	}

	.mz-pulse__title {
		max-width: none;
		margin: 0;
		font-size: 15.25px;
		line-height: 20px;
		letter-spacing: -0.01em;
		color: var(--mz-ink);
	}

	.mz-pulse__sub {
		margin-top: 4.1px;
		font-size: 11px;
		line-height: 15px;
		font-weight: 400;
		letter-spacing: 0;
		color: var(--mz-mid);
	}

	.mz-pulse__opts {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(0, 98.5px) minmax(0, 116.5px) auto;
		column-gap: 6.5px;
		align-items: start;
		height: 80px;
		margin-top: 12px;
		padding: 0 0 0 12px;
		border-left: 0;
		border-top: 1px solid var(--mz-pulse-rule);
	}

	.mz-pulse__opts li {
		min-width: 0;
	}

	.mz-pulse__opt {
		grid-template-columns: 24px minmax(0, 1fr);
		column-gap: 4.5px;
		align-items: start;
		margin-top: 20px;
		color: #99A6AC;
	}

	.mz-pulse__icon {
		width: 24px;
		height: 24px;
		border-color: #F1F2F3;
	}

	.mz-pulse__icon .mz-icon {
		width: 10px;
		height: 10px;
	}

	.mz-pulse__icon .mz-icon--play {
		width: 11.5px;
		height: 11.5px;
		margin: -0.8px 0 0 -1px;
	}

	.mz-pulse__optname {
		font-size: 10.25px;
		line-height: 12px;
		letter-spacing: -0.01em;
	}

	.mz-pulse__optnote {
		overflow: hidden;
		margin-top: 1.9px;
		font-size: 7.875px;
		line-height: 12px;
		letter-spacing: 0.01em;
		white-space: nowrap;
		text-overflow: ellipsis;
		color: #B9C2C7;
	}

	.mz-pulse__opt.is-active {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		margin-top: 10px;
		color: var(--mz-ink);
	}

	.mz-pulse__opt.is-active .mz-pulse__icon {
		justify-content: flex-start;
		align-items: flex-start;
		width: 32px;
		height: 32px;
		padding: 16px 0 0 5px;
		border: 0;
		background: var(--mz-signal);
		color: var(--mz-white);
		font-size: 0;
	}

	.mz-pulse__opt.is-active .mz-pulse__aa {
		display: none;
	}

	.mz-pulse__opt.is-active .mz-icon--arrow-open {
		display: block;
		width: 20px;
		height: 10px;
	}

	.mz-pulse__opt.is-active .mz-pulse__optname {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.mz-pulse__opt.is-active .mz-pulse__optnote {
		margin-top: 4.15px;
		font-size: 7.5px;
		line-height: 10px;
		font-weight: 800;
		letter-spacing: 0.01em;
		color: #596E79;
	}

	.mz-more,
	.mz-feed,
	.mz-modules {
		grid-template-columns: 1fr;
	}

	.mz-more {
		width: calc(100% - 40px);
	}

	.mz-head__inner {
		padding: 40px 0 32px;
	}

	.mz-head__title {
		font-size: 36px;
		line-height: 38px;
		letter-spacing: -0.03em;
	}

	.mz-standfirst--article {
		font-size: 17px;
		line-height: 27px;
	}

	.mz-head .mz-meta--article {
		width: 100%;
		margin-top: 28px;
	}

	.mz-list > li {
		grid-template-columns: minmax(0, 1fr) 96px;
		gap: 16px;
	}

	.mz-list__title {
		font-size: 19px;
		line-height: 24px;
	}

	.mz-page__title,
	.mz-archive__title,
	.mz-status__title {
		font-size: 32px;
		line-height: 36px;
	}

	.mz-footer {
		margin-top: 40px;
	}

	.mz-foot__top {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 28px 20px;
		padding: 28px 0 28px;
	}

	.mz-foot__top::before {
		width: 96px;
	}

	.mz-foot__langs {
		margin-top: 22px;
	}

	.mz-foot__col--sections .mz-sections__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mz-foot__contact-list {
		flex-direction: column;
		gap: 10px;
	}

	.mz-foot__news {
		max-width: none;
		margin-top: 24px;
	}

	/* 16 px in the field, so phones do not zoom in when it gets focus. */
	.mz-foot__news .tnp input[type="email"],
	.mz-foot__news .tnp input[type="text"] {
		height: 40px;
		font-size: 16px;
	}

	.mz-foot__news .tnp input[type="submit"],
	.mz-foot__news .tnp button {
		height: 40px;
	}

	.mz-foot__bottom {
		flex-direction: column;
		gap: 4px;
	}

	.mz-foot__people {
		margin-left: 0 !important;
		margin-top: 6px !important;
	}
}

/* Editor ------------------------------------------------------------------ */

.editor-styles-wrapper {
	background: var(--mz-paper);
}

.mz-editor-preview {
	pointer-events: none;
}

.mz-editor-empty {
	padding: 12px;
	border: 1px dashed var(--mz-rule);
	font-size: 13px;
	color: var(--mz-muted);
}

/* The phone screen is 390 px wide. Wider phones crop more of each card photo behind
   the text, so from 400 px they take the tablets' deeper scrim. */
@media (min-width: 400px) and (max-width: 767px) {
	.mz-card__body::before {
		background: linear-gradient(180deg, rgba(6, 28, 40, 0.07) 254px, rgba(6, 28, 40, 0.3) 333px, rgba(6, 28, 40, 0.66) 378px, rgba(6, 28, 40, 0.8) 414px, rgba(6, 28, 40, 0.9) 456px, rgba(6, 28, 40, 0.97) 100%);
	}
}

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

html {
	scroll-behavior: smooth;
}
