/*
 * Жирный Шрифт Новости — main stylesheet.
 *
 * Blocks and layouts of the first jshrift theme; colors and style after yerkramas.org: a light
 * grey page, white surfaces divided by thin rules instead of floating cards, graphite type,
 * wine-red accents (section labels with a short dash, links, the drop cap, calls to action),
 * bold uppercase labels, square corners, a dark panel beside the lead story and a dark footer
 * under a red band. The fonts are those of the first theme (user decision): EB Garamond for
 * text, Jost for headlines, labels and navigation, Playfair Display for the logo and large
 * titles. Fonts and the palette are also defined in theme.json.
 *
 * Breakpoints: 640px (two columns), 1024px (desktop grids), 1200px (section bar).
 */

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

:root {
	--ink: #1b1e24;
	--ink-2: #292e37;
	--panel: #272b33;
	--muted: #626873;
	--paper: #f4f5f7;
	--white: #fff;
	--mist: #e9ecf0;
	--line: #d6dae0;
	--line-dark: #454b55;
	--brand: #b3263a;
	--brand-dark: #8e1c2d;
	/* Brand red is too dark on the ink surfaces — this one is used there. */
	--brand-soft: #ec6b7c;
	--on-dark: #f7f8fa;
	--on-dark-muted: #b9bec7;
	--focus: #155eef;
	--sans: var(--wp--preset--font-family--sans, Jost, sans-serif);
	--serif: var(--wp--preset--font-family--serif, "EB Garamond", serif);
	--didone: var(--wp--preset--font-family--didone, "Playfair Display", serif);
	--gutter: 16px;
	--container: 1360px;
	--measure: 780px;
	--header: 60px;
	--ease: 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

@media (min-width: 640px) {
	:root {
		--gutter: 24px;
	}
}

@media (min-width: 1024px) {
	:root {
		--gutter: 40px;
		--header: 76px;
	}
}

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

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

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--header) + 16px);
}

body {
	margin: 0;
	overflow-x: hidden;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--sans);
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

body.has-drawer {
	overflow: hidden;
}

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

a {
	color: inherit;
	text-decoration: none;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

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

h1,
h2,
h3,
h4 {
	margin: 0;
	font-family: var(--sans);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.005em;
	text-wrap: balance;
	overflow-wrap: break-word;
}

p {
	margin: 0;
}

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

button,
[role="button"] {
	cursor: pointer;
}

.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;
}

.skip-link:focus {
	position: fixed !important;
	top: 12px;
	left: 12px;
	z-index: 1000;
	width: auto;
	height: auto;
	padding: 12px 16px;
	margin: 0;
	clip: auto;
	background: var(--ink-2);
	color: var(--white);
	font: 700 0.875rem/1 var(--sans);
}

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

.site-main {
	min-height: 60vh;
	padding-bottom: 88px;
}

/* ------------------------------------------------------------------ Type helpers */

/* Section label above a headline: red bold capitals after a short dash. */
.label {
	display: flex;
	align-items: center;
	max-width: 100%;
	margin: 0 0 8px;
	color: var(--brand);
	font: 600 0.75rem/1.3 var(--sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.label::before {
	content: "";
	flex: none;
	width: 20px;
	height: 2px;
	margin-right: 9px;
	background: currentColor;
}

.label a {
	display: inline-block;
	padding-block: 4px;
	margin-block: -4px;
}

.label a:hover {
	color: var(--brand-dark);
	text-decoration: underline;
}

/* Author and time under a headline, in small grey capitals. */
.byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 7px;
	margin-top: 12px;
	color: var(--muted);
	font: 600 0.75rem/1.5 var(--sans);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* The dot stays with the author when the time moves to the next line. */
.byline__author:not(:last-child)::after {
	content: "·";
	margin-left: 7px;
}

.byline a:hover {
	color: var(--brand);
}

/* ------------------------------------------------------------------ Buttons */

.button,
.wpcf7-submit,
.comment-form .submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: var(--ink);
	color: var(--white);
	font: 700 0.75rem/1.2 var(--sans);
	letter-spacing: 0.06em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--ease), border-color var(--ease), color var(--ease);
}

.button:hover,
.wpcf7-submit:hover,
.comment-form .submit:hover {
	border-color: var(--brand);
	background: var(--brand);
	color: var(--white);
}

.button--small {
	min-height: 36px;
	padding: 0 14px;
	font-size: 0.75rem;
}

.button--ghost {
	background: transparent;
	color: var(--ink);
}

.button--ghost:hover {
	border-color: var(--ink);
	background: var(--ink);
	color: var(--white);
}

/* The call to action: brand red. */
.button--light {
	border-color: var(--brand);
	background: var(--brand);
	color: var(--white);
}

.button--light:hover {
	border-color: var(--brand-dark);
	background: var(--brand-dark);
	color: var(--white);
}

.button[disabled],
.button[disabled]:hover {
	border-color: var(--line);
	background: var(--mist);
	color: var(--muted);
	cursor: not-allowed;
}

.button svg {
	width: 20px;
	height: 20px;
}

.icon-button {
	position: relative;
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: transparent;
	color: var(--ink);
	cursor: pointer;
	transition: background-color var(--ease), color var(--ease);
}

.icon-button:hover {
	background: var(--ink);
	color: var(--white);
}

.icon-button svg {
	width: 21px;
	height: 21px;
}

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

.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--white);
	border-bottom: 1px solid var(--ink);
}

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

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

@media (max-width: 600px) {
	.admin-bar .site-header {
		top: 0;
	}
}

.site-header__bar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 8px;
	height: var(--header);
	padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2));
}

.logo {
	order: -1;
	min-width: 0;
	margin: 0;
	font-family: var(--didone);
	font-size: clamp(1rem, 4.8vw, 1.5rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	white-space: nowrap;
}

.logo a:hover {
	color: var(--brand);
}

.site-header__start .button {
	border-color: var(--brand);
	background: var(--brand);
}

.site-header__start .button:hover {
	border-color: var(--brand-dark);
	background: var(--brand-dark);
}

.site-header__end {
	display: flex;
	align-items: center;
	gap: 8px;
}

.site-header__end .icon-button {
	display: none;
}

.menu-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 40px;
	height: 40px;
	padding: 0 9px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: transparent;
	color: var(--ink);
	font: 700 0.78rem/1 var(--sans);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--ease), color var(--ease);
}

.menu-button:hover {
	background: var(--ink);
	color: var(--white);
}

.menu-button svg {
	width: 21px;
	height: 21px;
}

.menu-button__text {
	display: none;
}

@media (max-width: 359px) {
	.site-header__bar {
		gap: 6px;
	}

	.site-header__start .button {
		padding: 0 7px;
		font-size: 0.625rem;
		letter-spacing: 0.02em;
	}
}

@media (min-width: 640px) {
	.site-header__end .icon-button {
		display: inline-flex;
	}
}

@media (min-width: 1024px) {
	.site-header__bar {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	}

	.logo {
		order: 0;
		font-size: 2.375rem;
	}

	.site-header__start {
		justify-self: start;
	}

	.site-header__end {
		justify-self: end;
	}

	.site-header__start .button {
		min-height: 44px;
		padding: 0 18px;
		font-size: 0.78rem;
	}

	.icon-button,
	.menu-button {
		height: 44px;
		min-width: 44px;
	}

	.site-header__end .icon-button {
		width: 44px;
	}

	.menu-button {
		padding: 0 14px;
	}

	.menu-button__text {
		display: inline;
	}
}

/* The row of sections: a red square with the letter of the logo, then the sections in bold
   capitals between thin rules; the current section on graphite. */
.primary-nav {
	display: none;
	border-top: 1px solid var(--ink);
	padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2));
}

@media (min-width: 1200px) {
	.primary-nav {
		display: flex;
		align-items: stretch;
	}
}

.primary-nav__mark {
	display: grid;
	flex: 0 0 50px;
	place-items: center;
	background: var(--brand);
	color: var(--white);
	font: 900 1.375rem/1 var(--didone);
}

.primary-nav__list {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-nav__list > li {
	border-right: 1px solid var(--line);
}

.primary-nav a {
	display: flex;
	align-items: center;
	min-height: 50px;
	padding: 0 clamp(10px, 0.95vw, 15px);
	font: 700 0.78rem/1.2 var(--sans);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background-color var(--ease), color var(--ease);
}

/* Nine sections fit in one row from 1200px: a step smaller below the full container width. */
@media (max-width: 1359px) {
	.primary-nav a {
		padding: 0 10px;
		font-size: 0.72rem;
		letter-spacing: 0.03em;
	}
}

.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current-menu-ancestor > a {
	background: var(--ink);
	color: var(--white);
}

/* Search: a white panel under the header with a red rule. */
.site-search {
	padding: 24px var(--gutter) 28px;
	border-top: 1px solid var(--line);
	border-bottom: 3px solid var(--brand);
	background: var(--white);
	box-shadow: 0 20px 50px rgb(0 0 0 / 18%);
}

.site-search .search-form {
	max-width: 860px;
	margin-inline: auto;
}

/* ------------------------------------------------------------------ Search form */

.search-form {
	display: flex;
	align-items: stretch;
}

.search-form input[type="search"] {
	flex: 1;
	min-width: 0;
	min-height: 52px;
	padding: 12px 16px;
	border: 2px solid var(--ink);
	border-right: 0;
	border-radius: 0;
	background: var(--white);
	color: var(--ink);
	font: 400 1.0625rem/1.3 var(--sans);
	-webkit-appearance: none;
	appearance: none;
}

.search-form input[type="search"]:focus {
	outline: none;
	border-color: var(--focus);
}

.search-form input::placeholder {
	color: var(--muted);
}

.search-form__submit {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 56px;
	padding: 0;
	border: 2px solid var(--ink);
	border-radius: 0;
	background: var(--ink);
	color: var(--white);
	cursor: pointer;
	transition: background-color var(--ease), border-color var(--ease);
}

.search-form__submit:hover {
	border-color: var(--brand);
	background: var(--brand);
}

.search-page__form {
	max-width: 760px;
	margin: 0 0 48px;
}

/* ------------------------------------------------------------------ Drawer (menu) */

.drawer {
	position: fixed;
	inset: 0;
	z-index: 60;
	background: rgb(0 0 0 / 62%);
}

.drawer[hidden] {
	display: none;
}

.drawer__panel {
	width: min(100%, 420px);
	height: 100%;
	overflow-y: auto;
	padding: 0 24px 32px;
	background: var(--ink);
	color: var(--white);
}

.drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 84px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--line-dark);
}

.logo--small {
	order: 0;
	font-size: 1.5rem;
}

.drawer .icon-button {
	border-color: var(--line-dark);
	color: var(--white);
}

.drawer .icon-button:hover {
	border-color: var(--white);
	background: transparent;
}

.drawer .search-form input[type="search"] {
	min-height: 48px;
	border: 1px solid var(--line-dark);
	border-right: 0;
	background: transparent;
	color: var(--white);
	font-size: 1rem;
}

.drawer .search-form input::placeholder {
	color: var(--on-dark-muted);
}

.drawer .search-form__submit {
	width: 52px;
	border: 1px solid var(--brand);
	background: var(--brand);
}

.drawer__nav ul {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.drawer__nav a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	border-bottom: 1px solid var(--line-dark);
	font: 500 1.0625rem/1.35 var(--sans);
}

.drawer__nav a::after {
	content: "→";
	margin-left: auto;
	color: var(--brand-soft);
}

.drawer__nav a:hover {
	color: var(--brand-soft);
}

.drawer__nav--secondary ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0 22px;
	margin-top: 16px;
}

.drawer__nav--secondary a {
	min-height: 44px;
	border: 0;
	color: #c7bebb;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.drawer__nav--secondary a::after {
	content: none;
}

.drawer__actions {
	display: grid;
	gap: 12px;
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px solid var(--line-dark);
}

.drawer__actions .button {
	border-color: var(--brand);
	background: var(--brand);
}

.drawer__actions .button:hover {
	border-color: var(--brand-dark);
	background: var(--brand-dark);
}

.drawer__actions .button--ghost {
	border-color: var(--line-dark);
	background: transparent;
	color: var(--white);
}

.drawer__actions .button--ghost:hover {
	border-color: var(--white);
	background: transparent;
}

.drawer__tagline {
	margin-top: 28px;
	color: #bdb3af;
	font: italic 400 1.125rem/1.5 var(--serif);
}

/* ------------------------------------------------------------------ Section headings */

.section {
	margin-top: 64px;
}

/* A large serif title over a thick rule, the "all" link on the right. */
.section-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: end;
	gap: 8px 18px;
	margin-bottom: 24px;
	padding-bottom: 14px;
	border-bottom: 3px solid var(--ink);
}

.section-head + .grid,
.section-head + .row-list,
.section-head + .principles,
.section-head + .contact-strip {
	margin-top: -24px;
}

.section-title {
	font-family: var(--didone);
	font-size: clamp(1.75rem, 2.8vw, 2.625rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

.section-title a:hover {
	color: var(--brand);
}

.section-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	font: 600 0.75rem/1.2 var(--sans);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: color var(--ease);
}

.section-more span {
	color: var(--brand);
}

.section-more:hover {
	color: var(--brand);
}

@media (min-width: 640px) {
	.section-head {
		grid-template-columns: minmax(0, 1fr) auto;
		padding-bottom: 18px;
	}
}

/* Page heading of archives and pages: kicker, a large serif title over a thick rule. */
.page-head {
	margin-bottom: 32px;
	padding: 32px 0 18px;
	border-bottom: 3px solid var(--ink);
}

.page-head__kicker {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	color: var(--brand);
	font: 600 0.75rem/1.3 var(--sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.page-head__kicker::before {
	content: "";
	flex: none;
	width: 20px;
	height: 2px;
	margin-right: 9px;
	background: currentColor;
}

.page-head__title {
	font-family: var(--didone);
	font-size: clamp(2.125rem, 4.4vw, 3.75rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.01em;
	overflow-wrap: anywhere;
}

.page-head__desc {
	max-width: 760px;
	margin-top: 14px;
	color: var(--muted);
	font: 400 1.1875rem/1.55 var(--serif);
}

.page-head__desc p + p {
	margin-top: 0.6em;
}

.page-head__desc a {
	color: var(--brand);
	text-decoration: underline;
}

.page-head__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-top: 16px;
	font: 700 0.78rem/1.2 var(--sans);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.page-head__links a {
	color: var(--brand);
}

.page-head__links a:hover {
	text-decoration: underline;
}

.page-head--profile .avatar {
	width: 112px;
	height: 112px;
	margin: 0 0 20px;
	border: 1px solid var(--line);
	object-fit: cover;
}

@media (min-width: 1024px) {
	.page-head {
		margin-bottom: 40px;
		padding: 48px 0 24px;
		border-bottom-width: 4px;
	}
}

/* Tabs (events: upcoming and past): bold capitals between rules, the current one on graphite. */
.subnav {
	display: flex;
	flex-wrap: wrap;
	margin: -8px 0 32px;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.subnav a {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 0 20px;
	border-right: 1px solid var(--line);
	font: 700 0.78rem/1.2 var(--sans);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background-color var(--ease), color var(--ease);
}

.subnav a[aria-current="page"],
.subnav a:hover {
	background: var(--ink);
	color: var(--white);
}

/* ------------------------------------------------------------------ Cards */

.card {
	position: relative;
	min-width: 0;
}

.card__media {
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--mist);
}

.card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 450ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.card:hover .card__media img {
	transform: scale(1.025);
}

.card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--brand);
	font: 700 3.5rem/1 var(--didone);
}

.card__body {
	min-width: 0;
	padding-top: 16px;
}

.card__title {
	font-family: var(--sans);
	font-size: clamp(1.0625rem, 1.2vw, 1.25rem);
	font-weight: 600;
	line-height: 1.32;
	overflow-wrap: break-word;
	hyphens: auto;
	text-wrap: pretty;
}

.card__title a {
	transition: color var(--ease);
}

.card__title a:hover {
	color: var(--brand);
}

/* The lead story: portrait photo, a large serif headline. */
.card--hero .card__media {
	aspect-ratio: 4 / 5;
}

.card--hero .card__body {
	padding-top: 20px;
}

.card--hero .card__title {
	font-size: clamp(1.625rem, 2.6vw, 2.5rem);
	line-height: 1.15;
	letter-spacing: -0.01em;
	hyphens: manual;
}

.card--tile .card__media {
	aspect-ratio: 1;
}

/* A text card with a small photo on the right (the dark column beside the lead story). */
.card--list {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 84px;
	gap: 16px;
	align-items: start;
}

.card--list .card__media {
	order: 2;
	aspect-ratio: 3 / 4;
}

.card--list .card__body {
	padding-top: 0;
}

.card--list .card__title {
	font-size: 1.0625rem;
	font-weight: 500;
	line-height: 1.35;
}

.card--list .byline,
.card--row .byline {
	margin-top: 8px;
}

/* A small square photo on the left, the text beside it (bands, search). */
.card--row {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.card--row .card__media {
	aspect-ratio: 1;
}

.card--row .card__body {
	padding-top: 0;
}

.card--row .card__title {
	font-size: 1.0625rem;
}

@media (min-width: 640px) {
	.card--row {
		grid-template-columns: 132px minmax(0, 1fr);
		gap: 22px;
	}
}

.card--past .card__media img {
	filter: grayscale(1);
	opacity: 0.7;
}

/* ------------------------------------------------------------------ Grids */

/* A white surface; the cards are divided by thin rules (each card draws the rule on its right
   and below; the outer ones are cut off by the surface's edge). */
.grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	overflow: hidden;
	background: var(--white);
	border-bottom: 1px solid var(--line);
}

.grid > * {
	padding: 16px;
	box-shadow: 1px 0 0 var(--line), 0 1px 0 var(--line);
}

.grid > :last-child {
	box-shadow: 0 1px 0 var(--line);
}

/* Phones: compact rows — a small photo on the left, the headline beside it. */
@media (max-width: 639px) {
	.grid > .card {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 14px;
		align-items: start;
	}

	.grid > .card .card__media {
		aspect-ratio: 4 / 3;
	}

	.grid > .card .card__body {
		padding-top: 0;
	}

	.grid > .card .label {
		margin-bottom: 6px;
	}

	.grid > .card .card__title {
		font-size: 1rem;
		line-height: 1.36;
	}

	.grid > .card .byline {
		margin-top: 8px;
	}
}

@media (min-width: 640px) {
	.grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grid > * {
		padding: 24px;
	}
}

@media (min-width: 1024px) {
	.grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

/* Sections with a few cards: incomplete rows are centered. */
.grid--center {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.grid--center > * {
	flex: 0 0 100%;
}

@media (min-width: 640px) {
	.grid--center > * {
		flex-basis: 50%;
	}
}

@media (min-width: 1024px) {
	.grid--3.grid--center > * {
		flex-basis: 33.3333%;
	}

	.grid--4.grid--center > * {
		flex-basis: 25%;
	}
}

/* Rows of cards (the blogs band) and the stacked list (search results). */
.row-list {
	display: grid;
	background: var(--white);
}

.row-list > .card {
	padding: 20px 0;
}

.row-list > .card + .card {
	border-top: 1px solid var(--line);
}

@media (min-width: 1024px) {
	.row-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.row-list > .card {
		padding: 24px 24px 24px 0;
	}

	.row-list > .card + .card {
		padding-left: 24px;
		border-top: 0;
		border-left: 1px solid var(--line);
	}
}

.row-list--stacked {
	max-width: 900px;
	padding: 0 16px;
	border-top: 3px solid var(--ink);
}

.row-list--stacked > .card,
.row-list--stacked > .card + .card {
	padding: 20px 0;
	border-left: 0;
}

.row-list--stacked > .card + .card {
	border-top: 1px solid var(--line);
}

@media (min-width: 640px) {
	.row-list--stacked {
		padding: 0 28px;
	}
}

@media (min-width: 1024px) {
	.row-list--stacked {
		grid-template-columns: minmax(0, 1fr);
	}

	.row-list--stacked > .card,
	.row-list--stacked > .card + .card {
		padding: 28px 0;
	}

	.row-list--stacked .card--row {
		grid-template-columns: 200px minmax(0, 1fr);
		gap: 32px;
	}

	.row-list--stacked .card__title {
		font-size: 1.375rem;
		line-height: 1.25;
	}
}

.more-link {
	margin-top: 40px;
	text-align: center;
}

.more-link .button {
	min-width: min(100%, 260px);
}

/* Home: lead stories in three columns (tiles · lead · list) on one white surface; the list is a
   dark panel. */

.lead-grid {
	display: grid;
	margin-top: 24px;
	background: var(--white);
	border-bottom: 1px solid var(--ink);
}

.lead-grid__main {
	padding: 16px 16px 24px;
}

.lead-grid__tiles,
.lead-grid__list {
	display: grid;
	align-content: start;
}

.lead-grid__tiles > .card {
	padding: 16px;
	border-top: 1px solid var(--line);
}

.lead-grid__list {
	padding: 4px 20px 8px;
	background: var(--panel);
	color: var(--on-dark);
}

.lead-grid__list > .card {
	padding: 18px 0;
}

.lead-grid__list > .card + .card {
	border-top: 1px solid var(--line-dark);
}

.lead-grid__list .label {
	color: var(--brand-soft);
}

.lead-grid__list .label a:hover {
	color: var(--white);
}

.lead-grid__list .card__title a:hover {
	color: var(--brand-soft);
}

.lead-grid__list .byline {
	color: var(--on-dark-muted);
}

.lead-grid__list .card__media {
	background: #353a44;
}

.lead-grid__list .card__placeholder {
	color: var(--brand-soft);
}

@media (max-width: 639px) {
	.lead-grid__tiles .card--tile {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 14px;
		align-items: start;
	}

	.lead-grid__tiles .card--tile .card__media {
		aspect-ratio: 4 / 3;
	}

	.lead-grid__tiles .card--tile .card__body {
		padding-top: 0;
	}

	.lead-grid__tiles .card--tile .card__title {
		font-size: 1rem;
	}

	.lead-grid .card--hero .card__media {
		aspect-ratio: 4 / 3;
	}
}

@media (min-width: 640px) {
	.lead-grid__main {
		padding: 24px;
	}

	.lead-grid__tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lead-grid__tiles > .card {
		padding: 24px;
	}

	.lead-grid__tiles > .card + .card {
		border-left: 1px solid var(--line);
	}

	.lead-grid__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 32px;
		padding: 8px 24px;
	}

	.lead-grid__list > .card + .card {
		border-top: 0;
	}

	.lead-grid__list > .card:nth-child(n + 3) {
		border-top: 1px solid var(--line-dark);
	}
}

@media (min-width: 1024px) {
	.lead-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr) minmax(0, 1.15fr);
		grid-template-areas: "tiles main list";
		align-items: stretch;
	}

	.lead-grid:not(.has-tiles) {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
		grid-template-areas: "main list";
	}

	.lead-grid:not(.has-list) {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		grid-template-areas: "tiles main";
	}

	.lead-grid:not(.has-tiles):not(.has-list) {
		grid-template-columns: minmax(0, 760px);
		grid-template-areas: "main";
		justify-content: center;
	}

	.lead-grid__main {
		grid-area: main;
		padding: 24px 28px 32px;
	}

	.lead-grid__tiles {
		grid-area: tiles;
		grid-template-columns: minmax(0, 1fr);
		border-right: 1px solid var(--line);
	}

	.lead-grid__tiles > .card {
		border-top: 0;
	}

	.lead-grid__tiles > .card + .card {
		border-top: 1px solid var(--line);
		border-left: 0;
	}

	.lead-grid__list {
		grid-area: list;
		grid-template-columns: minmax(0, 1fr);
		padding: 6px 26px;
	}

	.lead-grid__list > .card:nth-child(n + 2) {
		border-top: 1px solid var(--line-dark);
	}
}

/* Rubric page: the lead story in portrait with tiles on both sides, one white surface. */

.feature-grid {
	display: grid;
	overflow: hidden;
	background: var(--white);
	border-bottom: 1px solid var(--ink);
}

.feature-grid > * {
	padding: 16px;
}

.feature-grid__tile {
	box-shadow: 0 -1px 0 var(--line);
}

.feature-grid:not(.has-tiles) .feature-grid__main {
	width: 100%;
	max-width: 760px;
	margin-inline: auto;
}

@media (max-width: 639px) {
	.feature-grid__main {
		order: -1;
	}

	.feature-grid .card--hero .card__media {
		aspect-ratio: 4 / 3;
	}

	.feature-grid .card--tile {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 14px;
		align-items: start;
	}

	.feature-grid .card--tile .card__media {
		aspect-ratio: 4 / 3;
	}

	.feature-grid .card--tile .card__body {
		padding-top: 0;
	}

	.feature-grid .card--tile .card__title {
		font-size: 1rem;
	}
}

@media (min-width: 640px) {
	.feature-grid > * {
		padding: 24px;
	}

	.feature-grid.has-tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.feature-grid.has-tiles .feature-grid__main {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.feature-grid__tile {
		box-shadow: 1px 0 0 var(--line), 0 -1px 0 var(--line);
	}
}

@media (min-width: 1024px) {
	.feature-grid.has-tiles {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr) minmax(0, 1fr);
		grid-auto-flow: dense;
		align-items: start;
	}

	.feature-grid.has-tiles .feature-grid__main {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: stretch;
		padding: 24px 28px 32px;
		box-shadow: -1px 0 0 var(--line), 1px 0 0 var(--line);
	}

	.feature-grid__tile {
		box-shadow: 0 1px 0 var(--line);
	}

	.feature-grid__tile--start {
		grid-column: 1;
	}

	.feature-grid__tile--end {
		grid-column: 3;
	}
}

/* ------------------------------------------------------------------ Promo and bands */

/* The subscription strip: a light grey box with a red rule on top, a serif line and a red
   button. */
.promo {
	display: grid;
	gap: 18px;
	margin-top: 48px;
	padding: 24px 20px;
	border: 1px solid var(--line);
	border-top: 4px solid var(--brand);
	background: var(--mist);
}

.promo__text {
	font: 700 clamp(1.375rem, 2.2vw, 2.125rem)/1.2 var(--didone);
	text-wrap: balance;
}

.promo .button {
	border-color: var(--brand);
	background: var(--brand);
}

.promo .button:hover {
	border-color: var(--brand-dark);
	background: var(--brand-dark);
}

@media (min-width: 640px) {
	.promo {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 24px 42px;
		padding: 32px 36px;
	}
}

/* A white band across the page, with a red rule on top. */
.band {
	margin-top: 64px;
	padding: 1px 0 56px;
	background: var(--white);
	border-top: 4px solid var(--brand);
	border-bottom: 1px solid var(--line);
}

.band .section {
	margin-top: 0;
}

.band .section-head {
	margin-top: 40px;
}

.empty-state {
	padding: 64px 0;
	color: var(--muted);
	text-align: center;
}

.empty-state h2 {
	margin-bottom: 12px;
	color: var(--ink);
	font-family: var(--didone);
	font-size: 1.875rem;
}

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

/* Header, text and footer share one reading column; the cover runs across the screen. */
.article-header {
	max-width: calc(var(--measure) + 2 * var(--gutter));
	margin: 0 auto;
	padding: 28px var(--gutter) 28px;
}

.article-header::before {
	content: "";
	display: block;
	height: 4px;
	margin-bottom: 26px;
	background: var(--ink);
}

.article-title {
	margin: 2px 0 0;
	font-size: clamp(1.875rem, 3.8vw, 3rem);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.01em;
	overflow-wrap: break-word;
	hyphens: manual;
}

.article-lead {
	max-width: 720px;
	margin-top: 18px;
	color: var(--muted);
	font: 400 clamp(1.0625rem, 1.3vw, 1.1875rem)/1.6 var(--sans);
}

.article-header .byline {
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
}

.article-header .byline__author {
	color: var(--ink);
	font-weight: 700;
}

.article-meta,
.article-updated {
	margin-top: 6px;
	color: var(--muted);
	font: 600 0.75rem/1.5 var(--sans);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.status-badge {
	display: inline-block;
	margin-top: 16px;
	padding: 7px 12px;
	border-left: 3px solid var(--brand);
	background: var(--mist);
	font: 600 0.75rem/1.2 var(--sans);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.article-cover {
	margin: 0;
}

.article-cover img {
	width: 100%;
	max-height: 82vh;
	object-fit: cover;
	background: var(--mist);
}

.article-cover figcaption {
	width: min(100% - 2 * var(--gutter), var(--measure));
	margin: 10px auto 0;
	color: var(--muted);
	font: 400 0.8125rem/1.45 var(--sans);
}

.entry-content {
	max-width: calc(var(--measure) + 2 * var(--gutter));
	margin: 40px auto 0;
	padding: 0 var(--gutter);
	font-family: var(--serif);
	font-size: clamp(1.1875rem, 1.1rem + 0.25vw, 1.25rem);
	line-height: 1.6;
	overflow-wrap: break-word;
}

.entry-content > * + * {
	margin-top: 1em;
}

.entry-content a {
	color: var(--brand);
	text-decoration: underline;
}

.entry-content a:hover {
	color: var(--brand-dark);
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	font-family: var(--sans);
	font-weight: 600;
	letter-spacing: -0.005em;
	hyphens: auto;
}

.entry-content h2 {
	margin-top: 2em;
	font-size: clamp(1.4375rem, 2vw, 1.625rem);
	line-height: 1.25;
}

.entry-content h3 {
	margin-top: 1.8em;
	font-size: 1.3125rem;
	line-height: 1.2;
}

.entry-content h4 {
	margin-top: 1.6em;
	font-size: 1.125rem;
}

.entry-content h2 + *,
.entry-content h3 + *,
.entry-content h4 + * {
	margin-top: 0.6em;
}

.entry-content ul,
.entry-content ol {
	padding-left: 1.3em;
}

.entry-content li + li {
	margin-top: 0.4em;
}

.entry-content li::marker {
	color: var(--brand);
}

.entry-content blockquote,
.entry-content .wp-block-quote {
	margin: 2em 0;
	padding: 6px 0 6px 26px;
	border-left: 5px solid var(--brand);
	font-family: var(--didone);
	font-size: 1.25em;
	line-height: 1.4;
}

.entry-content blockquote p + p {
	margin-top: 0.6em;
}

.entry-content blockquote cite {
	display: block;
	margin-top: 14px;
	color: var(--muted);
	font: normal 800 0.78rem/1.4 var(--sans);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.entry-content hr {
	width: 64px;
	margin: 2.4em 0;
	border: 0;
	border-top: 3px solid var(--brand);
}

.entry-content figure {
	margin: 2em 0;
}

.entry-content figure img {
	width: 100%;
}

.entry-content figcaption,
.wp-element-caption {
	margin-top: 10px;
	color: var(--muted);
	font: 400 0.8125rem/1.45 var(--sans);
	text-align: left;
}

.photo-credit {
	color: var(--muted);
}

.entry-content .alignwide {
	width: min(1080px, 100vw - 2 * var(--gutter));
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.entry-content .alignfull {
	width: 100vw;
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

/* Photos from the classic editor (blog entries written in the account): alignment, captions
   with their inline width, galleries. Floated photos take at most half of the text. */
.entry-content::after {
	content: "";
	display: block;
	clear: both;
}

.entry-content .aligncenter {
	margin-right: auto;
	margin-left: auto;
}

.entry-content .alignleft {
	float: left;
	max-width: 50%;
	margin: 0.35em 1.6em 1em 0;
}

.entry-content .alignright {
	float: right;
	max-width: 50%;
	margin: 0.35em 0 1em 1.6em;
}

.entry-content .wp-caption {
	max-width: 100%;
}

.entry-content .alignleft + *,
.entry-content .alignright + * {
	margin-top: 0;
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content hr,
.entry-content blockquote,
.entry-content .gallery {
	clear: both;
}

.entry-content .gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 2em 0;
}

.entry-content .gallery-columns-1 {
	grid-template-columns: minmax(0, 1fr);
}

.entry-content .gallery-columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.entry-content .gallery-columns-4,
.entry-content .gallery-columns-5,
.entry-content .gallery-columns-6,
.entry-content .gallery-columns-7,
.entry-content .gallery-columns-8,
.entry-content .gallery-columns-9 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.entry-content .gallery-item {
	margin: 0;
}

.entry-content .gallery-item img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.entry-content .gallery br {
	display: none;
}

@media (max-width: 600px) {
	.entry-content .alignleft,
	.entry-content .alignright {
		float: none;
		max-width: 100%;
		margin: 1.6em auto;
	}

	.entry-content .gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.entry-content .gallery-columns-1 {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* The drop cap: a large red Literata letter. */
.entry-content .has-drop-cap:not(:focus)::first-letter {
	float: left;
	margin: 0.05em 0.1em 0 0;
	color: var(--brand);
	font-family: var(--didone);
	font-size: 4.6em;
	font-weight: 700;
	line-height: 0.8;
}

.entry-content .wp-block-embed,
.entry-content iframe {
	max-width: 100%;
	margin: 2em 0;
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font: 400 0.9375rem/1.45 var(--sans);
}

.entry-content th,
.entry-content td {
	padding: 10px 8px;
	border-bottom: 1px solid var(--line);
	text-align: left;
}

.entry-content th {
	font-weight: 700;
}

.article-footer {
	max-width: calc(var(--measure) + 2 * var(--gutter));
	margin: 40px auto 0;
	padding: 0 var(--gutter);
}

.note {
	margin-bottom: 24px;
	padding: 14px 18px;
	border-left: 3px solid var(--brand);
	background: var(--mist);
	color: var(--muted);
	font: italic 400 1.125rem/1.5 var(--serif);
}

.tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
	padding-top: 18px;
	border-top: 1px solid var(--line);
}

.tags a {
	padding: 5px 10px;
	border: 1px solid var(--line);
	background: var(--white);
	font: 600 0.8125rem/1.3 var(--sans);
	transition: border-color var(--ease), color var(--ease);
}

.tags a:hover {
	border-color: var(--ink);
	color: var(--brand);
}

/* Share: a white box under a graphite rule, round buttons. */
.share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 20px;
	padding: 18px 20px;
	border: 1px solid var(--line);
	border-top: 3px solid var(--ink);
	background: var(--white);
}

.share__label {
	display: flex;
	align-items: center;
	gap: 9px;
	font: 700 0.78rem/1.2 var(--sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.share__label::before {
	content: "";
	width: 18px;
	height: 2px;
	background: var(--brand);
}

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

.share__list li[hidden] {
	display: none;
}

.share__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1.5px solid var(--line);
	border-radius: 50%;
	background: var(--white);
	color: var(--ink);
	cursor: pointer;
	transition: transform var(--ease), border-color var(--ease), background-color var(--ease), color var(--ease);
}

.share__button svg {
	width: 20px;
	height: 20px;
}

.share__button:hover {
	border-color: var(--ink);
	transform: translateY(-2px);
}

.share__button.is-done {
	border-color: #1a7f37;
	color: #1a7f37;
}

.share__status {
	color: var(--muted);
	font: 400 0.875rem/1.3 var(--sans);
}

.share__status:empty {
	display: none;
}

.author-box {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 20px;
	margin-top: 20px;
	padding: 20px;
	border: 1px solid var(--line);
	background: var(--white);
	font: 400 0.9375rem/1.55 var(--sans);
}

.author-box .avatar {
	width: 72px;
	height: 72px;
	object-fit: cover;
}

.author-box__name {
	font-size: 1rem;
	font-weight: 700;
}

.author-box__name a:hover {
	color: var(--brand);
}

.author-box__bio {
	margin-top: 6px;
	color: var(--muted);
}

.author-box__position {
	margin-top: 8px;
	color: var(--muted);
}

.author-box__more {
	margin-top: 10px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.author-box__more a {
	color: var(--brand);
}

.author-box__more a:hover {
	text-decoration: underline;
}

/* Event details strip under the event title. */

.event-details {
	display: grid;
	gap: 18px 36px;
	width: min(100% - 2 * var(--gutter), var(--measure));
	margin: 0 auto 32px;
	padding: 20px 24px;
	border: 1px solid var(--line);
	border-top: 3px solid var(--ink);
	background: var(--white);
}

@media (min-width: 640px) {
	.event-details {
		grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
		align-items: start;
	}

	.event-details__action {
		align-self: center;
	}
}

.event-details dt {
	margin-bottom: 6px;
	color: var(--muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.event-details dd {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}

.event-details__address {
	display: block;
	color: var(--muted);
	font-size: 0.875rem;
	font-weight: 400;
}

.event-details__action {
	text-align: right;
}

.event-details__action .button {
	border-color: var(--brand);
	background: var(--brand);
}

.event-details__action .button:hover {
	border-color: var(--brand-dark);
	background: var(--brand-dark);
}

@media (max-width: 639px) {
	.event-details__action {
		text-align: left;
	}
}

/* Members' sign-up, under the details strip: a light box with the text and the button. */

.event-signup {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
	align-items: center;
	justify-content: space-between;
	width: min(100% - 2 * var(--gutter), var(--measure));
	margin: -16px auto 32px;
	padding: 20px 24px;
	border-left: 4px solid var(--brand);
	background: var(--mist);
}

.event-signup .notice {
	flex-basis: 100%;
	margin: 0;
}

.event-signup__text {
	font-size: 1rem;
	line-height: 1.45;
}

.event-signup__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.related {
	margin-top: 64px;
}

/* ------------------------------------------------------------------ Static pages */

.article--page .page-head {
	margin-bottom: 0;
}

.article--page > .entry-content {
	width: min(100% - 2 * var(--gutter), var(--container));
	max-width: none;
	margin-top: 32px;
	padding: 0;
}

.article--page > .entry-content > * {
	max-width: var(--measure);
}

/*
 * The publication's own pages (the question form, the documents): the menu of these pages on
 * the left, the title and the text column beside it.
 */

.info-page__layout {
	padding-top: 24px;
}

.info-page__title {
	margin: 28px 0 0;
	padding-bottom: 18px;
	border-bottom: 3px solid var(--ink);
	font-family: var(--didone);
	font-size: clamp(2.125rem, 4.2vw, 3.5rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.01em;
	overflow-wrap: anywhere;
}

.info-page .entry-content {
	max-width: none;
	margin: 28px 0 0;
	padding: 0;
}

.info-nav__select {
	border: 1px solid var(--line);
	border-top: 3px solid var(--ink);
	background: var(--white);
}

.info-nav__select summary {
	position: relative;
	padding: 14px 44px 14px 16px;
	font: 700 0.75rem/1.3 var(--sans);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	list-style: none;
	cursor: pointer;
}

.info-nav__select summary::-webkit-details-marker {
	display: none;
}

.info-nav__select summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 18px;
	width: 7px;
	height: 7px;
	border-right: 2px solid var(--brand);
	border-bottom: 2px solid var(--brand);
	transform: translateY(-75%) rotate(45deg);
}

.info-nav__select[open] summary::after {
	transform: translateY(-25%) rotate(-135deg);
}

.info-nav__select nav {
	padding: 0 16px 16px;
}

.info-nav__side {
	display: none;
}

.info-nav__group {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 18px 0 6px;
	color: var(--muted);
	font: 600 0.75rem/1.3 var(--sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.info-nav__group::before {
	content: "";
	width: 18px;
	height: 2px;
	background: var(--brand);
}

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

.info-nav__list a {
	display: block;
	padding: 8px 0;
	border-bottom: 1px solid var(--line);
	font: 600 0.9375rem/1.35 var(--sans);
	transition: color var(--ease);
}

.info-nav__list a:hover {
	color: var(--brand);
}

.info-nav__list a[aria-current="page"] {
	color: var(--brand);
	font-weight: 700;
}

@media (min-width: 1024px) {
	.info-page__layout {
		display: grid;
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 64px;
		padding-top: 48px;
	}

	.info-page__main {
		max-width: 880px;
	}

	.info-page__title {
		margin-top: 0;
		border-bottom-width: 4px;
	}

	.info-nav__select {
		display: none;
	}

	.info-nav__side {
		display: block;
		position: sticky;
		top: calc(var(--header) + 74px);
		padding: 4px 20px 20px;
		border: 1px solid var(--line);
		border-top: 3px solid var(--ink);
		background: var(--white);
	}

	.info-nav__list a[aria-current="page"] {
		margin-left: -20px;
		padding-left: 17px;
		border-left: 3px solid var(--brand);
	}
}

/* Long documents keep the reading column of articles. */
.info-page .entry-content > * {
	max-width: var(--measure);
}

/* Buttons of the texts look like the site's buttons. */
.entry-content .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.entry-content .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: var(--ink);
	color: var(--white);
	font: 700 0.75rem/1.2 var(--sans);
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color var(--ease), border-color var(--ease);
}

.entry-content .wp-block-button__link:hover {
	border-color: var(--brand);
	background: var(--brand);
	color: var(--white);
}

/* Requisites and the mass media details. */
.entry-content .info-table {
	margin: 0;
}

.entry-content .info-table table {
	border-top: 3px solid var(--ink);
	background: var(--white);
	font: 400 1rem/1.45 var(--sans);
}

.entry-content .info-table th,
.entry-content .info-table td {
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--line);
	vertical-align: baseline;
}

.entry-content .info-table th {
	width: 38%;
	padding-right: 24px;
	color: var(--muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.entry-content .info-table td {
	overflow-wrap: anywhere;
}

@media (max-width: 639px) {
	.entry-content .info-table tr {
		display: block;
		padding: 12px 16px;
		border-bottom: 1px solid var(--line);
	}

	.entry-content .info-table th,
	.entry-content .info-table td {
		display: block;
		width: auto;
		padding: 0;
		border: 0;
	}

	.entry-content .info-table td {
		margin-top: 2px;
	}
}

/* ------------------------------------------------------------------ Forms (Contact Form 7) */

.wpcf7 {
	margin-top: 2em;
	font-family: var(--sans);
}

.wpcf7 form > p {
	margin-top: 22px;
}

.wpcf7 label {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	margin-top: 8px;
	padding: 12px 14px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: var(--white);
	font: 400 1rem/1.4 var(--sans);
	letter-spacing: 0;
	text-transform: none;
}

.wpcf7 textarea {
	height: 180px;
	resize: vertical;
}

.wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.wpcf7-acceptance label {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.45;
	text-transform: none;
}

.wpcf7-acceptance input {
	width: 18px;
	height: 18px;
	margin-top: 1px;
	accent-color: var(--brand);
}

.wpcf7-acceptance a,
.wpcf7 a {
	color: var(--brand);
	text-decoration: underline;
}

.wpcf7-not-valid-tip {
	margin-top: 6px;
	color: var(--brand);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.wpcf7 form .wpcf7-response-output {
	margin: 24px 0 0;
	padding: 14px 16px;
	border: 1px solid var(--line);
	border-left: 4px solid var(--ink);
	background: var(--white);
	font-size: 0.9375rem;
}

.wpcf7-spinner {
	vertical-align: middle;
}

/* ------------------------------------------------------------------ Subscription */

.subscribe__hero {
	padding: 48px 0 8px;
	text-align: center;
}

.subscribe__title {
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 600;
	line-height: 1.1;
}

.subscribe__content {
	max-width: 820px;
	margin: 0 auto;
	text-align: center;
}

.subscribe__content > p:first-child {
	margin-top: 16px;
	color: var(--muted);
	font: 400 clamp(1.0625rem, 1.8vw, 1.25rem)/1.55 var(--sans);
}

.subscription {
	margin-top: 36px;
	font-family: var(--sans);
}

.notice {
	margin: 0 auto 24px;
	padding: 14px 18px;
	border: 1px solid var(--line);
	border-left: 4px solid var(--ink);
	background: var(--white);
	font-size: 0.9375rem;
	text-align: left;
}

.notice--success {
	border-left-color: #1a7f37;
}

.notice--error {
	border-left-color: var(--brand);
	color: var(--brand-dark);
}

.subscription__status,
.subscription__stub {
	margin: 0 auto 32px;
	padding: 24px;
	border: 1px solid var(--line);
	background: var(--white);
	text-align: center;
}

.subscription__status p + p,
.subscription__stub p + p {
	margin-top: 12px;
}

.subscription__stub .button + .button {
	margin-left: 8px;
}

.plans__tabs {
	display: inline-flex;
	margin-bottom: 28px;
	border: 1px solid var(--ink);
	background: var(--white);
}

.plans:not(.is-tabbed) .plans__tabs {
	display: none;
}

.plans__tabs [role="tab"] {
	min-height: 52px;
	padding: 0 24px;
	border: 0;
	background: transparent;
	font: 700 0.75rem/1.2 var(--sans);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--ease), color var(--ease);
}

.plans__tabs [role="tab"] + [role="tab"] {
	border-left: 1px solid var(--ink);
}

.plans__tabs [aria-selected="true"] {
	background: var(--ink);
	color: var(--white);
}

.plan + .plan {
	margin-top: 48px;
}

.plans.is-tabbed .plan + .plan {
	margin-top: 0;
}

.plan__description {
	max-width: 640px;
	margin: 0 auto 28px;
	font: 400 1.25rem/1.5 var(--serif);
}

.plan__card {
	max-width: 420px;
	margin: 0 auto;
	padding: 32px 28px 28px;
	border: 1px solid var(--line);
	border-top: 4px solid var(--brand);
	background: var(--white);
	text-align: left;
}

.plan__title {
	font-size: 1.5rem;
	font-weight: 600;
}

.plan__period {
	margin-top: 6px;
	color: var(--muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.plan__price {
	margin-top: 18px;
	font: 600 2.25rem/1.1 var(--sans);
	letter-spacing: -0.01em;
}

.plan__features {
	margin: 22px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--line);
	list-style: none;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.plan__features li {
	position: relative;
	padding-left: 24px;
}

.plan__features li + li {
	margin-top: 10px;
}

.plan__features li::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 12px;
	height: 2px;
	background: var(--brand);
}

.plan__action {
	margin-top: 26px;
}

.plan__action .button,
.plan__action form .button {
	width: 100%;
	border-color: var(--brand);
	background: var(--brand);
}

.plan__action .button:hover {
	border-color: var(--brand-dark);
	background: var(--brand-dark);
}

.plan__note {
	margin-top: 12px;
	color: var(--muted);
	font-size: 0.875rem;
	text-align: center;
}

.plan__note a {
	color: var(--brand);
	text-decoration: underline;
}

.subscription__seller {
	margin-top: 32px;
	color: var(--muted);
	font-size: 0.8125rem;
	text-align: center;
}

/* Checkout step: one narrow column on a white box, fields as in the question form. */

.checkout {
	max-width: 560px;
	margin: 0 auto 48px;
	padding: 28px 20px;
	border: 1px solid var(--line);
	border-top: 4px solid var(--brand);
	background: var(--white);
	text-align: left;
}

@media (min-width: 640px) {
	.checkout {
		padding: 36px 44px;
	}
}

.checkout__title {
	font: 600 1.5rem/1.25 var(--sans);
	text-align: center;
}

.checkout__summary {
	margin-top: 14px;
	font-size: 1rem;
	line-height: 1.55;
	text-align: center;
}

.checkout__form {
	margin-top: 24px;
}

.checkout__login,
.checkout__note {
	margin-top: 16px;
	color: var(--muted);
	font-size: 0.9375rem;
	text-align: center;
}

.checkout__login a,
.form__check a {
	color: var(--brand);
	text-decoration: underline;
}

.form .form__field {
	margin-top: 20px;
}

.form__field label {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.form__field input,
.form__field textarea,
.form__field select {
	display: block;
	width: 100%;
	min-height: 48px;
	margin-top: 8px;
	padding: 12px 14px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: var(--white);
	font: 400 1rem/1.4 var(--sans);
}

.form__hint {
	display: block;
	margin-top: 6px;
	color: var(--muted);
	font-size: 0.875rem;
}

.form .form__check {
	margin-top: 18px;
}

.form__check label {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 0.9375rem;
	line-height: 1.45;
}

.form__check input {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--brand);
}

.form .form__submit {
	margin-top: 28px;
}

.form__submit .button {
	width: 100%;
}

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

.subscribe__more {
	margin: 40px 0 0;
	text-align: center;
}

.subscribe__more a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	font: 700 0.78rem/1.2 var(--sans);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.subscribe__more a span {
	color: var(--brand);
}

.subscribe__more a:hover {
	color: var(--brand);
}

.feature {
	margin-top: 64px;
	padding: 48px 0 56px;
	border-top: 4px solid var(--ink);
}

.feature + .feature {
	margin-top: 0;
	border-top: 4px solid var(--brand);
	background: var(--mist);
}

.feature__head {
	display: grid;
	gap: 16px 32px;
	margin-bottom: 32px;
}

@media (min-width: 1024px) {
	.feature__head {
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: start;
	}

	.feature__head .section-more {
		align-self: end;
	}
}

.feature__number {
	color: var(--brand);
	font: 600 4.25rem/0.8 var(--sans);
	letter-spacing: -0.02em;
}

.feature__title {
	font-size: clamp(1.75rem, 3vw, 2.375rem);
}

.feature__text {
	max-width: 640px;
	margin-top: 12px;
	font: 400 1.1875rem/1.5 var(--serif);
}

.faq {
	margin-top: 64px;
}

.faq__list {
	padding: 0 20px;
	border: 1px solid var(--line);
	background: var(--white);
}

.section-head + .faq__list {
	margin-top: -24px;
	border-top: 0;
}

.faq__item + .faq__item {
	border-top: 1px solid var(--line);
}

.faq__item summary {
	position: relative;
	padding: 20px 44px 20px 0;
	font: 700 1.0625rem/1.4 var(--sans);
	list-style: none;
	cursor: pointer;
	transition: color var(--ease);
}

.faq__item summary:hover {
	color: var(--brand);
}

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

.faq__item summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 4px;
	color: var(--brand);
	font: 400 1.75rem/1 var(--sans);
	transform: translateY(-50%);
}

.faq__item[open] summary::after {
	content: "−";
}

.faq__item p {
	padding-bottom: 22px;
	font: 400 1.1875rem/1.55 var(--serif);
}

.faq__more {
	margin-top: 24px;
	font-size: 1rem;
	text-align: center;
}

.faq__more a {
	color: var(--brand);
	text-decoration: underline;
}

.subscribe__cta {
	margin-top: 36px;
	text-align: center;
}

.subscribe__cta .button {
	border-color: var(--brand);
	background: var(--brand);
}

.subscribe__cta .button:hover {
	border-color: var(--brand-dark);
	background: var(--brand-dark);
}

/* ------------------------------------------------------------------ Pagination and comments */

.pagination {
	margin-top: 48px;
	font: 700 0.78rem/1 var(--sans);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--ink);
	background: var(--white);
	transition: background-color var(--ease), color var(--ease);
}

.pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

.pagination .page-numbers.current,
.pagination a.page-numbers:hover {
	background: var(--ink);
	color: var(--white);
}

.comments {
	max-width: calc(var(--measure) + 2 * var(--gutter));
	margin: 56px auto 0;
	padding: 0 var(--gutter);
}

.comments__title {
	margin-bottom: 24px;
	font-size: 1.375rem;
}

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

.comments__list .comment {
	padding: 20px 0;
	border-top: 1px solid var(--line);
}

.comment-form textarea {
	height: 160px;
}

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

.site-footer {
	padding: 48px 0 28px;
	background: var(--ink);
	color: var(--white);
	border-top: 8px solid var(--brand);
}

.site-footer__grid {
	display: grid;
	gap: 36px 32px;
}

@media (min-width: 640px) {
	.site-footer {
		padding-top: 60px;
	}

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

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

@media (min-width: 1024px) {
	.site-footer__grid {
		grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
		gap: 48px;
	}

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

.logo--footer {
	order: 0;
	color: var(--white);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	white-space: normal;
}

.logo--footer a:hover {
	color: var(--brand-soft);
}

.site-footer__about {
	max-width: 460px;
	margin: 18px 0 24px;
	color: #bdb3af;
	font: 400 1.125rem/1.5 var(--serif);
}

.site-footer__title {
	margin-bottom: 12px;
	color: #9d9290;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

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

.footer-menu a {
	display: flex;
	align-items: center;
	min-height: 42px;
	border-bottom: 1px solid var(--line-dark);
	color: #ece5df;
	font-size: 0.8125rem;
	font-weight: 700;
	transition: color var(--ease);
}

.footer-menu a:hover {
	color: var(--brand-soft);
}

.site-footer__legal {
	margin-top: 44px;
	padding-top: 20px;
	border-top: 1px solid var(--line-dark);
	color: #8e8582;
	font-size: 0.75rem;
	line-height: 1.6;
}

.site-footer__legal p + p {
	margin-top: 6px;
}

.site-footer__legal a,
.site-footer__cookies {
	color: #bdb3af;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.site-footer__legal a:hover,
.site-footer__cookies:hover {
	color: var(--white);
}

.site-footer__cookies {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	cursor: pointer;
}

.site-footer__docs {
	margin-top: 14px;
}

.age-mark {
	display: inline-block;
	margin-left: 4px;
	padding: 0 6px;
	border: 1px solid currentColor;
	font-weight: 700;
}

.consent-request {
	padding: 24px;
	border: 1px solid var(--line);
	border-left: 4px solid var(--brand);
	background: var(--white);
}

/* ------------------------------------------------------------------ Motion */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

/* ------------------------------------------------------------------ Account */

/* «Личный кабинет»: one narrow column of sections between rules, labels in bold capitals with the
   red dash, square buttons. */

.account {
	max-width: 560px;
	margin: 0 auto;
	font-size: 1rem;
}

.account .account__hello {
	font: 600 1.375rem/1.3 var(--sans);
	text-align: center;
}

.account__hello span {
	display: block;
	margin-top: 6px;
	color: var(--muted);
	font: 400 0.9375rem/1.4 var(--sans);
}

.account .account__section {
	margin-top: 36px;
	padding: 22px 24px 24px;
	border: 1px solid var(--line);
	border-top: 3px solid var(--ink);
	background: var(--white);
}

.account .account__heading,
.cabinet__heading {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	font: 700 0.78rem/1.3 var(--sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.account .account__heading::before,
.cabinet__heading::before {
	content: "";
	flex: none;
	width: 18px;
	height: 2px;
	background: var(--brand);
}

.account .account__lead {
	margin-top: 14px;
	font-size: 1rem;
	line-height: 1.55;
}

.account .account__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
}

.account .account__list {
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.account .account__list li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px 16px;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
}

.account .account__list:last-child li:last-child {
	border-bottom: 0;
}

.account__meta {
	color: var(--muted);
	font-size: 0.875rem;
}

.account--guest #loginform {
	padding: 4px 24px 24px;
	border: 1px solid var(--line);
	border-top: 4px solid var(--brand);
	background: var(--white);
}

.account--guest #loginform p {
	margin-top: 20px;
}

.account--guest #loginform label {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.account--guest #loginform .input {
	display: block;
	width: 100%;
	min-height: 48px;
	margin-top: 8px;
	padding: 12px 14px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: var(--white);
	font: 400 1rem/1.4 var(--sans);
}

.account--guest #loginform .login-remember label {
	display: flex;
	gap: 10px;
	align-items: center;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.account--guest #loginform .login-remember input {
	width: 18px;
	height: 18px;
	accent-color: var(--brand);
}

.account--guest #loginform .button {
	width: 100%;
}

.account .account__links,
.account .account__note {
	margin-top: 20px;
	font-size: 0.9375rem;
	text-align: center;
}

.account__links a {
	color: var(--brand);
	text-decoration: underline;
}

.account__links a + a {
	margin-left: 20px;
}

.account .account__note {
	color: var(--muted);
}

.account__note a {
	color: var(--brand);
}

/* Account sections (jshrift-cabinet): the member and the sections in bold capitals between
   rules, as the section row of the header; below, one wide column of the section. */

.account-page {
	max-width: 900px;
	margin: 32px auto 0;
}

.icon-button__count,
.cabinet-nav__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--brand);
	color: var(--white);
	font: 600 0.75rem/1 var(--sans);
	letter-spacing: 0;
}

.icon-button__count {
	position: absolute;
	top: -8px;
	right: -8px;
}

.drawer .icon-button__count {
	position: static;
	margin-left: 8px;
}

.cabinet-nav__hello {
	font: 600 1.375rem/1.3 var(--sans);
	text-align: center;
}

.cabinet-nav__hello span {
	display: block;
	margin-top: 6px;
	color: var(--muted);
	font: 400 0.9375rem/1.4 var(--sans);
}

.cabinet-nav__list {
	display: flex;
	margin: 24px 0 0;
	padding: 0;
	overflow-x: auto;
	border-top: 1px solid var(--ink);
	border-bottom: 1px solid var(--line);
	background: var(--white);
	list-style: none;
	scrollbar-width: none;
}

@media (min-width: 768px) {
	.cabinet-nav__list {
		flex-wrap: wrap;
		overflow: visible;
	}
}

.cabinet-nav__list li {
	flex: none;
	margin: 0;
	border-right: 1px solid var(--line);
}

.cabinet-nav__list a {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	min-height: 46px;
	padding: 0 16px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color var(--ease), color var(--ease);
}

.cabinet-nav__list a[aria-current="page"],
.cabinet-nav__list a:hover {
	background: var(--ink);
	color: var(--white);
}

.cabinet__body {
	margin-top: 32px;
}

.cabinet__head {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	align-items: center;
	justify-content: space-between;
}

.cabinet__title {
	font: 600 1.5rem/1.25 var(--sans);
}

.cabinet__lead {
	margin-top: 14px;
	font-size: 1rem;
	line-height: 1.55;
}

.cabinet__lead a,
.cabinet__more a,
.cabinet__back a,
.cabinet-list a,
.cabinet-top a,
.cabinet-notices a,
.cabinet-materials a {
	color: var(--ink);
	text-decoration: underline;
	text-decoration-color: var(--line);
	text-underline-offset: 3px;
}

.cabinet__lead a:hover,
.cabinet__more a:hover,
.cabinet__back a:hover,
.cabinet-list a:hover,
.cabinet-top a:hover,
.cabinet-notices a:hover,
.cabinet-materials a:hover {
	color: var(--brand);
	text-decoration-color: currentColor;
}

.cabinet__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
}

.cabinet__actions form {
	display: inline;
}

.cabinet__section {
	margin-top: 32px;
	padding: 20px 24px 24px;
	border: 1px solid var(--line);
	border-top: 3px solid var(--ink);
	background: var(--white);
}

.cabinet__more,
.cabinet__back {
	margin-top: 16px;
	font-size: 0.9375rem;
}

.cabinet__back {
	margin: 0 0 16px;
}

.cabinet__note {
	margin-top: 24px;
	color: var(--muted);
	font-size: 0.875rem;
}

/* Overview cards and statistics totals. */

.cabinet-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
	margin-top: 24px;
}

.cabinet-card {
	display: block;
	padding: 20px;
	border: 1px solid var(--line);
	border-top: 3px solid var(--ink);
	background: var(--white);
	color: var(--ink);
	text-decoration: none;
	transition: border-color var(--ease);
}

a.cabinet-card:hover {
	border-top-color: var(--brand);
}

.cabinet-card__label {
	display: block;
	color: var(--muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cabinet-card__value {
	margin-top: 10px;
	font: 600 1.375rem/1.3 var(--sans);
}

.cabinet-card__meta {
	margin-top: 6px;
	color: var(--muted);
	font-size: 0.875rem;
	line-height: 1.4;
}

/* Editorial campaigns: a banner on a light box with a red rule, or an item of the feed. */

.cabinet-promo {
	margin-bottom: 16px;
	padding: 20px 24px;
	border-left: 4px solid var(--brand);
	background: var(--mist);
}

.cabinet-promo--feed {
	margin: 0;
	padding: 18px 0;
	border-left: 0;
	border-bottom: 1px solid var(--line);
	background: none;
}

.cabinet-promo__title {
	font: 700 1.0625rem/1.35 var(--sans);
}

.cabinet-promo.is-new .cabinet-promo__title::before,
.cabinet-notices__item.is-new .cabinet-notices__title::before {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 8px;
	border-radius: 50%;
	background: var(--brand);
	vertical-align: 2px;
	content: "";
}

.cabinet-promo__text {
	margin-top: 8px;
	font-size: 1rem;
	line-height: 1.5;
}

.cabinet-promo__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	align-items: center;
	margin-top: 14px;
}

.cabinet-promo__dismiss,
.cabinet-editor__delete {
	padding: 0;
	border: 0;
	background: none;
	color: var(--muted);
	font: 400 0.875rem/1.4 var(--sans);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.cabinet-editor__delete {
	color: var(--brand);
}

/* Notices, materials, events and orders. */

.cabinet-notices,
.cabinet-materials,
.cabinet-list,
.cabinet-top {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.cabinet-notices__item,
.cabinet-materials__item,
.cabinet-list li {
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid var(--line);
}

.cabinet-notices__title,
.cabinet-materials__title,
.cabinet-list__title {
	font: 700 1.0625rem/1.35 var(--sans);
}

.cabinet-notices__body {
	margin-top: 6px;
	font-size: 1rem;
	line-height: 1.5;
}

.cabinet-notices__date,
.cabinet-materials__meta,
.cabinet-list__meta {
	margin-top: 6px;
	color: var(--muted);
	font-size: 0.875rem;
}

.cabinet-materials__note {
	margin-top: 10px;
	padding: 10px 14px;
	border-left: 3px solid var(--brand);
	background: var(--mist);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.cabinet-tabs,
.cabinet-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0 0 20px;
	font-size: 0.9375rem;
}

.cabinet-filter {
	margin: 20px 0 0;
}

.cabinet-tabs a,
.cabinet-filter a {
	padding-bottom: 4px;
	border-bottom: 2px solid transparent;
	text-decoration: none;
}

.cabinet-tabs a:hover,
.cabinet-filter a:hover {
	color: var(--brand);
}

.cabinet-tabs a[aria-current="page"],
.cabinet-filter a[aria-current="page"] {
	border-bottom-color: var(--brand);
	font-weight: 700;
}

.cabinet-filter span {
	color: var(--muted);
}

.cabinet-pages {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 24px;
}

.cabinet-pages a {
	min-width: 36px;
	padding: 8px 10px;
	border: 1px solid var(--ink);
	background: var(--white);
	text-align: center;
	text-decoration: none;
}

.cabinet-pages a[aria-current="page"],
.cabinet-pages a:hover {
	background: var(--ink);
	color: var(--white);
}

/* Statistics: views by day as thin bars, the most read as a ranked list. */

.cabinet-chart {
	display: flex;
	gap: 3px;
	align-items: flex-end;
	height: 120px;
	margin: 16px 0 0;
	padding: 0;
	border-bottom: 1px solid var(--ink);
	list-style: none;
}

.cabinet-chart li {
	display: flex;
	flex: 1;
	align-items: flex-end;
	height: 100%;
	margin: 0;
}

.cabinet-chart li span:first-child {
	width: 100%;
	min-height: 1px;
	background: var(--brand);
}

.cabinet-top li {
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
	font-size: 1rem;
}

.cabinet-top li span {
	flex: none;
	color: var(--muted);
}

/* The entry editor and the profile. */

.form__label {
	display: block;
	margin-bottom: 8px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.form__field textarea {
	resize: vertical;
}

.form__inline {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-top: 10px;
	font-size: 0.9375rem;
	letter-spacing: 0;
	text-transform: none;
}

.form__inline input {
	width: 18px;
	height: 18px;
	accent-color: var(--brand);
}

.cabinet-note {
	margin: 20px 0 0;
	padding: 16px 20px;
	border-left: 3px solid var(--brand);
	background: var(--mist);
	line-height: 1.5;
}

.cabinet-note__title {
	margin-bottom: 6px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cabinet-cover img {
	display: block;
	max-width: 100%;
	max-height: 360px;
	margin-bottom: 12px;
	object-fit: cover;
}

.cabinet-cover img[hidden] {
	display: none;
}

.cabinet-cover:not(.has-cover) [data-cover-remove] {
	display: none;
}

/* The media window over the site: WordPress's fields and buttons, not the site's (its search box
   carries the class search-form of the site's search). */
.media-modal .search-form {
	display: block;
}

.media-modal .search-form input[type="search"] {
	min-height: 32px;
	padding: 0 8px;
	border: 1px solid #949494;
	border-radius: 2px;
	font: 400 13px/2.14 -apple-system, "Segoe UI", Roboto, sans-serif;
}

.media-modal .search-form input[type="search"]:focus {
	border-color: var(--ink);
	box-shadow: 0 0 0 1px var(--ink);
}

.media-modal .button {
	display: inline-block;
	min-height: 0;
	gap: 0;
	font: 400 13px/2.15 -apple-system, "Segoe UI", Roboto, sans-serif;
	letter-spacing: normal;
	text-transform: none;
	transition: none;
}

.media-modal .button-large {
	line-height: 2.30769231;
}

.media-modal .button-primary {
	border-color: var(--ink);
	background: var(--ink);
	color: var(--white);
}

.media-modal .button-primary:hover,
.media-modal .button-primary:focus {
	border-color: var(--brand);
	background: var(--brand);
	color: var(--white);
}

.media-modal .button-primary[disabled],
.media-modal .button-primary:disabled {
	border-color: var(--line) !important;
	background: var(--mist) !important;
	color: var(--muted) !important;
}

.cabinet-editor__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
	margin-top: 28px;
}

.cabinet-photo__image {
	display: block;
	width: 96px;
	height: 96px;
	margin-bottom: 12px;
	border: 1px solid var(--line);
	object-fit: cover;
}

.cabinet-photo input[type="file"] {
	padding: 10px;
	font-size: 0.9375rem;
}

/* ------------------------------------------------------------------ «О редакции» and «Контакты» */

/*
 * Blocks of the first theme (a cover, the text beside its heading, photo tiles of the rubrics,
 * principles, the chief editor, the plans, contacts, requisites, documents, the question box),
 * in the yerkramas.org manner: graphite and light grey surfaces, red rules and marks, Literata.
 */

/* An icon in a light grey square with a thin frame, the icon in red. */
.icon-circle {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 1px solid var(--line);
	background: var(--mist);
	color: var(--brand);
}

/* Cover: the page's featured image or a graphite band with the letter of the logo. */
.about-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(360px, 56vh, 580px);
	overflow: hidden;
	background: var(--ink);
	color: var(--white);
	border-bottom: 8px solid var(--brand);
}

.about-hero:not(.has-cover)::before {
	content: "Ж";
	position: absolute;
	right: -0.04em;
	bottom: -0.28em;
	color: rgb(255 255 255 / 6%);
	font: 400 clamp(20rem, 52vw, 46rem)/1 var(--didone);
	pointer-events: none;
}

.about-hero.has-cover::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(27 30 36 / 82%), rgb(27 30 36 / 12%) 65%);
}

.about-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-hero__text {
	position: relative;
	z-index: 1;
	padding: 64px 0 48px;
}

.about-hero__kicker {
	display: flex;
	align-items: center;
	gap: 9px;
	color: var(--brand-soft);
	font: 700 0.78rem/1.3 var(--sans);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.about-hero__kicker::before {
	content: "";
	width: 20px;
	height: 2px;
	background: currentColor;
}

.about-hero__title {
	margin-top: 14px;
	font-family: var(--didone);
	font-size: clamp(3rem, 9vw, 7rem);
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.01em;
}

.about-hero__motto {
	margin-top: 18px;
	color: #bdb3af;
	font: italic 400 clamp(1.25rem, 2.4vw, 1.875rem)/1.3 var(--serif);
}

/* The text of the page beside its heading. */
.about-intro {
	display: grid;
	gap: 20px;
	padding-top: 56px;
}

@media (min-width: 1024px) {
	.about-intro {
		grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
		gap: 64px;
		padding-top: 80px;
	}
}

.about-intro__title {
	padding-top: 14px;
	border-top: 4px solid var(--ink);
	font-family: var(--didone);
	font-size: clamp(2rem, 3.6vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.01em;
}

.about-intro .entry-content {
	max-width: 760px;
	margin: 0;
	padding: 0;
}

.entry-content .is-lead {
	font-size: clamp(1.25rem, 2.2vw, 1.625rem);
	line-height: 1.45;
}

/* Rubrics and sections: photo tiles with the name over the photo. */
.topic-grid {
	display: grid;
	gap: 16px;
}

@media (min-width: 640px) {
	.topic-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.topic-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}
}

.topic {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--ink);
	color: var(--white);
	border-bottom: 4px solid var(--brand);
}

.topic::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(27 30 36 / 86%), rgb(27 30 36 / 0%) 62%);
}

.topic--plain {
	background: var(--panel);
}

.topic--plain::after {
	display: none;
}

.topic__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms ease;
}

.topic:hover .topic__image {
	transform: scale(1.04);
}

.topic__sign {
	position: absolute;
	top: -0.05em;
	right: 8%;
	color: var(--brand-soft);
	font: 400 clamp(9rem, 18vw, 14rem)/1 var(--didone);
}

.topic__body {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px 24px;
}

.topic__title {
	font: 700 0.9375rem/1.25 var(--sans);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.topic__title::after {
	content: " →";
	color: var(--brand-soft);
	letter-spacing: 0;
}

.topic:hover .topic__title {
	text-decoration: underline;
}

.topic__text {
	color: rgb(255 255 255 / 84%);
	font: 400 0.9375rem/1.45 var(--sans);
}

/* Principles: numbered cells on a light grey band, the last one asks to report a mistake. */
.about-principles {
	margin-top: 80px;
	padding: 1px 0 72px;
	background: var(--mist);
	border-top: 4px solid var(--brand);
}

.about-principles .section-head {
	margin-top: 48px;
}

.principles {
	display: grid;
	gap: 1px;
	border: 1px solid var(--line);
	background: var(--line);
}

@media (min-width: 640px) {
	.principles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.principles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.principle {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 220px;
	padding: 28px 26px 32px;
	background: var(--white);
}

.principle__number {
	padding-bottom: 12px;
	color: var(--brand);
	font: 600 2.75rem/1 var(--sans);
	letter-spacing: -0.02em;
}

.principle__title {
	font: 600 1.25rem/1.25 var(--sans);
}

.principle__text {
	color: var(--muted);
	font: 400 1.125rem/1.5 var(--serif);
}

.principle--action {
	justify-content: flex-end;
	background: var(--ink);
	color: var(--white);
}

.principle--action .principle__title {
	font: 700 1.875rem/1.15 var(--didone);
}

.principle--action .principle__text {
	color: var(--on-dark-muted);
}

.principle--action .button {
	align-self: flex-start;
	margin-top: 12px;
}

/* The chief editor: a portrait (the initials until there is a photo) and the text. */
.editor-card {
	display: grid;
	gap: 28px;
	align-items: center;
}

@media (min-width: 768px) {
	.editor-card {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 56px;
	}
}

.editor-card__portrait {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 260px;
	aspect-ratio: 4 / 5;
	border: 1px solid var(--line);
	background: var(--mist);
	color: var(--brand);
	font: 400 5.5rem/1 var(--didone);
}

.editor-card__name {
	font-family: var(--didone);
	font-size: clamp(2rem, 4vw, 2.875rem);
	font-weight: 700;
	letter-spacing: -0.01em;
}

.editor-card__about {
	max-width: 640px;
	margin-top: 16px;
	font: 400 1.1875rem/1.55 var(--serif);
}

.editor-card__links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	margin-top: 24px;
	font: 600 1rem/1.4 var(--sans);
}

.editor-card__links a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.editor-card__links svg {
	color: var(--brand);
}

.editor-card__links a:hover {
	color: var(--brand);
}

/* Plans: a graphite band with the subscription and the plans for sale. */
.about-plans {
	margin-top: 80px;
	padding: 72px 0;
	background: var(--ink);
	color: var(--white);
	border-top: 8px solid var(--brand);
}

.about-plans__inner {
	display: grid;
	gap: 40px;
}

@media (min-width: 1024px) {
	.about-plans__inner {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		gap: 72px;
		align-items: center;
	}
}

.about-plans__kicker {
	display: flex;
	align-items: center;
	gap: 9px;
	color: var(--brand-soft);
	font: 700 0.78rem/1.3 var(--sans);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.about-plans__kicker::before {
	content: "";
	width: 20px;
	height: 2px;
	background: currentColor;
}

.about-plans__title {
	margin-top: 14px;
	font-family: var(--didone);
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 700;
	letter-spacing: -0.01em;
}

.about-plans__text {
	margin-top: 18px;
	color: #bdb3af;
	font: 400 1.1875rem/1.55 var(--serif);
}

.about-plans__intro .button {
	margin-top: 28px;
}

.about-plans__list {
	display: grid;
	gap: 16px;
}

@media (min-width: 640px) {
	.about-plans__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.plan-mini {
	padding: 26px;
	border: 1px solid var(--line-dark);
	border-top: 3px solid var(--brand-soft);
	background: var(--panel);
}

.plan-mini__title {
	font: 700 0.9375rem/1.3 var(--sans);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.plan-mini__features {
	margin: 16px 0 0;
	padding: 0;
	color: var(--on-dark-muted);
	font: 400 0.9375rem/1.5 var(--sans);
	list-style: none;
}

.plan-mini__features li {
	position: relative;
	padding-left: 22px;
}

.plan-mini__features li + li {
	margin-top: 10px;
}

.plan-mini__features li::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 12px;
	height: 2px;
	background: var(--brand-soft);
}

/* Contacts of «О редакции»: three white cells with icons. */
.contact-strip {
	display: grid;
	gap: 1px;
	border: 1px solid var(--line);
	border-top: 0;
	background: var(--line);
}

@media (min-width: 768px) {
	.contact-strip {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.contact-strip__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 28px 26px;
	background: var(--white);
	transition: background-color var(--ease);
}

.contact-strip__item:hover {
	background: var(--paper);
}

.contact-strip__item .icon-circle {
	margin-bottom: 14px;
}

.contact-strip__label {
	color: var(--muted);
	font: 600 0.75rem/1.3 var(--sans);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.contact-strip__value {
	font: 700 clamp(1.25rem, 2vw, 1.5rem)/1.25 var(--sans);
	letter-spacing: -0.015em;
	overflow-wrap: anywhere;
}

.about-imprint.entry-content {
	max-width: 880px;
	margin: 48px 0 0;
	padding: 0;
}

.about-imprint h2 {
	margin: 0 0 18px;
	font-family: var(--didone);
	font-size: 1.875rem;
	font-weight: 700;
}

/* «Контакты»: a white band with the e-mail and phone in large type and the chief editor. */
.contacts-hero {
	padding: 48px 0 56px;
	background: var(--white);
	border-bottom: 1px solid var(--line);
}

.contacts-hero__inner {
	display: grid;
	gap: 40px;
}

@media (min-width: 1024px) {
	.contacts-hero__inner {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 72px;
		align-items: end;
		padding: 16px 0;
	}
}

.contacts-hero__title {
	font-family: var(--didone);
	font-size: clamp(3rem, 8vw, 6rem);
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.01em;
}

.contacts-hero__lead {
	max-width: 640px;
	margin-top: 20px;
	color: var(--muted);
	font: 400 clamp(1.25rem, 2vw, 1.5rem)/1.45 var(--serif);
}

.contacts-hero__big {
	margin-top: 28px;
	font: 700 clamp(1.5rem, 4vw, 2.625rem)/1.2 var(--sans);
	letter-spacing: -0.025em;
	overflow-wrap: anywhere;
}

.contacts-hero__big + .contacts-hero__big {
	margin-top: 6px;
}

.contacts-hero__big a {
	text-decoration: underline;
	text-decoration-color: var(--brand);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
	transition: color var(--ease);
}

.contacts-hero__big a:hover {
	color: var(--brand);
}

.contacts-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.contacts-hero__actions .button:not(.button--ghost) {
	border-color: var(--brand);
	background: var(--brand);
}

.contacts-hero__actions .button:not(.button--ghost):hover {
	border-color: var(--brand-dark);
	background: var(--brand-dark);
}

.editor-mini {
	padding: 28px;
	border: 1px solid var(--line);
	border-top: 4px solid var(--brand);
	background: var(--paper);
}

.editor-mini__portrait {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	margin-bottom: 22px;
	background: var(--ink);
	color: var(--white);
	font: 400 2.125rem/1 var(--didone);
}

.editor-mini__name {
	font: 700 1.625rem/1.2 var(--didone);
}

.editor-mini__link {
	margin-top: 12px;
	font: 600 1rem/1.4 var(--sans);
}

.editor-mini__link a {
	color: var(--brand);
	text-decoration: underline;
}

/* What to write about: white cards with icons. */
.help-grid {
	display: grid;
	gap: 16px;
}

@media (min-width: 640px) {
	.help-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.help-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 20px;
	}
}

.help-card {
	display: flex;
	flex-direction: column;
	padding: 28px 24px;
	border: 1px solid var(--line);
	border-top: 3px solid var(--ink);
	background: var(--white);
	transition: border-top-color var(--ease);
}

.help-card:hover {
	border-top-color: var(--brand);
}

.help-card .icon-circle {
	margin-bottom: 22px;
}

.help-card__title {
	font: 700 1.1875rem/1.3 var(--sans);
	letter-spacing: -0.01em;
}

.help-card__text {
	margin-top: 10px;
	color: var(--muted);
	font: 400 0.9375rem/1.55 var(--sans);
}

.help-card__link {
	margin-top: auto;
	padding-top: 22px;
	font: 700 0.9375rem/1.4 var(--sans);
	overflow-wrap: anywhere;
}

.help-card__link a {
	color: var(--brand);
	text-decoration: underline;
}

/* Requisites: what they are for and «copy», the table beside. */
.requisites {
	display: grid;
	gap: 32px;
}

@media (min-width: 1024px) {
	.requisites {
		grid-template-columns: 320px minmax(0, 1fr);
		gap: 64px;
	}
}

.requisites__title {
	font-family: var(--didone);
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.requisites__intro p {
	margin-top: 12px;
	color: var(--muted);
	font: 400 1rem/1.55 var(--sans);
}

.requisites__intro .button {
	margin-top: 22px;
}

.requisites__status {
	display: block;
	margin-top: 10px;
	color: var(--muted);
	font: 400 0.9375rem/1.3 var(--sans);
}

.requisites__table {
	width: 100%;
	border-top: 3px solid var(--ink);
	border-collapse: collapse;
	background: var(--white);
	font: 400 1rem/1.45 var(--sans);
}

.requisites__table th,
.requisites__table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--line);
	text-align: left;
	vertical-align: baseline;
}

.requisites__table th {
	width: 40%;
	padding-right: 24px;
	color: var(--muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.requisites__table td {
	overflow-wrap: anywhere;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 639px) {
	.requisites__table tr {
		display: block;
		padding: 12px 16px;
		border-bottom: 1px solid var(--line);
	}

	.requisites__table th,
	.requisites__table td {
		display: block;
		width: auto;
		padding: 0;
		border: 0;
	}

	.requisites__table td {
		margin-top: 2px;
	}
}

/* Documents. */
.doc-grid {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) {
	.doc-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.doc-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}
}

.doc-card {
	display: flex;
	align-items: center;
	gap: 16px;
	height: 100%;
	padding: 22px 24px;
	border: 1px solid var(--line);
	background: var(--white);
	font: 600 1rem/1.35 var(--sans);
	transition: border-color var(--ease), color var(--ease);
}

.doc-card:hover {
	border-color: var(--ink);
	color: var(--brand);
}

.doc-card svg {
	flex: none;
	color: var(--brand);
}

.doc-card svg:first-child {
	width: 28px;
	height: 28px;
}

.doc-card__title {
	flex: 1;
}

.doc-card svg:last-child {
	transition: transform var(--ease);
}

.doc-card:hover svg:last-child {
	transform: translateX(4px);
}

/* The question box: light grey, a red rule on top, a serif title and a red button. */
.cta-band {
	margin-top: 80px;
}

.cta-band__inner {
	display: grid;
	gap: 24px;
	padding: 32px 24px;
	border: 1px solid var(--line);
	border-top: 4px solid var(--brand);
	background: var(--mist);
}

@media (min-width: 1024px) {
	.cta-band__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 42px;
		padding: 44px 48px;
	}
}

.cta-band__title {
	font-family: var(--didone);
	font-size: clamp(1.75rem, 3.2vw, 2.5rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.cta-band__text {
	margin-top: 12px;
	color: var(--muted);
	font: 400 1.1875rem/1.5 var(--serif);
}

.cta-band .button {
	justify-self: start;
}

/* ------------------------------------------------------------------ Print */

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

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