:root {
	--color-page: #f5f5f5;
	--color-surface: #ffffff;
	--color-text: #393939;
	--color-title: #111111;
	--color-accent: #00a5b2;
	--color-accent-dark: #007d87;
	--color-purple: #7a76b9;
	--color-purple-light: #a9a3ff;
	--color-orange: #ff6900;
	--color-muted: #d9d9d9;
	--color-border: rgba(57, 57, 57, 0.12);
	--shadow-soft: 0 20px 60px rgba(18, 33, 53, 0.08);
	--radius-xl: 32px;
	--radius-lg: 24px;
	--radius-md: 18px;
	--container-width: 1280px;
	--event-article-width: 900px;
	--font-body: "STIX Two Text", Georgia, serif;
	--font-title: "Bookerly", "STIX Two Text", Georgia, serif;
}

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

html {
	scroll-behavior: smooth;
}

html.is-accessible-mode {
    --color-page: #ffffff;
    --color-surface: #ffffff;
    --color-text: #000000;
    --color-title: #000000;
    --color-accent: #000000;
    --color-accent-dark: #000000;
    --color-purple: #000000;
    --color-purple-light: #d6d6d6;
    --color-orange: #000000;
    --color-border: rgba(0, 0, 0, 0.28);
    scroll-behavior: auto;
}

body {
	margin: 0;
	background: var(--color-page);
	color: var(--color-text);
	font-family: var(--font-body);
	line-height: 1.6;
}

html.is-accessible-mode a {
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

html.is-accessible-mode .site-header,
html.is-accessible-mode .site-footer,
html.is-accessible-mode .calendar-day,
html.is-accessible-mode .partner-card,
html.is-accessible-mode .news-card,
html.is-accessible-mode .memo-article-page__download-card,
html.is-accessible-mode .about-documents-page__accordion,
html.is-accessible-mode .schedule-page__section,
html.is-accessible-mode .contacts-page__card,
html.is-accessible-mode .contacts-page__feedback-card {
    box-shadow: none;
}

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

a {
	color: inherit;
	text-decoration: none;
}

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

.container {
	width: min(100% - 32px, var(--container-width));
	margin: 0 auto;
}

.site-shell {
	min-height: 100vh;
}

.site-content {
	display: block;
}

.eyebrow {
	margin: 0 0 12px;
	color: var(--color-accent);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.eyebrow--light {
	color: rgba(255, 255, 255, 0.84);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 20px;
	color: var(--color-title);
	font-family: var(--font-title);
	line-height: 1.1;
}

p {
	margin: 0 0 16px;
}

.button-primary,
.button-secondary,
.pill-link,
.accessibility-link,
.footer-meta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 44px;
	padding: 10px 20px;
	border-radius: 999px;
	border: 1px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.pill-link {
	width: 92px;
	min-height: 24px;
	padding: 4px 12px;
	font-size: 14px;
	line-height: 1;
	border-radius: 45px;
}

.accessibility-link {
	width: 254px;
	min-height: 35px;
	padding: 8px 15px;
	gap: 15px;
	font-size: 14px;
	font-weight: 700;
	border-radius: 0;
	background: var(--color-accent);
	color: #ffffff;
	border: 1px solid var(--color-accent);
   cursor: pointer;
}

.button-primary,
.footer-meta__button {
	background: var(--color-accent);
	color: #ffffff;
}

.button-secondary {
	border: 1px solid var(--color-accent);
	color: var(--color-accent);
	background: transparent;
}

.pill-link {
	background: transparent;
	color: #000000;
	border: 0.5px solid var(--color-accent);
	cursor: pointer;
}

.pill-link img,
.footer-meta__button img {
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	object-fit: contain;
	transition: transform 0.2s ease;
}

.accessibility-link img {
	flex: 0 0 auto;
	width: 22px;
	height: 16px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.accessibility-tools {
        position: absolute;
        top: 44px;
        left: 320px;
        z-index: 45;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 254px;
        padding: 10px;
        background: #ffffff;
        border: 1px solid rgba(57, 57, 57, 0.14);
        box-shadow: 0 18px 40px rgba(18, 33, 53, 0.16);
}

.accessibility-tools[hidden] {
        display: none !important;
}

.accessibility-tools:not([hidden]) {
        display: grid;
}

.accessibility-tool {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        gap: 6px;
        min-height: 58px;
        padding: 10px 12px;
        border: 1px solid var(--color-accent);
        background: #ffffff;
        color: #111111;
        cursor: pointer;
        transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.accessibility-tool__label {
        font-size: 11px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.06em;
        text-transform: uppercase;
}

.accessibility-tool__value {
        font-size: 15px;
        font-weight: 700;
        line-height: 1.2;
}

.accessibility-tool:hover,
.accessibility-tool:focus-visible {
        background: var(--color-accent);
        color: #ffffff;
        outline: none;
        transform: translateY(-1px);
}

.accessibility-tool:disabled {
        opacity: 0.55;
        cursor: default;
        transform: none;
}

.accessibility-tool:disabled:hover,
.accessibility-tool:disabled:focus-visible {
        background: #ffffff;
        color: #111111;
}

.site-header.is-menu-open .accessibility-link {
	background: transparent;
	color: var(--color-accent);
}

.site-header.is-menu-open .accessibility-link img {
	filter: none;
}

.accessibility-link.is-active {
   background: #111111;
   color: #ffffff;
   border-color: #111111;
}

.accessibility-link.is-active img {
   filter: brightness(0) invert(1);
}

.site-header.is-menu-open .accessibility-link.is-active {
   background: #111111;
   color: #ffffff;
   border-color: #111111;
}

.site-header.is-menu-open .accessibility-link.is-active img {
   filter: brightness(0) invert(1);
}

html[data-accessibility-font-size="large"] .accessibility-tool--font-size,
html[data-accessibility-font-size="xlarge"] .accessibility-tool--font-size,
html[data-accessibility-line-height="wide"] .accessibility-tool--line-height,
html[data-accessibility-line-height="extra"] .accessibility-tool--line-height {
        background: var(--color-accent);
        color: #ffffff;
}

html.is-accessible-mode .accessibility-tools {
        border-color: #000000;
        box-shadow: none;
}

html.is-accessible-mode .accessibility-tool {
        border-color: #000000;
}

html.is-accessible-mode .accessibility-tool:hover,
html.is-accessible-mode .accessibility-tool:focus-visible {
        background: #000000;
        color: #ffffff;
}

html.is-accessible-mode[data-accessibility-font-size="large"] .accessibility-tool--font-size,
html.is-accessible-mode[data-accessibility-font-size="xlarge"] .accessibility-tool--font-size,
html.is-accessible-mode[data-accessibility-line-height="wide"] .accessibility-tool--line-height,
html.is-accessible-mode[data-accessibility-line-height="extra"] .accessibility-tool--line-height {
        background: #000000;
        color: #ffffff;
}

html.is-accessible-mode .accessibility-tool__label,
html.is-accessible-mode .accessibility-tool__value {
        color: #000000;
}

html.is-accessible-mode .accessibility-tool:hover .accessibility-tool__label,
html.is-accessible-mode .accessibility-tool:hover .accessibility-tool__value,
html.is-accessible-mode .accessibility-tool:focus-visible .accessibility-tool__label,
html.is-accessible-mode .accessibility-tool:focus-visible .accessibility-tool__value,
html.is-accessible-mode[data-accessibility-font-size="large"] .accessibility-tool--font-size .accessibility-tool__label,
html.is-accessible-mode[data-accessibility-font-size="large"] .accessibility-tool--font-size .accessibility-tool__value,
html.is-accessible-mode[data-accessibility-font-size="xlarge"] .accessibility-tool--font-size .accessibility-tool__label,
html.is-accessible-mode[data-accessibility-font-size="xlarge"] .accessibility-tool--font-size .accessibility-tool__value,
html.is-accessible-mode[data-accessibility-line-height="wide"] .accessibility-tool--line-height .accessibility-tool__label,
html.is-accessible-mode[data-accessibility-line-height="wide"] .accessibility-tool--line-height .accessibility-tool__value,
html.is-accessible-mode[data-accessibility-line-height="extra"] .accessibility-tool--line-height .accessibility-tool__label,
html.is-accessible-mode[data-accessibility-line-height="extra"] .accessibility-tool--line-height .accessibility-tool__value {
        color: #ffffff;
}

.button-primary:hover,
.button-secondary:hover,
.pill-link:hover,
.accessibility-link:hover,
.partner-card:hover,
.social-card:hover,
.footer-meta__button:hover {
	transform: translateY(-2px);
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	overflow: visible;
	background: #ffffff;
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(57, 57, 57, 0.08);
}

.site-header__inner {
	position: relative;
	display: grid;
	grid-template-columns: 585px 575px;
	align-items: start;
	gap: 61px;
	min-height: 122px;
	padding: 15px 33px 19px 26px;
}

.site-header__primary {
	position: relative;
	width: 585px;
	height: 88px;
}

.site-brand {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 387px;
	height: 85px;
	max-width: none;
}

.site-brand__logo {
	position: absolute;
	top: 0;
	left: 0;
	width: 84px;
	height: 85px;
	object-fit: cover;
}

.site-brand__text {
	position: absolute;
	top: 0;
	left: 102px;
	display: block;
	width: 285px;
	padding-top: 0;
}

.site-brand__title-row {
	position: relative;
	display: block;
	width: 285px;
	height: 36px;
}

.site-brand__title {
	display: block;
	width: 234px;
	color: var(--color-accent);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2857;
}

.site-brand__foundation {
	position: absolute;
	top: 23px;
	left: 247px;
	color: var(--color-accent);
	font-size: 9px;
	font-weight: 700;
	line-height: 1.2222;
}

.site-header__nav-cluster {
	position: absolute;
	top: 51px;
	left: 102px;
	display: block;
	width: 483px;
	height: 37px;
	padding-top: 0;
}

.site-nav {
	width: 355px;
	min-width: 355px;
}

.site-nav__list {
	display: flex;
	flex-wrap: nowrap;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav__item {
	flex: 0 0 auto;
}

.site-nav__link {
	position: relative;
	display: inline-flex;
	align-items: flex-start;
	padding: 0;
	color: #000000;
	font-size: 14px;
	line-height: 1.2857;
}

.site-nav__link.is-current,
.site-mega-menu__link.is-current {
	color: var(--color-accent);
}

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

.site-more-toggle {
	position: absolute;
	top: 13px;
	right: 0;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 9px;
	padding: 3px 9px 3px 13px;
	line-height: 1.2857;
}

.site-header.is-menu-open .pill-link {
	background: var(--color-accent);
	color: #ffffff;
	border-color: var(--color-accent);
}

.site-header.is-menu-open .pill-link img {
	filter: brightness(0) invert(1);
}

.site-more-toggle span {
	display: block;
	line-height: 18px;
}

.site-more-toggle img {
	width: 11.67px;
	height: 6.6px;
	margin-top: 6px;
	object-fit: contain;
}

.site-header__aside {
	position: relative;
	width: 575px;
	height: 85px;
}

.site-header__social {
	position: absolute;
	top: 3px;
	left: 0;
	display: inline-flex;
	align-items: center;
	gap: 16px;
	width: 78px;
	height: 18px;
	padding-top: 0;
}

.site-header__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 18px;
	border: 0;
	background: transparent;
	color: var(--color-accent);
	transition: color 0.2s ease;
}

.site-header__social a:hover,
.site-header__social a:focus-visible {
	color: #f29636;
}

.site-header__social-link--vk svg {
	width: 20px;
	height: 12px;
}

.site-header__social-link--ok svg {
	width: 10.82px;
	height: 18px;
}

.site-header__social-link--max svg {
	width: 15px;
	height: 15px;
}

.site-header__social svg {
	display: block;
	object-fit: contain;
}

.site-header__meta {
	position: absolute;
	top: 31px;
	left: 0;
	width: 575px;
	height: 54px;
	color: #393939;
	font-size: 14px;
	line-height: 1.2857;
}

.site-header__meta-block {
	position: absolute;
	display: block;
}

.site-header__meta-block--schedule {
	top: 0;
	left: 0;
	width: 215px;
}

.site-header__meta-block--email {
	top: 18px;
	left: 268px;
	width: 140px;
}

.site-header__meta-block--phone {
	top: 18px;
	left: 438px;
	width: 137px;
}

.site-header__meta-label {
	color: #393939;
	font-size: 14px;
	font-weight: 600;
}

.site-header__meta-value,
.site-header__meta-note {
	color: #393939;
	font-size: 14px;
	line-height: 1.2857;
}

.site-header__meta-note {
	display: block;
	font-style: italic;
	white-space: nowrap;
}

.site-header__meta-block--schedule .site-header__meta-label,
.site-header__meta-block--schedule .site-header__meta-value {
	display: inline;
}

.site-header__meta-block--email .site-header__meta-label,
.site-header__meta-block--email .site-header__meta-value,
.site-header__meta-block--phone .site-header__meta-label,
.site-header__meta-block--phone .site-header__meta-value {
	display: inline;
}

.site-header__aside > .accessibility-link {
	position: absolute;
	top: 0;
	left: 320px;
}

.site-header__aside > .accessibility-tools {
        position: absolute;
}

.site-mega-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 35;
	width: 100vw;
	min-height: 370px;
	background: #ffffff;
	box-shadow: 0 20px 40px rgba(18, 33, 53, 0.12);
	transform: translateX(-50%);
}

.site-mega-menu::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 50%;
	background: #f0feff;
	pointer-events: none;
}

.site-mega-menu__inner {
	position: relative;
	z-index: 1;
	min-height: 370px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.site-mega-menu__inner::after {
	display: none;
}

.site-mega-menu__search {
	position: absolute;
	top: 23px;
	left: 21px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: 236px;
	margin: 0;
	padding: 3px 12px 3px 13px;
	border: 0.5px solid var(--color-accent);
	border-radius: 45px;
	background: #ffffff;
}

.site-mega-menu__search input {
	width: 100%;
	border: 0;
	background: transparent;
	color: #8e8e8e;
	font-size: 14px;
	line-height: 1.2857;
}

.site-mega-menu__search:focus-within {
        outline: 2px solid #00a5b2;
        outline-offset: 2px;
}

.site-mega-menu__search input::placeholder {
	color: #8e8e8e;
}

.site-mega-menu__search button {
	position: relative;
	width: 13px;
	height: 13px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.site-mega-menu__search button span,
.site-mega-menu__search button span::after {
	position: absolute;
	display: block;
}

.site-mega-menu__search button span {
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	border: 1px solid var(--color-accent);
	border-radius: 50%;
}

.site-mega-menu__search button span::after {
	content: "";
	right: -3px;
	bottom: -1px;
	width: 5px;
	height: 1px;
	background: var(--color-accent);
	transform: rotate(45deg);
	transform-origin: center;
}

.site-mega-menu__columns {
	position: relative;
	z-index: 1;
	display: block;
	min-height: 370px;
}

.site-mega-menu__column {
	position: absolute;
}

.site-mega-menu__title {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2857;
}

.site-mega-menu__list {
	display: grid;
	gap: 23px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-mega-menu__item {
	margin: 0;
}

.site-mega-menu__link {
	display: block;
	padding: 0;
	font-size: 14px;
	line-height: 1.2857;
}

.site-mega-menu__link.is-accent {
	color: #f29636;
}

.site-mega-menu__link:hover {
	color: var(--color-orange);
}

.site-mega-menu__footer {
	position: absolute;
	top: 263px;
	left: 672px;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 0;
}

.site-mega-menu__footer span {
	font-size: 14px;
	font-style: italic;
}

.site-mega-menu__footer .button-primary {
	min-height: 32px;
	padding: 7px 22px;
	border-radius: 45px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2857;
}

.site-mega-menu__column:nth-child(1) {
	top: 78px;
	left: 128px;
	width: 153px;
}

.site-mega-menu__column:nth-child(2) {
	top: 78px;
	left: 389.57px;
	width: 215.36px;
}

.site-mega-menu__column:nth-child(2) .site-mega-menu__list {
	gap: 24px;
}

.site-mega-menu__column:nth-child(2) .site-mega-menu__item:nth-child(1) .site-mega-menu__link {
	width: 215.36px;
}

.site-mega-menu__column:nth-child(2) .site-mega-menu__item:nth-child(2) .site-mega-menu__link {
	width: 173px;
}

.site-mega-menu__column:nth-child(2) .site-mega-menu__item:nth-child(3) .site-mega-menu__link {
	width: 174.54px;
}

.site-mega-menu__column:nth-child(2) .site-mega-menu__item:nth-child(4) .site-mega-menu__link {
	width: 123.43px;
}

.site-mega-menu__column:nth-child(3) {
	top: 26px;
	left: 672px;
	width: 188px;
}

.site-mega-menu__column:nth-child(3) .site-mega-menu__list {
	margin-top: 34px;
	gap: 22px;
}

.site-mega-menu__column:nth-child(4) {
	top: 78px;
	left: 940px;
	width: 156px;
}

.site-mega-menu__column:nth-child(4) .site-mega-menu__list {
	gap: 22px;
}

.hero-section,
.calendar-section,
.social-section,
.contacts-section,
.partners-section,
.content-fallback {
	padding: 0;
}

.content-fallback {
	padding: 48px 0 72px;
}

.content-fallback__article {
	padding: 32px;
	border-radius: 24px;
	background: #ffffff;
	box-shadow: var(--shadow-soft);
}

.search-results__header {
	margin-bottom: 28px;
}

.search-results__summary {
	max-width: 720px;
	margin-bottom: 0;
	font-size: 18px;
}

.search-results__list {
	display: grid;
	gap: 20px;
}

.search-results__type {
	margin-bottom: 10px;
	color: var(--color-accent);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.search-results__item-title {
	margin-bottom: 12px;
	font-size: clamp(24px, 3vw, 32px);
}

.search-results__item-title a:hover {
	color: var(--color-accent);
}

.search-results__excerpt > *:last-child {
	margin-bottom: 0;
}

.search-results__empty {
	max-width: 720px;
}

.about-museum-page {
	padding: 71px 0 79px;
	background: #f5f5f5;
}

.about-museum-page__container {
	width: min(1280px, 100%);
	margin: 0 auto;
}

.about-museum-page__list {
	display: grid;
	gap: 70px;
	padding-left: 190px;
}

.about-museum-card {
	position: relative;
	display: grid;
	grid-template-columns: 478px var(--about-card-content-width);
	column-gap: 31px;
	width: calc(509px + var(--about-card-content-width));
	min-height: 252px;
}

.about-museum-card__link-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.about-museum-card__media {
	position: relative;
	z-index: 0;
	width: 478px;
	height: 252px;
}

.about-museum-card__frame {
	position: relative;
	width: 478px;
	height: 252px;
	overflow: hidden;
	background: #00a5b2;
}

.about-museum-card__image {
	position: absolute;
	left: var(--about-card-image-left);
	top: var(--about-card-image-top);
	display: block;
	width: var(--about-card-image-width);
	height: var(--about-card-image-height);
	max-width: none;
}

.about-museum-card__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: var(--about-card-content-width);
	min-height: 216px;
	padding-top: 18px;
}

.about-museum-card__title {
	max-width: var(--about-card-title-width);
	margin: 0;
	color: #000000;
	font-size: 22px;
	line-height: 1.27;
}

.about-museum-card__text {
	max-width: var(--about-card-content-width);
	margin: var(--about-card-text-offset) 0 0;
	color: #393939;
	font-size: 16px;
	line-height: 1.45;
}

.about-museum-card__button {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 113px;
	height: 39px;
	margin-top: auto;
	border: 1px solid #00a5b2;
	border-radius: 45px;
	color: #000000;
	font-size: 16px;
	line-height: 1;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

a.about-museum-card__button:hover,
a.about-museum-card__button:focus-visible {
	background: #00a5b2;
	border-color: #00a5b2;
	color: #ffffff;
}

.about-museum-page + .social-section {
	margin-top: 0;
}

.about-history-page {
	padding: 0 0 79px;
	background: #f5f5f5;
}

.about-history-page__hero-wrap {
	width: 100%;
}

.about-history-page__hero {
	position: relative;
	width: 100%;
	height: 322px;
	overflow: hidden;
}

.about-history-page__hero-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 54%;
}

.about-history-page__container {
	width: min(900px, calc(100% - 40px));
	margin: 0 auto;
}

.about-history-page__header {
	padding-top: 58px;
}

.about-history-page__title {
	margin: 0;
	color: #000000;
	font-size: 26px;
	font-weight: 700;
	line-height: 33px;
	text-align: center;
}

.about-history-page__quote {
	position: absolute;
	top: 0;
	left: 0;
	width: 293px;
	margin: 0;
	color: #000000;
	font-size: 16px;
	font-style: italic;
	font-weight: 700;
	line-height: 20px;
}

.about-history-page__quote p,
.about-history-page__intro-copy p,
.about-history-page__lead p,
.about-history-page__text,
.about-history-page__caption {
	margin: 0;
}

.about-history-page__canvas {
	position: relative;
	height: 2247px;
	margin-top: 58px;
}

.about-history-page__intro-copy,
.about-history-page__lead,
.about-history-page__text {
	color: #000000;
	font-size: 16px;
	line-height: 20px;
	text-align: left;
}

.about-history-page__intro-copy {
	position: absolute;
	top: 0;
	left: 399px;
	width: 500px;
}

.about-history-page__lead {
	position: absolute;
	top: 114px;
	left: 0;
	width: 900px;
}

.about-history-page__text {
	position: absolute;
}

.about-history-page__figure {
	position: absolute;
	margin: 0;
}

.about-history-page__figure--stanislav {
	top: 288px;
	left: 0;
	width: 264.95px;
}

.about-history-page__figure--pyneev {
	top: 615.7px;
	left: 0;
	width: 264.95px;
}

.about-history-page__figure--kozlov {
	top: 1050.45px;
	left: 486.04px;
	width: 417.12px;
}

.about-history-page__figure--document {
	top: 1328.17px;
	left: 0;
	width: 311.65px;
}

.about-history-page__figure--certificate {
	top: 1796.09px;
	left: 567.87px;
	width: 332.13px;
}

.about-history-page__image {
	display: block;
	width: 100%;
	height: auto;
}

.about-history-page__caption {
	margin-top: 10px;
	color: #000000;
	font-size: 16px;
	font-style: italic;
	line-height: 20px;
}

.about-history-page__figure--stanislav .about-history-page__image {
	height: 267.76px;
	object-fit: cover;
}

.about-history-page__figure--pyneev .about-history-page__image {
	height: 351.86px;
	object-fit: cover;
}

.about-history-page__figure--kozlov .about-history-page__image {
	width: 413.96px;
	height: 210px;
	object-fit: cover;
	object-position: center 20%;
}

.about-history-page__figure--document .about-history-page__image {
	height: 425.89px;
	object-fit: cover;
}

.about-history-page__figure--certificate .about-history-page__image {
	height: 450.66px;
	object-fit: cover;
}

.about-history-page__text--stanislav-1 {
	top: 288px;
	left: 315.5px;
	width: 573.16px;
}

.about-history-page__text--stanislav-2 {
	top: 404.39px;
	left: 315.5px;
	width: 584.5px;
}

.about-history-page__text--stanislav-3 {
	top: 540.78px;
	left: 315.5px;
	width: 584.5px;
}

.about-history-page__text--stanislav-4 {
	top: 697.17px;
	left: 315.5px;
	width: 584.5px;
}

.about-history-page__text--pyneev {
	top: 813.56px;
	left: 315.5px;
	width: 581.06px;
}

.about-history-page__text--kozlov-intro {
	top: 1103.95px;
	left: 0;
	width: 398.84px;
}

.about-history-page__text--decision {
	top: 1425.09px;
	left: 486.04px;
	width: 413.96px;
}

.about-history-page__text--director {
	top: 1577.13px;
	left: 486.04px;
	width: 413.96px;
}

.about-history-page__text--facilities-intro {
	top: 1815.57px;
	left: 0;
	width: 525.97px;
}

.about-history-page__text--facilities {
	top: 1881.62px;
	left: 0;
	width: 544.23px;
}

.about-history-page__text--area {
	top: 2035.97px;
	left: 0;
	width: 525.97px;
}

.about-history-page__text--union {
	top: 2159.31px;
	left: 0;
	width: 523.08px;
}

.about-history-page + .social-section {
	margin-top: 0;
}

@media (max-width: 1100px) {
	.about-history-page__container {
		width: min(900px, calc(100% - 32px));
	}
}

@media (max-width: 767px) {
	.about-history-page {
		padding-bottom: 56px;
	}

	.about-history-page__container {
		width: min(100%, calc(100% - 32px));
	}

	.about-history-page__hero {
		height: auto;
		aspect-ratio: 1280 / 360;
	}

	.about-history-page__header {
		padding-top: 36px;
	}

	.about-history-page__title {
		font-size: 24px;
	}

	.about-history-page__canvas {
		height: auto;
		margin-top: 32px;
	}

	.about-history-page__canvas > * {
		position: static;
		display: block;
		width: auto;
		max-width: none;
	}

	.about-history-page__quote,
	.about-history-page__intro-copy,
	.about-history-page__lead,
	.about-history-page__text,
	.about-history-page__figure {
		margin-bottom: 24px;
	}

	.about-history-page__figure--stanislav,
	.about-history-page__figure--pyneev,
	.about-history-page__figure--kozlov,
	.about-history-page__figure--document,
	.about-history-page__figure--certificate {
		width: 100%;
		max-width: 420px;
	}

	.about-history-page__figure--stanislav .about-history-page__image,
	.about-history-page__figure--pyneev .about-history-page__image,
	.about-history-page__figure--kozlov .about-history-page__image,
	.about-history-page__figure--document .about-history-page__image,
	.about-history-page__figure--certificate .about-history-page__image {
		width: 100%;
		height: auto;
	}
}

.about-collections-page {
	padding: 0 0 79px;
	background: #f5f5f5;
}

.about-collections-page__hero-wrap {
	width: 100%;
}

.about-collections-page__hero {
	width: 100%;
	height: 322px;
	overflow: hidden;
}

.about-collections-page__hero-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.about-collections-page__container {
	width: min(900px, calc(100% - 40px));
	margin: 0 auto;
}

.about-collections-page__header {
	padding-top: 58px;
}

.about-collections-page__title {
	margin: 0;
	color: #000000;
	font-size: 26px;
	font-weight: 700;
	line-height: 33px;
	text-align: center;
}

.about-collections-page__intro {
	display: grid;
	grid-template-columns: 293px 1fr;
	column-gap: 106px;
	align-items: start;
	margin-top: 58px;
}

.about-collections-page__quote {
	margin: 0;
	color: #000000;
	font-size: 16px;
	font-style: italic;
	font-weight: 700;
	line-height: 20px;
}

.about-collections-page__quote p,
.about-collections-page__intro-copy p,
.about-collections-page__media-copy p,
.about-collections-page__text {
	margin: 0;
}

.about-collections-page__intro-copy {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.about-collections-page__body {
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin-top: 36px;
}

.about-collections-page__text {
	color: #000000;
	font-size: 16px;
	line-height: 1.45;
	text-align: left;
}

.about-collections-page__slider-block {
	margin: 4px 0 10px;
}

.about-collections-page__media-row {
	display: grid;
	grid-template-columns: 356px 1fr;
	column-gap: 55px;
	align-items: start;
}

.about-collections-page__media-row--top .about-collections-page__media-copy {
	align-self: center;
}

.about-collections-page__media-row--reverse .about-collections-page__slider-block {
	order: 2;
}

.about-collections-page__media-row--reverse .about-collections-page__media-copy {
	order: 1;
}

.about-collections-page__media-row--middle {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 356px;
	column-gap: 55px;
	align-items: center;
}

.about-collections-page__media-row--middle .about-collections-page__media-copy {
	width: 100%;
	min-width: 0;
	max-width: none;
	align-items: stretch;
	align-self: center;
	justify-content: flex-start;
}

.about-collections-page__media-row--middle .about-collections-page__text {
	width: 100%;
	max-width: none;
	text-align: left;
}

.about-collections-page__media-row--middle .about-collections-page__slider-block {
	align-self: center;
	width: 356px;
	margin: 0;
	justify-self: end;
}

.about-collections-page__media-copy {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.about-collections-page__slider-block .event-article-page__gallery-slider {
	width: 356px;
	max-width: 100%;
}

.about-collections-page__slider-block--middle .event-article-page__gallery-slider {
	width: 100%;
	margin: 0;
}

.about-collections-page__slider-block .event-article-page__gallery-frame {
	aspect-ratio: 356 / 269;
}

.about-collections-page__slider-block--middle .event-article-page__gallery-frame {
	height: auto;
	aspect-ratio: 4 / 3;
}

.about-collections-page__media-row--middle .event-article-page__gallery-section {
	margin-top: 0;
}

.about-collections-page__slider-block--top .event-article-page__gallery-image {
	object-fit: contain;
	object-position: center;
	background: #ffffff;
}

.about-collections-page__slider-block--middle .event-article-page__gallery-image,
.about-collections-page__slider-block--large .event-article-page__gallery-image {
	object-fit: contain;
	object-position: center;
	background: #ffffff;
}

.about-collections-page__slider-block--large .event-article-page__gallery-frame {
	aspect-ratio: 900 / 560;
}

.about-collections-page__slider-block--large .event-article-page__gallery-slider {
	width: 100%;
}

.about-collections-page + .social-section {
	margin-top: 0;
}

.about-styles-page {
	padding-bottom: 48px;
	background: #f5f5f5;
}

.about-styles-page__hero-wrap {
	width: 100%;
}

.about-styles-page__hero {
	position: relative;
	width: 100%;
	height: 360px;
	overflow: hidden;
}

.about-styles-page__hero-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.about-styles-page__container {
	width: min(900px, calc(100% - 40px));
	margin: 0 auto;
}

.about-styles-page__header {
	padding-top: 48px;
	text-align: center;
}

.about-styles-page__title {
	margin: 0;
	color: #000000;
	font-size: 40px;
	font-weight: 400;
	line-height: 1.1;
}

.about-styles-page__intro {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	column-gap: 59px;
	margin-top: 36px;
}

.about-styles-page__quote p,
.about-styles-page__text {
	margin: 0;
	color: #000000;
	font-size: 16px;
	line-height: 1.45;
}

.about-styles-page__quote p {
	font-weight: 700;
	font-style: italic;
}

.about-styles-page__body {
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin-top: 36px;
}

.about-styles-page__row {
	display: grid;
	grid-template-columns: 356px 1fr;
	column-gap: 55px;
	align-items: center;
}

.about-styles-page__row--reverse {
	grid-template-columns: minmax(0, 1fr) 356px;
}

.about-styles-page__slider-block {
	margin: 0;
}

.about-styles-page__slider-block .event-article-page__gallery-section,
.about-styles-page__row .event-article-page__gallery-section {
	margin-top: 0;
}

.about-styles-page__slider-block .event-article-page__gallery-slider {
	width: 356px;
	max-width: 100%;
}

.about-styles-page__slider-block .event-article-page__gallery-frame {
	aspect-ratio: 356 / 269;
}

.about-styles-page__slider-block .event-article-page__gallery-image {
	object-fit: contain;
	object-position: center;
	background: #ffffff;
}

.about-styles-page__image-block {
	width: 356px;
	max-width: 100%;
	margin: 0;
}

.about-styles-page__image-frame {
	aspect-ratio: 356 / 269;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.about-styles-page__image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	background: #ffffff;
}

.about-styles-page__copy {
	display: flex;
	align-items: center;
	min-width: 0;
}

.about-styles-page__row--reverse .about-styles-page__copy {
	order: 1;
}

.about-styles-page__row--reverse .about-styles-page__slider-block {
	order: 2;
}

.about-styles-page__row--reverse .about-styles-page__image-block {
	order: 2;
}

.about-styles-page + .social-section {
	margin-top: 0;
}

@media (min-width: 1280px) {
	.about-styles-page__container {
		width: min(1080px, calc(100% - 64px));
	}

	.about-styles-page__intro {
		grid-template-columns: 380px minmax(0, 1fr);
		column-gap: 72px;
	}

	.about-styles-page__row {
		grid-template-columns: 420px minmax(0, 1fr);
		column-gap: 72px;
	}

	.about-styles-page__row--reverse {
		grid-template-columns: minmax(0, 1fr) 420px;
	}

	.about-styles-page__slider-block .event-article-page__gallery-slider,
	.about-styles-page__image-block {
		width: 420px;
	}

	.about-styles-page__slider-block .event-article-page__gallery-frame,
	.about-styles-page__image-frame {
		aspect-ratio: 420 / 317;
	}
}

.about-events-page {
	padding: 0 0 79px;
	background: #f5f5f5;
}

.about-events-page__hero-wrap {
	width: 100%;
}

.about-events-page__hero {
	position: relative;
	width: 100%;
	height: 322px;
	overflow: hidden;
}

.about-events-page__hero-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.about-events-page__container {
	width: min(900px, calc(100% - 40px));
	margin: 0 auto;
}

.about-events-page__header {
	padding-top: 58px;
}

.about-events-page__title {
	margin: 0;
	color: #000000;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.27;
	text-align: center;
}

.about-events-page__article {
	margin-top: 40px;
	padding: 48px 56px 56px;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.05);
}

.about-events-page__timeline {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.about-events-page + .social-section {
	margin-top: 0;
}

.about-events-page__event-card {
	display: flex;
	width: 100%;
}

.about-events-page__event-card--left {
	justify-content: flex-start;
}

.about-events-page__event-card--right {
	justify-content: flex-end;
}

.about-events-page__event-inner {
	width: min(760px, 100%);
	padding: 24px 24px 26px;
	background: linear-gradient(180deg, #ffffff 0%, #f9fbfb 100%);
	border: 1px solid rgba(16, 168, 181, 0.18);
	border-radius: 20px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.06);
	border-left: 6px solid #10a8b5;
}

.about-events-page__event-card--right .about-events-page__event-inner {
	border-left-width: 1px;
	border-right: 6px solid #10a8b5;
	text-align: right;
}

.about-events-page__event-date {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	margin: 0 0 14px;
	padding: 6px 14px;
	color: #0b7d86;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	background: rgba(16, 168, 181, 0.12);
	border-radius: 999px;
}

.about-events-page__event-text {
	margin: 0;
	color: #000000;
	font-size: 16px;
	line-height: 1.6;
}

.about-events-page__event-details {
	margin: 16px 0 0;
	padding-left: 20px;
	color: #000000;
}

.about-events-page__event-detail {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
}

.about-events-page__event-detail + .about-events-page__event-detail {
	margin-top: 8px;
}

.about-events-page__event-card--right .about-events-page__event-details {
	padding-right: 20px;
	padding-left: 0;
	list-style-position: inside;
}

.about-structure-page {
	padding: 0 0 79px;
	background: #f5f5f5;
}

.about-structure-page .about-events-page__hero {
	height: 360px;
}

.about-structure-page .about-events-page__hero-image {
	object-position: center 52% !important;
}

.about-structure-page__article {
	margin-top: 32px;
}

.about-structure-page__item {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.about-structure-page__role,
.about-structure-page__name,
.about-structure-page__phone {
	margin: 0;
}

.about-structure-page__role {
	color: #0b7d86;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
}

.about-structure-page__name {
	color: #000000;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}

.about-structure-page__phone {
	color: #333333;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.45;
}

.about-events-page__event-card--right .about-structure-page__name,
.about-events-page__event-card--right .about-structure-page__phone {
	text-align: right;
}

@media (min-width: 1280px) {
	.about-structure-page .about-events-page__hero {
		height: 400px;
	}

	.about-structure-page .about-events-page__container {
		width: min(980px, calc(100% - 40px));
	}

	.about-structure-page .about-events-page__article {
		padding-left: 64px;
		padding-right: 64px;
	}

	.about-structure-page .about-events-page__event-inner {
		width: min(820px, 100%);
	}

	.about-documents-page__container {
		width: min(1200px, calc(100% - 40px));
	}
}

.placeholder-page {
	padding: 72px 0 79px;
	background: #f5f5f5;
}

.about-documents-page {
	padding: 0 0 79px;
	background: #f5f5f5;
}

.about-documents-page__container {
	width: min(1120px, calc(100% - 40px));
}

.about-documents-page__article {
	margin-top: 32px;
}

.about-documents-page__lead {
	margin: 0 0 28px;
	color: #000000;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
	text-align: justify;
}

.about-documents-page__section-title {
	margin: 0 0 28px;
	color: #000000;
	font-family: Bookerly, "STIX Two Text", serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}

.about-documents-page__section-title--secondary {
	margin-top: 44px;
}

.about-documents-page__accordions {
	display: grid;
	gap: 18px;
	margin-top: 44px;
}

.about-documents-page__accordion {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 24px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.04);
}

.about-documents-page__accordion-summary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 26px 32px;
	cursor: pointer;
	list-style: none;
}

.about-documents-page__accordion-summary::-webkit-details-marker {
	display: none;
}

.about-documents-page__accordion-title {
	display: block;
	padding-right: 44px;
	color: #000000;
	font-family: Bookerly, "STIX Two Text", serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
}

.about-documents-page__accordion-summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 32px;
	color: #df5e00;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-50%);
}

.about-documents-page__accordion[open] .about-documents-page__accordion-summary::after {
	content: "\2212";
}

.about-documents-page__accordion-content {
	padding: 0 32px 28px;
}

.about-documents-page__compact-list {
	display: grid;
	gap: 12px;
}

.about-documents-page__compact-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;
	padding: 20px 24px;
	background: #f8f8f8;
	border-radius: 18px;
}

.about-documents-page__compact-main {
	min-width: 0;
}

.about-documents-page__compact-title {
	margin: 0 0 8px;
	color: #000000;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

.about-documents-page__compact-meta {
	margin: 0;
	color: rgba(0, 0, 0, 0.62);
	font-size: 14px;
	line-height: 1.4;
}

.about-documents-page__button--compact {
	margin-top: 0;
	white-space: nowrap;
}

.about-documents-page__work-plans {
	margin-top: 44px;
	padding: 36px 32px 32px;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 24px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.04);
}

.about-documents-page__work-plans .about-documents-page__section-title {
	margin-bottom: 12px;
}

.about-documents-page__work-plans-description {
	margin: 0 0 28px;
	color: rgba(0, 0, 0, 0.62);
	font-size: 17px;
	line-height: 1.5;
	text-align: center;
}

.about-documents-page__work-plans-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-bottom: 28px;
}

.about-documents-page__work-plans-tab {
	padding: 12px 20px;
	color: #000000;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	background: #f4f4f4;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 999px;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.about-documents-page__work-plans-tab.is-active {
	color: #ffffff;
	background: #df5e00;
	border-color: #df5e00;
}

.about-documents-page__work-plans-months {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.about-documents-page__work-plans-month {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	min-height: 112px;
	padding: 18px 18px 16px;
	text-decoration: none;
	background: #f8f8f8;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 18px;
}

.about-documents-page__work-plans-month--active {
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.about-documents-page__work-plans-month--active:hover {
	transform: translateY(-2px);
	border-color: rgba(223, 94, 0, 0.28);
	box-shadow: 0 12px 24px rgba(223, 94, 0, 0.12);
}

.about-documents-page__work-plans-month--empty {
	opacity: 0.62;
}

.about-documents-page__work-plans-month-label {
	color: #000000;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
}

.about-documents-page__work-plans-month-action {
	margin-top: 18px;
	color: #df5e00;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

.about-documents-page__work-plans-month--empty .about-documents-page__work-plans-month-action {
	color: rgba(0, 0, 0, 0.5);
}

.about-documents-page__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.about-documents-page__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	height: 100%;
	margin-bottom: 0;
	padding: 24px 28px;
}

.about-documents-page__card-title {
	margin-bottom: 16px;
	text-wrap: balance;
}

.about-documents-page__meta {
	margin-bottom: 28px;
}

.about-documents-page__button {
	margin-top: auto;
}

@media (max-width: 900px) {
	.about-documents-page__grid {
		grid-template-columns: 1fr;
	}

	.about-documents-page__card {
		padding: 22px 20px;
	}

	.about-documents-page__accordion-summary {
		padding: 22px 24px;
	}

	.about-documents-page__accordion-title {
		font-size: 22px;
	}

	.about-documents-page__accordion-summary::after {
		right: 24px;
	}

	.about-documents-page__accordion-content {
		padding: 0 24px 24px;
	}

	.about-documents-page__compact-item {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.about-documents-page__button--compact {
		justify-self: start;
	}

	.about-documents-page__work-plans {
		padding: 28px 24px 24px;
	}

	.about-documents-page__work-plans-months {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.about-documents-page__work-plans-month {
		min-height: 96px;
		padding: 16px;
	}
}

.placeholder-page__container {
	width: min(900px, calc(100% - 40px));
	margin: 0 auto;
}

.placeholder-page__header {
	margin-bottom: 32px;
}

.placeholder-page__title {
	margin: 0;
	color: #000000;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.27;
	text-align: center;
}

.placeholder-page__body {
	padding: 48px 32px;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.05);
}

.placeholder-page__text {
	margin: 0;
	color: #000000;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

.placeholder-page + .social-section {
	margin-top: 0;
}

@media (min-width: 1280px) {
	.about-collections-page__container {
		width: min(980px, calc(100% - 40px));
	}

	.about-collections-page__media-row--middle {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 356px;
		column-gap: 55px;
		align-items: center;
	}

	.about-collections-page__media-row--middle .about-collections-page__media-copy {
		width: 100%;
		min-width: 0;
		max-width: none;
		align-items: stretch;
		align-self: center;
		justify-content: flex-start;
	}

	.about-collections-page__media-row--middle .about-collections-page__text {
		width: 100%;
		max-width: none;
	}

	.about-collections-page__slider-block--middle .event-article-page__gallery-slider {
		width: 100%;
	}

	.about-styles-page__row--reverse .about-styles-page__copy {
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 1100px) {
	.about-collections-page__container {
		width: min(900px, calc(100% - 32px));
	}

	.about-collections-page__media-row--middle {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.about-collections-page__media-row--middle .about-collections-page__slider-block {
		width: 100%;
	}

	.about-styles-page__intro {
		grid-template-columns: 1fr;
		row-gap: 20px;
	}

	.about-styles-page__row,
	.about-styles-page__row--reverse {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.about-events-page__article {
		padding: 32px;
		background: #ffffff;
	}

	.about-events-page__timeline {
		gap: 18px;
	}

	.about-events-page__event-card--left,
	.about-events-page__event-card--right {
		justify-content: flex-start;
	}

	.placeholder-page__body {
		padding: 36px 28px;
	}
}

@media (max-width: 767px) {
	.about-collections-page {
		padding-bottom: 56px;
	}

	.about-collections-page__container {
		width: min(100%, calc(100% - 32px));
	}

	.about-collections-page__hero {
		height: auto;
		aspect-ratio: 1280 / 360;
	}

	.about-events-page {
		padding-bottom: 56px;
	}

	.about-events-page__container {
		width: min(100%, calc(100% - 32px));
	}

	.about-events-page__hero {
		height: auto;
		aspect-ratio: 1280 / 360;
	}

	.about-events-page__header {
		padding-top: 36px;
	}

	.about-events-page__article {
		margin-top: 28px;
		padding: 24px 20px 28px;
	}

	.about-events-page__event-card--left,
	.about-events-page__event-card--right {
		justify-content: flex-start;
	}

	.about-events-page__event-inner {
		padding: 20px 18px 22px;
		border-radius: 18px;
		width: 100%;
	}

	.about-events-page__event-card--right .about-events-page__event-inner {
		border-right-width: 1px;
		border-left: 6px solid #10a8b5;
		text-align: left;
	}

	.about-events-page__event-date {
		margin-bottom: 12px;
		padding: 6px 12px;
		font-size: 14px;
	}

	.about-events-page__event-text {
		font-size: 15px;
		line-height: 1.55;
	}

	.about-events-page__event-details {
		margin-top: 14px;
		padding-left: 18px;
	}

	.about-events-page__event-detail {
		font-size: 14px;
	}

	.placeholder-page {
		padding: 56px 0;
	}

	.placeholder-page__container {
		width: min(100%, calc(100% - 32px));
	}

	.placeholder-page__body {
		padding: 28px 20px;
	}

	.placeholder-page__text {
		font-size: 20px;
	}

	.about-collections-page__header {
		padding-top: 36px;
	}

	.about-collections-page__title {
		font-size: 24px;
	}

	.about-collections-page__intro {
		grid-template-columns: 1fr;
		row-gap: 20px;
		margin-top: 32px;
	}

	.about-collections-page__body {
		margin-top: 28px;
		gap: 20px;
	}

	.about-collections-page__media-row {
		grid-template-columns: 1fr;
		row-gap: 20px;
	}

	.about-collections-page__slider-block .event-article-page__gallery-frame,
	.about-collections-page__slider-block--large .event-article-page__gallery-frame {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.about-collections-page__slider-block .event-article-page__gallery-slider,
	.about-collections-page__slider-block--large .event-article-page__gallery-slider {
		width: 100%;
	}
}

.research-page {
	padding: 51px 0 176px;
	background: #f5f5f5;
}

.research-page__container {
	width: min(1280px, 100%);
	margin: 0 auto;
}

.research-page__title {
	margin: 0 0 52px;
	color: #000000;
	font-size: 26px;
	line-height: 1.27;
	text-align: center;
}

.research-page__list {
	display: grid;
	gap: 68px;
	padding-left: 194px;
}

.research-card {
	display: grid;
	grid-template-columns: 478px var(--research-card-content-width);
	column-gap: 31px;
	width: calc(509px + var(--research-card-content-width));
	min-height: 252px;
}

.research-card__content {
	display: flex;
	flex-direction: column;
	width: var(--research-card-content-width);
	min-height: 252px;
}

.research-card__title {
	max-width: var(--research-card-title-width);
	margin: 0;
	color: #000000;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.27;
	white-space: pre-line;
}

.research-card__text {
	max-width: var(--research-card-content-width);
	margin: var(--research-card-text-offset) 0 0;
	color: #393939;
	font-size: 16px;
	line-height: 1.44;
}

.research-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 113px;
	height: 39px;
	margin-top: auto;
	border: 1px solid #00a5b2;
	border-radius: 45px;
	color: #000000;
	font-size: 16px;
	line-height: 1;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.research-card__button:hover,
.research-card__button:focus-visible {
	background: #00a5b2;
	color: #ffffff;
}

.research-card__media {
	width: 478px;
	height: 252px;
}

.research-card__media-link {
	display: block;
	width: 100%;
	height: 100%;
}

.research-card__frame {
	position: relative;
	width: 478px;
	height: 252px;
	overflow: hidden;
	background: #d9d9d9;
}

.research-card__image {
	position: absolute;
	left: var(--research-card-image-left);
	top: var(--research-card-image-top);
	display: block;
	width: var(--research-card-image-width);
	height: var(--research-card-image-height);
	max-width: none;
}

.research-page + .social-section {
	margin-top: 0;
}

.research-article-page {
	padding: 51px 0 176px;
	background: #f5f5f5;
}

.research-article-page__container {
	width: min(900px, 100%);
	margin: 0 auto;
}

.research-article-page__title {
	max-width: 520px;
	margin: 0 auto 54px;
	color: #000000;
	font-size: 26px;
	line-height: 1.27;
	text-align: center;
}

.research-article-page__feature {
	display: grid;
	grid-template-columns: 330px 280px;
	column-gap: 69px;
	align-items: center;
	min-height: 375px;
	padding: 46px 110px 45px 61px;
	background: #ffffff;
}

.research-article-page__gallery {
	width: 330px;
	outline: none;
}

.research-article-page__gallery-viewport {
	position: relative;
	width: 330px;
	height: 240px;
	overflow: hidden;
}

.research-article-page__gallery-track {
	display: flex;
	width: 100%;
	height: 100%;
	transition: transform 0.35s ease;
	will-change: transform;
}

.research-article-page__gallery-slide {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
	margin: 0;
}

.research-article-page__gallery-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.research-article-page__summary {
	color: #393939;
	font-size: 16px;
	font-style: italic;
	line-height: 1.45;
}

.research-article-page__summary p {
	margin: 0;
}

.research-article-page__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	margin-top: 32px;
}

.research-article-page__arrow {
	position: relative;
	flex: 0 0 auto;
	width: 35px;
	height: 35px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #d9d9d9;
	cursor: pointer;
}

.research-article-page__arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	transform: translate(-50%, -50%);
}

.research-article-page__arrow--prev::before {
	border-right: 7px solid #ffffff;
	margin-left: -1px;
}

.research-article-page__arrow--next::before {
	border-left: 7px solid #ffffff;
	margin-left: 1px;
}

.research-article-page__arrow.is-disabled,
.research-article-page__arrow:disabled {
	cursor: default;
	opacity: 0.7;
}

.research-article-page__dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.research-article-page__dot {
	width: 13px;
	height: 13px;
	padding: 0;
	border: 1px solid #d9d9d9;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.research-article-page__dot--active {
	border-color: #00a5b2;
	background: #00a5b2;
}

.research-article-page__columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 61px;
	margin-top: 45px;
}

.research-article-page__column {
	color: #000000;
	font-size: 16px;
	line-height: 1.45;
}

.research-article-page__text p,
.research-article-page__list {
	margin: 0;
}

.research-article-page__text p + p {
	margin-top: 16px;
}

.research-article-page__list {
	padding-left: 18px;
}

.research-article-page__list li + li {
	margin-top: 12px;
}

.research-article-page + .social-section {
	margin-top: 0;
}

.old-album-page {
	padding: 55px 0 96px;
	background: #f5f5f5;
}

.old-album-page__container {
	width: min(900px, 100%);
	margin: 0 auto;
}

.old-album-page__title {
	margin: 0 0 38px;
	color: #000000;
	font-size: 26px;
	line-height: 1.27;
	text-align: center;
}

.old-album-page__sections {
	display: grid;
	gap: 75px;
}

.old-album-entry__card {
	position: relative;
	height: 375px;
	background: #ffffff;
	overflow: hidden;
}

.old-album-entry__card--slider {
	outline: none;
}

.old-album-entry__slider-track {
	display: flex;
	width: 100%;
	height: 100%;
	transition: transform 0.35s ease;
	will-change: transform;
}

.old-album-entry__slide {
	position: relative;
	flex: 0 0 100%;
	min-width: 100%;
	height: 100%;
}

.old-album-entry__image {
	position: absolute;
	left: calc(24px + var(--old-album-image-left));
	top: calc(25px + var(--old-album-image-top));
	display: block;
	width: var(--old-album-image-width);
	height: var(--old-album-image-height);
	max-width: none;
}

.old-album-entry__image-frame--slide {
	position: absolute;
	left: calc(24px + var(--old-album-slide-left));
	top: calc(25px + var(--old-album-slide-top));
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: var(--old-album-slide-width);
	height: var(--old-album-slide-height);
	padding: var(--old-album-slide-frame-padding, 0);
	padding-left: var(--old-album-slide-frame-padding-left, var(--old-album-slide-frame-padding, 0));
	background: var(--old-album-slide-frame-background, transparent);
	box-shadow: inset 0 0 0 1px rgba(128, 113, 86, 0.18);
}

.old-album-entry__image--slide {
	position: static;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.old-album-entry__caption {
	position: absolute;
	left: calc(24px + var(--old-album-caption-left));
	top: calc(25px + var(--old-album-caption-top));
	width: var(--old-album-caption-width);
	margin: 0;
	color: #393939;
	font-size: 16px;
	font-style: italic;
	line-height: 1.45;
	white-space: pre-line;
}

.old-album-entry__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 31px;
}

.old-album-entry__arrow {
	position: relative;
	flex: 0 0 auto;
	width: 27px;
	height: 27px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #d9d9d9;
}

.old-album-entry__arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	transform: translate(-50%, -50%);
}

.old-album-entry__arrow--prev::before {
	border-right: 6px solid #ffffff;
	margin-left: -1px;
}

.old-album-entry__arrow--next::before {
	border-left: 6px solid #ffffff;
	margin-left: 1px;
}

.old-album-entry__dot {
	flex: 0 0 auto;
	display: block;
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #d9d9d9;
}

.old-album-entry__dot--active {
	background: #00a5b2;
}

button.old-album-entry__arrow,
button.old-album-entry__dot {
	cursor: pointer;
}

button.old-album-entry__arrow:focus-visible,
button.old-album-entry__dot:focus-visible,
.old-album-entry__card--slider:focus-visible {
	outline: 1px solid #00a5b2;
	outline-offset: 2px;
}

.old-album-entry__text-columns {
	display: grid;
	grid-template-columns: var(--old-album-left-width) var(--old-album-right-width);
	column-gap: 72px;
	margin-top: 37px;
}

.old-album-entry__text {
	color: #000000;
	font-size: 16px;
	line-height: 1.45;
}

.old-album-entry__text p {
	margin: 0 0 12px;
}

.old-album-entry__text p:last-child {
	margin-bottom: 0;
}

.old-album-page + .social-section {
	margin-top: 0;
}

.news-page {
	padding: 70px 0 100px;
	background: #f5f5f5;
}

.news-page__container {
	width: min(1280px, 100%);
	margin: 0 auto;
	padding: 0 20px;
}

.news-page__list {
	display: grid;
	gap: 70px;
}

.news-card {
	display: grid;
	grid-template-columns: 478px 337px;
	column-gap: 35px;
	width: 850px;
	min-height: 252px;
	margin: 0 auto;
}

.news-card__content {
	display: grid;
	grid-template-rows: auto auto 1fr auto;
	align-content: start;
	min-height: 252px;
	padding: 18px 0;
	order: 2;
}

.news-card__meta {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: start;
	column-gap: 12px;
	margin-bottom: 14px;
}

.news-card__title {
	max-width: 321px;
	margin: 0;
	font-size: 22px;
	line-height: 1.27;
}

.news-card__title-text {
	display: block;
}

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

.news-card__date {
	padding-top: 6px;
	color: #393939;
	font-size: 14px;
	line-height: 1.3;
	white-space: nowrap;
}

.news-card__excerpt {
	color: #393939;
	font-size: 16px;
	line-height: 1.45;
}

.news-card__excerpt p {
	margin: 0;
}

.news-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 113px;
	height: 39px;
	margin-top: 24px;
	border: 1px solid #00a5b2;
	border-radius: 45px;
	color: #000000;
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.news-card__link:hover {
	background: #00a5b2;
	color: #ffffff;
}

.news-card__link--disabled {
	pointer-events: none;
}

.news-card__media {
	display: block;
	width: 478px;
	height: 252px;
	background: #00a5b2;
	overflow: hidden;
	order: 1;
}

.news-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-card__image--program-prices {
	transform: scale(1.18);
	transform-origin: center;
	object-position: 42% 100%;
}

.news-card__image--placeholder {
	background: linear-gradient(135deg, #00a5b2 0%, #0c6f8f 100%);
}

.events-page {
	padding: 71px 0 85px;
}

.events-page__container {
	width: min(100% - 32px, var(--container-width));
	margin: 0 auto;
}

.events-page__list {
	display: grid;
	gap: 69px;
}

.events-card {
	--events-card-height: 252px;
	--events-title-offset: 2px;
	--events-excerpt-gap: 31px;
	display: grid;
	grid-template-columns: 478px 391px;
	column-gap: 31px;
	width: 900px;
	margin: 0 auto;
	align-items: start;
}

.events-card--standard {
	--events-excerpt-gap: 18px;
}

.events-card--spacious {
	--events-excerpt-gap: 34px;
}

.events-card--featured {
	--events-card-height: 332px;
	--events-excerpt-gap: 4px;
}

.events-card--tight {
	--events-excerpt-gap: 4px;
}

.events-card--title-only {
	--events-title-offset: 0;
	--events-excerpt-gap: 24px;
}

.events-card__media {
	width: 478px;
	height: 252px;
	background: #00a5b2;
	overflow: hidden;
}

.events-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.events-card__image--vivat-rossiya {
	object-position: 50% 37%;
}

.events-card__image--pod-knyazheskim-styagom {
	object-position: 50% 33%;
}

.events-card__image--otchizny-vernye-syny {
	object-position: 50% 47%;
}

.events-card__image--svecha-pamyati {
	object-position: 50% 38%;
}

.events-card__image--rycarskie-turniry {
	object-position: 50% 29%;
}

.events-card__image--ot-boya-do-boya-nedolgo {
	object-position: 50% 37%;
}

.events-card__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: var(--events-card-height);
}

.events-card__date,
.events-card__title,
.events-card__excerpt {
	width: 391px;
}

.events-card__date {
	color: #ff6900;
  font-size: 28px;
  line-height: 1.2;
	white-space: pre-line;
}

.events-card__title {
	max-width: 321px;
	margin: var(--events-title-offset) 0 0;
  font-size: 32px;
  line-height: 1.16;
	color: #000000;
}

.events-card__title-text {
	display: block;
}

.events-card__title a:hover,
.events-card__title a:focus-visible {
	color: var(--color-accent);
}

.events-card__excerpt {
	margin-top: var(--events-excerpt-gap);
	color: #393939;
	font-size: 16px;
	line-height: 1.45;
}

.events-card__excerpt p {
	margin: 0;
}

.events-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 113px;
	height: 39px;
	margin-top: auto;
	border: 1px solid #00a5b2;
	border-radius: 45px;
	color: #000000;
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.events-card__link:hover,
.events-card__link:focus-visible {
	background: #00a5b2;
	color: #ffffff;
}

.events-card__link--disabled {
	pointer-events: none;
}

.events-page + .social-section {
	margin-top: 0;
}

.event-article-page {
	padding-bottom: 0;
}

.event-article-page__hero {
	width: 100%;
	height: 500px;
	background: var(--color-accent);
	overflow: hidden;
}

.event-article-page__hero-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 32% 45%;
}

.event-article-page__container {
	width: min(100% - 32px, var(--event-article-width));
	margin: 0 auto;
}

.event-article-page__header {
	width: 321px;
	margin-bottom: 34px;
}

.event-article-page__title {
	margin: 0;
	color: #000000;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.27;
}

.event-article-page__date {
	margin: 0;
	color: #f29636;
	font-size: 22px;
	line-height: 1.27;
}

.event-article-page__article {
	position: relative;
	padding: 60px 0 0;
}

.event-article-page__top-photo {
	position: absolute;
	top: 40px;
	right: 44px;
	width: 418px;
	height: 278.67px;
	overflow: hidden;
}

.event-article-page__top-photo-image,
.event-article-page__side-photo-image,
.event-article-page__gallery-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.event-article-page__text {
	margin: 0 0 34px;
	color: #000000;
	font-size: 16px;
	line-height: 1.45;
}

.event-article-page--vivat-rossiya .event-article-page__text,
.event-article-page--vivat-rossiya .event-article-page__bottom-note p {
	text-align: left;
}

.event-article-page--vivat-rossiya .event-article-page__bottom-note p {
	text-align: left;
}

.event-article-page__text em {
	font-style: italic;
}

.event-article-page__text strong {
	font-weight: 700;
}

.event-article-page__text--intro-narrow {
	width: 365px;
	margin-top: 0;
	margin-bottom: 53px;
}

.event-article-page__text--intro-wide {
	width: min(100%, var(--event-article-width));
}

.event-article-page__text--intro-wide-first {
	margin-bottom: 34px;
}

.event-article-page__text--intro-wide-second {
	margin-bottom: 0;
}

.event-article-page__feature-row {
	display: grid;
	grid-template-columns: 345px 500.48px;
	column-gap: 54.52px;
	align-items: start;
	margin-top: 34px;
}

.event-article-page__side-photo {
	width: 345px;
	height: 258.75px;
	overflow: hidden;
}

.event-article-page__text--lead {
	width: 500.48px;
	margin-bottom: 0;
}

.event-article-page__feature-copy {
	width: 500.48px;
}

.event-article-page__text--lead-secondary {
	margin-top: 34px;
}

.event-article-page__body {
	margin-top: 34px;
}

.event-article-page__summary-row {
	display: grid;
	grid-template-columns: 345px 1fr;
	column-gap: 0;
	align-items: start;
	width: min(100%, var(--event-article-width));
	margin-top: 69px;
}

.event-article-page__bottom-note {
	width: 345px;
	margin-top: 0;
}

.event-article-page__bottom-note p {
	margin: 0;
	color: #000000;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
}

.event-article-page__divider {
	display: flex;
	justify-content: flex-end;
	justify-self: end;
	padding-top: 0.57px;
}

.event-article-page__divider-link {
	display: block;
}

.event-article-page__divider-image {
	display: block;
	width: 253.16px;
	height: 89.86px;
}

.event-article-page__gallery-section {
	margin-top: 20px;
}

.event-article-page__gallery-slider {
	width: min(100%, var(--event-article-width));
}

.event-article-page__gallery-frame {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 1;
	overflow: hidden;
}

.event-article-page__gallery-track {
	display: flex;
	height: 100%;
	transition: transform 0.45s ease;
	will-change: transform;
}

.event-article-page__gallery-slide {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
}

.event-article-page__vk-band {
	width: 100%;
	margin-top: 56px;
	background: var(--color-orange);
}

.event-article-page + .social-section {
	margin-top: 0;
}

.event-article-page__gallery-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 18px;
}

.event-article-page--pod-knyazheskim-styagom .event-article-page__header,
.event-article-page--otchizny-vernye-syny .event-article-page__header,
.event-article-page--svecha-pamyati .event-article-page__header,
.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__header {
	width: 360px;
	margin-bottom: 0;
	justify-self: center;
	text-align: center;
}

.event-article-page--otchizny-vernye-syny .event-article-page__date {
	font-size: 18px;
}

.event-article-page--otchizny-vernye-syny .event-article-page__feature-row {
	grid-template-columns: 380px 465.48px;
}

.event-article-page--svecha-pamyati .event-article-page__feature-row {
	grid-template-columns: 380px 465.48px;
}

.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__feature-row {
	grid-template-columns: 380px 465.48px;
}

.event-article-page--otchizny-vernye-syny .event-article-page__side-photo {
	width: 380px;
	height: 285px;
}

.event-article-page--svecha-pamyati .event-article-page__side-photo {
	width: 380px;
	height: 285px;
}

.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__side-photo {
	width: 380px;
	height: 285px;
}

.event-article-page--otchizny-vernye-syny .event-article-page__feature-copy,
.event-article-page--otchizny-vernye-syny .event-article-page__text--lead {
	width: 465.48px;
}

.event-article-page--svecha-pamyati .event-article-page__feature-copy,
.event-article-page--svecha-pamyati .event-article-page__text--lead {
	width: 465.48px;
}

.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__feature-copy,
.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__text--lead {
	width: 465.48px;
}

.event-article-page--svecha-pamyati .event-article-page__text--intro-narrow {
	margin-bottom: 24px;
}

.event-article-page--pod-knyazheskim-styagom .event-article-page__intro-row,
.event-article-page--otchizny-vernye-syny .event-article-page__intro-row,
.event-article-page--svecha-pamyati .event-article-page__intro-row,
.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__intro-row {
	display: grid;
	grid-template-columns: 360px 418px;
	column-gap: 92px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 34px;
}

.event-article-page--pod-knyazheskim-styagom .event-article-page__top-photo,
.event-article-page--otchizny-vernye-syny .event-article-page__top-photo,
.event-article-page--svecha-pamyati .event-article-page__top-photo,
.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__top-photo {
	position: relative;
	top: auto;
	right: auto;
	width: 418px;
	height: 278.67px;
	margin-top: 0;
}

.event-article-page--pod-knyazheskim-styagom .event-article-page__hero-image {
	object-position: center 28%;
}

.event-article-page--otchizny-vernye-syny .event-article-page__hero-image {
	object-position: center 18%;
}

.event-article-page--svecha-pamyati .event-article-page__hero-image {
	object-position: center 78%;
}

.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__hero-image {
	object-position: center 28%;
}

.event-article-page--pod-knyazheskim-styagom .event-article-page__top-photo-image {
	object-position: center 0%;
}

.event-article-page--otchizny-vernye-syny .event-article-page__top-photo-image {
	object-position: center center;
}

.event-article-page--otchizny-vernye-syny .event-article-page__side-photo-image,
.event-article-page--svecha-pamyati .event-article-page__top-photo-image,
.event-article-page--svecha-pamyati .event-article-page__side-photo-image,
.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__top-photo-image,
.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__side-photo-image {
	object-position: center center;
}

.event-article-page--pod-knyazheskim-styagom .event-article-page__text--intro-narrow,
.event-article-page--otchizny-vernye-syny .event-article-page__text--intro-narrow {
	width: min(100%, var(--event-article-width));
	margin-bottom: 34px;
}

.event-article-page--svecha-pamyati .event-article-page__text--intro-narrow {
	width: min(100%, var(--event-article-width));
	margin-bottom: 24px;
}

.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__text--intro-narrow {
	width: min(100%, var(--event-article-width));
	margin-bottom: 24px;
}

.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__gallery-section {
	margin-bottom: 32px;
}

.event-article-page--pod-knyazheskim-styagom .event-article-page__text,
.event-article-page--pod-knyazheskim-styagom .event-article-page__bottom-note p,
.event-article-page--otchizny-vernye-syny .event-article-page__text,
.event-article-page--otchizny-vernye-syny .event-article-page__bottom-note p,
.event-article-page--svecha-pamyati .event-article-page__text,
.event-article-page--svecha-pamyati .event-article-page__bottom-note p,
.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__text,
.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__bottom-note p {
	text-align: left;
}

.event-article-page--pod-knyazheskim-styagom .event-article-page__summary-row,
.event-article-page--otchizny-vernye-syny .event-article-page__summary-row,
.event-article-page--svecha-pamyati .event-article-page__summary-row,
.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__summary-row {
	display: block;
}

.event-article-page--otchizny-vernye-syny .event-article-page__summary-row {
	margin-top: 28px;
}

.event-article-page--pod-knyazheskim-styagom .event-article-page__bottom-note,
.event-article-page--otchizny-vernye-syny .event-article-page__bottom-note,
.event-article-page--svecha-pamyati .event-article-page__bottom-note,
.event-article-page--ot-boya-do-boya-nedolgo .event-article-page__bottom-note {
	width: min(100%, var(--event-article-width));
	max-width: 100%;
}

.event-article-page--pod-knyazheskim-styagom .event-article-page__side-photo-image {
	object-position: center center;
}

.event-article-page__gallery-dot {
	display: block;
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #d9d9d9;
	cursor: pointer;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.event-article-page__gallery-dot--active {
	background: var(--color-accent);
	transform: scale(1.18);
}

.event-article-page__vk-band-inner {
	display: grid;
	align-items: center;
	grid-template-columns: 505px 153px;
	gap: 21px;
	width: min(100%, var(--event-article-width));
	min-height: 111px;
	margin: 0 auto;
	padding-left: 111px;
}

.event-article-page__vk-band-text {
	margin: 0;
	color: #ffffff;
	font-size: 22px;
	line-height: 1.27;
}

.event-article-page__vk-band-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 152.67px;
	height: 39px;
	padding: 0;
	border: 1px solid #ffffff;
	border-radius: 45px;
	color: #ffffff;
	font-size: 22px;
	line-height: 1;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.event-article-page__vk-band-link:hover,
.event-article-page__vk-band-link:focus-visible {
	background: #ffffff;
	color: var(--color-orange);
}

.news-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	margin-top: 100px;
}

.news-pagination__pages {
	display: flex;
	align-items: center;
	gap: 5px;
}

.news-pagination__control,
.news-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 10px;
	border: 1px solid #f1f1f1;
	border-radius: 8px;
	background: #ffffff;
	color: #333333;
	font-size: 13px;
	line-height: 1;
	text-decoration: none;
}

.news-pagination__control:hover,
.news-pagination .page-numbers:hover {
	border-color: #00a5b2;
	color: #00a5b2;
}

.news-pagination .page-numbers.current {
	border-color: #00a5b2;
	background: #00a5b2;
	color: #ffffff;
}

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

.news-pagination__control--disabled {
	color: #cccccc;
	pointer-events: none;
}

.news-page__empty {
	width: min(850px, 100%);
	margin: 0 auto;
	padding: 36px;
	border-radius: 24px;
	background: #ffffff;
	box-shadow: var(--shadow-soft);
}

.news-page + .social-section {
	margin-top: 0;
}

.news-article-page {
	padding: 0 0 100px;
	background: #f5f5f5;
	overflow-x: hidden;
}

.news-article-page__container {
	width: min(900px, 100%);
	margin: 0 auto;
	padding: 46px 20px 0;
}

.news-article-page__article {
	width: 900px;
	max-width: 100%;
	margin: 0;
}

.news-article-page__columns {
	display: grid;
	grid-template-columns: 367px 365px;
	column-gap: 168px;
	align-items: start;
}

.news-article-page__column {
	display: flex;
	flex-direction: column;
}

.news-article-page__headline {
	margin-bottom: 38px;
}

.news-article-page__title {
	max-width: 321px;
	margin: 0;
	font-size: 22px;
	line-height: 1.27;
}

.news-article-page__date {
	color: #393939;
	font-size: 14px;
	line-height: 1.3;
	white-space: nowrap;
	align-self: flex-end;
	margin-top: 83px;
}

.news-article-page__intro,
.news-article-page__section,
.news-article-page__closing {
	color: #393939;
	font-size: 16px;
	line-height: 1.45;
}

.news-article-page__intro {
	margin: 0;
}

.news-article-page__hero {
	position: relative;
	left: 50%;
	width: 100vw;
	height: 484px;
	margin-left: -50vw;
	overflow: hidden;
	background: #00a5b2;
}

.news-article-page__hero-image {
	position: absolute;
	top: -276px;
	left: 50%;
	display: block;
	width: max(100vw, 1317px);
	height: auto;
	min-height: 706px;
	max-width: none;
	transform: translateX(-50%);
}

.news-article-page--program-prices .news-article-page__hero-image {
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: 42% 85%;
	transform: scale(1.00);
	transform-origin: center;
}

.news-article-page__section p,
.news-article-page__section ul {
	margin: 0;
}

.news-article-page__section-title {
	margin: 0 0 10px;
	font-size: 16px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.45;
}

.news-article-page__section-title--bold {
	font-style: normal;
	font-weight: 700;
}

.news-article-page__intro-block {
	margin-bottom: 44px;
}

.news-article-page__section--what-is {
	margin-bottom: 49px;
}

.news-article-page__section--usage {
	margin-bottom: 85px;
}

.news-article-page__section--confirm {
	margin-bottom: 91px;
}

.news-article-page__list {
	margin: 0;
	padding-left: 20px;
}

.news-article-page__list li + li {
	margin-top: 6px;
}

.news-article-page__section-lead {
	margin: 0 0 4px;
}

.news-article-page__closing {
	max-width: 367px;
	margin: 0;
}

.news-article-page + .social-section {
	margin-top: 0;
}

.memo-article-page {
	padding: 46px 0 100px;
	background: #f5f5f5;
}

.memo-article-page__container {
	width: min(900px, 100%);
	margin: 0 auto;
	padding: 0 20px;
}

.memo-article-page__article {
	width: 900px;
	max-width: 100%;
}

.memo-article-page__columns {
	display: grid;
	grid-template-columns: 367px 365px;
	column-gap: 168px;
	align-items: start;
}

.memo-article-page__column {
	display: flex;
	flex-direction: column;
}

.memo-article-page__header {
	margin-bottom: 44px;
}

.memo-article-page__title {
	max-width: 330px;
	margin: 0 0 32px;
	color: #000000;
	font-size: 22px;
	line-height: 1.27;
}

.memo-article-page__lead,
.memo-article-page__section,
.memo-article-page__download-text,
.memo-article-page__download-meta {
	color: #393939;
	font-size: 16px;
	line-height: 1.45;
}

.memo-article-page__lead {
	margin: 0;
}

.memo-article-page__download-card {
	margin-bottom: 44px;
	padding: 28px 30px 32px;
	border: 1px solid #00a5b2;
	border-radius: 24px;
	background: #ffffff;
}

.memo-article-page__download-kicker {
	margin: 0 0 12px;
	color: #00a5b2;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.27;
	text-transform: none;
	letter-spacing: 0;
}

.memo-article-page__download-text {
	margin: 0 0 16px;
}

.memo-article-page__download-meta {
	margin: 0 0 24px;
	font-size: 14px;
}

.memo-article-page__download-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 258px;
	min-height: 46px;
	padding: 12px 22px;
	border-radius: 45px;
	background: #f29636;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.memo-article-page__download-button:hover,
.memo-article-page__download-button:focus-visible {
	background: #d97f21;
	outline: none;
	transform: translateY(-1px);
}

.memo-article-page__section {
	margin-bottom: 42px;
}

.memo-article-page__section-title {
	margin: 0 0 10px;
	color: #000000;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.45;
}

.memo-article-page__list {
	margin: 0;
	padding-left: 20px;
}

.memo-article-page__list li + li {
	margin-top: 6px;
}

.schedule-page {
	position: relative;
	overflow: hidden;
	padding: 408px 0 40px;
	background: #f5f5f5;
}

.schedule-page__hero {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 687px;
}

.schedule-page__hero-bg,
.schedule-page__hero-band {
	position: absolute;
	left: 0;
	right: 0;
	overflow: hidden;
}

.schedule-page__hero-bg img,
.schedule-page__hero-band img {
	position: absolute;
	left: 50%;
	display: block;
	width: max(100vw, 1440px);
	max-width: none;
	transform: translateX(-50%);
}

.schedule-page__hero-bg {
	top: 0;
	height: 687px;
	opacity: 0.1;
	filter: grayscale(1);
}

.schedule-page__hero-bg img {
	top: 0;
	height: 687px;
}

.schedule-page__hero-band {
	top: 26px;
	height: 322px;
}

.schedule-page__hero-band img {
	top: -26px;
	height: 687px;
}

.schedule-page__container {
	position: relative;
	z-index: 1;
	width: min(900px, 100%);
	margin: 0 auto;
	padding: 0 20px;
}

.schedule-page__article {
	width: 900px;
	max-width: 100%;
}

.schedule-page__columns {
	display: grid;
	grid-template-columns: 367px 365px;
	column-gap: 132px;
	align-items: start;
}

.schedule-page__column {
	display: flex;
	flex-direction: column;
}

.schedule-page__header {
	margin-bottom: 44px;
}

.schedule-page__title {
	max-width: 330px;
	margin: 0 0 32px;
	color: #000000;
	font-size: 30px;
	line-height: 1.27;
}

.schedule-page__lead,
.schedule-page__section,
.schedule-page__empty {
	color: #393939;
	font-size: 16px;
	line-height: 1.45;
}

.schedule-page__lead,
.schedule-page__empty {
	margin: 0;
}

.schedule-page__section {
	margin-bottom: 42px;
}

.schedule-page__column > .schedule-page__section:last-child {
	margin-bottom: 0;
}

.schedule-page__section--highlight {
	padding: 28px 30px 32px;
	border: 1px solid #00a5b2;
	border-radius: 24px;
	background: #ffffff;
}

.schedule-page__section--top-align {
	padding-top: 16px;
}

.schedule-page__section-title {
	margin: 0 0 10px;
	color: #000000;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.27;
}

.schedule-page__list {
	margin: 0;
	padding-left: 20px;
}

.schedule-page__list li + li {
	margin-top: 8px;
}

.schedule-page__wide-section {
	margin-top: 24px;
	margin-bottom: 42px;
	width: 100%;
	margin-left: 0;
}

.schedule-page__wide-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 48px;
	align-items: start;
}

.schedule-page__list a {
	color: #00a5b2;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.schedule-page__list a:hover,
.schedule-page__list a:focus-visible {
	color: #f29636;
}

.schedule-page + .social-section {
	margin-top: 0;
}

.memo-article-page + .social-section {
	margin-top: 0;
}

.service-quality-page {
	background: #f5f5f5;
}

.service-quality-page__hero {
	position: relative;
	width: 100vw;
	height: 338px;
	margin: 0 0 30px calc(50% - 50vw);
	overflow: hidden;
	background: #00a5b2;
}

.service-quality-page__hero-image,
.service-quality-page__hero-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.service-quality-page__hero-image {
	object-fit: cover;
	object-position: center 38%;
}

.service-quality-page__hero-overlay {
	background: rgba(0, 165, 178, 0.76);
}

.service-quality-page__hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	width: 900px;
	height: 100%;
	margin: 0 auto;
	padding: 24px 0 0;
}

.service-quality-page__hero-title {
	flex: 1 1 auto;
	max-width: none;
	margin: 0;
	color: #ffffff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.27;
	white-space: nowrap;
}

.service-quality-page__hero-logo {
	width: 165px;
	height: auto;
}

.service-quality-page__container {
	width: 900px;
	margin: 0 auto;
	padding: 0 0 48px;
}

.service-quality-page__columns {
	display: grid;
	grid-template-columns: 379px 379px;
	column-gap: 142px;
	align-items: start;
}

.service-quality-page__intro-title {
	width: 379px;
	margin: 0 0 23px;
	color: #000000;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.28;
}

.service-quality-page__intro-text {
	width: 379px;
	margin: 0;
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.service-quality-page__contacts {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 121px;
	height: 31px;
	margin-top: 61px;
	padding: 6px 31px 7px 14px;
	border: 1px solid #00a5b2;
	border-radius: 45px;
	color: #000000;
	font-size: 14px;
	line-height: 1;
	position: relative;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.service-quality-page__contacts::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 13px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #00a5b2;
	border-right: 1px solid #00a5b2;
	transform: translateY(-50%) rotate(45deg);
	transition: border-color 0.2s ease;
}

.service-quality-page__contacts:hover,
.service-quality-page__contacts:focus-visible {
	background: #00a5b2;
	color: #ffffff;
}

.service-quality-page__contacts:hover::after,
.service-quality-page__contacts:focus-visible::after {
	border-color: #ffffff;
}

.service-quality-page__question {
	width: 379px;
	margin: 0 0 22px;
	padding: 0;
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.service-quality-page__fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.js .service-quality-page__fieldset:not(.is-active) {
	display: none;
}

.service-quality-page__notice {
	margin: 0 0 18px;
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.4;
}

.service-quality-page__notice--success {
	background: rgba(0, 165, 178, 0.12);
	color: #006f79;
}

.service-quality-page__notice--error {
	background: rgba(242, 150, 54, 0.12);
	color: #9a5300;
}

.service-quality-page__honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.service-quality-page__field-error,
.contacts-page__field-error {
        display: block;
        margin-top: 6px;
        color: #9a5300;
        font-size: 13px;
        line-height: 1.35;
}

.service-quality-page__options {
	display: grid;
	gap: 9px;
}

.service-quality-page__option {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 39px;
	padding: 12px 18px 12px 16px;
	border-radius: 9px;
	background: #ffffff;
	cursor: pointer;
}

.service-quality-page__radio {
	flex: 0 0 auto;
	width: 12px;
	height: 12px;
	margin: 0;
	accent-color: #00a5b2;
}

.service-quality-page__option-label {
	color: #667085;
	font-size: 14px;
	line-height: 1.2;
}

.service-quality-page__pagination {
        display: none;
	align-items: center;
	gap: 6px;
	justify-content: space-between;
	margin-top: 14px;
}

.js .service-quality-page__pagination {
        display: flex;
}

.service-quality-page__page-list {
	display: flex;
	align-items: center;
	gap: 5px;
	flex: 1;
	min-width: 0;
	justify-content: center;
}

.service-quality-page__page-control,
.service-quality-page__page-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 30px;
	height: 30px;
	padding: 8px 10px;
	border-radius: 8px;
	background: #ffffff;
	color: #a8a8a8;
	font-size: 11px;
	line-height: 1;
	border: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.service-quality-page__page-control {
	padding-left: 11px;
	padding-right: 11px;
	flex-shrink: 0;
}

.service-quality-page__page-control:hover,
.service-quality-page__page-number:hover,
.service-quality-page__page-control:focus-visible,
.service-quality-page__page-number:focus-visible {
	color: #00a5b2;
	outline: none;
}

.service-quality-page__page-number--active {
	background: #00a5b2;
	color: #ffffff;
	transform: translateY(-1px);
}

.service-quality-page__page-control--disabled {
	background: #f1f1f1;
	color: #d4d4d4;
}

.service-quality-page__suggestions {
	display: block;
	margin-top: 31px;
}

.service-quality-page__suggestions-label {
	display: block;
  width: 100%;
  max-width: 100%;
	margin-bottom: 10px;
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.service-quality-page__textarea {
	display: block;
	width: 100%;
	height: 96px;
	padding: 13px 14px;
	border: 1px solid #d8d8d8;
	border-radius: 9px;
	background: #ffffff;
	color: #000000;
	font-size: 14px;
	line-height: 1.2;
	resize: none;
}

.service-quality-page__textarea::placeholder {
	color: #4a4a4a;
}

.service-quality-page__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 39px;
	margin-top: 17px;
	padding: 0;
	border: 0;
	border-radius: 45px;
	background: #d9d9d9;
	color: #ffffff;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
}

.service-quality-page__submit:disabled {
	cursor: default;
}

.service-quality-page__submit:not(:disabled) {
	background: #00a5b2;
}

.service-quality-page__submit:not(:disabled):hover,
.service-quality-page__submit:not(:disabled):focus-visible {
	background: #008792;
	outline: none;
}

.service-quality-page__submit:focus-visible,
.contacts-page__input:focus-visible,
.contacts-page__textarea:focus-visible,
.contacts-page__checkbox:focus-visible,
.service-quality-page__radio:focus-visible,
.service-quality-page__textarea:focus-visible {
        outline: 2px solid #00a5b2;
        outline-offset: 2px;
}

.skip-link {
        position: fixed;
        top: 12px;
        left: 12px;
        z-index: 10000;
        padding: 10px 14px;
        transform: translateY(-150%);
        border-radius: 6px;
        background: #ffffff;
        color: #006f79;
        font-weight: 700;
        transition: transform 0.2s ease;
}

.skip-link:focus-visible {
        transform: translateY(0);
        outline: 2px solid #00a5b2;
        outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
                scroll-behavior: auto !important;
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
        }
}

.service-quality-page + .social-section {
	margin-top: 0;
}

.anti-corruption-page {
	padding: 51px 0 106px;
	background: #f5f5f5;
}

.anti-corruption-page__container {
	width: min(900px, calc(100% - 40px));
	margin: 0 auto;
}

.anti-corruption-page__title {
	margin: 0 0 74px;
	color: #000000;
	font-size: 30px;
	line-height: 1.1333;
	text-align: center;
}

.anti-corruption-page__top-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
}

.anti-corruption-card {
	display: grid;
	grid-template-rows: 200px 1fr;
	min-height: 427px;
	border: 1px solid #00a5b2;
	background: transparent;
}

.anti-corruption-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 24px;
	background: transparent;
}

.anti-corruption-card__icon svg {
	display: block;
	width: 66px;
	height: auto;
	max-width: 100%;
	max-height: 56px;
}

.anti-corruption-card:nth-child(1) .anti-corruption-card__icon svg {
	width: 70px;
	max-height: 56px;
}

.anti-corruption-card:nth-child(2) .anti-corruption-card__icon svg {
	width: 61px;
	max-height: 68px;
}

.anti-corruption-card:nth-child(3) .anti-corruption-card__icon svg {
	width: 66px;
	max-height: 62px;
}

.anti-corruption-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 43px 18px 19px;
	border-top: 1px solid #00a5b2;
	background: #ffffff;
}

.anti-corruption-card__title {
	margin: 0 0 28px;
	color: #000000;
	font-size: 30px;
	line-height: 1.1333;
}

.anti-corruption-card__text {
	margin: 0;
	color: #6a6a6a;
	font-size: 14px;
	line-height: 1.5;
}

.anti-corruption-card:nth-child(1) .anti-corruption-card__text,
.anti-corruption-card:nth-child(2) .anti-corruption-card__text {
	transform: translateY(-10px);
}

.anti-corruption-card__button,
.anti-corruption-link-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 110px;
	height: 39px;
	margin-top: auto;
	padding: 0 24px;
	border: 1px solid #00a5b2;
	border-radius: 45px;
	background: transparent;
	color: #000000;
	font-size: 14px;
	line-height: 1;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.anti-corruption-card__button:hover,
.anti-corruption-card__button:focus-visible,
.anti-corruption-link-card__button:hover,
.anti-corruption-link-card__button:focus-visible {
	background: #00a5b2;
	color: #ffffff;
	outline: none;
	transform: translateY(-1px);
}

.anti-corruption-card__button--static,
.anti-corruption-link-card__button--static,
.anti-corruption-page__document-pill--static {
	cursor: default;
}

.anti-corruption-card__button--static:hover,
.anti-corruption-card__button--static:focus-visible,
.anti-corruption-link-card__button--static:hover,
.anti-corruption-link-card__button--static:focus-visible,
.anti-corruption-page__document-pill--static:hover,
.anti-corruption-page__document-pill--static:focus-visible {
	background: transparent;
	color: #000000;
	transform: none;
}

.anti-corruption-page__section {
	margin-top: 58px;
}

.anti-corruption-page__section-title {
	margin: 0 0 34px;
	color: #00a5b2;
	font-size: 24px;
	line-height: 1.1667;
}

.anti-corruption-page__link-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
}

.anti-corruption-link-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
  min-height: 165px;
  padding: 22px 18px 16px;
	background: transparent;
	border: 1px solid #dfe8ea;
}

.anti-corruption-link-card__title {
	margin: 0;
	color: #000000;
	font-size: 16px;
	line-height: 1.4375;
}

.anti-corruption-page__document-list {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 20px;
}

.anti-corruption-page__document-pill {
	display: inline-flex;
	align-items: center;
	min-height: 39px;
	padding: 8px 17px;
	border: 1px solid #00a5b2;
	border-radius: 45px;
	background: transparent;
	color: #000000;
	font-size: 16px;
	line-height: 1.25;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.anti-corruption-page__document-pill:hover,
.anti-corruption-page__document-pill:focus-visible {
	background: #00a5b2;
	color: #ffffff;
	outline: none;
	transform: translateY(-1px);
}

.anti-corruption-page + .social-section {
	margin-top: 0;
}

.contacts-page {
	padding: 53px 0 124px;
	background: #f5f5f5;
}

.contacts-page__container {
	width: min(900px, calc(100% - 40px));
	margin: 0 auto;
}

.contacts-page__title {
	margin: 0 0 28px;
	color: #000000;
	font-family: Bookerly, "STIX Two Text", serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3077;
	text-align: center;
}

.contacts-page__card {
	display: grid;
	grid-template-columns: 317px 266px 180px;
	column-gap: 26px;
	align-items: start;
	padding: 41px 42px 47px;
	background: #ffffff;
	border-radius: 13px;
}

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

.contacts-page__info-item {
	display: flex;
	align-items: flex-start;
	gap: 34px;
}

.contacts-page__info-item + .contacts-page__info-item {
	margin-top: 21px;
}

.contacts-page__info-icon {
	flex: 0 0 auto;
	width: 25px;
	height: 25px;
}

.contacts-page__info-item:first-child .contacts-page__info-icon {
	height: 20px;
}

.contacts-page__info-item:last-child .contacts-page__info-icon {
	width: 20px;
}

.contacts-page__info-icon svg,
.contacts-page__social-icon svg,
.contacts-page__route-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.contacts-page__info-copy {
	display: block;
	color: #000000;
	font-size: 14px;
	line-height: 1.2857;
}

.contacts-page__info-copy strong {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2857;
}

.contacts-page__info-copy a,
.contacts-page__info-copy span {
	color: #000000;
}

.contacts-page__card-brand {
	padding-top: 0;
}

.contacts-page__card-title {
	margin: 0 0 18px;
	max-width: 448px;
	color: #000000;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2857;
}

.contacts-page__card-logo {
	display: block;
	width: 136px;
	height: 137px;
	object-fit: contain;
}

.contacts-page__social-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 36px;
}

.contacts-page__social-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 180px;
	height: 39px;
	padding: 0 23px;
	border: 1px solid #00a5b2;
	border-radius: 45px;
	color: #000000;
	background: transparent;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.contacts-page__social-button:hover,
.contacts-page__social-button:focus-visible {
	color: #000000;
	background: rgba(0, 165, 178, 0.08);
	outline: none;
	transform: translateY(-1px);
}

.contacts-page__social-icon {
	display: inline-flex;
	width: 20px;
	height: 18px;
	--fill-0: #00a5b2;
}

.contacts-page__social-button:first-child .contacts-page__social-icon {
	height: 12px;
}

.contacts-page__social-button:nth-child(2) .contacts-page__social-icon {
	width: 11px;
}

.contacts-page__social-button:last-child .contacts-page__social-icon {
	width: 15px;
	height: 15px;
}

.contacts-page__routes {
	margin-top: 51px;
}

.contacts-page__section-title {
	margin: 0 0 31px;
	color: #000000;
	font-family: Bookerly, "STIX Two Text", serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3077;
	text-align: center;
}

.contacts-page__routes-list {
	display: grid;
	row-gap: 15px;
}

.contacts-page__route-card {
	display: grid;
	grid-template-columns: 290px 1fr;
	min-height: 200px;
	background: #ffffff;
	border-radius: 0;
}

.contacts-page__route-media {
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
}

.contacts-page__route-icon {
	display: inline-flex;
	width: 48px;
	height: 63px;
}

.contacts-page__route-card:nth-child(2) .contacts-page__route-icon {
	width: 58px;
	height: 51px;
}

.contacts-page__route-card:nth-child(3) .contacts-page__route-icon {
	width: 70px;
	height: 72px;
}

.contacts-page__route-content {
	display: grid;
	grid-template-columns: 136px 1fr;
	column-gap: 37px;
	padding: 28px 18px 23px 44px;
	align-items: center;
}

.contacts-page__route-title {
	margin: 0;
	color: #000000;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.contacts-page__route-text {
	margin: 0;
	color: #6a6a6a;
	font-size: 14px;
	line-height: 1.5;
}

.contacts-page__map-section {
	margin-top: 79px;
}

.contacts-page__map-section .contacts-section__map {
	position: relative;
	height: 303px;
}

.contacts-page__feedback {
	margin-top: 72px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.contacts-page__feedback-card {
	width: 640px;
	max-width: 100%;
	padding: 48px;
	background: #ffffff;
	border: 1px solid #f1f2f9;
	border-radius: 24px;
}

.contacts-page__notice {
	margin-bottom: 26px;
	padding: 15px 18px;
	border-radius: 16px;
	font-size: 14px;
	line-height: 1.5;
}

.contacts-page__notice--success {
	background: rgba(0, 165, 178, 0.1);
	color: #007985;
}

.contacts-page__notice--error {
	background: rgba(242, 150, 54, 0.12);
	color: #b46815;
}

.contacts-page__form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 30px;
}

.contacts-page__field {
	display: block;
}

.contacts-page__field--textarea {
	margin-top: 29px;
}

.contacts-page__field-label {
	display: block;
	margin-bottom: 11px;
	color: #000000;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3125;
}

.contacts-page__input,
.contacts-page__textarea {
	display: block;
	width: 100%;
	border: 1px solid #dbdce9;
	border-radius: 18px;
	background: #f5f5f5;
	color: #000000;
	font-size: 14px;
	line-height: 1.5;
}

.contacts-page__input {
	height: 68px;
	padding: 0 21px;
}

.contacts-page__textarea {
	height: 176px;
	padding: 19px 29px;
	resize: vertical;
}

.contacts-page__input::placeholder,
.contacts-page__textarea::placeholder {
	color: #a0a0a0;
}

.contacts-page__policy {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 18px;
	color: #8b8b8b;
	font-size: 14px;
	line-height: 1.2857;
}

.contacts-page__policy a {
	color: inherit;
	text-decoration: underline;
}

.contacts-page__checkbox {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	margin: 0;
	border: 1px solid #dbdce9;
}

.contacts-page__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 260px;
	height: 52px;
	margin-top: 56px;
	padding: 0 24px;
	border: 0;
	border-radius: 45px;
	background: #f29636;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.contacts-page__submit:hover,
.contacts-page__submit:focus-visible {
	background: #d97f21;
	outline: none;
	transform: translateY(-1px);
}

.contacts-page__honeypot {
	display: none;
}

.ensemble-page {
	position: relative;
	overflow: hidden;
	padding: 433px 0 85px;
	background: #f5f5f5;
}

.ensemble-page__hero {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 687px;
}

.ensemble-page__hero-bg,
.ensemble-page__hero-band {
	position: absolute;
	left: 0;
	right: 0;
	overflow: hidden;
}

.ensemble-page__hero-bg img,
.ensemble-page__hero-band img {
	position: absolute;
	left: 50%;
	display: block;
	width: max(100vw, 1280px);
	max-width: none;
	transform: translateX(-50%);
}

.ensemble-page__hero-bg {
	top: 0;
	height: 687px;
	opacity: 0.1;
	filter: grayscale(1);
}

.ensemble-page__hero-bg img {
	top: 0;
	height: 687px;
}

.ensemble-page__hero-band {
	top: 26px;
	height: 322px;
}

.ensemble-page__hero-band img {
	top: -26px;
	height: 687px;
}

.ensemble-page__container {
	position: relative;
	z-index: 1;
}

.ensemble-page + .social-section {
	margin-top: 0;
}

.ensemble-story {
	position: relative;
	width: 900px;
	height: 1727px;
	margin: 0 auto;
}

.ensemble-story__title,
.ensemble-story__text,
.ensemble-story__card,
.ensemble-story__photo {
	position: absolute;
	margin: 0;
}

.ensemble-story__title {
	top: 0;
	left: 0;
	width: 321px;
	margin-bottom: 0;
	color: #000000;
	font-family: var(--font-body);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2727;
}

.ensemble-story__text {
	width: 379px;
	color: #000000;
	font-size: 16px;
	line-height: 1.53125;
}

.ensemble-story__text p {
	margin: 0;
}

.ensemble-story__text--a {
	top: 80px;
	left: 0;
}

.ensemble-story__text--b {
	top: 0;
	left: 494px;
}

.ensemble-story__text--c {
	top: 291px;
	left: 0;
}

.ensemble-story__text--d {
	top: 291px;
	left: 494px;
}

.ensemble-story__text--e {
	top: 365px;
	left: 494px;
}

.ensemble-story__text--f {
	top: 445px;
	left: 0;
}

.ensemble-story__text--g {
	top: 626px;
	left: 494px;
}

.ensemble-story__text--h {
	top: 956px;
	left: 0;
	width: 362px;
}

.ensemble-story__text--i {
	top: 1134px;
	left: 0;
	width: 387px;
}

.ensemble-story__card {
	position: absolute;
	background: transparent;
}

.ensemble-story__card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid var(--color-accent);
	pointer-events: none;
}

.ensemble-story__card--archive {
	top: 568px;
	left: 0;
	width: 404px;
	height: 359px;
}

.ensemble-story__card--archive::before {
	width: 404px;
	height: 310px;
}

.ensemble-story__card--guardhouse {
	top: 1368px;
	left: 0;
	width: 900px;
	height: 359px;
}

.ensemble-story__card--guardhouse::before {
	width: 900px;
	height: 310px;
}

.ensemble-story__frame {
	position: absolute;
	overflow: hidden;
	background: #ffffff;
}

.ensemble-story__frame--narrow {
	top: 21px;
	left: 24px;
	width: 356px;
	height: 269px;
}

.ensemble-archive-slider {
	position: absolute;
}

.ensemble-archive-slider__viewport {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.ensemble-archive-slider__track {
	display: flex;
	height: 100%;
	transition: transform 0.35s ease;
	will-change: transform;
}

.ensemble-archive-slider__slide {
	flex: 0 0 100%;
	height: 100%;
}

.ensemble-story__frame--wide {
	top: 36px;
	left: 24px;
	width: 360px;
	height: 239px;
}

.ensemble-story__photo--house {
	top: 1004px;
	left: 460px;
	width: 440px;
	height: 310px;
	background: #ffffff;
}

.ensemble-story__image {
	display: block;
	object-fit: cover;
}

.ensemble-story__image--archive {
	width: 356px;
	height: 269px;
}

.ensemble-story__archive-nav {
	position: absolute;
	display: block;
	z-index: 2;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.ensemble-story__archive-nav img {
	display: block;
	width: 100%;
	height: 100%;
}

.ensemble-story__archive-nav--prev {
	left: 24px;
	top: 324.24px;
	width: 35px;
	height: 35px;
}

.ensemble-story__archive-dots {
	position: absolute;
	top: 334px;
	left: 201.5px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	transform: translateX(-50%);
}

.ensemble-story__archive-dot {
	width: 15px;
	height: 15px;
	padding: 0;
	border: 1px solid #d9d9d9;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.ensemble-story__archive-dot--active {
	border-color: var(--color-accent);
	background: var(--color-accent);
}

.ensemble-story__image--house {
	width: 397px;
	height: 269px;
	margin: 21px 0 0 22px;
}

.ensemble-story__image--guardhouse {
	width: 360px;
	height: 239px;
}

.ensemble-story__line,
.ensemble-story__label {
	position: absolute;
	display: block;
}

.ensemble-story__archive-nav--next {
	left: 344px;
	top: 324.24px;
	width: 35px;
	height: 35px;
}

.ensemble-story__line--right {
	left: 279px;
	bottom: -1px;
	width: 355px;
	height: 35px;
}

.ensemble-story__label--right {
	left: 355px;
	bottom: 9px;
	width: 204px;
	height: 15px;
}

.ensemble-story__text--j {
	top: 101px;
	left: 460px;
}

.hero-section {
	padding-top: 21px;
}

.hero-banner {
	width: 899px;
	margin: 0 auto;
}

.hero-banner__viewport {
	position: relative;
	overflow: hidden;
}

.hero-banner__track {
	display: flex;
	transition: transform 0.35s ease;
	will-change: transform;
}

.hero-banner__slide {
	flex: 0 0 100%;
}

.hero-banner__image {
	width: 100%;
   height: auto;
}

.hero-banner__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 35px;
	padding-top: 18px;
}

.hero-banner__dots {
	display: flex;
	align-items: center;
	gap: 6px;
}

.hero-banner__dot {
	width: 16px;
	height: 16px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #d9d9d9;
	cursor: pointer;
}

.hero-banner__dot--active {
	background: var(--color-accent);
}

.hero-banner__arrow {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	cursor: pointer;
}

.hero-banner__arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	border-top: 1.5px solid #d2d2d2;
	border-right: 1.5px solid #d2d2d2;
	transform: translate(-35%, -50%) rotate(45deg);
}

.hero-banner__arrow--prev::before {
	transform: translate(-55%, -50%) rotate(-135deg);
}

.calendar-section {
	padding-top: 47px;
}

.calendar-layout {
	display: grid;
	grid-template-columns: 463px 321px;
	align-items: start;
	justify-content: center;
   width: min(100%, 940px);
   margin: 0 auto;
	gap: 60px;
	min-height: 344px;
}

.calendar-panel {
   width: 100%;
   max-width: 560px;
}

.calendar-panel__header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   margin-bottom: 16px;
}

.calendar-panel__heading {
   flex: 1 1 auto;
   min-width: 0;
   text-align: center;
}

.calendar-panel__year {
   margin: 0 0 4px;
   color: #7d7d7d;
   font-size: 13px;
   line-height: 1.2;
   text-transform: uppercase;
   letter-spacing: 0.08em;
}

.calendar-panel__title {
   margin: 0;
   color: #000000;
   font-size: 28px;
   line-height: 1.1;
}

.calendar-panel__nav {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 48px;
   height: 48px;
   border: 1px solid rgba(57, 57, 57, 0.14);
   border-radius: 50%;
   background: #ffffff;
   color: #000000;
   font-size: 20px;
   line-height: 1;
   transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.calendar-panel__nav:hover,
.calendar-panel__nav:focus-visible {
   border-color: var(--color-accent);
   color: var(--color-accent);
   outline: none;
}

.calendar-panel__nav:disabled {
   opacity: 0.35;
   cursor: default;
   pointer-events: none;
}

.calendar-panel__month-view {
   width: 100%;
}

.calendar-panel__weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	margin-bottom: 8px;
	color: #7d7d7d;
	font-size: 9px;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.calendar-panel__grid {
	display: grid;
   grid-template-columns: repeat(7, minmax(0, 1fr));
   grid-auto-rows: minmax(76px, auto);
   gap: 0;
   width: 100%;
}

.calendar-day {
	display: flex;
	flex-direction: column;
	gap: 3px;
   min-width: 0;
   padding: 6px 5px 4px;
	border: 0.36px solid #e8e8e8;
	background: #f8f8f8;
}

.calendar-day--interactive {
  position: relative;
  color: inherit;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.calendar-day--interactive:hover,
.calendar-day--interactive:focus-visible {
  background: #ffffff;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 1px rgba(0, 165, 178, 0.2);
  outline: none;
  transform: translateY(-1px);
}

.calendar-day--interactive .calendar-day__number {
  font-weight: 700;
}

.calendar-day--empty {
   border-color: transparent;
   background: transparent;
}

.calendar-day__number {
   font-size: 12px;
   font-weight: 600;
	line-height: 1;
}

.calendar-day__events {
	display: grid;
	gap: 2px;
}

.calendar-tag {
	display: inline-flex;
	align-items: center;
	width: fit-content;
   max-width: 100%;
   padding: 2px 5px;
   border-radius: 4px;
	font-family: Inter, Arial, sans-serif;
   font-size: 9px;
	font-weight: 500;
	line-height: 1.1;
   white-space: normal;
   word-break: break-word;
}

.calendar-tag--blue {
	background: rgba(0, 133, 255, 0.16);
	color: #0085ff;
}

.calendar-tag--orange {
	background: rgba(255, 159, 45, 0.16);
	color: #ff9f2d;
}

.calendar-tag--green {
	background: rgba(0, 186, 52, 0.16);
	color: #00ba34;
}

.calendar-tag--red {
	background: rgba(233, 44, 44, 0.16);
	color: #e92c2c;
}

.calendar-tag--neutral {
	background: rgba(88, 87, 87, 0.16);
	color: #585757;
}

.calendar-copy {
	padding-top: 0;
}

.calendar-copy h2 {
	margin: 0 0 34px;
	font-size: 26px;
	line-height: 1.25;
}

.calendar-copy h2 em {
	font-style: italic;
}

.calendar-copy p {
	margin: 0;
	color: #000000;
	font-size: 22px;
	line-height: 1.27;
}

.calendar-copy__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
	padding: 10px 17px;
	border: 1px solid var(--color-accent);
	border-radius: 45px;
	color: var(--color-accent);
	font-size: 22px;
	line-height: 1;
}

.calendar-copy__link::after {
	content: "";
	width: 20px;
	height: 20px;
	border-top: 2px solid var(--color-accent);
	border-right: 2px solid var(--color-accent);
	transform: rotate(45deg);
}

.expositions-page {
	position: relative;
	background: #f5f5f5;
}

.expositions-page + .social-section {
	margin-top: 0;
}

.expositions-story {
	position: relative;
	width: 1280px;
	height: 5202px;
	margin: -120px auto 0;
}

.expositions-story__title {
	position: absolute;
	top: 177px;
	left: 50%;
	width: 343px;
	margin: 0;
	color: #1dafbb;
	font-family: var(--font-title);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.27;
	text-align: center;
	transform: translateX(-50%);
}

.expositions-story__tag {
	position: absolute;
	top: 234px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 51px;
	padding: 11px 16px;
	border-radius: 50px;
	text-decoration: none;
	text-align: center;
}

.expositions-story__tag span {
	display: block;
	font-family: Bookerly, Georgia, serif;
	font-size: 22px;
	line-height: 1.1;
}

.expositions-story__tag--primary {
	left: 190px;
	width: 342px;
	background: #f29636;
	border: 1px solid #ffffff;
	color: #ffffff;
}

.expositions-story__tag--secondary {
	left: 581px;
	width: 509px;
	background: #d9d9d9;
	color: #000000;
}

.expositions-story__text {
	position: absolute;
	margin: 0;
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.expositions-story__text p {
	margin: 0;
}

.expositions-story__text--a {
	top: 320px;
	left: 190px;
	width: 446px;
}

.expositions-story__text--b {
	top: 440px;
	left: 190px;
	width: 413px;
}

.expositions-story__text--c {
	top: 700px;
	left: 675px;
	width: 415px;
}

.expositions-story__text--d {
	top: 883px;
	left: 675px;
	width: 415px;
}

.expositions-story__text--e {
	top: 1098px;
	left: 675px;
	width: 415px;
}

.expositions-story__text--f {
	top: 883px;
	left: 190px;
	width: 406px;
}

.expositions-story__text--g {
	top: 1434px;
	left: 190px;
	width: 375px;
}

.expositions-story__text--h {
	top: 1434px;
	left: 675px;
	width: 375px;
}

.expositions-story__text--i {
	top: 1653px;
	left: 190px;
	width: 375px;
}

.expositions-story__text--j {
	top: 1653px;
	left: 675px;
	width: 399px;
}

.expositions-story__text--k {
	top: 1925px;
	left: 190px;
	width: 375px;
}

.expositions-story__text--l {
	top: 2269px;
	left: 675px;
	width: 374px;
}

.expositions-story__text--m {
	top: 2644px;
	left: 190px;
	width: 375px;
}

.expositions-story__text--n {
	top: 2998px;
	left: 675px;
	width: 409px;
}

.expositions-story__text--o {
	top: 3385px;
	left: 190px;
	width: 402px;
}

.expositions-story__text--p {
	top: 3745px;
	left: 675px;
	width: 409px;
}

.expositions-story__text--q {
	top: 4108px;
	left: 190px;
	width: 438px;
}

.expositions-story__text--r {
	top: 4479px;
	left: 675px;
	width: 409px;
}

.expositions-story__text--s {
	top: 4882px;
	left: 190px;
	width: 397px;
}

.expositions-story__card {
	position: absolute;
}

.expositions-story__frame {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	background: #ffffff;
}

.expositions-story__frame::before {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid var(--color-accent);
	pointer-events: none;
}

.expositions-story__frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.expositions-story__frame--wide {
	width: 438px;
	height: 299px;
	padding: 20px 23px;
}

.expositions-story__frame--narrow {
	width: 392px;
	height: 260px;
}

.expositions-story__frame--relief {
	width: 413px;
	height: 167px;
	padding: 20px;
}

.expositions-story__frame--service {
	width: 415px;
	height: 275px;
}

.expositions-story__frame--vertical {
	width: 299px;
	height: 438px;
	padding: 23px 19px;
}

.expositions-story__slider {
	padding: 0;
}

.expositions-story__slider-track {
	display: flex;
	width: 100%;
	height: 100%;
	transition: transform 0.35s ease;
	will-change: transform;
}

.expositions-story__slider-slide {
	position: relative;
	flex: 0 0 100%;
	height: 100%;
	overflow: hidden;
}

.expositions-story__slider-slide img {
	object-fit: cover;
	object-position: center;
}

.expositions-story__slider-image {
	display: block;
	width: 100%;
	height: 100%;
}

.expositions-story__indicator {
	position: relative;
	height: 35px;
	margin-top: 24px;
}

.expositions-story__indicator--slider {
	height: 44px;
	margin-top: 15px;
}

.expositions-story__indicator-line {
	display: block;
	width: 354px;
	height: 1px;
	margin: 0 auto;
	background: rgba(0, 165, 178, 0.35);
}

.expositions-story__indicator-dots {
	position: absolute;
	top: 10px;
	left: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 120px;
	transform: translateX(-50%);
}

.expositions-story__indicator-dots i {
	display: block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #d9d9d9;
}

.expositions-story__indicator-dots .is-active {
	background: var(--color-accent);
}

.expositions-story__slider-controls {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	transform: translateX(-50%);
}

.expositions-story__slider-controls--dots {
	top: 10px;
	gap: 0;
}

.expositions-story__slider-dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 60px;
	padding: 0;
}

.expositions-story__slider-dot {
	width: 7px;
	height: 7px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #d9d9d9;
	cursor: pointer;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.expositions-story__slider-dot--active {
	background: var(--color-accent);
	transform: scale(1.45);
}

.expositions-story__card--narrow {
	width: 392px;
	height: 319px;
}

.expositions-story__card--wide {
	width: 438px;
	height: 359px;
}

.expositions-story__card--mansion {
	top: 325px;
	left: 675px;
}

.expositions-story__card--relief {
	top: 666px;
	left: 190px;
	width: 413px;
	height: 167px;
}

.expositions-story__card--garden {
	top: 1013px;
	left: 190px;
}

.expositions-story__card--staircase {
	top: 1890px;
	left: 675px;
}

.expositions-story__card--living-room {
	top: 2209px;
	left: 190px;
}

.expositions-story__card--salon {
	top: 2589px;
	left: 652px;
}

.expositions-story__card--hall {
	top: 2969px;
	left: 219px;
}

.expositions-story__card--study {
	top: 3310px;
	left: 652px;
}

.expositions-story__card--bedroom {
	top: 3669px;
	left: 190px;
}

.expositions-story__card--service {
	top: 4041px;
	left: 675px;
	width: 415px;
	height: 275px;
}

.expositions-story__card--vertical {
	top: 4334px;
	left: 270px;
	width: 299px;
	height: 438px;
}

.expositions-story__card--guardhouse {
	top: 4772px;
	left: 652px;
}

.expositions-story__year {
	position: absolute;
	top: 1523px;
	left: 265px;
	width: 226px;
	height: 51px;
}

.expositions-story__year img {
	display: block;
	width: 100%;
	height: 100%;
}

.expo-complex-page {
	background: #f5f5f5;
}

.expo-complex-page + .social-section {
	margin-top: 0;
}

.expo-complex-page__container {
	width: 900px;
	margin: 0 auto;
	padding: 56px 0 0;
}

.expo-complex-page__title {
	margin: 0 0 24px;
	color: #1dafbb;
	font-family: var(--font-title);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.27;
	text-align: center;
}

.expo-complex-tabs {
	display: grid;
	grid-template-columns: 342px 509px;
	justify-content: space-between;
	margin-bottom: 31px;
}

.expo-complex-tabs__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 51px;
	padding: 11px 16px;
	border-radius: 50px;
	font-family: Bookerly, Georgia, serif;
	font-size: 22px;
	line-height: 1.1;
	text-align: center;
}

.expo-complex-tabs__link--muted {
	background: #d9d9d9;
	color: #000000;
}

.expo-complex-tabs__link--active {
	background: #f29636;
	color: #ffffff;
}

.expo-complex-hero {
	display: grid;
	grid-template-columns: 387px 415px;
	justify-content: space-between;
	align-items: start;
	margin-bottom: 47px;
}

.expo-complex-hero__copy,
.expo-complex-gallery__copy,
.expo-complex-feature__copy {
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.expo-complex-hero__copy p,
.expo-complex-gallery__copy p,
.expo-complex-feature__copy p {
	margin: 0;
}

.expo-complex-hero__copy {
	display: grid;
	gap: 31px;
	padding-top: 9px;
}

.expo-complex-card__frame {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	background: #ffffff;
}

.expo-complex-card__frame::before {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid var(--color-accent);
	z-index: 1;
	pointer-events: none;
}

.expo-complex-card__frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.expo-complex-card__slider-track {
	display: flex;
	width: 100%;
	height: 100%;
	transition: transform 0.45s ease;
}

.expo-complex-card__slide {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
}

.expo-complex-card__frame--main {
	width: 386px;
	height: 256px;
}

.expo-complex-card__frame--wide {
	width: 438px;
	height: 299px;
	padding: 20px 23px;
}

.expo-complex-card[data-expo-complex-slider] .expo-complex-card__frame--wide,
.expo-complex-card[data-expo-complex-slider] .expo-complex-card__frame--quest,
.expo-complex-card[data-expo-complex-slider] .expo-complex-card__frame--tall {
	padding: 0;
}

.expo-complex-card__slide-media {
	width: 100%;
	height: 100%;
}

.expo-complex-card__slide-media--wide {
	padding: 20px 23px;
}

.expo-complex-card__slide-media--wide img {
	object-position: center;
}

.expo-complex-card__slide-media--quest {
	padding: 23px 19px;
}

.expo-complex-card__slide-media--quest img {
	object-position: center;
}

.expo-complex-card__frame--tall {
	width: 392px;
	height: 294px;
}

.expo-complex-card__frame--quest {
	width: 299px;
	height: 438px;
	padding: 23px 19px;
}

.expo-complex-card__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 14px;
}

.expo-complex-card__arrow {
	width: 14px;
	height: 14px;
	border-top: 1px solid #d9d9d9;
	border-right: 1px solid #d9d9d9;
	transform: rotate(45deg);
}

.expo-complex-card__arrow:first-child {
	transform: rotate(-135deg);
}

.expo-complex-card__dots {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.expo-complex-card__dot {
	display: block;
	width: 7px;
	height: 7px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #d9d9d9;
	cursor: pointer;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.expo-complex-card__dot--active {
	background: var(--color-accent);
	transform: scale(1.28);
}

.expo-complex-gallery {
	margin-bottom: 70px;
}

.expo-complex-gallery__images {
	display: grid;
	grid-template-columns: 368px 475px;
	justify-content: space-between;
	margin-bottom: 34px;
}

.expo-complex-gallery__image img {
	display: block;
	width: 100%;
	height: 245px;
	object-fit: cover;
}

.expo-complex-gallery__copy {
	display: grid;
	grid-template-columns: 406px 415px;
	justify-content: space-between;
	align-items: start;
}

.expo-complex-feature {
	display: grid;
	align-items: start;
}

.expo-complex-feature--war {
	grid-template-columns: 325px 438px;
	justify-content: space-between;
	margin-bottom: 51px;
}

.expo-complex-feature--minerals {
	grid-template-columns: 392px 352px;
	justify-content: space-between;
	margin-bottom: 77px;
}

.expo-complex-feature--quest {
	grid-template-columns: 402px 299px;
	justify-content: space-between;
	margin-bottom: 88px;
}

.expo-complex-feature__copy strong {
	font-weight: 700;
}

.expo-complex-feature__copy em {
	font-style: italic;
}

.expo-complex-feature__copy--war {
	padding-top: 109px;
}

.expo-complex-feature__copy--minerals {
	padding-top: 76px;
}

.expo-complex-feature__copy--quest {
	padding-top: 108px;
}

.expo-complex-masterclass {
	background: #f29636;
}

.expo-complex-masterclass__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	min-height: 111px;
	color: #ffffff;
	font-size: 22px;
	line-height: 1.25;
}

.expo-complex-masterclass__pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 5px 17px 6px;
	border: 1px solid #ffffff;
	border-radius: 45px;
}

.expo-complex-masterclass__pill img {
	display: block;
	width: 20px;
	height: 20px;
}

.programs-page {
	padding: 51px 0 56px;
	background: #f5f5f5;
}

.programs-page + .social-section {
	margin-top: 0;
}

.programs-page__container {
	width: 900px;
	margin: 0 auto;
}

.programs-page__title {
	margin: 0 0 38px;
	color: #000000;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.27;
	text-align: center;
}

.programs-page__sections {
	display: grid;
	gap: 70px;
}

.programs-page__section-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 31px;
}

.programs-page__section-link {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	text-decoration: none;
}

.programs-page__section-icon {
	width: 20px;
	height: 20px;
	margin-top: 4px;
	transition: filter 0.2s ease;
}

.programs-page__section-title {
	margin: 0;
	color: #00a5b2;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.27;
	white-space: pre-line;
	transition: color 0.2s ease;
}

.programs-page__section-address {
	margin: 6px 0 0;
	color: #393939;
	font-size: 16px;
	line-height: 1.25;
	text-align: right;
}

.programs-page__grid {
	display: grid;
	grid-template-columns: repeat(3, 289.78px);
        align-items: stretch;
        grid-auto-rows: 1fr;
	column-gap: 15px;
	row-gap: 15px;
}

.programs-page__card {
	position: relative;
	display: flex;
	flex-direction: column;
        height: 100%;
        min-height: 356px;
	background: #ffffff;
}

.programs-page__card--complex {
        min-height: 356px;
}

.programs-page__image-wrap {
	position: relative;
	height: 200px;
	overflow: hidden;
}

.programs-page__image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.programs-page__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--programs-image-position, center center);
	transform: scale(var(--programs-image-scale, 1));
	transform-origin: center center;
}

.programs-page__content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1;
	padding: 17px 18px 17px;
}

.programs-page__card-title {
	margin: 0;
	padding-right: 86px;
	color: #000000;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	white-space: pre-line;
}

.programs-page__card-link {
  color: inherit;
  text-decoration: none;
}

.programs-page__card-link:hover,
.programs-page__card-link:focus-visible {
  color: #00a5b2;
}

.programs-page__card-text {
	margin: 6px 0 0;
	padding-right: 6px;
	color: #6a6a6a;
	font-size: 14px;
	line-height: 1.5;
	white-space: pre-line;
}

.programs-page__price {
	position: absolute;
	top: 13px;
	right: 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 30px;
	padding: 6px 15px 7px 16px;
	border-radius: 45px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

.programs-page__price {
	color: #ffffff;
	background: #f29636;
}

.programs-page__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 31px;
	min-width: 110px;
	margin-top: auto;
	padding: 6px 15px 7px 16px;
	border-radius: 45px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	color: #000000;
	border: 1px solid #00a5b2;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.programs-page__section-link:hover .programs-page__section-title {
	color: #f29636;
}

.programs-page__section-link:hover .programs-page__section-icon {
	filter: brightness(0) saturate(100%) invert(67%) sepia(61%) saturate(1722%) hue-rotate(338deg) brightness(101%) contrast(90%);
}

.programs-page__more:hover {
	color: #f29636;
	border-color: #f29636;
	background: rgba(242, 150, 54, 0.06);
}

.programs-page__badge {
	position: absolute;
	top: -40px;
	left: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 30px;
	padding: 6px 15px 7px 16px;
	border-radius: 45px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	color: #ffffff;
	background: #00a5b2;
}

.programs-page__section--complex {
	margin-top: 7px;
}

.program-detail-page {
  position: relative;
  overflow: hidden;
  background: #f5f5f5;
  padding-top: 433px;
  padding-bottom: 20px;
}

.program-detail-page__hero {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 687px;
}

.program-detail-page__hero-bg,
.program-detail-page__hero-band {
  position: absolute;
  left: 0;
  right: 0;
  overflow: hidden;
}

.program-detail-page__hero-bg {
  top: 0;
  height: 687px;
  opacity: 0.1;
  filter: grayscale(1);
}

.program-detail-page__hero-band {
  top: 0;
  height: 413px;
}

.program-detail-page__hero-image {
  position: absolute;
  left: 50%;
  display: block;
  width: max(100vw, 1280px);
  max-width: none;
  height: 687px;
  transform: translateX(-50%);
  object-fit: cover;
  object-position: center center;
}

.program-detail-page__hero-bg .program-detail-page__hero-image {
  top: 0;
}

.program-detail-page__hero-band .program-detail-page__hero-image {
  top: 0;
}

.program-detail-page__hero.is-contain {
  background: #f5f5f5;
}

.program-detail-page__container {
  position: relative;
  z-index: 1;
  width: min(100% - 32px, 900px);
  margin: 0 auto;
  padding-top: 38px;
}

.program-detail-page__intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 386px) minmax(0, 453px);
  justify-content: space-between;
  gap: 24px 61px;
  align-items: start;
}

.program-detail-page__location {
  margin: 0 0 14px;
  color: #00a5b2;
  font-size: 16px;
  line-height: 1.5;
}

.program-detail-page__location span {
  display: block;
  color: #6a6a6a;
}

.program-detail-page__title {
  margin: 0 0 21px;
  color: #000000;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.27;
}

.program-detail-page__text {
  max-width: 386px;
}

.program-detail-page__text p {
  margin: 0;
  color: #393939;
  font-size: 18px;
  line-height: 1.48;
}

.program-detail-page__text p + p {
  margin-top: 12px;
}

.program-detail-page__sidebar-column {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}

.program-detail-page__back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 39px;
  margin-top: 26px;
  padding: 8px 24px 8px 20px;
  border: 1px solid #00a5b2;
  border-radius: 999px;
  color: #393939;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.program-detail-page__back-link::before {
  content: "";
  width: 8px;
  height: 8px;
  border-left: 1px solid #00a5b2;
  border-bottom: 1px solid #00a5b2;
  transform: rotate(45deg);
}

.program-detail-page__back-link:hover,
.program-detail-page__back-link:focus-visible {
  color: #f29636;
  border-color: #f29636;
  background: rgba(242, 150, 54, 0.06);
}

.program-detail-page__booking-card {
  min-height: 0;
  padding: 30px 24px 24px;
  background: #ffffff;
}

.program-detail-page__booking-title {
  margin: 0 0 22px;
  color: #000000;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.27;
}

.program-detail-page__price-list {
  margin: 0;
}

.program-detail-page__price-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: baseline;
}

.program-detail-page__price-row + .program-detail-page__price-row {
  margin-top: 8px;
}

.program-detail-page__price-row dt,
.program-detail-page__price-row dd {
  margin: 0;
  color: #393939;
  font-size: 18px;
  line-height: 1.27;
}

.program-detail-page__price-row dd {
  font-weight: 700;
}

.program-detail-page__sidebar-text {
  color: #393939;
}

.program-detail-page__sidebar-text p {
  margin: 0;
  color: #393939;
  font-size: 18px;
  line-height: 1.5;
}

.program-detail-page__sidebar-text .program-detail-page__sidebar-heading {
  font-weight: 700;
}

.program-detail-page__sidebar-text p + p {
  margin-top: 16px;
}

.program-detail-page__booking-note {
  margin: 28px 0 0;
  color: #000000;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
}

.program-detail-page__booking-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 16px;
  margin-top: 14px;
}

.program-detail-page__booking-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 186px;
  min-height: 39px;
  padding: 8px 24px;
  border-radius: 999px;
  color: #ffffff;
  background: #00a5b2;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.program-detail-page__booking-button:hover,
.program-detail-page__booking-button:focus-visible {
  background: #018f9a;
  transform: translateY(-1px);
}

.program-detail-page__booking-caption {
  color: #6a6a6a;
  font-size: 15px;
  line-height: 1.27;
}

.program-detail-page__gallery-layout {
  --program-detail-gallery-main: 430px;
  --program-detail-gallery-width: 655px;
  --program-detail-gallery-sidebar: 142px;
  width: min(100%, var(--program-detail-gallery-width));
  margin-top: 39px;
}

.program-detail-page__gallery-layout.has-thumbs {
  display: grid;
  grid-template-columns: minmax(0, var(--program-detail-gallery-main)) 33px var(--program-detail-gallery-sidebar);
  gap: 18px;
  align-items: center;
}

.program-detail-page__gallery-layout.is-large {
  --program-detail-gallery-main: 620px;
  --program-detail-gallery-width: 865px;
  --program-detail-gallery-sidebar: 210px;
  width: min(100%, var(--program-detail-gallery-width));
}

.program-detail-page__gallery-layout.is-contain .program-detail-page__gallery-frame,
.program-detail-page__gallery-layout.is-contain .program-detail-page__gallery-thumb {
  background: #ffffff;
}

.program-detail-page__gallery-layout.is-contain .program-detail-page__gallery-image,
.program-detail-page__gallery-layout.is-contain .program-detail-page__gallery-thumb-image {
  object-fit: contain;
}

.program-detail-page__gallery-slider {
  min-width: 0;
}

.program-detail-page__gallery-frame {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  aspect-ratio: 430 / 322;
}

.program-detail-page__gallery-track {
  display: flex;
  transition: transform 0.45s ease;
  will-change: transform;
  height: 100%;
}

.program-detail-page__gallery-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  margin: 0;
}

.program-detail-page__gallery-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.program-detail-page__gallery-controls {
  display: grid;
  justify-items: center;
  grid-template-rows: auto 1fr auto;
  gap: 11px;
  align-items: center;
}

.program-detail-page__gallery-arrow {
  position: relative;
  width: 30px;
  height: 30px;
  margin: 0 auto;
  border: 1px solid #d5d5d5;
  border-radius: 50%;
  background: #ffffff;
  cursor: pointer;
}

.program-detail-page__gallery-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #8d8d8d;
  border-right: 2px solid #8d8d8d;
}

.program-detail-page__gallery-arrow--prev::before {
  transform: translate(-50%, -35%) rotate(-45deg);
}

.program-detail-page__gallery-arrow--next::before {
  transform: translate(-50%, -65%) rotate(135deg);
}

.program-detail-page__gallery-dots {
  display: grid;
  gap: 10px;
}

.program-detail-page__gallery-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid #c6c6c6;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

.program-detail-page__gallery-dot.is-active {
  border-color: #00a5b2;
  background: #00a5b2;
}

.program-detail-page__gallery-thumbs {
  display: grid;
  gap: 14px;
}

.program-detail-page__gallery-thumbs--2-cols {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.program-detail-page__gallery-thumb {
  display: block;
  padding: 0;
  border: 1px solid transparent;
  background: transparent;
  opacity: 0.72;
  cursor: pointer;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}

.program-detail-page__gallery-thumb:hover,
.program-detail-page__gallery-thumb:focus-visible,
.program-detail-page__gallery-thumb.is-active {
  opacity: 1;
  border-color: #00a5b2;
}

.program-detail-page__gallery-thumb-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

@media (max-width: 768px) {
  .program-detail-page__container {
    width: min(100% - 24px, 900px);
    padding-top: 28px;
  }

  .program-detail-page__intro-grid,
  .program-detail-page__gallery-layout.has-thumbs {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .program-detail-page__title {
    font-size: 28px;
  }

  .program-detail-page__text p {
    font-size: 17px;
  }

  .program-detail-page__booking-card {
    padding: 24px 22px;
  }

  .program-detail-page__booking-note {
    margin-top: 32px;
    font-size: 18px;
  }

  .program-detail-page__gallery-layout {
    width: 100%;
  }

  .program-detail-page__gallery-layout.has-thumbs {
    grid-template-columns: minmax(0, 1fr);
  }

  .program-detail-page__gallery-controls {
    grid-template-columns: auto 1fr auto;
    grid-template-rows: none;
  }

  .program-detail-page__gallery-dots {
    grid-auto-flow: column;
    justify-content: center;
  }

  .program-detail-page__gallery-thumbs {
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  }

  .program-detail-page__gallery-thumbs--2-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .program-detail-page {
    padding-top: 240px;
  }

  .program-detail-page__hero {
    height: 520px;
  }

  .program-detail-page__hero-bg {
    height: 520px;
  }

  .program-detail-page__hero-band {
    top: 0;
    height: 309px;
  }

  .program-detail-page__hero-image {
    height: 520px;
  }

  .program-detail-page__hero-band .program-detail-page__hero-image {
    top: 0;
  }
}

@media (max-width: 480px) {
  .program-detail-page {
    padding-top: 180px;
  }

  .program-detail-page__hero {
    height: 420px;
  }

  .program-detail-page__hero-bg {
    height: 420px;
  }

  .program-detail-page__hero-band {
    top: 0;
    height: 232px;
  }

  .program-detail-page__hero-image {
    height: 420px;
  }

  .program-detail-page__hero-band .program-detail-page__hero-image {
    top: 0;
  }

  .program-detail-page__title {
    font-size: 26px;
  }

  .program-detail-page__text p {
    font-size: 16px;
  }

  .program-detail-page__booking-title {
    font-size: 24px;
  }

  .program-detail-page__price-row dt,
  .program-detail-page__price-row dd,
  .program-detail-page__booking-caption {
    font-size: 14px;
  }

  .program-detail-page__booking-note {
    font-size: 18px;
  }

  .program-detail-page__gallery-thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.museum-children-page {
	position: relative;
	background: #f5f5f5;
	overflow: hidden;
}

.museum-children-page::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 860px;
	background-image: url("../images/museum-children/museum-children-figma-background-5306-1386.png");
	background-repeat: no-repeat;
	background-position: center -165px;
	background-size: cover;
	filter: grayscale(1);
	opacity: 0.15;
	transform: translateX(-50%);
	pointer-events: none;
}

.museum-children-page + .social-section {
	margin-top: 0;
}

.museum-children-page__container {
	position: relative;
	width: 900px;
	margin: 0 auto;
	padding: 0 0 89px;
}

.museum-children-page__title {
	margin: 0;
	color: #ffffff;
	font-family: "STIX Two Text", Georgia, serif;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.27;
}

.museum-children-hero .museum-children-page__title {
	margin-left: -91px;
}

.museum-children-section-title {
	margin: 0 0 24px;
	color: #000000;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.27;
	text-align: center;
}

.museum-children-section-title--left {
	text-align: left;
}

.museum-children-section-title em,
.museum-children-text-card__title em,
.museum-children-program__copy h3 em {
	font-style: italic;
}

.museum-children-hero {
	position: relative;
	width: 100vw;
	height: 507px;
	margin: 0 0 40px calc(50% - 50vw);
	overflow: hidden;
	background: #0f8f9a;
}

.museum-children-hero__lead {
	margin: 0;
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.museum-children-hero__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 18%;
}

.museum-children-hero__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 684px;
	height: 507px;
	background: linear-gradient(270deg, rgba(0, 165, 178, 0) 0%, rgba(0, 165, 178, 1) 72%);
	pointer-events: none;
}

.museum-children-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	width: 900px;
	height: 100%;
	margin: 0 auto;
	padding-top: 108px;
}

.museum-children-overview {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 428px 379px;
	column-gap: 66px;
	align-items: start;
	width: 873px;
	margin-bottom: 98px;
}

.museum-children-overview__title {
	width: 428px;
	margin-bottom: 11px;
}

.museum-children-overview__title--education {
	margin-top: 33px;
	margin-bottom: 9px;
}

.museum-children-overview__text {
	width: 369px;
	margin: 0;
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.museum-children-overview__text--education {
	width: 379px;
}

.museum-children-overview__photo {
	padding-top: 11px;
}

.museum-children-overview__photo img {
	display: block;
	width: 379px;
	height: 252px;
	object-fit: cover;
}

.museum-children-frame {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	background: #ffffff;
}

.museum-children-frame::before {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid var(--color-accent);
	pointer-events: none;
}

.museum-children-frame--soft::before {
	border-color: rgba(0, 165, 178, 0.55);
}

.museum-children-frame__media {
	width: 100%;
	height: 100%;
}

.museum-children-frame__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.museum-children-programs {
	position: relative;
	z-index: 1;
	width: 873px;
	margin-bottom: 78px;
}

.museum-children-program {
	display: grid;
	align-items: start;
}

.museum-children-program + .museum-children-program {
	margin-top: 62px;
}

.museum-children-program--war {
	grid-template-columns: 404px 379px;
	column-gap: 90px;
}

.museum-children-program--quest {
	grid-template-columns: 379px 440px;
	column-gap: 81px;
}

.museum-children-program__copy {
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.museum-children-program__copy h3 {
	width: 379px;
	margin: 0 0 31px;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.27;
}

.museum-children-program__copy p {
	margin: 0;
}

.museum-children-program__copy p + p {
	margin-top: 18px;
}

.museum-children-program__copy--war {
	padding-top: 23px;
}

.museum-children-frame--program {
	width: 404px;
	height: 310px;
	padding: 21px 24px 20px;
}

.museum-children-frame__media--program {
	height: 269px;
}

.museum-children-photo--soft .museum-children-frame--program {
	width: 440px;
	padding: 21px 22px 20px;
}

.museum-children-photo--soft .museum-children-frame__media--program {
	height: 269px;
}

.museum-children-education {
	position: relative;
	z-index: 1;
	margin-bottom: 89px;
}

.museum-children-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px 16px;
	margin-top: 36px;
}

.museum-children-card {
	color: #000000;
}

.museum-children-card__image-wrap {
	height: 200px;
	margin-bottom: 17px;
	overflow: hidden;
	background: #ffffff;
}

.museum-children-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.museum-children-card__title {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.museum-children-card__description {
	margin: 0;
	color: #6a6a6a;
	font-size: 14px;
	line-height: 1.5;
}

.museum-children-masterclass {
	width: 404px;
	margin: 0 auto 88px;
}

.museum-children-masterclass__text {
	margin: 0;
	color: #00a5b2;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.27;
	text-align: center;
}

.museum-children-masterclass__text em {
	font-style: italic;
}

.museum-children-holidays {
	margin-bottom: 86px;
}

.museum-children-holidays__grid {
	display: grid;
	grid-template-columns: 404px 379px;
	justify-content: space-between;
	align-items: start;
}

.museum-children-photo-card {
	position: relative;
}

.museum-children-photo-card--program-primary {
	width: 404px;
	height: 310px;
}

.museum-children-photo-card--program-primary-slider {
	height: 340px;
}

.museum-children-photo-card--holidays-slider {
	width: 404px;
	height: 340px;
}

.museum-children-photo-card--charity-slider {
	width: 440px;
	height: 340px;
}

.museum-children-photo-card--adventure-slider {
	width: 440px;
	height: 340px;
}

.museum-children-photo-card--holidays,
.museum-children-photo-card--quest {
	width: 404px;
	height: 358.76px;
}

.museum-children-photo-card--charity {
	width: 440px;
	height: 310px;
}

.museum-children-frame--feature {
	width: 404px;
	height: 358.76px;
	padding: 54px 22px 56px;
}

.museum-children-frame__media--feature {
	height: 249px;
}

.museum-children-frame--feature img {
	width: 360px;
	height: 249px;
	object-fit: cover;
}

.museum-children-frame--program-secondary {
	width: 440px;
	height: 310px;
	padding: 21px 22px 20px 21px;
}

.museum-children-frame__media--program-secondary {
	position: relative;
	width: 397px;
	height: 269px;
	overflow: hidden;
}

.museum-children-photo--secondary {
	width: 440px;
}

.museum-children-program__copy--quest {
	padding-top: 16px;
}

.museum-children-frame--program-primary {
	width: 404px;
	height: 310px;
	padding: 21px 24px 20px;
}

.museum-children-frame--holidays {
	width: 404px;
	height: 310px;
	padding: 21px 24px 20px;
}

.museum-children-frame--charity-slider {
	width: 440px;
	height: 310px;
	padding: 18px;
}

.museum-children-frame--adventure {
	width: 440px;
	height: 310px;
	padding: 18px;
}

.museum-children-frame__media--program-primary {
	position: relative;
	width: 356px;
	height: 269px;
	overflow: hidden;
}

.museum-children-frame__media--holidays {
	position: relative;
	width: 356px;
	height: 269px;
	overflow: hidden;
}

.museum-children-frame__media--charity-slider {
	position: relative;
	width: 404px;
	height: 274px;
	overflow: hidden;
}

.museum-children-frame__media--adventure {
	position: relative;
	width: 404px;
	height: 274px;
	overflow: hidden;
}

.museum-children-photo-card--program-primary-slider .expo-complex-card__slider-track,
.museum-children-photo-card--program-primary-slider .expo-complex-card__slide {
	height: 100%;
}

.museum-children-photo-card--holidays-slider .expo-complex-card__slider-track,
.museum-children-photo-card--holidays-slider .expo-complex-card__slide {
	height: 100%;
}

.museum-children-photo-card--charity-slider .expo-complex-card__slider-track,
.museum-children-photo-card--charity-slider .expo-complex-card__slide {
	height: 100%;
}

.museum-children-photo-card--adventure-slider .expo-complex-card__slider-track,
.museum-children-photo-card--adventure-slider .expo-complex-card__slide {
	height: 100%;
}

.museum-children-frame__image {
	position: absolute;
	display: block;
	max-width: none;
}

.museum-children-frame__image--program-primary {
	top: 0;
	left: -33px;
	width: 405px;
	height: 270px;
}

.museum-children-photo-card--program-primary-slider .museum-children-frame__image--program-primary {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.museum-children-frame__slide-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.museum-children-frame__slide-image--program-primary {
	object-position: center;
}

.museum-children-frame__slide-image--holidays {
	object-position: center;
}

.museum-children-frame__slide-image--charity {
	object-position: center;
}

.museum-children-frame__slide-image--adventure {
	object-position: center;
}

.museum-children-slider-dots {
	justify-content: center;
	width: 100%;
	margin-top: 16px;
}

.museum-children-frame__media--program-secondary .museum-children-frame__image--program-secondary {
	top: -66px;
	left: -150px;
	width: 568px;
	height: 426px;
}

.museum-children-photo-card--quest .museum-children-frame--feature {
	padding-top: 59px;
	padding-bottom: 60px;
}

.museum-children-photo-card--adventure-slider .museum-children-frame__media--adventure .museum-children-frame__slide-image--adventure {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.museum-children-photo-card--charity-slider .museum-children-frame__media--charity-slider .museum-children-frame__slide-image--charity {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.museum-children-photo-card--quest .museum-children-frame--feature img {
	height: 240px;
}

.museum-children-frame--charity {
	width: 440px;
	height: 310px;
	padding: 5px 120px 5px 120px;
}

.museum-children-frame__media--charity {
	height: 300px;
}

.museum-children-frame--charity img {
	width: 200px;
	height: 300px;
	object-fit: cover;
}

.museum-children-text-card {
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.museum-children-text-card__title {
	margin: 0 0 25px;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.27;
}

.museum-children-text-card p {
	margin: 0;
}

.museum-children-holidays__content {
	padding-top: 1px;
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.museum-children-holidays__title {
	margin-bottom: 19px;
}

.museum-children-holidays__text {
	width: 365px;
	margin: 0;
}

.museum-children-holidays__pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 295px;
	min-height: 55px;
	margin: 42px 0 26px;
	padding: 13px 20px 14px;
	border-radius: 63.21px;
	background: #ffffff;
	box-sizing: border-box;
}

.museum-children-holidays__pill span {
	font-size: 22px;
	font-weight: 400;
	line-height: 1.27;
	text-align: center;
}

.museum-children-holidays__pill em {
	font-style: italic;
}

.museum-children-holidays__text--secondary {
	width: 365px;
}

.museum-children-adventure {
	margin-bottom: 87px;
}

.museum-children-adventure__top {
	display: grid;
	grid-template-columns: 379px 404px;
	justify-content: space-between;
	align-items: start;
	margin-bottom: 34px;
}

.museum-children-adventure__intro {
	padding-top: 77px;
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.museum-children-adventure__title {
	margin-bottom: 20px;
}

.museum-children-adventure__intro p {
	width: 365px;
	margin: 0;
}

.museum-children-adventure__body {
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.museum-children-adventure__body p {
	margin: 0;
}

.museum-children-charity {
	color: #000000;
	font-size: 16px;
	line-height: 1.375;
}

.museum-children-charity__grid {
	display: grid;
	grid-template-columns: 440px 379px;
	justify-content: space-between;
	align-items: start;
}

.museum-children-charity__copy {
	padding-top: 51px;
}

.museum-children-charity__title {
	margin-bottom: 31px;
}

.museum-children-charity p {
	margin: 0;
}

.social-section {
	margin-top: 111px;
	background: var(--color-accent);
}

.social-section__grid {
	position: relative;
	min-height: 303px;
	padding: 50px 0 51px;
}

.social-section__intro {
	text-align: center;
	color: #ffffff;
}

.social-section__intro h2 {
	margin: 0 0 24px;
	color: #ffffff;
	font-family: var(--font-title);
	font-size: 26px;
	line-height: 1.25;
}

.social-section__intro strong {
	font-style: italic;
}

.social-section__intro p {
	margin: 0;
	color: #ffffff;
	font-size: 16px;
	line-height: 1.25;
}

.social-cards {
	position: absolute;
	top: 50px;
	left: 191px;
	right: 177px;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

.social-card {
	position: relative;
	display: block;
	width: 150px;
	height: 202px;
	color: #ffffff;
	pointer-events: auto;
	transition: color 0.2s ease;
}

.social-card--ok {
	width: 157px;
}

.social-card::before {
	content: "";
	position: absolute;
	top: 13px;
	left: 0;
	right: 13px;
	bottom: 0;
	border: 1px solid #ffffff;
	border-radius: 15px;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.social-card::after {
	content: "";
	position: absolute;
	z-index: 1;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	background: #f29636;
	transition: background-color 0.2s ease;
}

.social-card--ok::before {
	left: 7px;
	right: 13px;
}

.social-card--vk::after {
	top: 0;
	left: 123px;
}

.social-card--ok::after {
	top: 0;
	left: 130px;
}

.social-card__icon {
	position: absolute;
	z-index: 1;
	transition: filter 0.2s ease;
}

.social-card--vk .social-card__icon {
	top: 66px;
	left: 29px;
	width: 79px;
	height: 47px;
}

.social-card--ok .social-card__icon {
	top: 54px;
	left: 55px;
	width: 41.81px;
	height: 69.56px;
}

.social-card__title {
	position: absolute;
	z-index: 1;
	font-family: var(--font-body);
	font-size: 16px;
	font-style: italic;
	line-height: 23px;
	text-align: center;
	transition: color 0.2s ease;
}

.social-card--vk .social-card__title {
	top: 158px;
	left: 5px;
	width: 128px;
}

.social-card--ok .social-card__title {
	top: 158px;
	left: 0;
	width: 152px;
}

.social-card__dot {
	position: absolute;
	width: 27px;
	height: 27px;
	transition: filter 0.2s ease;
	opacity: 0;
}

.social-card--vk .social-card__dot {
	top: 0;
	left: 123px;
}

.social-card--ok .social-card__dot {
	top: 0;
	left: 130px;
}

.social-card:hover,
.social-card:focus-visible {
	color: var(--color-accent);
}

.social-card:hover::before,
.social-card:focus-visible::before {
	background: #ffffff;
	border-color: #ffffff;
}

.social-card:hover .social-card__icon,
.social-card:focus-visible .social-card__icon {
	filter: brightness(0) saturate(100%) invert(71%) sepia(59%) saturate(2228%) hue-rotate(338deg) brightness(100%) contrast(90%);
}

.contacts-section {
	position: relative;
	min-height: 303px;
}

.contacts-section__map {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background: #dce4e8;
}

.contacts-section__map-canvas {
	width: 100%;
	height: 100%;
	border: 0;
}

.contacts-section__inner {
	position: relative;
	display: flex;
	justify-content: flex-start;
	padding-top: 25px;
}

.contacts-card {
	position: relative;
	width: 331px;
	height: 252px;
	min-height: 252px;
	padding: 0;
	background: #f5f5f5;
	border-radius: 16px;
}

.contacts-card::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 4px;
	width: 324px;
	height: 246px;
	border: 1px solid var(--color-accent);
	border-radius: 13px;
}

.contacts-list {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.contacts-list li {
	position: absolute;
	inset: 0;
}

.contacts-list img {
	position: absolute;
	margin: 0;
}

.contacts-list span,
.contacts-list a {
	color: #000000;
	font-size: 14px;
	line-height: 1.2857;
}

.contacts-list strong {
	font-weight: 600;
}

.contacts-list li:nth-child(1) img {
	top: 34px;
	left: 46px;
	width: 25px;
	height: 20px;
}

.contacts-list li:nth-child(1) span {
	position: absolute;
	top: 26px;
	left: 105px;
	width: 140px;
}

.contacts-list li:nth-child(2) img {
	top: 87px;
	left: 46px;
	width: 25px;
	height: 25px;
}

.contacts-list li:nth-child(2) span {
	position: absolute;
	top: 82px;
	left: 105px;
	width: 102px;
}

.contacts-list li:nth-child(3) img {
	top: 144px;
	left: 49px;
	width: 20px;
	height: 25px;
}

.contacts-list li:nth-child(3) span {
	position: absolute;
	top: 138px;
	left: 105px;
	width: 160px;
}

.partners-section {
	position: relative;
	background: transparent;
	padding-top: 0;
	z-index: 1;
}

.site-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--color-purple);
}

.partners-section .container {
	position: relative;
	min-height: 190px;
}

.partners-section__heading {
	position: absolute;
	top: 33px;
	left: 50%;
	width: 137px;
	z-index: 1;
	text-align: center;
	transform: translateX(-50%);
}

.partners-section__heading h2 {
	margin: 0;
	color: #ffffff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.partners-grid {
	position: absolute;
	top: 64px;
	left: 50%;
	width: 901px;
	height: 126px;
	margin: 0;
	z-index: 1;
	transform: translateX(-50%);
}

.partner-card {
	position: absolute;
	display: block;
	padding: 0;
	background: transparent;
	border: 0;
	text-align: center;
}

.partner-card__logo {
	position: absolute;
	max-width: none;
	max-height: none;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.58;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.partner-card:hover .partner-card__logo,
.partner-card:focus-visible .partner-card__logo {
	filter: none;
	opacity: 1;
}

.partner-card__title {
	position: absolute;
	margin: 0;
	color: var(--color-purple-light);
	font-size: 14px;
	line-height: 1.28;
	transition: color 0.2s ease;
}

.partner-card:hover .partner-card__title,
.partner-card:focus-visible .partner-card__title {
	color: #ffffff;
}

.partner-card:nth-child(1) {
	top: 0;
	left: 0;
	width: 118px;
	height: 126px;
}

.partner-card:nth-child(1) .partner-card__logo {
	top: 0;
	left: 28px;
	width: 61px;
	height: 66px;
}

.partner-card:nth-child(1) .partner-card__title {
	top: 72px;
	left: 0;
	width: 118px;
}

.partner-card:nth-child(2) {
	top: 3px;
	left: 143px;
	width: 155px;
	height: 105px;
}

.partner-card:nth-child(2) .partner-card__logo {
	top: 0;
	left: 54px;
	width: 48px;
	height: 59px;
}

.partner-card:nth-child(2) .partner-card__title {
	top: 69px;
	left: 0;
	width: 155px;
}

.partner-card:nth-child(3) {
	top: 27px;
	left: 323px;
	width: 93px;
	height: 63px;
}

.partner-card:nth-child(3) .partner-card__logo {
	top: 0;
	left: 6px;
	width: 87px;
	height: 11px;
}

.partner-card:nth-child(3) .partner-card__title {
	top: 45px;
	left: 0;
	width: 89px;
}

.partner-card:nth-child(4) {
	top: 25px;
	left: 441px;
	width: 104px;
	height: 65px;
}

.partner-card:nth-child(4) .partner-card__logo {
	top: 0;
	left: 0;
	width: 104px;
	height: 17px;
}

.partner-card:nth-child(4) .partner-card__title {
	top: 47px;
	left: 8px;
	width: 89px;
}

.partner-card:nth-child(5) {
	top: 10px;
	left: 570px;
	width: 89px;
	height: 116px;
}

.partner-card:nth-child(5) .partner-card__logo {
	top: 0;
	left: 23px;
	width: 44px;
	height: 44px;
}

.partner-card:nth-child(5) .partner-card__title {
	top: 62px;
	left: 0;
	width: 89px;
}

.partner-card:nth-child(6) {
	top: 10px;
	left: 684px;
	width: 111px;
	height: 116px;
}

.partner-card:nth-child(6) .partner-card__logo {
	top: 0;
	left: 33px;
	width: 45px;
	height: 45px;
}

.partner-card:nth-child(6) .partner-card__title {
	top: 62px;
	left: 0;
	width: 111px;
}

.partner-card:nth-child(7) {
	top: 28px;
	left: 820px;
	width: 81px;
	height: 80px;
}

.partner-card:nth-child(7) .partner-card__logo {
	top: 0;
	left: 5px;
	width: 72px;
	height: 24px;
}

.partner-card:nth-child(7) .partner-card__title {
	top: 44px;
	left: 0;
	width: 81px;
}

.footer-meta {
	position: relative;
	background: transparent;
	z-index: 1;
}

.footer-meta__inner {
	position: relative;
	min-height: 112px;
	padding: 0;
	z-index: 1;
}

.footer-meta__brand {
	position: static;
}

.site-footer > .footer-meta__griffin {
	position: absolute;
	top: 0;
	left: 50%;
	width: 1280px;
	height: 302px;
	max-width: none;
	margin: 0;
	z-index: 0;
	pointer-events: none;
	transform: translateX(-50%);
}

.footer-meta__title,
.footer-meta__copy {
	position: relative;
	z-index: 1;
	color: var(--color-purple-light);
	font-size: 14px;
	line-height: 1.28;
}

.footer-meta__title {
	margin: 0;
	position: absolute;
	top: 44px;
	left: 507px;
	width: 266px;
	text-align: center;
}

.footer-meta__button {
	position: absolute;
	z-index: 1;
	top: 44px;
	left: 189px;
	display: block;
	width: 218px;
	height: 36px;
	min-height: 36px;
	padding: 0;
	background: transparent;
	color: #ffffff;
	border: 0;
	border-radius: 0;
	font-size: 14px;
	line-height: 1.28;
}

.footer-meta__button img {
	position: absolute;
	top: 10px;
	left: 0;
	width: 17px;
	height: 17px;
}

.footer-meta__button span {
	position: absolute;
	top: 0;
	left: 28px;
	width: 190px;
}

.footer-meta__copy {
	position: absolute;
	top: 44px;
	left: 946px;
	width: 144px;
	color: #ffffff;
	text-align: right;
}

.footer-meta__copy p {
	margin: 0;
}

.content-fallback__title {
	font-size: clamp(32px, 4vw, 46px);
}

@media (max-width: 1279px) {
	.about-museum-page {
		padding: 48px 0 72px;
	}

	.research-page {
		padding: 48px 0 120px;
	}

	.research-article-page {
		padding: 48px 0 120px;
	}

	.old-album-page {
		padding: 48px 0 72px;
	}

	.old-album-page__container {
		padding: 0 20px;
	}

	.about-museum-page__container {
		padding: 0 20px;
	}

	.research-page__container {
		padding: 0 20px;
	}

	.research-article-page__container {
		padding: 0 20px;
	}

	.service-quality-page__container {
		width: min(900px, 100%);
		padding: 0 20px 48px;
	}

	.service-quality-page__hero-inner {
		width: min(900px, 100%);
		padding-left: 40px;
		padding-right: 40px;
	}

	.service-quality-page__columns {
		grid-template-columns: repeat(2, minmax(0, 379px));
		column-gap: clamp(24px, 10vw, 142px);
	}

	.about-museum-page__list {
		gap: 48px;
		padding-left: 0;
	}

	.research-page__list {
		gap: 48px;
		padding-left: 0;
	}

	.about-museum-card {
		grid-template-columns: 420px minmax(0, 1fr);
		width: 100%;
		max-width: 900px;
	}

	.research-card {
		grid-template-columns: 420px minmax(0, 1fr);
		width: 100%;
		max-width: 900px;
	}

	.about-museum-card__media,
	.about-museum-card__frame {
		width: 100%;
	}

	.research-card__media,
	.research-card__frame {
		width: 100%;
	}

	.about-museum-card__content,
	.about-museum-card__text {
		width: auto;
		max-width: none;
	}

	.research-card__content,
	.research-card__text {
		width: auto;
		max-width: none;
	}

	.about-museum-card__title {
		max-width: none;
	}

	.research-card__title {
		max-width: none;
	}

	.research-article-page__feature {
		grid-template-columns: minmax(280px, 330px) minmax(0, 1fr);
		column-gap: 40px;
		padding: 40px;
	}

	.research-article-page__gallery,
	.research-article-page__gallery-viewport {
		width: 100%;
	}

	.research-article-page__columns {
		column-gap: 40px;
	}

	.about-museum-card__image {
		position: static;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transform: none;
	}

	.research-card__image {
		position: static;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transform: none;
	}

	.old-album-entry__card {
		height: 380px;
	}

	.news-page {
		padding: 48px 0 72px;
	}

	.news-card {
		grid-template-columns: 420px minmax(0, 1fr);
		width: 100%;
		max-width: 850px;
	}

	.news-card__media {
		width: 100%;
	}

	.news-pagination {
		flex-wrap: wrap;
		margin-top: 72px;
	}

	.ensemble-page {
		padding-top: 280px;
	}

	.schedule-page {
		padding-top: 255px;
	}

	.ensemble-story {
		width: 100%;
		height: auto;
		min-height: 0;
	}

	.ensemble-story__title,
	.ensemble-story__text,
	.ensemble-story__card,
	.ensemble-story__photo {
		position: static;
	}

	.ensemble-story {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 36px;
	}

	.ensemble-story__title {
		grid-column: 1 / -1;
		width: auto;
	}

	.ensemble-story__text {
		width: auto;
	}

	.ensemble-story__card--archive,
	.ensemble-story__photo--house,
	.ensemble-story__card--guardhouse {
		width: 100%;
		height: auto;
	}

	.ensemble-story__card {
		position: relative;
		padding: 24px 24px 56px;
	}

	.ensemble-story__frame,
	.ensemble-story__line,
	.ensemble-story__label,
	.ensemble-story__text--j {
		position: static;
	}

	.ensemble-story__frame {
		width: 100%;
		height: auto;
	}

	.ensemble-story__image--archive,
	.ensemble-story__image--guardhouse {
		width: 100%;
		height: auto;
	}

	.ensemble-story__photo--house {
		padding: 21px 22px;
	}

	.ensemble-story__image--house {
		width: 100%;
		height: auto;
		margin: 0;
	}

	.ensemble-story__line--left,
	.ensemble-story__line--right {
		width: min(355px, 100%);
		height: auto;
		margin-top: 14px;
	}

	.ensemble-archive-slider__arrow,
	.ensemble-archive-slider__dots {
		position: absolute;
	}

	.ensemble-story__text--j {
		width: auto;
		margin-top: 24px;
	}
}

@media (max-width: 1279px) {
	.hero-banner {
		width: 100%;
	}

	.anti-corruption-page__top-grid,
	.anti-corruption-page__link-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hero-banner__image {
		height: auto;
	}

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

	.calendar-panel,
	.calendar-panel__grid {
		width: 100%;
	}

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

	.social-cards {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 157px));
		justify-content: center;
		gap: 40px;
		margin-top: 40px;
		pointer-events: auto;
	}

	.partners-grid {
		position: static;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
		width: 100%;
		height: auto;
		transform: none;
	}

	.footer-meta__inner {
		display: grid;
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 20px;
		padding: 26px 0 40px;
	}

	.footer-meta__copy {
		position: static;
		width: auto;
		text-align: center;
	}

	.partners-section__heading,
	.partner-card,
	.partner-card__logo,
	.partner-card__title,
	.footer-meta__button,
	.footer-meta__button img,
	.footer-meta__button span,
	.footer-meta__title {
		position: static;
	}

	.partners-section {
		padding-top: 33px;
	}

	.partners-section .container {
		min-height: 0;
	}

	.partners-section__heading {
		width: auto;
		margin-bottom: 20px;
		transform: none;
	}

	.partner-card {
		display: grid;
		align-content: start;
		justify-items: center;
		gap: 8px;
		width: auto;
		height: auto;
	}

	.partner-card__logo {
		width: auto;
		height: auto;
		max-width: 104px;
		max-height: 66px;
	}

	.partner-card__title {
		width: auto;
	}

	.site-footer > .footer-meta__griffin {
		position: static;
		width: 100%;
		height: auto;
		max-width: 100%;
		margin: 0 0 20px;
		transform: none;
	}

	.footer-meta__title {
		width: auto;
		text-align: center;
	}

	.footer-meta__button {
		display: inline-flex;
		align-items: center;
		justify-content: flex-start;
		gap: 12px;
		width: 218px;
		height: auto;
	}

	.footer-meta__button span {
		width: auto;
	}
}

@media (max-width: 1024px) {
	.news-article-page__container {
		width: min(900px, 100%);
	}

	.anti-corruption-page {
		padding: 40px 0 80px;
	}

	.anti-corruption-page__title {
		margin-bottom: 48px;
	}

	.anti-corruption-page__top-grid,
	.anti-corruption-page__link-grid {
		grid-template-columns: 1fr;
	}

	.anti-corruption-card__icon svg {
		height: 128px;
	}

	.anti-corruption-page__document-list {
		gap: 14px;
	}

	.memo-article-page {
		padding: 40px 0 80px;
	}

	.memo-article-page__columns {
		grid-template-columns: 1fr;
		row-gap: 40px;
	}

	.memo-article-page__title {
		max-width: none;
	}

	.memo-article-page__download-card {
		margin-bottom: 40px;
	}

	.news-article-page__article {
		width: 100%;
	}

	.news-article-page__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 40px;
	}

	.news-article-page__title,
	.news-article-page__closing {
		max-width: none;
	}

	.news-article-page__hero {
		height: 280px;
	}

	.news-article-page__hero-image {
		position: static;
		height: 100%;
		width: 100%;
		object-fit: cover;
		transform: none;
	}

	.ensemble-page {
		padding: 240px 0 96px;
	}

	.ensemble-page__hero {
		height: 520px;
	}

	.ensemble-page__hero-bg {
		height: 520px;
	}

	.ensemble-page__hero-band {
		top: 20px;
		height: 240px;
	}

	.schedule-page {
		padding: 215px 0 48px;
	}

	.schedule-page__hero {
		height: 520px;
	}

	.schedule-page__hero-bg {
		height: 520px;
	}

	.schedule-page__hero-band {
		top: 20px;
		height: 240px;
	}

	.ensemble-story {
		grid-template-columns: 1fr;
	}

	.site-header__inner,
	.site-header__primary,
	.site-header__aside {
		position: static;
		grid-template-columns: 1fr;
		width: auto;
		height: auto;
	}

	.site-header__inner {
		display: grid;
		gap: 18px;
		padding: 18px 0;
	}

	.site-brand,
	.site-brand__text,
	.site-header__nav-cluster,
	.site-header__social,
	.site-header__meta,
	.site-mega-menu__search,
	.site-mega-menu__footer,
	.site-mega-menu__column {
		position: static;
	}

	.site-brand {
		display: inline-flex;
		width: auto;
		height: auto;
	}

	.site-brand__logo,
	.site-brand__text {
		position: static;
	}

	.site-brand__text {
		display: grid;
		width: auto;
	}

	.site-brand__title-row {
		position: static;
		display: grid;
		width: auto;
		height: auto;
		gap: 7px;
	}

	.site-brand__foundation {
		position: static;
	}

	.site-header__nav-cluster {
		display: flex;
		flex-wrap: wrap;
		width: auto;
		height: auto;
		padding-top: 0;
	}

	.site-nav,
	.site-header__aside {
		width: auto;
		min-width: 0;
	}

        .site-header__aside {
                display: grid;
                justify-items: flex-start;
                gap: 12px;
        }

	.site-more-toggle {
		position: static;
	}

	.site-header__social {
		width: auto;
		height: auto;
	}

	.site-header__meta {
		width: auto;
		height: auto;
	}

	.site-header__meta-block {
		position: static;
		display: block;
		margin-bottom: 10px;
	}

	.site-header__meta-block--email .site-header__meta-label,
	.site-header__meta-block--email .site-header__meta-value,
	.site-header__meta-block--phone .site-header__meta-label,
	.site-header__meta-block--phone .site-header__meta-value {
		display: block;
	}

        .site-header__aside > .accessibility-link,
        .site-header__aside > .accessibility-tools {
                position: static;
                left: auto;
                top: auto;
        }

        .accessibility-tools {
                width: min(100%, 320px);
        }

	.site-mega-menu {
		position: static;
		width: 100%;
		transform: none;
	}

	.site-mega-menu__inner {
		min-height: 0;
		padding: 22px 24px 24px;
	}

	.site-mega-menu__inner::after {
		display: none;
	}

	.site-mega-menu__columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
		min-height: 0;
	}

	.site-mega-menu__search {
		width: 236px;
		margin: 0 0 24px;
	}

	.site-mega-menu__footer {
		position: static;
		justify-content: flex-start;
		margin-top: 24px;
	}

	.site-mega-menu__column:nth-child(1),
	.site-mega-menu__column:nth-child(2),
	.site-mega-menu__column:nth-child(3),
	.site-mega-menu__column:nth-child(4) {
		top: auto;
		left: auto;
		width: auto;
	}

	.site-mega-menu__column:nth-child(2) .site-mega-menu__list,
	.site-mega-menu__column:nth-child(3) .site-mega-menu__list,
	.site-mega-menu__column:nth-child(4) .site-mega-menu__list {
		margin-top: 0;
		gap: 18px;
	}
}

@media (max-width: 767px) {
	.news-page {
		padding: 40px 0 56px;
	}

	.anti-corruption-page__container {
		width: min(100%, calc(100% - 32px));
	}

	.anti-corruption-page__title {
		font-size: 22px;
		line-height: 1.2;
	}

	.anti-corruption-card {
		min-height: 0;
	}

	.anti-corruption-card__icon {
		padding: 24px;
	}

	.anti-corruption-card__body {
		padding: 28px 18px 18px;
	}

	.anti-corruption-card__title {
		margin-bottom: 20px;
		font-size: 24px;
	}

	.anti-corruption-page__section {
		margin-top: 44px;
	}

	.anti-corruption-page__section-title {
		margin-bottom: 24px;
		font-size: 20px;
	}

	.anti-corruption-link-card {
		min-height: 0;
	}

	.anti-corruption-page__document-pill {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.memo-article-page {
		padding: 32px 0 56px;
	}

	.memo-article-page__container {
		padding: 0 16px;
	}

	.memo-article-page__title {
		margin-bottom: 24px;
		font-size: 22px;
		line-height: 1.25;
	}

	.memo-article-page__header {
		margin-bottom: 32px;
	}

	.memo-article-page__download-card {
		padding: 24px 20px;
	}

	.memo-article-page__download-button {
		width: 100%;
		min-width: 0;
	}

	.memo-article-page__section {
		margin-bottom: 32px;
	}

	.news-article-page {
		padding: 0 0 56px;
	}

	.about-museum-page {
		padding: 32px 0 56px;
	}

	.old-album-page {
		padding: 32px 0 56px;
	}

	.old-album-page__container {
		padding: 0 16px;
	}

	.old-album-page__title {
		font-size: 22px;
		margin-bottom: 28px;
	}

	.old-album-page__sections {
		gap: 48px;
	}

	.old-album-entry__card {
		height: auto;
		min-height: 280px;
		padding: 24px 20px;
	}

	.old-album-entry__image,
	.old-album-entry__caption {
		position: static;
	}

	.old-album-entry__image {
		width: auto;
		max-width: min(100%, 320px);
		height: auto;
		margin: 0 auto 20px;
	}

	.old-album-entry__slider-track {
		align-items: flex-start;
	}

	.old-album-entry__image-frame--slide {
		position: static;
		width: auto;
		height: auto;
		justify-content: center;
	}

	.old-album-entry__image--slide {
		width: auto;
		height: auto;
	}

	.old-album-entry__caption {
		width: auto;
		text-align: center;
	}

	.old-album-entry__controls {
		margin-top: 16px;
	}

	.old-album-entry__text-columns {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 16px;
	}

	.about-museum-page__container {
		padding: 0 16px;
	}

	.research-page__container {
		padding: 0 16px;
	}

	.research-article-page__container {
		padding: 0 16px;
	}

	.service-quality-page__hero {
		height: 260px;
	}

	.service-quality-page__hero-inner {
		padding: 24px 20px;
	}

	.service-quality-page__hero-logo {
		width: 120px;
	}

	.service-quality-page__container {
		padding: 0 16px 40px;
	}

	.service-quality-page__columns {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.service-quality-page__contacts {
		margin-top: 28px;
	}


	.about-museum-page__list {
		gap: 36px;
	}

	.research-page__list {
		gap: 36px;
	}

	.about-museum-card {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.research-card {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.about-museum-card__media {
		order: -1;
		height: 220px;
	}

	.research-card__media {
		order: -1;
		height: 220px;
	}

	.about-museum-card__frame {
		height: 220px;
	}

	.research-card__frame {
		height: 220px;
	}

	.about-museum-card__content {
		min-height: 0;
		padding-top: 0;
	}

	.research-card__content {
		min-height: 0;
	}

	.about-museum-card__title {
		font-size: 20px;
	}

	.research-card__title {
		font-size: 20px;
	}

	.about-museum-card__text {
		margin-top: 14px;
	}

	.research-card__text {
		margin-top: 14px;
	}

	.about-museum-card__button {
		margin-top: 20px;
	}

	.research-card__button {
		margin-top: 20px;
	}

	.research-article-page {
		padding: 32px 0 56px;
	}

	.research-article-page__title {
		margin-bottom: 28px;
		font-size: 22px;
	}

	.research-article-page__feature {
		grid-template-columns: 1fr;
		row-gap: 24px;
		min-height: 0;
		padding: 24px 20px;
	}

	.research-article-page__gallery-viewport {
		height: 220px;
	}

	.research-article-page__summary {
		font-size: 15px;
	}

	.research-article-page__controls {
		gap: 16px;
		margin-top: 20px;
	}

	.research-article-page__columns {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-top: 28px;
	}


	.news-page__container {
		padding: 0 16px;
	}

	.news-article-page__container {
		padding: 0 16px;
	}

	.news-page__list {
		gap: 36px;
	}

	.news-card {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.news-card__content {
		min-height: 0;
		padding: 0;
	}

	.news-card__meta {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.news-card__title {
		max-width: none;
		font-size: 20px;
	}

	.news-card__date {
		padding-top: 0;
	}

	.news-card__media {
		order: -1;
		height: 220px;
	}

	.news-card__link {
		margin-top: 20px;
	}

	.news-pagination {
		margin-top: 48px;
	}

	.news-pagination__pages {
		flex-wrap: wrap;
		justify-content: center;
	}

	.news-article-page__article {
		width: 100%;
	}

	.news-article-page__container {
		padding-top: 28px;
	}

	.news-article-page__columns {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.news-article-page__title {
		font-size: 20px;
	}

	.news-article-page__date {
		align-self: flex-start;
		margin-top: 0;
	}

	.news-article-page__hero {
		height: 180px;
	}

	.news-article-page__headline,
	.news-article-page__intro-block,
	.news-article-page__section--what-is,
	.news-article-page__section--usage,
	.news-article-page__section--confirm {
		margin-bottom: 0;
	}

	.ensemble-page {
		padding-top: 180px;
	}

	.ensemble-page__hero {
		height: 420px;
	}

	.ensemble-page__hero-bg {
		height: 420px;
	}

	.ensemble-page__hero-band {
		top: 12px;
		height: 180px;
	}

	.schedule-page {
		padding: 165px 0 40px;
	}

	.schedule-page__wide-columns {
		grid-template-columns: 1fr;
		row-gap: 16px;
	}

	.schedule-page__hero {
		height: 420px;
	}

	.schedule-page__hero-bg {
		height: 420px;
	}

	.schedule-page__hero-band {
		top: 12px;
		height: 180px;
	}

	.ensemble-story__card,
	.ensemble-story__photo--house {
		padding-left: 16px;
		padding-right: 16px;
	}

	.site-brand {
		flex-direction: column;
	}

	.site-header__nav-cluster {
		gap: 16px;
	}

	.site-nav__list {
		flex-direction: column;
		gap: 14px;
	}

	.site-header__aside {
		gap: 14px;
	}

	.site-header__social {
		gap: 12px;
	}

	.site-mega-menu__search {
		width: 100%;
	}

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

	.site-mega-menu__footer {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}

@media (min-width: 1100px) {
	.hero-slider {
		grid-template-columns: minmax(0, 1fr) minmax(420px, 470px);
		align-items: center;
		min-height: 425px;
		padding: 40px 28px 28px;
	}

	.calendar-section__grid,
	.social-section__grid {
		grid-template-columns: minmax(0, 845px) minmax(300px, 1fr);
		align-items: stretch;
	}

	.contacts-section {
		min-height: 303px;
		padding: 25px 0;
	}

	.contacts-card {
		margin: 0 0 0 60px;
	}

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

@media (min-width: 1600px) {
	:root {
		--container-width: 1520px;
		--event-article-width: 1120px;
	}

	.partners-grid {
		width: 1120px;
	}

	.site-footer > .footer-meta__griffin {
		width: 1280px;
	}

	.partner-card:nth-child(2) {
		left: 165px;
	}

	.partner-card:nth-child(3) {
		left: 378px;
	}

	.partner-card:nth-child(4) {
		left: 530px;
	}

	.partner-card:nth-child(5) {
		left: 720px;
	}

	.partner-card:nth-child(6) {
		left: 890px;
	}

	.partner-card:nth-child(7) {
		left: 1045px;
	}

	.footer-meta__inner {
		display: block;
		width: min(1280px, calc(100% - 32px));
		min-height: 112px;
		margin: 0 auto;
		padding: 0;
	}

	.footer-meta__button {
		top: 44px;
	}

	.event-article-page__header {
		width: 380px;
	}

	.event-article-page__top-photo {
		right: 0;
		width: 470px;
		height: 313px;
	}

	.event-article-page__text--intro-narrow {
		width: 420px;
	}

	.event-article-page__feature-row {
		grid-template-columns: 390px minmax(0, 1fr);
		column-gap: 70px;
	}

	.event-article-page__side-photo {
		width: 390px;
		height: 292.5px;
	}

	.event-article-page__text--lead {
		width: auto;
	}

	.event-article-page__summary-row {
		grid-template-columns: 390px minmax(0, 1fr);
		column-gap: 70px;
	}

	.event-article-page__bottom-note {
		width: 390px;
	}

	.event-article-page__vk-band-inner {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 40px;
		padding: 0 32px;
	}

	.event-article-page--pod-knyazheskim-styagom .event-article-page__header {
		width: 420px;
	}

	.event-article-page--pod-knyazheskim-styagom .event-article-page__intro-row {
		grid-template-columns: 420px 500px;
		column-gap: 80px;
	}

	.event-article-page--pod-knyazheskim-styagom .event-article-page__top-photo {
		width: 500px;
		height: 333.33px;
	}
}

@media (min-width: 1600px) {
	.about-museum-page__container,
	.research-page__container,
	.news-page__container {
		width: min(calc(100% - 40px), var(--container-width));
	}

	.about-museum-page__list,
	.research-page__list {
		width: min(100%, 1320px);
		margin: 0 auto;
		padding-left: 0;
	}

	.about-museum-card,
	.research-card {
		grid-template-columns: 478px minmax(0, 1fr);
		column-gap: 48px;
		width: 100%;
	}

	.about-museum-card {
		grid-template-columns: 520px 420px;
		column-gap: 40px;
		width: min(100%, 980px);
		margin: 0 auto;
	}

	.about-museum-card__media,
	.about-museum-card__frame {
		width: 520px;
		height: 274px;
	}

	.about-museum-card__image {
		width: calc(var(--about-card-image-width) * 1.088);
		height: calc(var(--about-card-image-height) * 1.088);
		left: calc(var(--about-card-image-left) * 1.088);
		top: calc(var(--about-card-image-top) * 1.088);
	}

	.about-museum-card__content,
	.research-card__content {
		width: auto;
	}

	.about-museum-card__content {
		width: 420px;
	}

	.about-museum-card__title,
	.about-museum-card__text,
	.research-card__title,
	.research-card__text {
		max-width: none;
	}

	.about-museum-card__title,
	.about-museum-card__text {
		max-width: 420px;
	}

	.news-card {
		grid-template-columns: 478px minmax(0, 1fr);
		column-gap: 48px;
		width: min(100%, 1160px);
	}

	.news-card__title {
		max-width: none;
	}

	.news-card__media {
		width: 478px;
		height: 280px;
	}

	.events-card {
		grid-template-columns: 478px minmax(0, 1fr);
		column-gap: 48px;
		width: min(100%, 1200px);
	}

	.events-card__date,
	.events-card__title,
	.events-card__excerpt {
		width: auto;
		max-width: none;
	}

	.about-collections-page__container,
	.research-article-page__container,
	.news-article-page__container,
	.memo-article-page__container,
	.schedule-page__container,
	.service-quality-page__hero-inner,
	.service-quality-page__container,
	.contacts-page__container,
	.expo-complex-page__container,
	.programs-page__container,
	.museum-children-page__container,
	.museum-children-hero__inner,
	.hero-banner {
		width: min(1240px, calc(100% - 40px));
	}

	.about-collections-page__container {
		width: min(980px, calc(100% - 40px));
	}

	.about-collections-page__container {
		width: min(980px, calc(100% - 40px));
	}

	.news-article-page__article,
	.memo-article-page__article,
	.schedule-page__article {
		width: 100%;
	}

	.news-article-page__columns,
	.memo-article-page__columns,
	.schedule-page__columns {
		grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.15fr);
		column-gap: 72px;
	}

	.news-article-page__closing {
		max-width: none;
	}

	.schedule-page__hero-bg img,
	.schedule-page__hero-band img {
		width: max(100vw, 1600px);
	}

	.service-quality-page__hero-title {
		max-width: 760px;
		white-space: normal;
	}

	.service-quality-page__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 72px;
	}

	.service-quality-page__intro-title,
	.service-quality-page__intro-text,
	.service-quality-page__question {
		width: auto;
	}

	.contacts-page__card {
		grid-template-columns: minmax(280px, 1.2fr) minmax(240px, 1fr) 200px;
		column-gap: 40px;
	}

	.contacts-page__social-button {
		width: 100%;
	}

	.contacts-page__route-card {
		grid-template-columns: 320px 1fr;
	}

	.contacts-page__route-content {
		grid-template-columns: 180px minmax(0, 1fr);
		column-gap: 48px;
		padding-left: 32px;
		padding-right: 32px;
	}

	.contacts-page__feedback-card {
		width: min(760px, 100%);
	}

	.ensemble-page__hero-bg img,
	.ensemble-page__hero-band img {
		width: max(100vw, 1440px);
	}

	.calendar-layout {
          grid-template-columns: minmax(500px, 560px) minmax(280px, 320px);
          justify-content: center;
          width: min(100%, 920px);
          gap: 36px;
	}

	.calendar-panel {
		width: auto;
	}

	.calendar-panel__grid {
		grid-template-columns: repeat(7, minmax(0, 1fr));
		width: 100%;
	}

	.programs-page__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
                align-items: stretch;
                grid-auto-rows: 1fr;
		column-gap: 28px;
	}

	.about-collections-page__intro {
		grid-template-columns: 293px minmax(0, 1fr);
		column-gap: 106px;
	}

	.about-collections-page__media-row--middle {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 356px;
		column-gap: 55px;
		align-items: center;
	}

	.about-collections-page__media-row--middle .about-collections-page__media-copy {
		width: 100%;
		min-width: 0;
		max-width: none;
		align-items: stretch;
		align-self: center;
		justify-content: flex-start;
	}

	.about-collections-page__media-row--middle .about-collections-page__text {
		width: 100%;
		max-width: none;
	}

	.about-collections-page__slider-block--middle .event-article-page__gallery-slider {
		width: 100%;
	}

	.research-article-page__feature {
		grid-template-columns: 360px minmax(0, 1fr);
		column-gap: 88px;
		padding: 52px 72px;
	}

	.research-article-page__gallery,
	.research-article-page__gallery-viewport {
		width: 360px;
	}

	.research-article-page__gallery-viewport {
		height: 262px;
	}

	.expo-complex-tabs {
		grid-template-columns: minmax(320px, 1fr) minmax(420px, 1fr);
		column-gap: 40px;
	}

	.expo-complex-hero {
		grid-template-columns: minmax(360px, 1fr) minmax(420px, 1fr);
		column-gap: 72px;
	}

	.museum-children-hero__overlay {
		width: 820px;
	}

	.museum-children-overview,
	.museum-children-programs {
		width: 100%;
	}

	.museum-children-overview {
		grid-template-columns: minmax(0, 1fr) 440px;
		column-gap: 84px;
	}

	.museum-children-overview__title,
	.museum-children-overview__text,
	.museum-children-overview__text--education {
		width: auto;
	}

	.museum-children-overview__photo img {
		width: 440px;
		height: 292px;
	}

	.museum-children-program--war {
		grid-template-columns: 404px minmax(0, 1fr);
		column-gap: 72px;
	}

	.museum-children-program--quest {
		grid-template-columns: minmax(0, 1fr) 440px;
		column-gap: 72px;
	}

	.museum-children-program__copy h3 {
		width: auto;
	}

	.museum-children-holidays__grid {
		grid-template-columns: 404px minmax(0, 1fr);
		column-gap: 72px;
		justify-content: stretch;
	}

	.museum-children-holidays__text,
	.museum-children-holidays__text--secondary {
		width: auto;
	}

	.museum-children-adventure__top {
		grid-template-columns: 404px minmax(0, 1fr);
		column-gap: 72px;
		justify-content: stretch;
	}
}

@media (min-width: 1600px) {
	.site-header .container {
		width: min(1280px, calc(100% - 40px));
	}

	.about-museum-page,
	.research-page,
	.news-page,
	.events-page,
	.programs-page,
	.contacts-page {
		padding-top: 72px;
	}

	.about-museum-page__list,
	.research-page__list,
	.news-page__list,
	.events-page__list {
		gap: 84px;
	}

	.about-museum-card__title,
	.research-card__title,
	.news-card__title,
	.events-card__title,
	.event-article-page__title,
	.event-article-page__date,
	.programs-page__title,
	.contacts-page__title,
	.contacts-page__section-title,
	.service-quality-page__hero-title,
	.museum-children-section-title {
		font-size: 24px;
	}

	.about-museum-card__text,
	.research-card__text,
	.news-card__excerpt,
	.events-card__excerpt,
	.event-article-page__text,
	.news-article-page__intro,
	.news-article-page__section,
	.news-article-page__closing,
	.memo-article-page__lead,
	.memo-article-page__section,
	.schedule-page__lead,
	.schedule-page__section,
	.contacts-page__route-text,
	.programs-page__card-text,
	.museum-children-text-card,
	.museum-children-holidays__content,
	.museum-children-hero__lead {
		font-size: 17px;
		line-height: 1.5;
	}

	.news-card__meta {
		margin-bottom: 18px;
	}

	.news-card__link,
	.events-card__link,
	.about-museum-card__button,
	.research-card__button {
		width: 124px;
		height: 42px;
		font-size: 17px;
	}

	.events-card__date {
		font-size: 24px;
	}

	.event-article-page__hero {
		height: 560px;
	}

	.event-article-page__article {
		padding-top: 72px;
	}

	.event-article-page__gallery-section {
		margin-top: 28px;
	}

	.event-article-page__vk-band {
		margin-top: 72px;
	}

	.service-quality-page__hero {
		height: 380px;
		margin-bottom: 40px;
	}

	.service-quality-page__hero-logo {
		width: 190px;
	}

	.service-quality-page__intro-title {
		font-size: 24px;
	}

	.contacts-page__card {
		padding: 48px 48px 52px;
	}

	.contacts-page__feedback {
		margin-top: 88px;
	}

	.contacts-page__feedback-card {
		padding: 56px;
	}

	.hero-banner__controls {
		padding-top: 24px;
	}

	.calendar-copy h2 {
		font-size: 30px;
	}

	.calendar-copy p,
	.calendar-copy__link {
		font-size: 24px;
	}

	.programs-page__sections {
		gap: 88px;
	}

	.programs-page__section-header {
		margin-bottom: 40px;
	}

	.programs-page__card {
                height: 100%;
                min-height: 384px;
	}

	.programs-page__card--complex {
                min-height: 384px;
	}

	.programs-page__image-wrap {
		height: 220px;
	}

	.programs-page__card-title {
		font-size: 17px;
	}

	.museum-children-hero {
		height: 540px;
		margin-bottom: 56px;
	}

	.museum-children-hero__inner {
		padding-top: 124px;
	}

	.museum-children-page__title {
		font-size: 40px;
	}

	.museum-children-overview {
		margin-bottom: 112px;
	}

	.museum-children-program + .museum-children-program {
		margin-top: 78px;
	}

	.museum-children-cards {
		gap: 56px 24px;
	}
}

@media (min-width: 1800px) {
	:root {
		--container-width: 1640px;
		--event-article-width: 1220px;
	}

	.about-museum-page__list,
	.research-page__list {
		width: min(100%, 1420px);
	}

	.about-collections-page__container,
	.research-article-page__container,
	.news-article-page__container,
	.memo-article-page__container,
	.schedule-page__container,
	.service-quality-page__hero-inner,
	.service-quality-page__container,
	.contacts-page__container,
	.expo-complex-page__container,
	.programs-page__container,
	.museum-children-page__container,
	.museum-children-hero__inner,
	.hero-banner {
		width: min(1360px, calc(100% - 48px));
	}

	.about-collections-page__container {
		width: min(1020px, calc(100% - 48px));
	}

	.news-card {
		width: min(100%, 1240px);
	}

	.events-card {
		width: min(100%, 1280px);
	}

	.programs-page__grid {
		column-gap: 32px;
	}

	.museum-children-overview {
		grid-template-columns: minmax(0, 1fr) 470px;
		column-gap: 96px;
	}

	.museum-children-overview__photo img {
		width: 470px;
		height: 312px;
	}

	.ensemble-story {
		zoom: 1.12;
	}

	.expositions-story {
		zoom: 1.08;
		margin-top: -90px;
	}

	.expositions-story__title {
		font-size: 30px;
	}

	.expositions-story__tag span {
		font-size: 24px;
	}

	.expositions-story__text {
		font-size: 17px;
		line-height: 1.5;
	}
}

/* Unified centered hero width across all templates with hero blocks. */
.about-history-page__hero-wrap,
.about-collections-page__hero-wrap,
.about-styles-page__hero-wrap,
.about-events-page__hero-wrap,
.event-article-page__hero,
.news-article-page__hero,
.service-quality-page__hero {
	width: min(1280px, calc(100% - 40px));
	margin-left: auto;
	margin-right: auto;
}

.news-article-page__hero {
	left: auto;
	margin-left: auto;
	margin-right: auto;
}

.news-article-page__hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	max-width: none;
	object-fit: cover;
	transform: none;
}

.news-article-page__hero-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.7) 100%);
}

.news-article-page__hero-content {
	width: min(1120px, calc(100% - 64px));
	margin: 0 auto;
	padding: 0 0 48px;
}

.news-article-page__hero-kicker {
	max-width: 780px;
	margin: 0 0 12px;
	color: rgba(255, 255, 255, 0.92);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

.news-article-page__hero-title {
	max-width: 780px;
	margin: 0 0 16px;
	color: #ffffff;
	font-family: Bookerly, "STIX Two Text", serif;
	font-size: 42px;
	font-weight: 700;
	line-height: 1.1;
}

.news-article-page__hero-text {
	max-width: 780px;
	margin: 0;
	color: rgba(255, 255, 255, 0.94);
	font-size: 18px;
	line-height: 1.55;
}

.news-article-page--water-safety .news-article-page__hero {
	height: 420px;
}

.news-article-page--water-safety .news-article-page__hero-image {
	object-position: center 32%;
}

.news-article-page--water-safety .news-article-page__hero-overlay {
	display: none;
}

.news-article-page__water-safety-kicker {
	margin: 0 0 12px;
	color: #393939;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

.news-article-page__water-safety-fullwidth {
	margin: 0 0 32px;
	color: #393939;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
}

.news-article-page__intro-block--water-safety-mobile {
	display: none;
}

@media (max-width: 1024px) {
	.news-article-page__hero-content {
		width: calc(100% - 48px);
		padding-bottom: 36px;
	}

	.news-article-page__hero-title {
		font-size: 34px;
	}

	.news-article-page__hero-text {
		font-size: 16px;
	}

	.news-article-page--water-safety .news-article-page__hero {
		height: 360px;
	}

	.news-article-page__intro-block--water-safety-desktop {
		display: block;
	}

	.news-article-page__water-safety-fullwidth {
		font-size: 20px;
		margin-bottom: 28px;
	}
}

.service-quality-page__hero {
	margin: 0 auto 30px;
}

.ensemble-page__hero,
.schedule-page__hero {
	left: 50%;
	right: auto;
	width: min(1280px, calc(100% - 40px));
	transform: translateX(-50%);
}

.ensemble-page__hero-bg img,
.ensemble-page__hero-band img {
	width: 1280px;
}

.schedule-page__hero-bg img,
.schedule-page__hero-band img {
	width: 1440px;
}

@media (max-width: 767px) {
	.about-history-page__hero-wrap,
	.about-collections-page__hero-wrap,
	.about-styles-page__hero-wrap,
	.about-events-page__hero-wrap,
	.event-article-page__hero,
	.news-article-page__hero,
	.service-quality-page__hero,
	.ensemble-page__hero,
	.schedule-page__hero {
		width: calc(100% - 32px);
	}

	.news-article-page__hero-content {
		width: calc(100% - 32px);
		padding-bottom: 28px;
	}

	.news-article-page__hero-kicker {
		font-size: 15px;
		margin-bottom: 10px;
	}

	.news-article-page__hero-title {
		font-size: 28px;
		margin-bottom: 12px;
	}

	.news-article-page__hero-text {
		font-size: 15px;
		line-height: 1.45;
	}

	.news-article-page--water-safety .news-article-page__hero {
		height: 300px;
	}

	.news-article-page__water-safety-kicker {
		font-size: 16px;
	}

	.news-article-page__water-safety-fullwidth {
		font-size: 18px;
		margin-bottom: 24px;
		text-align: left;
	}

	.news-article-page__intro-block--water-safety-desktop {
		display: none;
	}

	.news-article-page__intro-block--water-safety-mobile {
		display: block;
		margin-bottom: 28px;
	}
}

@media (max-width: 768px) {
        html,
        body {
                max-width: 100%;
                overflow-x: hidden;
        }

        .site-shell,
        .site-content {
                overflow-x: hidden;
        }

        .calendar-panel__title {
                font-size: 24px;
        }

        .calendar-panel__nav {
                width: 44px;
                height: 44px;
        }

        .container {
                width: min(100% - 24px, var(--container-width));
        }

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

        .site-header__inner,
        .site-header__primary,
        .site-header__aside,
        .site-header__nav-cluster,
        .site-nav,
        .site-nav__list,
        .site-nav__item,
        .site-nav__link,
        .site-more-toggle,
        .accessibility-link,
        .accessibility-tools,
        .site-mega-menu__search,
        .site-mega-menu__footer,
        .news-article-page__container,
        .service-quality-page__container,
        .about-museum-page__container,
        .about-events-page__article,
        .about-history-page__article,
        .about-collections-page__article,
        .about-styles-page__article,
        .event-article-page__article,
        .memo-article-page__article,
        .contacts-card,
        .calendar-panel,
        .calendar-panel__grid,
        .calendar-copy {
                width: 100%;
                max-width: 100%;
                min-width: 0;
        }

        .site-header__nav-cluster {
                display: grid;
                gap: 12px;
        }

        .site-nav__list {
                display: grid;
                grid-template-columns: 1fr;
                gap: 10px;
        }

        .site-nav__item {
                width: 100%;
        }

        .site-nav__link,
        .site-mega-menu__link {
                display: flex;
                align-items: center;
                width: 100%;
                min-height: 44px;
                padding: 10px 12px;
                border: 1px solid rgba(57, 57, 57, 0.14);
                background: #ffffff;
        }

        .site-more-toggle,
        .accessibility-link,
        .button-primary,
        .button-secondary,
        .footer-meta__button,
        .news-card__link,
        .about-museum-card__button,
        .service-quality-page__submit {
                width: 100%;
                max-width: 100%;
                min-height: 44px;
                justify-content: center;
        }

        .accessibility-tools {
                grid-template-columns: 1fr;
        }

        .news-article-page__columns,
        .service-quality-page__columns,
        .about-museum-page__list,
        .about-documents-page__grid,
        .programs-page__grid,
        .museum-children-cards,
        .museum-children-holidays__grid,
        .museum-children-charity__grid,
        .social-section__grid,
        .social-cards,
        .partners-grid,
        .calendar-layout,
        .contacts-section,
        .anti-corruption-page__top-grid,
        .anti-corruption-page__link-grid,
        .memo-article-page__columns {
                grid-template-columns: 1fr !important;
        }

        .social-cards,
        .partners-grid {
                gap: 16px;
        }

        .about-museum-card,
        .news-card,
        .memo-article-page__download-card,
        .partner-card,
        .social-card {
                width: 100%;
                max-width: none;
        }

        .calendar-panel__weekdays,
        .calendar-panel__grid {
                grid-template-columns: repeat(7, minmax(0, 1fr));
        }

        .calendar-day {
                min-width: 0;
        }

        .calendar-tag {
                max-width: 100%;
                white-space: normal;
                word-break: break-word;
        }

        .ensemble-page__hero-bg img,
        .ensemble-page__hero-band img,
        .schedule-page__hero-bg img,
        .schedule-page__hero-band img {
                width: 100%;
                max-width: 100%;
                height: 100%;
                object-fit: cover;
        }

        .contacts-section__map,
        .contacts-section__inner,
        .contacts-section__map-canvas {
                width: 100%;
                max-width: 100%;
                min-width: 0;
        }

        [class*="__content"],
        [class*="__article"],
        [class*="__title"],
        [class*="__text"],
        [class*="__excerpt"] {
                min-width: 0;
                overflow-wrap: anywhere;
        }
}

@media (max-width: 480px) {
        .calendar-panel__header {
                gap: 10px;
        }

        .calendar-panel__title {
                font-size: 20px;
        }

        .calendar-panel__year {
                font-size: 11px;
        }

        .calendar-panel__nav {
                width: 40px;
                height: 40px;
                font-size: 18px;
        }

        .container {
                width: min(100% - 20px, var(--container-width));
        }

        body {
                font-size: 16px;
        }

        .site-brand__title {
                font-size: 22px;
                line-height: 1.15;
        }

        .site-brand__foundation {
                font-size: 12px;
        }

        .site-header__meta-label,
        .site-header__meta-value,
        .site-header__meta-note,
        .site-nav__link,
        .site-mega-menu__link {
                font-size: 15px;
                line-height: 1.4;
        }

        .news-article-page__hero-title,
        .service-quality-page__hero-title,
        .about-museum-card__title,
        .news-card__title {
                font-size: 24px;
                line-height: 1.2;
        }

        .about-museum-card__text,
        .news-card__excerpt,
        .service-quality-page__intro-text,
        .service-quality-page__question {
                font-size: 15px;
                line-height: 1.55;
        }

        .calendar-panel__grid {
                gap: 2px;
        }

        .calendar-day {
                padding: 4px 2px;
        }

        .calendar-day__number {
                font-size: 10px;
        }

        .calendar-tag {
                padding: 1px 3px;
                font-size: 6px;
        }

        .social-cards,
        .partners-grid {
                gap: 14px;
        }
}

/* Final mobile safeguards for all theme templates. */
/* Grid items must shrink before Swiper measures its viewport. */
.old-album-entry,
.about-collections-page__slider-block,
.ensemble-story__card,
.event-article-page__gallery-section,
.expositions-story__card,
.expo-complex-card,
.swiper {
        min-width: 0;
        max-width: 100%;
}

.swiper-lightbox {
        display: block;
        width: 100%;
        height: 100%;
        cursor: zoom-in;
}

.swiper-lightbox > img {
        display: block;
        width: 100%;
        height: 100%;
}

/* The complex layout is designed as a fixed two-column composition. */
@media (min-width: 769px) {
        .expo-complex-page__container {
                width: min(900px, calc(100% - 40px));
        }
}

@media (max-width: 768px) {
        .ensemble-story__archive-nav {
                top: auto;
                bottom: 12px;
        }

        .ensemble-story__archive-nav--prev {
                left: 16px;
        }

        .ensemble-story__archive-nav--next {
                left: auto;
                right: 16px;
        }

        .ensemble-story__archive-dots {
                top: auto;
                bottom: 22px;
                left: 50%;
        }

        .expositions-story {
                display: grid;
                grid-template-columns: minmax(0, 1fr);
                gap: 24px;
                width: calc(100% - 32px);
                height: auto;
                margin: 32px auto;
                zoom: 1;
        }

        .expositions-story > * {
                position: relative;
                inset: auto;
                width: 100%;
                height: auto;
                min-width: 0;
                transform: none;
        }

        .expositions-story__frame {
                width: 100%;
                max-width: 100%;
        }

        .expositions-story__year {
                max-width: 226px;
                justify-self: center;
        }

        .expo-complex-tabs,
        .expo-complex-hero,
        .expo-complex-gallery__images,
        .expo-complex-gallery__copy,
        .expo-complex-feature,
        .museum-children-overview,
        .museum-children-programs,
        .museum-children-program,
        .museum-children-adventure__top,
        .museum-children-holidays__grid,
        .museum-children-charity__grid {
                grid-template-columns: minmax(0, 1fr);
                gap: 24px;
                width: 100%;
                min-width: 0;
        }

        .museum-children-program__copy,
        .museum-children-adventure__intro,
        .museum-children-overview__text,
        .museum-children-holidays__text,
        .museum-children-program__copy h3,
        .museum-children-adventure__intro p {
                min-width: 0;
                max-width: 100%;
        }

        .expo-complex-card,
        .museum-children-photo-card {
                width: 100%;
                min-width: 0;
                max-width: 100%;
        }

        [data-expo-complex-slider] .swiper,
        .museum-children-photo-card .museum-children-frame {
                max-width: 100%;
        }

        html,
        body,
        .site-shell,
        .site-content {
                width: 100%;
                max-width: 100%;
                overflow-x: hidden;
        }

        .site-mega-menu {
                min-height: 0;
                background: #ffffff;
        }

        .site-mega-menu::after {
                display: none;
        }

        .site-mega-menu__inner {
                min-height: 0;
                padding: 16px;
        }

        .site-mega-menu__columns {
                display: grid;
                grid-template-columns: minmax(0, 1fr);
                gap: 16px;
                min-height: 0;
        }

        .site-mega-menu__item,
        .site-mega-menu__item .site-mega-menu__link {
                width: 100% !important;
        }

        .site-mega-menu__footer {
                display: flex;
                flex-direction: column;
                align-items: stretch;
                gap: 10px;
                margin-top: 16px;
        }

        .social-cards {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 12px;
                width: 100%;
        }

        .social-card,
        .social-card--ok {
                width: 100% !important;
                height: 148px;
        }

        .social-card::before,
        .social-card--ok::before {
                top: 10px;
                right: 0;
                left: 0;
                border-radius: 12px;
        }

        .social-card::after,
        .social-card--vk::after,
        .social-card--ok::after {
                top: 0;
                left: 50%;
                width: 22px;
                height: 22px;
                transform: translateX(-50%);
        }

        .social-card--vk .social-card__icon {
                top: 44px;
                left: 50%;
                width: 58px;
                height: 35px;
                transform: translateX(-50%);
        }

        .social-card--ok .social-card__icon {
                top: 38px;
                left: 50%;
                width: 28px;
                height: 47px;
                transform: translateX(-50%);
        }

        .social-card__title,
        .social-card--vk .social-card__title,
        .social-card--ok .social-card__title {
                top: 112px;
                right: 8px;
                left: 8px;
                width: auto;
                font-size: 14px;
                line-height: 18px;
        }

        .partners-section {
                position: relative;
                padding: 24px 0 0;
                z-index: 1;
        }

        .partners-section .container {
                min-height: 0;
        }

        .site-footer > .footer-meta__griffin {
                position: absolute;
                top: auto;
                right: 0;
                bottom: 0;
                left: auto;
                width: min(82%, 460px);
                height: auto;
                max-width: none;
                margin: 0;
                transform: none;
                z-index: 0;
                pointer-events: none;
        }

        .partners-section__heading {
                position: static;
                width: auto;
                margin: 0 0 20px;
                transform: none;
        }

        .partners-grid {
                position: static;
                display: grid;
                grid-template-columns: minmax(0, 1fr) !important;
                gap: 10px;
                width: 100%;
                height: auto;
                margin: 0;
                transform: none;
        }

        .partners-grid .partner-card,
        .partners-grid .partner-card__logo,
        .partners-grid .partner-card__title {
                position: static;
        }

        .partners-grid .partner-card {
                display: grid;
                grid-template-columns: 72px minmax(0, 1fr);
                grid-template-rows: minmax(0, 1fr);
                align-items: center;
                justify-items: start;
                gap: 14px;
                width: 100% !important;
                height: auto !important;
                min-height: 76px;
                padding: 10px 14px;
                border: 1px solid rgba(255, 255, 255, 0.2);
                background: rgba(255, 255, 255, 0.06);
                text-align: left;
        }

        .partners-grid .partner-card__logo {
                width: auto !important;
                max-width: 72px;
                height: 54px !important;
                max-height: 54px;
                justify-self: center;
        }

        .partners-grid .partner-card__title {
                width: auto !important;
                max-width: 100%;
                color: #ffffff;
                font-size: 15px;
                line-height: 1.35;
        }

        .partners-grid .partner-card:last-child {
                grid-column: auto;
                width: 100% !important;
                justify-self: stretch;
        }

        .footer-meta__inner {
                justify-items: center;
                padding: 24px 0 32px;
                text-align: center;
        }

        .footer-meta__button {
                justify-content: center;
                text-align: center;
        }

        .container,
        .about-museum-page__container,
        .about-collections-page__container,
        .about-events-page__container,
        .about-history-page__container,
        .about-styles-page__container,
        .contacts-page__container,
        .event-article-page__container,
        .events-page__container,
        .expo-complex-page__container,
        .memo-article-page__container,
        .museum-children-page__container,
        .news-article-page__container,
        .news-page__container,
        .old-album-page__container,
        .programs-page__container,
        .program-detail-page__container,
        .research-article-page__container,
        .research-page__container,
        .schedule-page__container,
        .service-quality-page__container {
                width: calc(100% - 32px);
                max-width: 100%;
                min-width: 0;
                margin-right: auto;
                margin-left: auto;
        }

        .site-mega-menu__columns,
        .footer-meta__inner,
        .contacts-page__card,
        .contacts-page__route-card,
        .contacts-page__route-content,
        .news-article-page__columns,
        .schedule-page__columns,
        .service-quality-page__columns,
        .program-detail-page__intro-grid,
        .program-detail-page__gallery-layout.has-thumbs {
                grid-template-columns: minmax(0, 1fr);
        }

        .programs-page__section-header,
        .footer-meta__brand,
        .footer-meta__inner {
                align-items: flex-start;
        }

        .programs-page__section-header {
                flex-direction: column;
                gap: 12px;
        }

        .programs-page__section-address {
                margin-top: 0;
                text-align: left;
        }

        .site-mega-menu__search,
        .site-mega-menu__footer,
        .footer-meta__button,
        .contacts-page__social-button,
        .program-detail-page__booking-button {
                width: 100%;
                max-width: 100%;
        }

        img,
        video,
        iframe,
        table,
        input,
        textarea,
        select,
        button {
                max-width: 100%;
        }

        iframe {
                width: 100%;
        }

        table {
                display: block;
                overflow-x: auto;
        }

        pre,
        code,
        a,
        p,
        li,
        td,
        th {
                overflow-wrap: anywhere;
        }

        [class*="__grid"],
        [class*="__columns"],
        [class*="__layout"],
        [class*="__row"] {
                max-width: 100%;
                min-width: 0;
        }
}
