/*
Theme Name: Eleanor Mill
Theme URI: https://eleanormill.com/
Author: Eleanor Mill Studio
Author URI: https://eleanormill.com/
Description: Кастомная адаптивная тема WordPress для сайта-портфолио художника Eleanor Mill. Две галереи (Drawing и Artist's Book), раздел About с подразделами, двуязычность через Polylang, управление контентом из админки.
Version: 1.0.0
Copyright 2026 Eleanor Mill Studio
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: eleanor-mill
Tags: portfolio, custom-menu, custom-logo, featured-images, translation-ready, one-column
*/
@import url('https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400&display=swap');

/* ==========================================================================
   1. Design tokens
   ========================================================================== */

:root {
	--color-ink: #231f20;
	--color-black: #000000;
	--color-grey: #808080;
	--color-orange: #ff4d00;
	--color-footer: #7d7f7d;
	--color-white: #ffffff;
	--color-border: #4e5754;
	--color-soft-line: rgba(35, 31, 32, 0.22);

	--font-sans: "PTSansCustom", Arial, Helvetica, sans-serif;

	--container: 1440px;
	--gutter: 32px;
	--header-height: 75px;

	--ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ==========================================================================
   2. Reset and global
   ========================================================================== */

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--color-white);
	color: var(--color-ink);
	font-family: var(--font-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	hyphens: none;
	-webkit-hyphens: none;
	overflow-x: hidden;
}

body.menu-open {
	overflow: hidden;
}

body.menu-open .site-header .subnav,
body.menu-open .site-header .mobile-section-bar,
body.menu-open .site-header .context-nav {
	display: none;
}

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

figure {
	margin: 0;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: var(--color-orange);
}

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

button {
	color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol {
	margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 400;
	line-height: 1.12;
}

p {
	hyphens: none;
	-webkit-hyphens: none;
	word-break: normal;
	overflow-wrap: break-word;
}

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

:focus-visible {
	outline: 2px solid var(--color-orange);
	outline-offset: 4px;
}
/* Убираем рамку фокуса и подсветку нажатия для переключателя языков */
.site-header .language-switcher,
.mobile-menu .language-switcher {
	-webkit-tap-highlight-color: transparent; /* Убирает стандартную подсветку нажатия на iPhone */
}

.site-header .language-switcher a:focus,
.site-header .language-switcher span:focus,
.site-header .language-switcher a:active,
.site-header .language-switcher span:active,
.site-header .language-switcher a:focus-visible,
.site-header .language-switcher span:focus-visible,
.mobile-menu .language-switcher a:focus,
.mobile-menu .language-switcher span:focus,
.mobile-menu .language-switcher a:active,
.mobile-menu .language-switcher span:active,
.mobile-menu .language-switcher a:focus-visible,
.mobile-menu .language-switcher span:focus-visible {
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

.container {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.container--narrow {
	max-width: 1100px;
}

.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 {
	position: fixed;
	top: 10px;
	left: 10px;
	z-index: 9999;
	padding: 12px 18px;
	background: var(--color-orange);
	color: var(--color-white);
	font-size: 16px;
	transform: translateY(-200%);
	transition: transform 0.2s ease;
}

.skip-link:focus {
	transform: translateY(0);
	color: var(--color-white);
}

.entry-content > *:last-child {
	margin-bottom: 0;
}

.entry-content a {
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

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

.entry-content img {
	height: auto;
}

.alignleft {
	float: left;
	margin: 0 30px 24px 0;
}

.alignright {
	float: right;
	margin: 0 0 24px 30px;
}

.aligncenter {
	display: block;
	margin-inline: auto;
}

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

.wp-caption-text,
.gallery-caption {
	color: var(--color-grey);
	font-size: 0.85em;
}

.sticky {
	position: relative;
}

.bypostauthor {
	display: block;
}

/* WordPress core alignment classes. */
.entry-content .wp-block-image img {
	height: auto;
}

/* ==========================================================================
   3. Header
   ========================================================================== */

.site-header {
	position: relative;
	z-index: 110;
	background: var(--color-white);
}

/* Делаем шапку сеткой, как и контент страницы About */
.site-header__inner {
	display: grid;
	grid-template-columns: 469px 1fr auto; /* 469px под логотип, 1fr под меню, auto под иконки */
	gap: 48px; /* Тот самый отступ 48px */
	align-items: center;
	min-height: var(--header-height);
	padding-top: 5px;
	padding-bottom: 5px;
}

.site-header__brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--color-ink);
}

.site-header__brand:hover {
	color: var(--color-ink);
}

.brand__mark {
	width: 56px;
	height: auto;
	flex: 0 0 auto;
}

.brand__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.brand__name {
	display: block;
	font-size: 32px;
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.015em;
	color: var(--color-ink);
}

.brand__role {
	display: block;
	margin-top: 4px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	color: var(--color-grey);
}

.lang-ru .brand__name {
	font-size: 30px;
}

.lang-ru .brand__role {
	font-size: 16px;
}

/* Основное меню */
.site-header__nav {
	display: flex;
	justify-content: flex-start;
	min-width: 0;
}

.primary-menu,
.about-menu,
.footer-menu,
.mobile-menu-list,
.mobile-submenu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-menu {
	display: flex;
	align-items: center;
	gap: 60px;
}

.lang-ru .primary-menu {
	gap: 40px;
}

.primary-menu > li {
	position: relative;
}

.primary-menu > li > a {
	display: inline-block;
	padding: 8px 0;
	color: var(--color-black);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.15;
	text-transform: lowercase;
	white-space: nowrap;
}

.primary-menu > li > a:hover,
.primary-menu > li > a:focus-visible {
	color: var(--color-grey);
}

.primary-menu > li.current-menu-item > a,
.primary-menu > li.current-menu-parent > a,
.primary-menu > li.current-menu-ancestor > a,
.primary-menu > li.current_page_item > a,
.primary-menu > li.current_page_parent > a,
.primary-menu > li.current_page_ancestor > a,
.primary-menu > li.is-active > a {
	color: var(--color-orange);
}

/* Иконки и языки */
.site-header__aside {
	display: flex;
	align-items: center; 
	justify-content: flex-end; 
	gap: 45px; 
	margin-right: 0; 
}

.social-list {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1; 
}

.social-list a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 21px;
	height: 21px;
	color: var(--color-grey);
}

.social-list a:hover,
.social-list a:focus-visible {
	color: var(--color-orange);
}

.social-list .icon {
	width: 21px;
	height: 21px;
}

.language-switcher {
	display: flex;
	align-items: center; /* Центрируем текст и черточку */
	gap: 6px;
	font-size: 18px;
	line-height: 1; /* Выравниваем высоту строки с иконками */
	color: var(--color-footer);
	white-space: nowrap;
}

.language-switcher a,
.language-switcher span {
	display: flex;
	align-items: center;
	padding: 0; /* Убираем старые отступы, которые ломали центр */
	color: var(--color-footer);
	line-height: 1;
}

.language-switcher a:hover {
	color: var(--color-orange);
}

.language-switcher .is-current {
	color: var(--color-ink);
}

.language-switcher__sep {
	color: var(--color-footer);
}

.header-rule {
	height: 1px;
	background: var(--color-orange);
}

/* ==========================================================================
   About / context sub-navigation.
   ========================================================================== */
.subnav {
	border-bottom: 1px solid var(--color-orange);
}

/* Второе меню тоже делаем сеткой для идеального выравнивания */
.subnav__inner {
	display: grid;
	grid-template-columns: 469px 1fr; 
	gap: 48px;
	align-items: center;
	min-height: auto;
	padding-top: 5px;
	padding-bottom: 5px;
}

/* Выравниваем блок навигации во вторую колонку (ровно под текстом) */
.subnav__inner > nav {
	grid-column: 2; 
}

.about-menu {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 40px;
	font-size: 16px;
	line-height: 1.2;
	margin: 0;
	padding: 0;
	list-style: none;
}

.about-menu > li > a {
	display: inline-block;
	color: var(--color-grey);
	text-transform: lowercase;
	white-space: nowrap;
}

.about-menu > li > a:hover,
.about-menu > li > a:focus-visible {
	color: var(--color-black);
}

.about-menu > li.current-menu-item > a,
.about-menu > li.current_page_item > a,
.about-menu > li.is-active > a {
	color: var(--color-orange);
}

/* Mobile section bar and About label. */
.mobile-section-bar {
	display: none;
}

.mobile-current-section {
	display: none;
	color: var(--color-orange);
	font-size: 21px;
	line-height: 1;
	text-transform: lowercase;
}

.context-nav {
	border-bottom: 1px solid var(--color-orange);
}

/* Single artwork context navigation. */
.context-nav__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: 30px;
	gap: 20px;
	font-size: 16px;
	line-height: 1.2;
	color: var(--color-grey);
}

.context-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--color-grey);
	text-transform: lowercase;
}

.context-nav__link--next {
	justify-content: flex-end;
}

.context-nav__link:hover {
	color: var(--color-orange);
}

.context-nav__link .icon {
	width: 20px;
	height: 20px;
}

.context-nav__title {
	max-width: 760px;
	padding: 0 20px;
	color: var(--color-grey);
	text-align: center;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Burger. */
.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-left: auto;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: var(--color-grey);
}

.menu-toggle:hover {
	color: var(--color-orange);
}

.menu-toggle__box {
	position: relative;
	display: block;
	width: 33px;
	height: 26px;
}

.menu-toggle__line {
	position: absolute;
	left: 0;
	width: 33px;
	height: 3px;
	border-radius: 2px;
	background: currentColor;
	transition: transform 0.28s var(--ease), opacity 0.2s ease, top 0.28s var(--ease);
}

.menu-toggle__line:nth-child(1) {
	top: 1px;
}

.menu-toggle__line:nth-child(2) {
	top: 11px;
}

.menu-toggle__line:nth-child(3) {
	top: 21px;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(1) {
	top: 11px;
	transform: rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(2) {
	opacity: 0;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(3) {
	top: 11px;
	transform: rotate(-45deg);
}

/* Mobile drawer. */
.mobile-menu {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	display: none;
	padding: calc(var(--header-height) + 22px) 22px 48px;
	background: var(--color-white);
	overflow-y: auto;
	overscroll-behavior: contain;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.3s var(--ease);
}

.mobile-menu.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.mobile-menu__top {
	position: absolute;
	top: 112px;
	right: 22px;
}

.mobile-menu__top .language-switcher {
	font-size: 24px;
}

.mobile-menu-list {
	display: grid;
	gap: 0;
	margin-top: 44px;
}

.mobile-menu-list > li {
	position: relative;
	padding-left: 26px;
}

.mobile-menu-list > li::before {
	content: "";
	position: absolute;
	top: 24px;
	left: 0;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--color-orange);
}

.mobile-menu-list > li > a {
	display: inline-block;
	padding: 10px 0;
	color: var(--color-ink);
	font-size: 27px;
	line-height: 1.2;
	text-transform: lowercase;
}

.mobile-menu-list > li > a:hover {
	color: var(--color-grey);
}

.mobile-menu-list > li.is-active > a,
.mobile-menu-list > li.current-menu-item > a,
.mobile-menu-list > li.current-menu-parent > a,
.mobile-menu-list > li.current-menu-ancestor > a,
.mobile-menu-list > li.current_page_item > a,
.mobile-menu-list > li.current_page_parent > a,
.mobile-menu-list > li.current_page_ancestor > a {
	color: var(--color-orange);
}

.mobile-menu-list > li.has-children::before,
.mobile-menu-list > li.is-active::before,
.mobile-menu-list > li.current-menu-item::before,
.mobile-menu-list > li.current-menu-parent::before,
.mobile-menu-list > li.current-menu-ancestor::before,
.mobile-menu-list > li.current_page_item::before,
.mobile-menu-list > li.current_page_parent::before,
.mobile-menu-list > li.current_page_ancestor::before {
	content: "";
	position: absolute;
	top: 24px;
	left: 0;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--color-orange);
}

.mobile-submenu {
	margin: 0 0 4px 20px;
	padding-left: 22px;
	border-left: 1px solid var(--color-grey);
}

.mobile-submenu > li > a {
	display: inline-block;
	padding: 5px 0;
	color: var(--color-ink);
	font-size: 25px;
	line-height: 1.25;
	text-transform: lowercase;
}

.mobile-submenu > li > a:hover {
	color: var(--color-grey);
}

.mobile-submenu > li.is-active > a,
.mobile-submenu > li.current-menu-item > a,
.mobile-submenu > li.current_page_item > a {
	color: var(--color-orange);
}

.mobile-menu__socials {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 38px;
}

.mobile-menu__socials .social-list {
	gap: 13px;
}

.mobile-menu__socials .social-list a,
.mobile-menu__socials .social-list .icon {
	width: 34px;
	height: 34px;
}

/* ==========================================================================
   4. Shared page elements and heroes
   ========================================================================== */

.site-main {
	min-height: 45vh;
}

.page-hero {
	width: 100%;
	max-width: 1920px;
	margin-inline: auto;
	overflow: hidden;
	background: #f2f1ef;
}

.page-hero__picture,
.page-hero__image {
	display: block;
	width: 100%;
}

.page-hero__image {
	object-fit: cover;
	object-position: center;
}

.page-hero--home .page-hero__image {
	height: 430px;
}

.page-hero--drawing .page-hero__image {
	height: 650px;
}

.page-hero--artistbook .page-hero__image {
	height: 800px;
}

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

.page-intro {
	width: 100%;
	max-width: 1024px;
	margin: 20px auto 40px;
	padding-inline: var(--gutter);
	color: var(--color-grey);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	text-align: left;
}

.page-intro p {
	margin-bottom: 20;
}

.page-intro p:last-child {
	margin-bottom: 0;
}

.page-intro a {
	color: var(--color-grey);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.page-intro a:hover {
	color: var(--color-orange);
}

.page-title {
	margin: 0px 0 44px;
	color: var(--color-ink);
	font-size: 40px;
	font-weight: 400;
	line-height: 1.05;
}

.page-title--grey {
	color: var(--color-grey);
}

.page-title--orange {
	color: var(--color-orange);
}

.page-shell {
	padding-top: 28px;
	padding-bottom: 30px;
}

.page-content {
	max-width: 1100px;
	font-size: 33px;
	line-height: 1.4;
}

.page-content h2 {
	margin: 50px 0 20px;
	font-size: 42px;
}

.page-content h3 {
	margin: 38px 0 16px;
	font-size: 33px;
}

.page-content p,
.page-content ul,
.page-content ol,
.page-content blockquote {
	margin-bottom: 24px;
}

.page-content ul,
.page-content ol {
	padding-left: 1.2em;
}

.empty-state {
	margin: 20px 0 60px;
	color: var(--color-grey);
	font-size: 25px;
}

/* ==========================================================================
   5. Home
   ========================================================================== */

.home-intro {
	width: 100%;
	max-width: 940px;
	margin: 60px auto 80px; /* Уменьшили отступы сверху и снизу (было 76/118) */
	padding-inline: var(--gutter);
}

/* Заголовок */
.home-intro__title {
	margin: 0 0 8px;
	color: var(--color-ink);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.1;
}

/* Подзаголовок */
.home-intro__subtitle {
	margin: 0 0 24px; /* Уменьшили отступ до текста (было 32) */
	color: var(--color-grey);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
}

/* Текстовый блок */
.home-intro .entry-content {
	color: var(--color-ink);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.4; /* Уменьшили с 1.6 — строки стали ближе друг к другу */
}

.home-intro .entry-content p {
	margin-bottom: 16px; /* Уменьшили отступ между абзацами (было 24) */
}

/* ==========================================================================
   6. Galleries
   ========================================================================== */

.drawing-grid {
	column-count: 3; /* Разбиваем на 3 колонки */
	column-gap: 30px; /* Расстояние между колонками */
	align-items: start;
}

.drawing-card {
	position: relative;
	display: flex; /* Или inline-flex */
	flex-direction: column;
	min-width: 0;
	border: 1px solid var(--color-border);
	background: var(--color-white);
	break-inside: avoid; /* Запрещаем разрыв карточки между колонками */
	margin-bottom: 30px; /* Отступ снизу вместо gap */
	width: 100%;
}

.drawing-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: var(--color-ink);
}

.drawing-card__link:hover {
	color: var(--color-ink);
}

.drawing-card__media {
	display: block;
	width: 100%;
	background: #efeeec;
	overflow: hidden;
}

.drawing-card__media-empty {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #efeeec;
}

.drawing-card__media img {
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: opacity 0.35s ease;
}

.drawing-card__link:hover .drawing-card__media img {
	opacity: 0.88;
}

.drawing-card__body {
	position: relative;
	flex: 1 1 auto;
	padding: 10px 15px 20px;
}

.drawing-card__title {
	margin: 0;
	padding-right: 30px;
	color: var(--color-black);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25;
}

.drawing-card .badge-sold {
	right: 15px;
	bottom: 15px;
}

.badge-sold {
	position: absolute;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	background: var(--color-orange);
}

.books-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 48px;
}

.book-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	border: 1px solid var(--color-border);
	background: var(--color-white);
}

.book-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: var(--color-ink);
}

.book-card__link:hover {
	color: var(--color-ink);
}

.book-card__media {
	display: block;
	width: 100%;
	aspect-ratio: 695 / 310;
	background: #efeeec;
	overflow: hidden;
}

.book-card__media-empty {
	display: block;
	width: 100%;
	height: 100%;
	background: #efeeec;
}

.book-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.35s ease;
}

.book-card__link:hover .book-card__media img {
	opacity: 0.88;
}

.book-card__body {
	position: relative;
	flex: 1 1 auto;
	min-height: 96px;
	padding: 12px 17px 24px;
}

.book-card__title {
	display: -webkit-box;
	margin: 0;
	padding-right: 34px;
	overflow: hidden;
	color: var(--color-black);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.book-card .badge-sold {
	right: 18px;
	bottom: 17px;
}

.pagination {
	margin: 60px 0 20px;
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	border: 1px solid var(--soft-line);
	color: var(--color-ink);
	font-size: 18px;
}

.pagination .page-numbers.current,
.pagination .page-numbers:hover {
	border-color: var(--color-orange);
	color: var(--color-orange);
}

/* ==========================================================================
   7. About section
   ========================================================================== */

.about-page {
	padding-top: 30px;
	padding-bottom: 50px;
}

.about-intro {
	display: grid;
	grid-template-columns: 469px minmax(0, 1fr);
	align-items: start;
	gap: 48px;
	margin-bottom: 50px; /* Уменьшили отступ до следующего блока */
}

.about-intro__image {
	width: 100%;
}

.about-intro__image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Заголовок страницы */
.about-intro__title {
	margin: 0 0 8px;
	color: var(--color-ink);
	font-size: 36px;
	line-height: 1.1;
}

/* Подзаголовок */
.about-intro__subtitle {
	margin: 0 0 24px; /* Уменьшили отступ (было 32) */
	color: var(--color-grey);
	font-size: 20px;
	line-height: 1.3;
}

/* Основной текст */
.about-intro__text {
	color: var(--color-ink);
	font-size: 20px;
	line-height: 1.4; /* УМЕНЬШИЛИ с 1.5 */
}

.about-intro__text p {
	margin-bottom: 12px; /* УМЕНЬШИЛИ с 20px */
}

/* Список с оранжевыми точками */
.about-points {
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
	color: var(--color-ink);
	font-size: 18px;
	line-height: 1.4; /* УМЕНЬШИЛИ с 1.6 */
}

.about-points li {
	position: relative;
	padding-left: 23px;
	margin-bottom: 4px; /* УМЕНЬШИЛИ с 8px */
}

.about-points li::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--color-orange);
}

/* Строки с колонками (Membership, Collections, Education) */
.about-row {
	display: grid;
	grid-template-columns: 469px minmax(0, 1fr); /* Левая колонка широкая, как картинка */
	align-items: start;
	gap: 48px; /* Тот же отступ, что и везде */
	margin-bottom: 40px;
}

/* Выравниваем оранжевый заголовок по правому краю его колонки, чтобы он был ближе к тексту */
.about-row__label {
	color: var(--color-orange);
	font-size: 26px;
	line-height: 1.3;
	text-transform: lowercase;
	text-align: right; /* Прижимаем текст влево к тексту */
	padding-right: 10px; /* Небольшой отступ от текста */
	white-space: pre-line;
}

/* Текст в правой колонке */
.about-row__body {
	min-width: 0;
	color: var(--color-ink);
	font-size: 18px;
	line-height: 1.4; /* УМЕНЬШИЛИ с 1.6 */
}

.about-row__body p {
	margin-bottom: 10px; /* УМЕНЬШИЛИ с 16px */
}

.about-collections {
	display: grid;
	gap: 24px; /* УМЕНЬШИЛИ с 32px */
}

.about-collections__group h3 {
	margin: 0 0 8px;
	color: var(--color-ink);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

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

.dot-list li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 2px; /* УМЕНЬШИЛИ с 6px */
	line-height: 1.4; /* Добавили плотный интервал */
}

.dot-list li::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--color-orange);
}

.about-education p {
	margin-bottom: 12px; /* УМЕНЬШИЛИ с 20px */
	line-height: 1.4;
}

.about-education strong,
.about-collections strong {
	font-weight: 700;
}

/* Остальные страницы раздела About (Bio, Publications и т.д.) */
.about-split {
	display: grid;
	grid-template-columns: 469px minmax(0, 1fr);
	align-items: start;
	gap: 48px;
}

.about-split__image img {
	display: block;
	width: 100%;
	height: auto;
}

.about-split__title {
	margin: 0 0 8px;
	color: var(--color-ink);
	font-size: 36px;
	line-height: 1.1;
}

.about-split__subtitle {
	margin: 0 0 24px;
	color: var(--color-grey);
	font-size: 20px;
	line-height: 1.3;
}

.about-split__content {
	color: var(--color-ink);
	font-size: 18px;
	line-height: 1.4; /* УМЕНЬШИЛИ с 1.6 */
}

.about-split__content p {
	margin-bottom: 12px; /* УМЕНЬШИЛИ с 16px */
}
/* ==========================================================================
   Artist statement
   ========================================================================== */
.statement-grid {
	display: grid;
	grid-template-columns: 469px 1fr; /* Левая колонка под заголовок, правая под текст */
	align-items: start;
	gap: 48px;
	margin-bottom: 50px;
}

.statement-title {
	margin: 0;
	color: var(--color-orange);
	font-size: 38px; /* Аккуратный размер, как мы обсуждали */
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
	text-align: left; /* Прижимаем заголовок к тексту (как на десктопе) */
	padding-right: 10px;
}

.statement-content {
	color: var(--color-ink);
	font-size: 20px;
	line-height: 1.4;
}
/* ==========================================================================
   Publications, awards, exhibitions.
   ========================================================================== */
.entry-list {
	display: grid;
	gap: 30px; 
	margin-top: 0px;
}

.entry-row {
	display: grid;
	/* Расширили колонку до 490px, чтобы год придвинулся к тексту (490 + 27 = 517px, текст останется на одной линии с меню) */
	grid-template-columns: 490px minmax(0, 1fr); 
	align-items: start;
	gap: 27px; /* Уменьшили расстояние между годом и текстом */
}

.entry-row__year {
	color: var(--color-grey);
	font-size: 26px; /* Немного уменьшили сам шрифт года */
	font-weight: 400;
	line-height: 1.1;
	text-align: right; 
	padding-right: 0; /* Убрали лишний отступ, так как gap теперь сам регулирует расстояние */
}

.entry-row__body {
	min-width: 0;
}

.entry-row__title {
	margin: 0 0 4px; 
	color: var(--color-ink);
	font-size: 22px; 
	font-weight: 700;
	line-height: 1.25; /* Сделали заголовок плотнее */
}

.entry-row__text {
	color: var(--color-ink);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3; /* ЕЩЕ УМЕНЬШИЛИ межстрочный интервал (было 1.4) */
	margin-bottom: 8px;
}

.entry-row__text p {
	margin-bottom: 0;
}

.read-link {
	display: inline-block;
	color: var(--color-orange);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}

.read-link:hover {
	color: var(--color-grey);
}
/* ==========================================================================
   Выставки (Exhibitions)
   ========================================================================== */

/* Отступ между блоками Solo exhibitions и Group exhibitions */
.exhibitions-section {
	margin-bottom: 80px; 
}

.exhibitions-section:last-child {
	margin-bottom: 20px;
}

/* Оранжевые заголовки */
.exhibitions-title {
	margin: 0 0 44px;
	color: var(--color-orange);
	font-size: 38px; /* Сделал 42px, чтобы было аккуратно */
	font-weight: 400;
	line-height: 1.08;
}

/* Расстояние между отдельными выставками в списке */
.exhibitions-list .entry-row {
	gap: 30px;
	margin-bottom: 35px; /* Увеличили отступ снизу (было 34px) */
}

/* ==========================================================================
   8. Single drawing / artist's book
   ========================================================================== */

.artwork-page {
	padding: 28px var(--gutter) 0;
}

.artwork-layout {
	display: grid;
	grid-template-columns: minmax(0, 900px) minmax(280px, 1fr);
	align-items: start;
	gap: 30px;
	max-width: var(--container);
	margin: 0 auto;
}

.artwork-visual {
	min-width: 0;
}

.artwork-visual__image {
	width: 100%;
	background: #efeeec;
}

.artwork-visual__image img {
	display: block;
	width: 100%;
	height: auto;
}

.artwork-info {
	min-width: 0;
	padding-top: 4px;
}

.artwork-title {
	margin: 0 0 42px;
	color: var(--color-black);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.22;
}

.artwork-meta {
	margin: 0 0 24px;
	color: var(--color-grey);
	font-size: 27px;
	line-height: 1.34;
}

.artwork-meta__line {
	display: block;
}

.artwork-status {
	margin: 0 0 24px;
	display: block;
}

.artwork-status .badge-sold {
	display: block; /* Точка — отдельный блок */
	margin-bottom: 12px; /* Отступ от точки до текста */
	position: static;
}

.artwork-status__text {
	color: var(--color-ink);
	font-size: 20px;
	line-height: 1.4;
	display: block;
}

.artwork-details {
	margin: 22px 0 0;
	color: var(--color-black);
	font-size: 27px;
	line-height: 1.36;
	white-space: pre-line;
}

.artwork-info-block {
	margin-top: 40px;
}

.artwork-info-block__title {
	margin: 0 0 8px;
	color: var(--color-black);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.28;
}

.artwork-info-block__text {
	color: var(--color-grey);
	font-size: 20px;
	line-height: 1.36;
}

.artwork-info-block__text p {
	margin-bottom: 0;
}

.artwork-description {
	grid-column: 1;
	max-width: 900px;
	padding-top: 0px;
	color: var(--color-ink);
	font-size: 20px;
	line-height: 1.38;
}

.artwork-description p {
	margin-bottom: 0;
}

/* Уменьшаем шрифт описания в карточке альбома */
.album-description.entry-content {
	font-size: 20px;
	line-height: 1.4;
	color: var(--color-grey);
}

.album-description.entry-content p {
	margin-bottom: 16px;
}

.artwork-gallery {
	display: grid;
	gap: 20px;
	width: 100%;
	max-width: var(--container);
	margin: 62px auto 0;
}

.artwork-gallery img {
	width: 100%;
	height: auto;
}
/* Статус и подпись */
.artwork-status-block {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
}

/* Сама подпись (in private collection) */
.artwork-details {
	color: var(--color-ink);
	font-size: 21px;
	line-height: 1.4;
}

/* Точка продано */
.artwork-status-block .badge-sold {
	position: static;
	flex: 0 0 auto;
	margin: 0;
}

/* Метаданные (media, size, year) */
.artwork-meta {
	margin: 0 0 24px;
	color: var(--color-grey);
	font-size: 21px;
	line-height: 1.5;
}

.artwork-meta__line {
	display: block;
}

/* ==========================================================================
   9. Contacts
   ========================================================================== */

.contacts-page {
	padding-top: 60px;
	padding-bottom: 40px;
}

/* Сетка: пустая левая колонка, текст справа */
.contacts-layout {
	display: grid;
	grid-template-columns: 469px 1fr; /* Слева 469px пусто, справа текст */
	gap: 48px;
}

.contacts-content {
	grid-column: 2; /* Ставим контент во вторую колонку */
}

/* Заголовок */
.contacts-title {
	margin: 0 0 4px;
	color: var(--color-ink);
	font-size: 36px;
	line-height: 1.1;
}

/* Подзаголовок */
.contacts-subtitle {
	margin: 0 0 30px;
	color: var(--color-grey);
	font-size: 20px;
	line-height: 1.3;
}

/* Списки контактов */
.contact-list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--color-ink);
	font-size: 20px;
	line-height: 1.4;
}

.contact-list--spaced {
	margin-top: 24px;
}

.contact-list a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--color-ink);
}

.contact-list a:hover {
	color: var(--color-orange);
}

.contact-list .icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
}

/* Дополнительный текст */
.contacts-text {
	margin-top: 30px;
	color: var(--color-ink);
	font-size: 20px;
	line-height: 1.4;
}

/* ==========================================================================
   10. Generic pages, blog fallback, 404
   ========================================================================== */

.page-single {
	padding-top: 52px;
	padding-bottom: 40px;
}

.page-single__title {
	margin: 0 0 44px;
	font-size: 56px;
	line-height: 1.06;
}

.page-single .entry-content {
	font-size: 33px;
	line-height: 1.4;
}

.page-single .entry-content h2 {
	font-size: 42px;
}

.page-single .entry-content h3 {
	font-size: 33px;
}

.page-single__meta {
	margin-bottom: 34px;
	color: var(--color-grey);
	font-size: 21px;
}

.post-list {
	display: grid;
	gap: 44px;
	max-width: 980px;
}

.post-list__item {
	padding-bottom: 36px;
	border-bottom: 1px solid var(--soft-line);
}

.post-list__title {
	margin: 0 0 10px;
	font-size: 42px;
	line-height: 1.15;
}

.post-list__excerpt {
	color: var(--color-ink);
	font-size: 25px;
	line-height: 1.4;
}

.not-found {
	max-width: 860px;
	margin: 0 auto;
	padding: 110px var(--gutter) 130px;
}

.not-found__code {
	margin: 0;
	color: var(--color-orange);
	font-size: 33px;
}

.not-found__title {
	margin: 10px 0 26px;
	font-size: 56px;
	line-height: 1.08;
}

.not-found__text {
	margin-bottom: 30px;
	font-size: 25px;
}

.button-link {
	display: inline-block;
	padding: 13px 24px;
	border: 1px solid var(--color-orange);
	color: var(--color-orange);
	font-size: 21px;
	transition: background 0.2s ease, color 0.2s ease;
}

.button-link:hover {
	background: var(--color-orange);
	color: var(--color-white);
}

/* ==========================================================================
   11. Footer
   ========================================================================== */

.site-footer {
	margin-top: 110px;
	background: var(--color-footer);
	color: var(--color-white);
}

.footer-bar {
	height: 22px;
	background: var(--color-orange);
}

.footer-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, 1.4fr);
	gap: 58px;
	padding-top: 46px;
	padding-bottom: 54px;
}

.footer-column {
	min-width: 0;
}

.footer-title {
	margin: 0 0 20px;
	color: var(--color-white);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.1;
	text-transform: capitalize;
}

.footer-title a {
	color: var(--color-white);
}

.footer-title a:hover {
	color: var(--color-orange);
}

.footer-menu {
	padding-left: 18px;
	border-left: 1px solid rgba(255, 255, 255, 0.78);
	font-size: 19px;
	line-height: 1.42;
}

.footer-menu a {
	color: var(--color-white);
	text-transform: lowercase;
}

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

.footer-socials {
	display: grid;
	gap: 9px;
	margin-top: 25px;
	font-size: 19px;
	line-height: 1.3;
}

.footer-socials a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--color-white);
}

.footer-socials a:hover {
	color: var(--color-orange);
}

.footer-socials .icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
}

.footer-contacts {
	display: grid;
	gap: 13px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 19px;
	line-height: 1.35;
}

.footer-contacts a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--color-white);
}

.footer-contacts a:hover {
	color: var(--color-orange);
}

.footer-contacts .icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
}

/* ==========================================================================
   12. Icons
   ========================================================================== */

.icon {
	display: inline-block;
	vertical-align: middle;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
	overflow: visible;
}

.icon--filled {
	fill: currentColor;
	stroke: none;
}

.icon__dot {
	fill: currentColor;
	stroke: none;
}

.album-description {
	margin-top: 36px;
	color: var(--color-grey);
	font-size: 27px;
	line-height: 1.36;
}

.album-description p {
	margin-bottom: 0;
}

.artwork-meta__details {
	white-space: pre-line;
}

.post-navigation {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	margin-top: 60px;
	padding-top: 24px;
	border-top: 1px solid var(--soft-line);
	font-size: 21px;
}

/* ==========================================================================
   13. Responsive — 1280
   ========================================================================== */

@media (max-width: 1280px) {
	:root {
		--gutter: 28px;
	}

	.site-header__inner {
		gap: 24px;
	}

	.brand__mark {
		width: 48px;
	}

	.brand__name {
		font-size: 22px;
	}

	.brand__role {
		font-size: 13px;
	}

	.lang-ru .brand__name {
		font-size: 26px;
	}

	.lang-ru .brand__role {
		font-size: 15px;
	}

	.primary-menu {
		gap: 38px;
	}

	.lang-ru .primary-menu {
		gap: 34px;
	}

	.primary-menu > li > a {
		font-size: 22px;
	}

	.site-header__aside {
		gap: 18px;
	}

	.about-intro,
	.about-split {
		grid-template-columns: 390px minmax(0, 1fr);
		gap: 38px;
	}

	.about-intro__title,
	.about-split__title {
		font-size: 48px;
	}

	.about-intro__subtitle,
	.about-split__subtitle {
		font-size: 27px;
	}

	.about-intro__text,
	.about-split__content {
		font-size: 27px;
	}

	.about-row {
		grid-template-columns: 230px minmax(0, 1fr);
		gap: 36px;
	}

	.about-row__label {
		font-size: 29px;
	}

	.about-row__body {
		font-size: 23px;
	}

	.artwork-layout {
		grid-template-columns: minmax(0, 1fr) minmax(290px, 0.42fr);
		gap: 36px;
	}

	.artwork-title {
		font-size: 32px;
	}
}

/* ==========================================================================
   14. Responsive — 1024 (mobile breakpoint)
   ========================================================================== */

@media (max-width: 1024px) {
	:root {
		--gutter: 24px;
		--header-height: 82px;
	}

	.site-header__inner {
		min-height: var(--header-height);
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.brand__mark {
		width: 44px;
	}

	.brand__name {
		font-size: 28px;
	}

	.brand__role {
		margin-top: 2px;
		font-size: 15px;
	}

	.lang-ru .brand__name {
		font-size: 30px;
	}

	.lang-ru .brand__role {
		font-size: 18px;
	}

	.site-header__nav,
	.site-header__aside {
		display: none;
	}

	.menu-toggle {
		display: inline-flex;
	}

	.mobile-menu {
		display: block;
	}

	.mobile-menu__top {
		top: 94px;
	}

	.mobile-section-bar {
		display: block;
		border-bottom: 1px solid var(--color-orange);
	}

	.mobile-section-bar .container {
		display: flex;
		justify-content: flex-end;
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.mobile-section-bar .mobile-current-section {
		display: inline-block;
		font-size: 21px;
	}

	.mobile-menu-list .sub-menu {
		margin: 0 0 4px 20px;
		padding: 0 0 0 22px;
		border-left: 1px solid var(--color-grey);
		list-style: none;
	}

	.mobile-menu-list .sub-menu > li > a {
		display: inline-block;
		padding: 5px 0;
		color: var(--color-ink);
		font-size: 25px;
		line-height: 1.25;
		text-transform: lowercase;
	}

	.mobile-menu-list .sub-menu > li > a:hover {
		color: var(--color-grey);
	}

	.mobile-menu-list .sub-menu > li.is-active > a,
	.mobile-menu-list .sub-menu > li.current-menu-item > a,
	.mobile-menu-list .sub-menu > li.current_page_item > a {
		color: var(--color-orange);
	}

	.subnav__inner {
		min-height: 40px;
		justify-content: flex-end;
	}

	.about-menu {
		display: none;
	}

	.mobile-current-section {
		display: inline-block;
		font-size: 21px;
	}

	.context-nav__inner {
		grid-template-columns: auto 1fr auto;
		min-height: 38px;
		font-size: 21px;
	}

	.context-nav__title {
		display: block;
		max-width: none;
		padding: 0 14px;
		font-size: 21px;
		text-align: right;
	}

	.context-nav__link {
		font-size: 21px;
	}

	.page-hero--home .page-hero__image,
	.page-hero--drawing .page-hero__image,
	.page-hero--artistbook .page-hero__image {
		height: auto;
		width: 100%;
		object-fit: contain;
	}

	.page-intro {
		margin-top: 32px;
		margin-bottom: 40px;
		font-size: 23px;
	}

	.home-intro {
		margin-top: 54px;
		margin-bottom: 82px;
	}

	.home-intro__title {
		font-size: 42px;
	}

	.home-intro__subtitle {
		margin-bottom: 26px;
		font-size: 26px;
	}

	.home-intro .entry-content {
		font-size: 26px;
	}

	.drawing-grid {
	column-count: 1; /* На мобильных одна колонка */
	column-gap: 0;
}

	.books-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.drawing-card__title {
		font-size: 23px;
	}

	.book-card__title {
		font-size: 26px;
	}

	.about-intro,
	.about-split {
		grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
		gap: 28px;
	}

	.about-intro__title,
	.about-split__title {
		font-size: 38px;
	}

	.about-intro__subtitle,
	.about-split__subtitle {
		font-size: 22px;
	}

	.about-intro__text,
	.about-split__content {
		font-size: 23px;
	}

	.about-points {
		font-size: 21px;
	}

	.about-row {
		grid-template-columns: 185px minmax(0, 1fr);
		gap: 28px;
		margin-bottom: 58px;
	}

	.about-row__label {
		font-size: 25px;
	}

	.about-row__body {
		font-size: 21px;
	}

	.about-collections__group h3 {
		font-size: 24px;
	}

	.entry-row {
		grid-template-columns: 150px minmax(0, 1fr);
		gap: 26px;
	}

	.entry-row__year {
		font-size: 30px;
	}

	.entry-row__title,
	.entry-row__text {
		font-size: 22px;
	}

	.read-link {
		font-size: 24px;
	}

	.exhibitions-title {
		font-size: 42px;
		margin-bottom: 32px;
	}

	.exhibitions-list .entry-row {
		gap: 26px;
		margin-bottom: 28px;
	}

	.exhibitions-list .entry-row__year {
		font-size: 22px;
	}

	.exhibitions-list .entry-row__title,
	.exhibitions-list .entry-row__text {
		font-size: 21px;
	}

	.statement-grid {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 34px;
	}

	.statement-title {
		font-size: 42px;
	}

	.statement-content {
		font-size: 26px;
	}

	.artwork-layout {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.artwork-title {
		margin-bottom: 22px;
		font-size: 30px;
	}

	.artwork-meta,
	.artwork-details,
	.artwork-status__text,
	.artwork-info-block__title {
		font-size: 25px;
	}

	.artwork-info-block__text {
		font-size: 20px;
	}

	.album-description {
		font-size: 24px;
	}

	.artwork-description {
		max-width: none;
		padding-top: 0;
		font-size: 21px;
	}

	.artwork-gallery {
		margin-top: 42px;
		gap: 12px;
	}

	.contacts-page {
		padding-top: 54px;
	}

	.contacts-title {
		font-size: 42px;
	}

	.contacts-subtitle {
		font-size: 26px;
		margin-bottom: 40px;
	}

	.contact-list {
		font-size: 24px;
	}

	.page-single__title {
		font-size: 42px;
	}

	.page-single .entry-content {
		font-size: 26px;
	}

	.page-single .entry-content h2 {
		font-size: 34px;
	}

	.page-single .entry-content h3 {
		font-size: 26px;
	}

	.page-content,
	.page-content h3 {
		font-size: 26px;
	}

	.page-content h2 {
		font-size: 34px;
	}

		.page-title {
		font-size: 42px;
	}


	.footer-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 42px;
	}

	.footer-column--contacts {
		grid-column: 1 / -1;
	}

	.footer-title {
		font-size: 34px;
	}

	.footer-menu,
	.footer-socials,
	.footer-contacts {
		font-size: 19px;
	}
}

/* ==========================================================================
   15. Responsive — 768 (phone)
   ========================================================================== */

@media (max-width: 768px) {
	:root {
		--gutter: 20px;
		--header-height: 70px;
	}

	.site-header__inner {
		gap: 12px;
		padding-top: 7px;
		padding-bottom: 7px;
	}

	.brand__mark {
		width: 34px;
	}

	.brand__name {
		font-size: 20px;
	}

	.brand__role {
		margin-top: 1px;
		font-size: 12px;
	}

	.lang-ru .brand__name {
		font-size: 22px;
	}

	.lang-ru .brand__role {
		font-size: 13px;
	}

	.menu-toggle {
		width: 36px;
		height: 36px;
	}

	.menu-toggle__box,
	.menu-toggle__line {
		width: 29px;
	}

	.menu-toggle__box {
		height: 24px;
	}

	.menu-toggle__line {
		height: 2.5px;
	}

	.menu-toggle__line:nth-child(1) {
		top: 1px;
	}

	.menu-toggle__line:nth-child(2) {
		top: 10px;
	}

	.menu-toggle__line:nth-child(3) {
		top: 19px;
	}

	.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(1),
	.menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-child(3) {
		top: 10px;
	}

	.mobile-menu {
		padding: calc(var(--header-height) + 18px) 20px 42px;
	}

	.mobile-menu__top {
		top: 82px;
		right: 20px;
	}

	.mobile-menu__top .language-switcher {
		font-size: 21px;
	}

	.mobile-menu-list {
		margin-top: 36px;
	}

	.mobile-menu-list > li > a {
		font-size: 27px;
	}

	.mobile-menu-list > li.has-children::before,
	.mobile-menu-list > li.is-active::before,
	.mobile-menu-list > li.current-menu-item::before,
	.mobile-menu-list > li.current-menu-parent::before,
	.mobile-menu-list > li.current-menu-ancestor::before,
	.mobile-menu-list > li.current_page_item::before,
	.mobile-menu-list > li.current_page_parent::before,
	.mobile-menu-list > li.current_page_ancestor::before {
		top: 22px;
		width: 10px;
		height: 10px;
	}

	.mobile-submenu,
	.mobile-menu-list .sub-menu {
		margin-left: 17px;
		padding-left: 18px;
	}

	.mobile-menu-list .sub-menu > li > a {
		font-size: 25px;
	}

	.mobile-submenu > li > a {
		font-size: 25px;
	}

	.menu-toggle__line:nth-child(2) {
		top: 10px;
	}

	.subnav__inner {
		min-height: 34px;
	}

	.mobile-current-section {
		font-size: 21px;
	}

	.context-nav__inner {
		min-height: 34px;
		font-size: 14px;
	}

	.context-nav__link,
	.context-nav__title {
		font-size: 14px;
	}

	.context-nav__title {
		padding: 0 8px;
	}

	.page-hero--home .page-hero__image,
	.page-hero--drawing .page-hero__image,
	.page-hero--artistbook .page-hero__image {
		height: auto;
		object-fit: contain;
	}

	.page-intro {
		margin: 24px auto 30px;
		font-size: 21px;
		line-height: 1.4;
	}

	.home-intro {
		margin-top: 36px;
		margin-bottom: 62px;
	}

	.home-intro__title {
		font-size: 32px;
		line-height: 1.1;
	}

	.home-intro__subtitle {
		margin-bottom: 22px;
		font-size: 19px;
	}

	.home-intro .entry-content {
		font-size: 21px;
		line-height: 1.42;
	}

	.drawing-grid,
	.books-grid {
		gap: 24px;
	}

	.drawing-card__title {
		font-size: 21px;
	}

	.book-card__title {
		font-size: 18px;
	}

	.book-card__media {
		aspect-ratio: 695 / 310;
	}

	.book-card__body {
		min-height: 80px;
		padding: 11px 14px 20px;
	}

	.drawing-card__body {
		padding: 9px 12px 16px;
	}

	.drawing-card .badge-sold,
	.book-card .badge-sold {
		right: 12px;
		bottom: 12px;
	}

	.badge-sold {
		width: 27px;
		height: 27px;
	}

	.about-page {
		padding-top: 20px;
	}

	.about-intro,
	.about-split {
		grid-template-columns: 1fr;
		gap: 26px;
		margin-bottom: 46px;
	}

	.about-intro__image,
	.about-split__image {
		width: calc(100% + var(--gutter) * 2);
		margin-left: calc(var(--gutter) * -1);
	}

	.about-intro__title,
	.about-split__title {
		font-size: 32px;
	}

	.about-intro__subtitle,
	.about-split__subtitle {
		font-size: 19px;
		margin-bottom: 18px;
	}

	.about-intro__text,
	.about-split__content {
		font-size: 21px;
		line-height: 1.42;
	}

	.about-points {
		font-size: 21px;
		margin-top: 24px;
	}

	.about-row {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-bottom: 48px;
	}

	.about-row__label {
		font-size: 28px;
	}

	.about-row__body {
		font-size: 21px;
	}

	.about-collections {
		gap: 34px;
	}

	.about-collections__group h3 {
		font-size: 23px;
	}

	.about-row__label br {
		display: none;
	}

	.page-title {
		margin: 22px 0 30px;
		font-size: 32px;
	}

	.entry-list {
		gap: 30px;
	}

	.entry-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.entry-row__year {
		font-size: 30px;
	}

	.entry-row__title,
	.entry-row__text {
		font-size: 21px;
	}

	.read-link {
		font-size: 23px;
	}

	.exhibitions-section {
		margin-bottom: 58px;
	}

	.exhibitions-title {
		margin-bottom: 26px;
		font-size: 39px;
	}

	.exhibitions-list .entry-row {
		gap: 4px;
		margin-bottom: 28px;
	}

	.exhibitions-list .entry-row__year {
		font-size: 25px;
		font-weight: 400;
	}

	.exhibitions-list .entry-row__title,
	.exhibitions-list .entry-row__text {
		font-size: 19px;
	}

	.statement-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.statement-title {
		font-size: 32px;
	}

	.statement-content {
		font-size: 21px;
		line-height: 1.42;
	}

	.statement-content p {
		margin-bottom: 20px;
	}

	.artwork-page {
		padding: 0 var(--gutter);
	}

	.artwork-layout {
		gap: 24px;
	}

	.artwork-visual {
		margin-inline: calc(var(--gutter) * -1);
	}

	.artwork-visual__image {
		width: 100%;
	}

	.artwork-title {
		margin-bottom: 18px;
		font-size: 24px;
	}

	.artwork-meta {
		margin-bottom: 20px;
		font-size: 18px;
	}

	.artwork-status {
		margin-bottom: 16px;
	}

	.artwork-status__text {
		font-size: 18px;
	}

	.artwork-details {
		font-size: 18px;
	}

	.artwork-info-block {
		margin-top: 30px;
	}

	.artwork-info-block__title {
		font-size: 15px;
	}

	.artwork-info-block__text {
		font-size: 12px;
	}

	.album-description {
		margin-top: 30px;
		font-size: 21px;
		line-height: 1.42;
	}

	.artwork-description {
		font-size: 21px;
		line-height: 1.42;
	}

	.artwork-gallery {
		max-width: none;
		width: calc(100% + var(--gutter) * 2);
		margin-left: calc(var(--gutter) * -1);
		gap: 10px;
	}

	.contacts-page {
		padding-top: 38px;
	}

	.contacts-panel {
		padding-inline: var(--gutter);
	}

	.contacts-title {
		font-size: 32px;
	}

	.contacts-subtitle {
		margin-bottom: 32px;
		font-size: 19px;
	}

	.contact-list {
		gap: 16px;
		font-size: 21px;
	}

	.contact-list--spaced {
		margin-top: 32px;
	}

	.contact-list .icon {
		width: 22px;
		height: 22px;
	}

	.page-single {
		padding-top: 34px;
	}

	.page-single__title {
		margin-bottom: 30px;
		font-size: 32px;
	}

	.page-single .entry-content,
	.page-content,
	.page-content h3 {
		font-size: 21px;
		line-height: 1.42;
	}

	.page-single .entry-content h2,
	.page-content h2 {
		font-size: 28px;
	}

	.page-single .entry-content h3 {
		font-size: 23px;
	}

	.page-single__meta {
		font-size: 18px;
	}

	.post-list__title {
		font-size: 30px;
	}

	.post-list__excerpt {
		font-size: 21px;
	}

	.not-found {
		padding-top: 70px;
		padding-bottom: 90px;
	}

	.not-found__title {
		font-size: 34px;
	}

	.not-found__text {
		font-size: 21px;
	}

	.site-footer {
		margin-top: 66px;
	}

	.footer-bar {
		height: 22px;
	}

	.footer-inner {
		grid-template-columns: 1fr;
		gap: 36px;
		padding-top: 34px;
		padding-bottom: 40px;
	}

	.footer-column--contacts {
		grid-column: auto;
	}

	.footer-title {
		margin-bottom: 14px;
		font-size: 30px;
	}

	.footer-menu,
	.footer-socials,
	.footer-contacts {
		font-size: 21px;
	}

	.footer-menu {
		padding-left: 15px;
	}

	.footer-socials {
		margin-top: 20px;
	}

	.footer-socials .icon,
	.footer-contacts .icon {
		width: 23px;
		height: 23px;
	}

	.alignleft,
	.alignright {
		float: none;
		margin: 0 0 24px;
	}
}

/* ==========================================================================
   16. Reduced motion
   ========================================================================== */

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

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

/* Small generic details */
.page-single__image {
	margin: 0 0 42px;
}

.page-single__image img {
	width: 100%;
	height: auto;
}
/* Стили для твоих SVG-иконок */
.custom-social-icon {
	width: 21px;
	height: 21px;
	object-fit: contain;
	transition: opacity 0.2s ease;
}
.custom-social-icon:hover {
	opacity: 0.6;
}
/* Для подвала (если иконки чуть крупнее) */
.footer-icon {
	width: 22px;
	height: 22px;
}
/* ==========================================================================
   ФИНАЛЬНЫЕ ПРАВКИ (ИДЕАЛЬНЫЙ ВИД)
   ========================================================================== */

@media (max-width: 1024px) {
	/* 1. Возвращаем бургер на место */
	.site-header__inner {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		gap: 0 !important;
	}

	/* 2. Переключатель языков: возвращаем абсолютное позиционирование, как у Хара, но поднимаем чуть выше */
	.mobile-menu__top {
		position: absolute !important;
		top: 100px !important; 
		right: 22px !important;
	}

	/* 3. Возвращаем оранжевые точки на место (отсчет от верхнего края, как в оригинале) */
	.mobile-menu-list > li::before {
		top: 24px !important;
		transform: none !important;
	}

	/* 4. Выравниваем второе меню (подменю) вправо */
	.subnav__inner {
		display: flex !important;
		justify-content: flex-end !important;
		gap: 0 !important;
	}
	
	.about-menu {
		display: none !important;
	}
}

@media (max-width: 768px) {
	/* 5. Прячем дублирующиеся заголовки ТОЛЬКО на Публикациях и Наградах */
	.page-template-page-templatespublications-php .page-title,
	.page-template-page-templatesawards-php .page-title {
		display: none !important;
	}

	/* 6. Прижимаем картинку и текст к оранжевой линии */
	.about-page {
		padding-top: 0 !important;
	}
	.about-intro,
	.about-split {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	.about-intro__image,
	.about-split__image {
		margin-top: 0 !important;
	}

	/* 7. Чиним год, чтобы он не съезжал вправо */
	.entry-row__year {
		text-align: left !important;
		margin-bottom: 4px !important;
	}

	/* 8. Уменьшаем огромную кнопку "читать" */
	.read-link {
		font-size: 16px !important;
		margin-top: 8px !important;
	}
	/* 9. ВЫРАВНИВАЕМ ОРАНЖЕВЫЕ ПОДЗАГОЛОВКИ ПО ЛЕВОМУ КРАЮ (как в макете) */
	.about-row__label {
		text-align: left !important;
		padding-right: 0 !important;
	}
		/* 10. Прячем заголовок Artist Statement на мобильных */
	.statement-title {
		display: none !important;
	}
}