

/* Start:/local/templates/mtmuseum/assets/css/vendor/normalize.css?17893024486487*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/base/fonts.css?17893024481271*/
@font-face {
	font-family: 'MTMDisplay-Bold';
	src: url('/local/templates/mtmuseum/assets/css/base/../../fonts/MTMDisplay-Bold.woff2') format('woff2'),
	     url('/local/templates/mtmuseum/assets/css/base/../../fonts/MTMDisplay-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'MTMDisplay-Medium';
	src: url('/local/templates/mtmuseum/assets/css/base/../../fonts/MTMDisplay-Medium.woff2') format('woff2'),
	     url('/local/templates/mtmuseum/assets/css/base/../../fonts/MTMDisplay-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'MTMDisplay-Regular';
	src: url('/local/templates/mtmuseum/assets/css/base/../../fonts/MTMDisplay-Regular.woff2') format('woff2'),
	     url('/local/templates/mtmuseum/assets/css/base/../../fonts/MTMDisplay-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'MTMDisplay-StencilBold';
	src: url('/local/templates/mtmuseum/assets/css/base/../../fonts/MTMDisplay-StencilBold.woff2') format('woff2'),
	url('/local/templates/mtmuseum/assets/css/base/../../fonts/MTMDisplay-StencilBold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'MTMDisplay-StencilRegular';
	src: url('/local/templates/mtmuseum/assets/css/base/../../fonts/MTMDisplay-StencilRegular.woff2') format('woff2'),
	url('/local/templates/mtmuseum/assets/css/base/../../fonts/MTMDisplay-StencilRegular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/base/config.css?17893024483828*/
html{
	font-size: 10px;
}

:root {
	/* Цвета */
	--color-black: #000000;
	--color-white: #FFFFFF;

	--color-font: #151515;

	--color-dark-10: #242424;
	--color-dark-20: #3A3A3A;

	--color-red-10: #FF0600;

	--color-orange-10: #FD541C;

	--color-yellow-10: #FCEE4F;
	--color-yellow-20: #FEB700;

	--color-blue-10: #002AE1;
	--color-blue-20: #7BD3FF;

	--color-gren-10: #3F8F43;
	--color-gren-20: #31D43B;

	--color-gray-10: #5E5E5E;
	--color-gray-20: #F0F0F0;
	--color-gray-30: #B7B7B7;

	/* Типографика — размеры (rem) */
	--fz-190: 19rem;
	--fz-120: 12rem;
	--fz-118: 11.8rem;
	--fz-117: 11.7rem;
	--fz-98: 9.8rem;
	--fz-90: 9rem;
	--fz-80: 8rem;
	--fz-72: 7.2rem;
	--fz-65: 6.5rem;
	--fz-60: 6rem;
	--fz-50: 5rem;
	--fz-40: 4rem;
	--fz-39: 3.9rem;
	--fz-32: 3.2rem;
	--fz-30: 3rem;
	--fz-28: 2.8rem;
	--fz-23: 2.3rem;
	--fz-22: 2.2rem;
	--fz-18: 1.8rem;
	--fz-17: 1.7rem;
	--fz-16: 1.6rem;
	--fz-15: 1.5rem;

	/* Межстрочные*/
	--lh-154: 15.4rem;
	--lh-105: 10.5rem;
	--lh-100: 10rem;
	--lh-83: 8.3rem;
	--lh-77: 7.7rem;
	--lh-70: 7rem;
	--lh-60: 6rem;
	--lh-45: 4.5rem;
	--lh-44: 4.4rem;
	--lh-36: 3.6rem;
	--lh-35: 3.5rem;
	--lh-30: 3rem;
	--lh-26: 2.6rem;
	--lh-25: 2.5rem;
	--lh-20: 2rem;
	--lh-18: 1.8rem;
	--lh-16: 1.6rem;

	--lh-1: 1;
	--lh--85: .85;

	--ls--1: -1%;
	--ls--1-5: -1.5%;
	--ls--2-5: -2.5%;
	--ls-1: 1%;
	--ls-2: 2%;
	--ls-3-5: 3.5%;
	--ls-17: 17%;
	--ls-30: 30%;

	/* Шрифты */

	--ff-ragular: 'MTMDisplay-Regular', 'MTMDisplay-Regular-fallback', Arial, sans-serif;
	--ff-medium: 'MTMDisplay-Medium', 'MTMDisplay-Medium-fallback', Arial, sans-serif;
	--ff-bold: 'MTMDisplay-Bold', 'MTMDisplay-Bold-fallback', Arial, sans-serif;
	--ff-ragular-stencil: 'MTMDisplay-StencilRegular', 'MTMDisplay-StencilRegular-fallback', Arial, sans-serif;
	--ff-bold-stencil: 'MTMDisplay-StencilBold', 'MTMDisplay-StencilBold-fallback', Arial, sans-serif;


	/* transition */
	--transition-main: all 350ms;
	--transition-1: all 1s;
}

body {
	font-family: var(--ff-medium);
	font-size: var(--fz-23);
	font-weight: 400;
	line-height: var(--lh-1);
	letter-spacing: var(--ls-2);
	color: var(--color-font);
	background: var(--color-white);
	overflow-x: clip; /* full-bleed-блоки (100vw) не должны давать горизонтальный скролл страницы */
}

body,
html {
	height: 100%;
	scrollbar-width: thin;
	scrollbar-color: var(--color-orange-10) transparent;
	scrollbar-gutter: stable;
}
body.no-scroll {
	scrollbar-color: var(--color-orange-10) var(--color-yellow-10);
}
body {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	min-height: 100%;
}
body::-webkit-scrollbar{
	width: .3rem;
}
body::-webkit-scrollbar-track {
	background: transparent;
}
body.no-scroll::-webkit-scrollbar-track {
	background: var(--color-yellow-10);
}
body::-webkit-scrollbar-thumb {
	background-color: var(--color-orange-10);
}
*,
:after,
:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
:focus-visible {
	outline: none;
}
h1,
h2,
h3,
p,
ul {
	margin: 0;
	font-weight: 400;
}
a {
	color: inherit;
	text-decoration: none;
	transition: var(--transition-main);
}

a:not([class]){
	text-decoration: underline;
}

a:not([class]):focus-visible {
	color: var(--color-font);
	background: var(--color-yellow-20);
}

.content {
	-webkit-box-flex: 1;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto;
	max-width: 192rem;
	width: 100%;
	margin: 0 auto;
	padding-top: 10rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

.swiper-wrapper{
	height: auto!important;
}

@media (hover: hover) {
	a:not([class]):hover {
		color: var(--color-gren-10);
	}
}


@media (max-width: 1024px) {
	.content {
		padding-top: 6rem;
	}
}
/* End */


/* Start:/local/templates/mtmuseum/assets/css/base/vars.css?17893024481734*/
.img-cover,
.img-contain{
    width: 100%;
    height: 100%;
}

.img-cover{
    object-fit: cover;
}

.img-contain{
    object-fit: contain;
}

.no-scroll {
    overflow: hidden;
}
.visually-hidden {
    position: absolute;
    width: .1rem;
    height: .1rem;
    margin: -.1rem;
    border: 0;
    padding: 0;
    white-space: nowrap;
    -webkit-clip-path: inset(100%);
    clip-path: inset(100%);
    clip: rect(0 0 0 0);
    overflow: hidden;
}

.fl{
    display: flex;
}
.jc-fe{
    justify-content: flex-end;
}

/* margin-top */


/* margin-bottom */

.mb-40{
    margin-bottom: 4rem;
}

.mb-50{
    margin-bottom: 5rem;
}

.mb-60{
    margin-bottom: 6rem;
}

.mb-80{
    margin-bottom: 8rem;
}

.mb-100{
    margin-bottom: 10rem;
}

.mb-110{
    margin-bottom: 11rem;
}

.mb-120{
    margin-bottom: 12rem;
}

.mb-126{
    margin-bottom: 12.6rem;
}

.mb-130{
    margin-bottom: 13rem;
}

.mb-140{
    margin-bottom: 14rem;
}

/* padding-bottom */

.pb-90{
    padding-bottom: 9rem;
}

@media (hover: hover) {

}

@media screen and (max-width: 1440px){

}


@media (max-width: 1024px){
    .lt-mb-100{
        margin-bottom: 10rem;
    }

    .lt-mb-90{
        margin-bottom: 9rem;
    }
}

@media (max-width: 767px) {
    .mob-mb-40{
        margin-bottom: 4rem;
    }

    .mob-mb-45{
        margin-bottom: 4.5rem;
    }

    .mob-mb-50{
        margin-bottom: 5rem;
    }

    .mob-mb-60{
        margin-bottom: 6rem;
    }

    .mob-mb-65{
        margin-bottom: 6.5rem;
    }

    .mob-mb-70{
        margin-bottom: 7rem;
    }

    .mob-mb-124{
        margin-bottom: 12.4rem;
    }
}
/* End */


/* Start:/local/templates/mtmuseum/assets/css/base/text.css?17893024482030*/
.title{
    font-size: var(--fz-190);
    line-height: var(--lh-154);
    font-family: var(--ff-bold-stencil);
    letter-spacing: var(--ls--1-5);
}

.title._white{
    color: var(--color-white);
}

.title-text{
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 40rem;
    font-family: var(--ff-bold);
    font-size: var(--fz-39);
    line-height: var(--lh-36);
    text-align: center;
    text-transform: uppercase;
    padding: 0 20rem;
    margin: 0 auto;
}

.section-lead{
    max-width: 94rem;
    font-family: var(--ff-medium);
    font-weight: 500;
    font-size: var(--fz-23);
    line-height: var(--lh-20);
    letter-spacing: var(--ls-2);
    padding-top: 2.8rem;
}

.h1{
    font-family: var(--ff-bold-stencil);
    font-size: var(--fz-190);
    line-height: var(--lh-154);
    letter-spacing: var(--ls--1-5);
    padding: 8rem 0 4rem;
}

.big-text{
    font-family: var(--ff-bold);
    font-size: var(--fz-39);
    line-height: var(--lh-36);
    text-transform: uppercase;
}

.ta-c{
    text-align: center;
}

.c-black{
    color: var(--color-black);
}

.c-blue{
    color: var(--color-blue-10);
}

@media (max-width: 1200px) {
    .title{
        font-size: var(--fz-118);
        line-height: var(--lh-100);
    }
}

@media (max-width: 1024px){
    .title-text{
        padding: 0 3rem;
    }
    .h1{
        font-size: var(--fz-118);
        line-height: var(--lh-100);
        padding: 8rem 0;
    }
}


@media (max-width: 767px) {
    .title{
        font-size: var(--fz-50);
        line-height: var(--lh-44);
    }

    .section-lead{
        max-width: 100%;
        font-size: var(--fz-18);
        line-height: var(--lh-18);
    }

    .title-text{
        font-size: var(--fz-22);
        line-height: var(--lh-20);
        padding: 1rem;
    }

    .h1{
        font-size: var(--fz-50);
        line-height: var(--lh-44);
        padding: 5rem 0 4rem;
    }
}
/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/header/header.css?17899851391235*/
.header{
    position: fixed;
    inset: 0 0 auto;
    background: var(--color-white);
    z-index: 9999;
    transition: transform 350ms ease;
}

.header._hidden{
    transform: translateY(-100%);
}

body._menu-open .header{
    transform: none;
    transition: none;
}

@media (prefers-reduced-motion: reduce){
    .header{
        transition: none;
    }
}

.header__content{
    position: relative;
    z-index: 10001;
    display: flex;
    align-items: center;
    gap: 3.8rem;
    max-width: 192rem;
    margin: 2rem auto;
}

.btn.header__btn{
    position: relative;
    --btn-bg: var(--color-black);
    background: var(--color-black);
    color: var(--color-white);
    z-index: 99999;
}

.btn.header__btn:focus-visible{
    box-shadow: 0 0 0 .4rem var(--color-yellow-20) inset;
}

@media (hover: hover){
    .btn.header__btn:hover{
        background: var(--color-gren-10);
        --btn-bg: var(--color-gren-10);
    }
}

@media screen and (max-width: 768px){
    .header__content{
        gap: 0;
    }

    .btn.header__btn{
        border-radius: 1rem;
        font-size: var(--fz-15);
        line-height: var(--lh-1);
        padding: 1rem 1.5rem;
    }
}
/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/header/header-logo.css?1789302448764*/
.header-logo{
    display: flex;
    align-items: center;
    width: 39rem;
    margin-right: auto;
    z-index: 99999;
    border: .4rem solid transparent;
    border-radius: 1rem;
    transition: var(--transition-main);
}

.header-logo__img{
    width: 10rem;
    height: 10rem;
}

.header-logo__text{
    font-size: var(--fz-22);
    line-height: var(--lh-20);
    font-family: var(--ff-bold);
}

.header-logo:focus-visible{
    background: var(--color-yellow-20);
    border-color: var(--color-yellow-10);
}

@media screen and (max-width: 768px){
    .header-logo{
        width: auto;
    }

    .header-logo__text{
        display: none;
    }

    .header-logo__img{
        width: 6rem;
        height: 6rem;
    }
}
/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/header/burger.css?17893024483812*/
.burger{
    position: relative;
    width: 10rem;
    height: 5rem;
    border: none;
    outline: none;
    background: transparent;
    cursor: pointer;
}

.burger:before,
.burger:after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6rem;
    height: .4rem;
    background: var(--color-black);
    /* Прямые торцы. В крестике полигон скашивается — см. ._active */
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transition: var(--transition-main);
}

/* Спокойное состояние — две полосы: толщина и просвет по .4rem */
.burger:before{
    /* В крестике эта полоса проходит поверх второй — как в макете */
    z-index: 1;
    transform: translate(-50%, calc(-50% - .4rem));
}

/* Нижняя полоса: в крестике у неё разрыв в месте пересечения. Тенью его не сделать —
   clip-path обрезает box-shadow, outline и border, поэтому разрыв рисуем градиентом.
   Угол 70deg = удвоенный наклон полос: края разрыва идут параллельно верхней полосе,
   как в макете. В покое ширина разрыва нулевая, градиенты одной структуры плавно
   интерполируются вместе с остальной анимацией. */
.burger:after{
    background: linear-gradient(70deg,
        var(--color-black) 0 50%,
        transparent 50% 50%,
        var(--color-black) 50% 100%);
    transform: translate(-50%, calc(-50% + .4rem));
}

/* Открытое меню — крестик. В макете полосы под ±35°, торцы срезаны вертикально.
   clip-path режет полосу до поворота, поэтому скос считаем как толщина * tg(35°) = .28rem:
   после rotate такой торец встаёт вертикально. Габариты и толщина при этом не плывут —
   в отличие от skew. Полигоны из 4 точек анимируются плавно. */
.burger._active:before{
    transform: translate(-50%, -50%) rotate(35deg);
    clip-path: polygon(0 0, calc(100% - .28rem) 0, 100% 100%, .28rem 100%);
}

/* Разрыв — вдвое шире полосы, по центру пересечения (в макете ровно так) */
.burger._active:after{
    background: linear-gradient(70deg,
        var(--color-black) 0 calc(50% - .4rem),
        transparent calc(50% - .4rem) calc(50% + .4rem),
        var(--color-black) calc(50% + .4rem) 100%);
    transform: translate(-50%, -50%) rotate(-35deg);
    clip-path: polygon(.28rem 0, 100% 0, calc(100% - .28rem) 100%, 0 100%);
}

@media screen and (max-width: 768px){
    .burger{
        width: 7rem;
    }

    .burger:before,
    .burger:after{
        width: 3rem;
        height: .3rem;
    }

    .burger:before{
        transform: translate(-50%, calc(-50% - .3rem));
    }

    .burger:after{
        transform: translate(-50%, calc(-50% + .3rem));
    }

    .burger._active:before{
        transform: translate(-50%, -50%) rotate(35deg);
        clip-path: polygon(0 0, calc(100% - .21rem) 0, 100% 100%, .21rem 100%);
    }

    .burger._active:after{
        background: linear-gradient(70deg,
            var(--color-black) 0 calc(50% - .3rem),
            transparent calc(50% - .3rem) calc(50% + .3rem),
            var(--color-black) calc(50% + .3rem) 100%);
        transform: translate(-50%, -50%) rotate(-35deg);
        clip-path: polygon(.21rem 0, 100% 0, calc(100% - .21rem) 100%, 0 100%);
    }
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/footer/footer.css?1789302448693*/
.footer{
    max-width: 192rem;
    width: 100%;
    margin: 0 auto;
    padding: 9rem 1rem 4rem;
}

.footer__row{
    display: grid;
    grid-template-columns: 74% 1fr;
    gap: 1rem;
    margin-bottom: 4rem;
}

.footer__bot{
    display: flex;
    justify-content: space-between;
    gap: 4rem;
}

.footer__group{
    display: flex;
    gap: 5rem;
}

@media screen and (max-width: 1024px){
    .footer__bot{
        flex-direction: column;
    }
}

@media screen and (max-width: 767px){
    .footer__row{
        grid-template-columns: 1fr 6rem;
        gap: 2rem;
    }

    .footer__group{
        flex-direction: column;
        gap: 4rem;
    }
}
/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/footer/footer-form.css?17893024484046*/
.footer-form{
    background: var(--color-font);
    border-radius: 3rem;
    padding: 5rem 1rem 1rem;
    margin-bottom: 4rem;
}

.footer-form__title{
    font-family: var(--ff-bold);
    font-size: var(--fz-65);
    line-height: var(--lh-70);
    letter-spacing: var(--ls--2-5);
    color: var(--color-white);
    text-transform: uppercase;
    margin-bottom: 2rem;
}

.footer-form__wrap{
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.footer-form__input{
    flex: 1;
    height: 8rem;
    border: .4rem solid var(--color-black);
    border-radius: 3rem;
    background: var(--color-white);
    color: var(--color-black);
    font-family: var(--ff-bold);
    text-transform: uppercase;
    padding: 3rem;
    transition: var(--transition-main);
}

.footer-form__input:focus-visible{
    outline: none;
    box-shadow: 0 0 0 .8rem var(--color-yellow-20) inset;
}

.footer-form__agree{
    position: relative;
    width: calc(100% - 30rem);
    padding-left: 4.5rem;
    color: var(--color-gray-30);
    margin-top: 1rem;
}

.footer-form__agree:before,
.footer-form__agree:after{
    content: '';
    position: absolute;
    transition: var(--transition-main);
}

.footer-form__agree:before{
    top: 0;
    left: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    border: .4rem solid var(--color-black);
    background: var(--color-white);
}

.footer-form__agree:after{
    top: .7rem;
    left: .5rem;
    width: 2rem;
    height: 2rem;
    background-image: url(/local/templates/mtmuseum/assets/css/components/footer/../../../img/icons/check.svg);
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    opacity: 0;
}

.footer-form__check{
    position: absolute;
    top: 0;
    left: 0;
    width: .1rem;
    height: .1rem;
    opacity: 0;
}

.footer-form__agree:has(:checked):after{
    opacity: 1;
}

@media (hover: hover) {
    .footer-form__agree:hover:before{
        background: var(--color-gren-10);
        border-color: var(--color-gren-10)
    }
}

@media screen and (max-width: 1024px){
    .footer-form__title{
        font-size: var(--fz-39);
        line-height: var(--lh-36);
        letter-spacing: var(--ls-1);
    }

    .footer-form__input{
        width: 100%;
        flex: auto;
    }

    .footer-form__agree{
        flex: 1;
        width: 100%;
    }

    .footer-form__wrap .btn{
        order:2;
    }
}

@media screen and (max-width: 767px){
    .footer-form__agree{
        font-size: var(--fz-16);
    }
}

/* Honeypot — поле только для ботов, человеку его видеть не нужно */
.footer-form__trap{
    position: absolute;
    width: .1rem;
    height: .1rem;
    opacity: 0;
    pointer-events: none;
    left: -100vw;
}

/* Состояния инпута после отправки: зелёная рамка — успех, красная — ошибка */
.footer-form__input._success{
    border-color: var(--color-gren-10);
}

.footer-form__input._error{
    border-color: var(--color-red-10);
    color: var(--color-red-10);
}

/* Плашка с ответом. Обёртка занимает всю строку флекса,
   чтобы плашка встала под инпутом, а не рядом с кнопкой. */
.footer-form__message{
    display: none;
    width: 100%;
    margin-top: 1rem;
}

.footer-form__message._visible{
    display: block;
}

/* Порядок в строке: инпут + кнопка, затем плашка, затем согласие */
.footer-form__agree{
    order: 1;
}

.footer-form__message-text{
    display: inline-block;
    padding: .5rem 1.5rem;
    border-radius: 1rem;
    background: var(--color-yellow-10);
    color: var(--color-black);
    font-family: var(--ff-medium);
    font-size: var(--fz-16);
    line-height: var(--lh-20);
    letter-spacing: var(--ls-2);
}

.footer-form__message._error .footer-form__message-text{
    background: var(--color-red-10);
    color: var(--color-white);
}

.footer-form._loading{
    opacity: .7;
    pointer-events: none;
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/footer/footer-logo.css?1789302448338*/
.footer-logo{
    width: 100%;
}

.footer-logo__img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-logo__img._mob{
    display: none;
}

@media screen and (max-width: 767px){
    .footer-logo__img._desk{
        display: none;
    }
    .footer-logo__img._mob{
        display: block;
    }
}
/* End */


/* Start:/local/templates/mtmuseum/assets/css/ui/button.css?17893024481425*/
.btn{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    outline: none;
    border: .4rem solid var(--btn-bg);
    background: var(--btn-bg);
    padding: 2rem 3rem;
    font-family: var(--ff-bold);
    font-size: var(--fz-22);
    line-height: var(--lh-20);
    border-radius: 2rem;
    text-align: center;
    cursor: pointer;
    text-transform: uppercase;
    transition: var(--transition-main);
}

.btn._default{
    height: 8rem;
    border: .4rem solid var(--color-black);
    background: var(--color-white);
    color: var(--color-black);
}

.btn._fix-w{
    width: 30rem;
}

.btn:has(.btn__icon){
    justify-content: space-between;
}

.btn__icon{
    width: 2rem;
    height: 2rem;
}

.btn._default:focus-visible{
    box-shadow: 0 0 0 .8rem var(--color-yellow-20) inset;
}

/* Кнопка неактивна, пока не заполнены обязательные поля, и на время отправки */
.btn:disabled{
    background: var(--color-dark-20);
    border-color: var(--color-dark-20);
    color: var(--color-white);
    cursor: default;
}

@media (hover: hover) {
    .btn._default:not(:disabled):hover{
        color: var(--color-white);
        background: var(--color-gren-10);
        border-color: var(--color-gren-10);
    }
}

@media screen and (max-width: 768px){
    .btn._fix-w{
        width: 100%;
    }
}
/* End */


/* Start:/local/templates/mtmuseum/assets/css/ui/input.css?17893024481490*/
.field{
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.field__label{
    font-family: var(--ff-medium);
    font-size: var(--fz-23);
    line-height: var(--lh-20);
    letter-spacing: var(--ls-2);
    margin-bottom: 2.2rem;
}

.input{
    width: 100%;
    height: 8rem;
    border: .4rem solid var(--color-black);
    border-radius: 2rem;
    background: var(--color-white);
    color: var(--color-black);
    font-family: var(--ff-medium);
    font-size: var(--fz-23);
    line-height: var(--lh-20);
    letter-spacing: var(--ls-2);
    text-transform: uppercase;
    padding: 3rem;
    transition: var(--transition-main);
}

.input::placeholder{
    color: var(--color-black);
    opacity: .3;
}

.input:focus-visible{
    outline: none;
    box-shadow: 0 0 0 .8rem var(--color-yellow-20) inset;
}

@media screen and (max-width: 767px){
    .field__label{
        font-size: var(--fz-18);
        line-height: var(--lh-18);
    }

    .input{
        height: 6rem;
        border-width: .3rem;
        border-radius: 1.6rem;
        font-size: var(--fz-18);
        line-height: var(--lh-18);
        padding: 2rem;
    }
}

/* Состояния после отправки формы: зелёная рамка — успех, красная — ошибка */
.input._success{
    border-color: var(--color-gren-10);
}

.input._error{
    border-color: var(--color-red-10);
    color: var(--color-red-10);
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/ui/popup.css?17893024482832*/
/* Модальные окна. Разметка — [data-popup], управление — assets/js/ui/popup.js. */

.popup{
    position: fixed;
    inset: 0;
    /* Поверх шапки (.header — 9999) и полноэкранного меню (.header-menu — 10000). */
    z-index: 10002;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-main);
}

.popup._open{
    opacity: 1;
    visibility: visible;
}

.popup__overlay{
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .6);
}

.popup__inner{
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 140rem;
    max-height: calc(100vh - 4rem);
    background: var(--color-white);
    border-radius: 2rem;
    overflow: hidden;
}

.popup__head{
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 3rem 3rem 2rem;
}

.popup__title{
    font-family: var(--ff-bold);
    font-size: var(--fz-32);
    line-height: var(--lh-1);
    letter-spacing: var(--ls-2);
    text-transform: uppercase;
}

.popup__close{
    position: relative;
    flex-shrink: 0;
    width: 5rem;
    height: 5rem;
    margin-left: auto;
    border: none;
    border-radius: 1rem;
    background: var(--color-gray-20);
    cursor: pointer;
    transition: var(--transition-main);
}

.popup__close::before,
.popup__close::after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2rem;
    height: .2rem;
    background: var(--color-black);
}

.popup__close::before{
    transform: translate(-50%, -50%) rotate(45deg);
}

.popup__close::after{
    transform: translate(-50%, -50%) rotate(-45deg);
}

.popup__close:focus-visible{
    box-shadow: 0 0 0 .4rem var(--color-yellow-20) inset;
}

@media (hover: hover){
    .popup__close:hover{
        background: var(--color-yellow-10);
    }
}

.popup__body{
    flex: 1 1 auto;
    padding: 0 3rem 3rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* Заглушка на время загрузки стороннего скрипта билетной системы. */
.popup__loader{
    padding: 4rem 0;
    text-align: center;
    font-size: var(--fz-18);
    color: var(--color-gray-10);
}

.popup._loaded .popup__loader{
    display: none;
}

@media screen and (max-width: 768px){
    .popup{
        padding: 0;
    }

    .popup__inner{
        max-width: none;
        height: 100%;
        max-height: none;
        border-radius: 0;
    }

    .popup__head{
        padding: 2rem 1.6rem 1.6rem;
    }

    .popup__title{
        font-size: var(--fz-18);
    }

    .popup__close{
        width: 4rem;
        height: 4rem;
    }

    .popup__body{
        padding: 0 1.6rem 2rem;
    }
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/article-body/article-body.css?17893024488169*/
/* Единый контентный блок текстовых страниц: деталка экспоната, издательская служба,
   карта пробега. Разметка везде одна — .article-body и его элементы.
   База — макет 1920, ниже медиазапросы вниз (1280 / 1024 / 767).

   Сетка: текст идёт в центральной колонке 1000px, иллюстрации и всё с ._full —
   во всю ширину контента. Ниже 1280 колонка прижата вправо, ниже 1024 — на всю ширину. */

.article-body{
    display: grid;
    grid-template-columns: 1fr min(100rem, 100%) 1fr;
    font-family: var(--ff-medium);
    font-weight: 500;
    font-size: var(--fz-23);
    line-height: var(--lh-25);
    letter-spacing: var(--ls-2);
}

.article-body > *{
    grid-column: 2;
}

.article-body__lead,
.article-body__figure,
.article-body__figures,
.article-body > ._full{
    grid-column: 1 / -1;
}

/* ---------------- Текст ---------------- */

/* Лид-абзац под заголовком страницы */
.article-body__lead{
    padding-bottom: 2.5rem;
    font-family: var(--ff-bold);
    font-size: var(--fz-30);
    line-height: var(--lh-30);
    letter-spacing: var(--ls-1);
}

.article-body__text .article-body__lead{
    padding-bottom: 0;
}

/* Подзаголовок: явным классом и заголовками внутри HTML-контента из админки */
.article-body__subhead,
.article-body__text h2,
.article-body__text h3,
.article-body__text h4{
    padding: 5rem 0 2.5rem;
    font-family: var(--ff-bold);
    font-size: var(--fz-30);
    line-height: var(--lh-30);
    letter-spacing: var(--ls-1);
}

/* Один класс и на контейнер с <p> внутри, и на одиночный абзац */
.article-body__text{
    padding-bottom: 2.5rem;
}

.article-body__text p + p{
    padding-top: 2.5rem;
}

/* ---------------- Список в две колонки ---------------- */

/* Пара «маркер + заголовок капсом» и абзац под ней.
   Селекторы по ul/ol/li — тот же список, пришедший HTML-контентом
   из админки (<ul><li><b>ТЕРМИН</b> текст</li></ul>). */
.article-body__list,
.article-body__text ul,
.article-body__text ol{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 2.1rem;
    list-style: none;
}

/* Отступ под пунктом даёт его текст, у HTML-контента — сам <li> */
.article-body__text li{
    padding-bottom: 2.5rem;
}

.article-body__list-head{
    display: flex;
    align-items: flex-start;
    padding-right: 1rem;
}

.article-body__list-marker,
.article-body__list-title,
.article-body__text li > b,
.article-body__text li > strong{
    font-family: var(--ff-bold);
    font-size: var(--fz-23);
    line-height: var(--lh-25);
    letter-spacing: var(--ls-17);
    text-transform: uppercase;
}

.article-body__list-marker{
    flex: 0 0 auto;
    width: 6rem;
}

.article-body__list-title{
    flex: 1 1 auto;
}

.article-body__text li > b,
.article-body__text li > strong{
    display: block;
    padding-right: 1rem;
}

/* ---------------- Иллюстрации ---------------- */

.article-body__figure{
    padding-top: .7rem;
    margin-bottom: 3rem;
}

/* Иллюстрация уже ширины контента — 1200px по центру (макет издательской службы) */
.article-body__figure._1200{
    width: 120rem;
    margin: 0 auto;
}

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

/* Видео вместо картинки: рамка 16:9, плеер растягивается по ней */
.article-body__figure-video{
    position: relative;
    aspect-ratio: 16 / 9;
}

.article-body__figure-video iframe{
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Пара иллюстраций: широкая 3:2 в колонке 3fr, вертикальная 2:3 в 2fr.
   Верхние края выровнены, высоты разные — вертикальная уходит ниже. */
.article-body__figures{
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    align-items: start;
    gap: .7rem;
    padding-top: .7rem;
}

/* Непарная картинка занимает всю ширину */
.article-body__figures._single{
    grid-template-columns: minmax(0, 1fr);
}

/* Только вертикальные фото — две равные колонки 2:3 (макет деталки экскурсии) */
.article-body__figures._portraits{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Рамки фиксированных пропорций, картинка кадрируется по ним (в макете заливка cover) */
.article-body__figures-img{
    overflow: hidden;
}

.article-body__figures-item._wide .article-body__figures-img{
    aspect-ratio: 3 / 2;
}

.article-body__figures-item._narrow .article-body__figures-img{
    aspect-ratio: 2 / 3;
}

/* ---------------- Подпись под иллюстрацией ---------------- */

/* Номер слева, текст справа. Отдельный класс, а не элемент блока: та же подпись
   стоит и вне .article-body — под галереей деталки экспоната. */
.article-caption{
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-height: 5rem;
    padding: .4rem 1rem 2.5rem 0;
    font-family: var(--ff-bold);
    font-size: var(--fz-18);
    line-height: var(--lh-16);
    letter-spacing: var(--ls-3-5);
}

.article-caption__counter{
    flex: 0 0 10rem;
    color: var(--color-red-10);
}

.article-caption__text{
    flex: 1 1 0;
}

@media screen and (max-width: 1280px){
    /* Текстовая колонка прижимается к правому краю контента */
    .article-body{
        grid-template-columns: 1fr min(100rem, 100%);
    }

    .article-body__figure._1200{
        width: 100%;
    }
}

@media screen and (max-width: 1024px){
    /* Колонка распахивается на всю ширину контента */
    .article-body{
        grid-template-columns: minmax(0, 1fr);
        font-size: var(--fz-18);
        line-height: var(--lh-18);
    }

    /* Иначе grid-column: 2 создаст неявную вторую колонку */
    .article-body > *{
        grid-column: 1;
    }

    .article-body__lead,
    .article-body__subhead,
    .article-body__text h2,
    .article-body__text h3,
    .article-body__text h4{
        font-size: var(--fz-22);
        line-height: var(--lh-20);
    }

    .article-body__subhead,
    .article-body__text h2,
    .article-body__text h3,
    .article-body__text h4{
        padding: 3rem 0 1.5rem;
    }

    .article-body__list-marker,
    .article-body__list-title,
    .article-body__text li > b,
    .article-body__text li > strong{
        font-size: var(--fz-18);
        line-height: var(--lh-18);
    }

    /* Номер встаёт над текстом подписи */
    .article-caption{
        flex-direction: column;
    }

    .article-caption__counter{
        flex-basis: 0;
    }
}

@media screen and (max-width: 767px){
    .article-body__lead,
    .article-body__text,
    .article-body__text li{
        padding-bottom: 1.5rem;
    }

    .article-body__text p + p{
        padding-top: 1.5rem;
    }

    .article-body__list,
    .article-body__text ul,
    .article-body__text ol,
    .article-body__figures,
    .article-body__figures._portraits{
        grid-template-columns: minmax(0, 1fr);
    }

    .article-body__list-marker{
        width: 4rem;
    }

    .article-caption{
        min-height: 4rem;
        padding-bottom: 1.5rem;
        font-size: var(--fz-15);
    }
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/card/cards.css?17893024482673*/
.cards{
    padding-top: 8rem;
    padding-bottom: 16rem;
}

.cards._min-pt{
    padding-top: 1rem;
}

.cards__title{
    font-family: var(--ff-ragular-stencil);
    font-size: var(--fz-117);
    line-height: var(--lh-105);
    letter-spacing: var(--ls--1);
    text-transform: uppercase;
    padding-right: 16rem;
    margin-bottom: 2.5rem;
}

.cards__lead{
    font-family: var(--ff-bold);
    font-size: var(--fz-30);
    line-height: var(--lh-30);
    letter-spacing: var(--ls-1);
    margin-bottom: 2.5rem;
}

.cards__grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: .5rem;
    row-gap: 6rem;
}

/* Грид во время подгрузки (фильтр по AJAX) */
.cards__grid._loading{
    opacity: .5;
    pointer-events: none;
    transition: opacity var(--transition-main);
}

.cards__empty{
    grid-column: 1 / -1;
    text-align: center;
    padding: 6rem 0;
}

.cards__card{
    display: flex;
    flex-direction: column;
    gap: .4rem;
    padding-bottom: 8rem;
    cursor: pointer;
}

.cards__img{
    aspect-ratio: 100 / 133;
    overflow: hidden;
}

.cards__img img{
    transition: var(--transition-main);
}

.cards__name,
.cards__price{
    font-family: var(--ff-bold);
    font-size: var(--fz-28);
    line-height: var(--lh-25);
    letter-spacing: var(--ls-2);
    text-transform: uppercase;
}

.cards__price{
    color: var(--color-red-10);
}

.cards__text{
    font-family: var(--ff-medium);
    font-weight: 500;
    font-size: var(--fz-23);
    line-height: var(--lh-20);
    letter-spacing: var(--ls-2);
}

@media (hover: hover)  {
    .cards__card:hover img{
        transform: scale(1.05);
    }
}

@media screen and (max-width: 1280px){
    .cards__grid{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (max-width: 1024px){
    .cards__title{
        font-size: var(--fz-90);
        line-height: var(--lh-77);
        padding-right: 8rem;
    }

    .cards__grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 4rem;
    }

    .cards__lead{
        font-size: var(--fz-23);
        line-height: var(--lh-25);
    }
}

@media screen and (max-width: 767px){

    .cards__title{
        font-size: var(--fz-40);
        line-height: var(--lh-35);
        padding-right: 0;
    }

    .cards__lead{
        font-size: var(--fz-16);
        line-height: var(--lh-20);
    }

    .cards__card{
        padding-bottom: 8rem;
    }

    .cards__grid{
        grid-template-columns: 1fr;
        row-gap: .5rem;
    }

    .cards__price,
    .cards__text{
        font-size: var(--fz-18);
        line-height: var(--lh-18);
    }
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/form/support-form.css?17893024484088*/
.support-form{
    display: flex;
    flex-direction: column;
    background: var(--color-yellow-10);
    border-radius: 3rem;
    padding: 5rem 1rem 1rem;
}

.support-form__title{
    font-family: var(--ff-ragular-stencil);
    font-weight: 400;
    font-size: var(--fz-117);
    line-height: var(--lh-105);
    letter-spacing: var(--ls--1);
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.support-form__text{
    max-width: 71rem;
    font-family: var(--ff-medium);
    font-size: var(--fz-23);
    line-height: var(--lh-20);
    letter-spacing: var(--ls-2);
    margin-bottom: 4rem;
}
.support-form__fields {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    padding-bottom: 0.4rem;
}
.support-form__row{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem;
}

@media screen and (max-width: 1024px){
    .support-form__title{
        font-size: var(--fz-90);
        line-height: var(--lh-77);
    }
}
@media screen and (max-width: 767px){
    .support-form__title{
        font-size: var(--fz-40);
        line-height: var(--lh-35);
        margin-bottom: 2rem;
    }
    .support-form__row {
        display: flex;
        flex-direction: column;
        gap: 4rem;
    }
}

/* Honeypot — поле только для ботов, человеку его видеть не нужно */
.support-form__trap{
    position: absolute;
    width: .1rem;
    height: .1rem;
    opacity: 0;
    pointer-events: none;
    left: -100vw;
}

/* Низ формы: слева плашка с ответом, справа кнопка */
.support-form__bot{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2rem;
    margin-top: 4rem;
}

.support-form__message{
    display: none;
    margin-right: auto;
}

.support-form__message._visible{
    display: block;
}

/* Форма на жёлтом фоне, поэтому плашка чёрная, а не жёлтая как в футере */
.support-form__message-text{
    display: inline-block;
    padding: .5rem 1.5rem;
    border-radius: 1rem;
    background: var(--color-black);
    color: var(--color-white);
    font-family: var(--ff-medium);
    font-size: var(--fz-16);
    line-height: var(--lh-20);
    letter-spacing: var(--ls-2);
}

.support-form__message._error .support-form__message-text{
    background: var(--color-red-10);
}

.support-form._loading{
    opacity: .7;
    pointer-events: none;
}

@media screen and (max-width: 767px){
    .support-form__bot{
        flex-direction: column;
        align-items: stretch;
        gap: 1.5rem;
        margin-top: 3rem;
    }

    .support-form__message{
        margin-right: 0;
    }
}

/* Согласие с условиями. Чекбокс рисуем сами: настоящий input скрыт,
   квадрат — :before, галочка — :after (как в форме подписки в футере). */
.support-form__agree{
    position: relative;
    display: block;
    padding-left: 4.5rem;
    margin-top: 2rem;
    font-family: var(--ff-medium);
    color: var(--color-black);
    cursor: pointer;
}

.support-form__agree:before,
.support-form__agree:after{
    content: '';
    position: absolute;
    transition: var(--transition-main);
}

.support-form__agree:before{
    top: 0;
    left: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    border: .4rem solid var(--color-black);
    background: var(--color-white);
}

.support-form__agree:after{
    top: .7rem;
    left: .5rem;
    width: 2rem;
    height: 2rem;
    background-image: url(/local/templates/mtmuseum/assets/css/components/form/../../../img/icons/check.svg);
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    opacity: 0;
}

.support-form__check{
    position: absolute;
    top: 0;
    left: 0;
    width: .1rem;
    height: .1rem;
    opacity: 0;
}

.support-form__agree:has(:checked):after{
    opacity: 1;
}

@media (hover: hover){
    .support-form__agree:hover:before{
        background: var(--color-gren-10);
        border-color: var(--color-gren-10);
    }
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/partners/docs.css?17893024481185*/
.docs{
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}

.docs__item{
    display: flex;
    align-items: center;
    background: rgba(252, 238, 79, .5);
    color: var(--color-font);
}

.docs__icon{
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.8rem;
    height: 4.8rem;
    padding: 1rem;
}

.docs__icon svg{
    width: 100%;
    height: 100%;
}

.docs__text{
    width: 38.4rem;
    padding: 1.4rem 0;
    font-family: var(--ff-medium);
    font-size: var(--fz-23);
    line-height: var(--lh-20);
    letter-spacing: var(--ls-2);
}

@media (hover: hover){
    .docs__item:hover{
        color: var(--color-orange-10);
    }
}

@media screen and (max-width: 1200px){
    .docs__item{
        width: calc(50% - .15rem);
    }

    .docs__text{
        flex: 1 1 auto;
        width: auto;
    }
}

@media screen and (max-width: 767px){
    .docs{
        gap: 1rem;
    }

    .docs__item{
        width: 100%;
        align-items: flex-start;
    }

    .docs__text{
        font-size: var(--fz-18);
        line-height: var(--lh-18);
    }
    .docs__icon {
        width: 4.2rem;
        height: 4.2rem;
    }
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/steps/steps.css?17893024481357*/
/* Шаги с крупными номерами — самостоятельный блок, встречается на разных страницах.

   Разметка строится на списке .article-body__list
   (assets/css/components/article-body/article-body.css), здесь только номер
   над заголовком и отступы вокруг него. */

.steps{
    row-gap: 2.5rem;
}

.steps__head{
    padding: 2.5rem 1rem 0 0;
}

.steps__num{
    display: block;
    font-family: var(--ff-bold-stencil);
    font-size: var(--fz-190);
    line-height: var(--lh-154);
    letter-spacing: var(--ls--1-5);
    color: var(--color-blue-10);
}

.steps._green .steps__num{
    color: var(--color-gren-20);
}

.steps__title{
    display: block;
    padding-top: 2.5rem;
}

.steps__text{
    padding-top: 1.5rem;
}

@media screen and (max-width: 1024px){
    .steps__num{
        font-size: var(--fz-118);
        line-height: var(--lh-100);
    }
}

@media screen and (max-width: 767px){
    /* Расстояние между шагами задаёт текст пункта */
    .steps{
        row-gap: 0;
    }

    .steps__head{
        padding-top: 2rem;
    }

    .steps__num{
        font-size: var(--fz-50);
        line-height: var(--lh-45);
    }

    .steps__title{
        padding-top: 2rem;
    }
}

/* End */


/* Start:/local/templates/mtmuseum/assets/css/components/home/text-main.css?1789302448461*/
.text-main{
    font-family: var(--ff-ragular-stencil);
    font-size: var(--fz-80);
    line-height: var(--lh-60);
    letter-spacing: var(--ls--1-5);
    padding: 6rem 0 2rem;
}

@media screen and (max-width: 768px){
    .text-main{
        font-size: var(--fz-60);
        line-height: var(--lh-44);
    }
}

@media screen and (max-width: 500px){
    .text-main{
        font-size: var(--fz-32);
        line-height: var(--lh-26);
    }
}
/* End */


/* Start:/local/templates/mtmuseum/components/bitrix/news.list/card_hero/style.css?17899985758246*/
.card-hero{
    display: flex;
    flex-direction: column;
    background: var(--color-black);
    border-radius: 2.5rem;
    padding: .9rem;
    margin-bottom: 6rem;
}

.card-hero__top{
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin-bottom: .5rem;
}

.card-hero__item{
    border-radius: 2rem;
    text-align: center;
}

.card-hero__item._square{
    display: flex;
    flex: 0 0 40%;
    aspect-ratio: 1 / 1;
    height: auto;
    min-width: 0;
    min-height: 0;
}

/* Единственный ребёнок квадрата занимает его целиком */
.card-hero__item._square > *{
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
}

.card-hero__content{
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    background: var(--color-blue-20);
    border-radius: 2rem;
}

/* Плашка типа — ссылка в афишу с выбранной категорией. Оверлея над карточкой нет,
   .card-hero__content оборачивает только заголовок с текстом, поэтому поднимать
   плашку не нужно. */
.card-hero__type{
    transition: var(--transition-main);
    background: var(--color-blue-20);
    border-radius: 2rem;
    writing-mode: vertical-lr;
    text-orientation: upright;
    white-space: nowrap;
    letter-spacing: 1em;
    font-size: var(--fz-28);
    text-transform: uppercase;
    padding: 2.5rem;
}

.card-hero__item._text{
    display: flex;
    gap: .5rem;
    flex: 1 1 0;
    min-width: 0;
}

.card-hero:not(._main) .card-hero__item._text{
    aspect-ratio: 16 / 10.67;
}

.card-hero__item._text .card-hero__content{
    padding: 2rem 1rem;
}

.card-hero__title{
    font-size: var(--fz-98);
    font-family: var(--ff-bold);
    line-height: var(--lh--85);
    letter-spacing: var(--ls--2-5);
    text-transform: uppercase;
    margin: auto 0;
}


.card-hero__title span{
    background-image: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
    background-image: -webkit-linear-gradient(top, currentColor, currentColor);
    background-image: -moz- oldlinear-gradient(top, currentColor 0,currentColor 100%);
    background-image: -o-linear-gradient(top, currentColor 0, currentColor 100%);
    background-image: linear-gradient(180deg, currentColor 0, currentColor);
    background-repeat: no-repeat;
    -webkit-background-size: 0 .4rem;
    -moz-background-size: 0 .4rem;
    -o-background-size: 0 .4rem;
    background-size: 0 .4rem;
    background-position: 0 90%;
    transition: var(--transition-1);
}

.card-hero__text{
    margin-top: 3rem;
}

.card-hero__info{
    display: grid;
    grid-template-columns: 1fr 73rem;
    align-items: flex-end;
    height: 10.5rem;
    background: var(--color-white);
    border: .4rem solid var(--color-black);
    border-radius: 2rem;
    padding: 0 2rem 1rem;
    margin-bottom: 4.5rem;
}

.card-hero__date{
    display: flex;
    align-items: center;
    gap: 1.4rem;
    font-family: var(--ff-bold);
    font-size: var(--fz-65);
    line-height: var(--lh-70);
    letter-spacing: var(--ls--2-5);
}

.card-hero__arrow{
    width: 8.8rem;
    height: 4.6rem;
}

/* Ссылка на карточку площадки в «Контактах». Оверлея над карточкой нет,
   поднимать блок не нужно. */
.card-hero__place{
    transition: var(--transition-main);
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    font-family: var(--ff-bold);
    font-size: var(--fz-22);
    line-height: var(--lh-20);
    padding-bottom: 1rem;
}

.card-hero__place-icon{
    width: 7.6rem;
    height: 7rem;
}

.card-hero__btn{
    margin-left: auto;
}
/* Восьмиугольник — срезаны все 4 угла */
.card-hero__img{
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    clip-path: url(#octagon-rounded);
}

.card-hero__img._circle {
    clip-path: circle(50% at 50% 50%);
}

.card-hero__item._text._yellow .card-hero__content,
.card-hero__item._text._yellow .card-hero__type{
    background: var(--color-yellow-10);
}

.card-hero._main{
    background: var(--color-yellow-10);
    margin-bottom: 11rem;
}

.card-hero._main .card-hero__content{
    background: var(--color-orange-10);
    border-color: var(--color-yellow-10);
}

.card-hero._main .card-hero__item._text{
    align-self: stretch;
}

.card-hero._main .card-hero__title{
    font-size: var(--fz-120);
    font-family: var(--ff-bold-stencil);
    color: var(--color-white);
}

.card-hero._revers .card-hero__item._text{
    order: 2;
}

.card-hero:not(._revers) .card-hero__item._text .card-hero__type{
    order: 2;
}

@media (hover: hover) {
    .card-hero__type:hover,
    .card-hero__place:hover{
        color: var(--color-gren-10);
    }

    a:hover .card-hero__title span{
        -webkit-background-size: 100% .4rem;
        -moz-background-size: 100% .4rem;
        -o-background-size: 100% .4rem;
        background-size: 100% .4rem;
    }
}

@media screen and (max-width: 1440px){
    .card-hero__type{
        padding: 1.5rem;
    }
}

@media screen and (max-width: 1200px){
    .card-hero{
        margin-bottom: 4rem;
        padding: .5rem;
    }

    .card-hero__top{
        flex-direction: column;
        align-items: stretch;
        gap: .5rem;
    }

    .card-hero__item._text,
    .card-hero__item._square{
        flex: 0 0 auto;
    }

    .card-hero__item._square{
        width: 100%;
    }

    .card-hero._revers .card-hero__item._text {
        order: -1;
    }

    /* Колонкой картинка уходит под текст, и плашке типа незачем меняться местами */
    .card-hero:not(._revers) .card-hero__item._text .card-hero__type{
        order: 0;
    }

    .card-hero__type{
        padding: 1rem;
    }

    .card-hero__date{
        gap: .8rem;
        flex-wrap: wrap;
        font-size: var(--fz-39);
        line-height: var(--lh-36);
        letter-spacing: var(--ls-1);
    }

    .card-hero__arrow{
        width: 5.8rem;
        height: 2rem;
    }
    .card-hero__info {
        grid-template-columns: 1fr 1fr;
        height: 6.5rem;
        margin-bottom: 1.7rem;
    }

    .card-hero__place{
        padding-bottom: .3rem;
    }

    .card-hero__place-icon{
        width: 4.3rem;
        height: 4rem;
    }

    .card-hero:not(._main) .card-hero__item._text,
    .card-hero__item._text{
        aspect-ratio: auto;
        min-height: 60rem;
    }

    .card-hero__item._text .card-hero__content{
        height: auto;
    }

    .card-hero._main .card-hero__item._text .card-hero__title{
        padding: 5rem 0 2rem;
    }

    .card-hero._main .card-hero__title,
    .card-hero__title{
        font-size: var(--fz-90);
    }
}

@media screen and (max-width: 767px){

    .card-hero._main{
        margin-bottom: 6rem;
    }

    .card-hero._main .card-hero__title,
    .card-hero__title{
        font-size: var(--fz-40);
    }

    .card-hero__info{
        grid-template-columns: repeat(1, 1fr);
        gap: 3.6rem;
        height: auto;
        padding: .8rem 1.1rem;
        margin-bottom: .5rem;
    }

    .card-hero__place{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .card-hero__type{
        padding: 0;
    }

    .card-hero__content,
    .card-hero__type{
        border: none;
    }

    .card-hero__item._text{
        min-height: auto;
    }

    .card-hero__text {
        margin-top: 1rem;
    }

    .card-hero:not(._main) .card-hero__item._text{
        min-height: 47rem;
    }

    .card-hero._main .card-hero__item._text .card-hero__title{
        padding: 1rem 0;
    }

    .card-hero__place {
        font-size: var(--fz-17);
        line-height: var(--lh-1);
    }

}
/* End */


/* Start:/local/templates/mtmuseum/components/bitrix/menu/header_menu/style.css?178937728410302*/
/* Полноэкранное меню. Открывается по клику на .burger (см. script.js). */

.header-menu{
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: var(--color-yellow-10);
    opacity: 0;
    padding: 1rem;
    visibility: hidden;
    transition: var(--transition-main);
}

.header-menu._open{
    opacity: 1;
    visibility: visible;
}

/* Отступ сверху — под шапку сайта: она остаётся поверх меню (см. .header__content),
   её логотип, кнопка билета и бургер-крестик и служат шапкой открытого меню. */
.header-menu__inner{
    display: flex;
    flex-direction: column;
    height: 100%;
    max-width: 192rem;
    margin: 0 auto;
    padding: 16rem 2.4rem 4rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* Safari не применяет автоминимум (min-height: auto) к этим флекс-элементам —
   у .header-submenu он к тому же обнулён собственным overflow: clip. Без фиксации
   размера они сжимаются под высоту контейнера: переполнения нет, скроллить нечего,
   а контент уходит за нижний край. */
.header-menu__inner > *{
    flex-shrink: 0;
}

.header-menu__logo{
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-right: auto;
}

.header-menu__logo-img{
    width: 6rem;
    height: 6rem;
}

.header-menu__logo-text{
    font-family: var(--ff-bold);
    font-size: var(--fz-16);
    line-height: var(--lh-16);
    letter-spacing: var(--ls-2);
    text-transform: uppercase;
}

.btn.header-menu__btn{
    --btn-bg: var(--color-black);
    background: var(--color-black);
    color: var(--color-white);
    padding: 1.5rem 3rem;
    font-size: var(--fz-16);
    line-height: var(--lh-16);
    border-radius: 1.5rem;
}

/* Основные пункты — две колонки, заполнение построчно */
.header-menu__list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7rem 5rem;
    list-style: none;
}

.header-menu__link{
    /* Переменные анимации фокуса: толщина рамки, время отрисовки одной стороны
       и время заливки (см. блок :focus-visible ниже). */
    --frame-bw: .3rem;
    --frame-step: 120ms;
    --frame-fill: 300ms;
    position: relative;
    display: inline-block;
    font-family: var(--ff-bold);
    font-size: var(--fz-65);
    line-height: var(--lh-70);
    letter-spacing: var(--ls--2-5);
    color: var(--color-font);
    text-transform: uppercase;
    isolation: isolate;
}

.header-menu__link span{
    background-image: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
    background-image: -webkit-linear-gradient(top, currentColor, currentColor);
    background-image: -moz- oldlinear-gradient(top, currentColor 0,currentColor 100%);
    background-image: -o-linear-gradient(top, currentColor 0, currentColor 100%);
    background-image: linear-gradient(180deg, currentColor 0, currentColor);
    background-repeat: no-repeat;
    -webkit-background-size: 0 .2rem;
    -moz-background-size: 0 .2rem;
    -o-background-size: 0 .2rem;
    background-size: 0 .2rem;
    background-position: 0 90%;
    color: var(--color-font);
    transition: var(--transition-main);
    /* поверх рамки и заливки фокуса */
    position: relative;
    z-index: 2;
}


.header-menu__link._active span{
    -webkit-background-size: 100% .2rem;
    -moz-background-size: 100% .2rem;
    -o-background-size: 100% .2rem;
    background-size: 100% .2rem;
}

/* Фокус с клавиатуры: сначала по контуру ссылки отрисовывается рамка
   (верх → право → низ → лево), затем сверху вниз заливается фон.
   Рамка — четыре линии-градиента в одном псевдоэлементе; последовательность
   задана кейфреймами, потому что transition не умеет разводить по времени
   слои одного свойства (background-size). */
.header-menu__link::before,
.header-menu__link::after{
    content: '';
    position: absolute;
    /* отступы в em — рамка масштабируется вместе с кеглем на всех разрешениях;
       вынесена за границы ссылки, чтобы фокус не смещал раскладку */
    inset: -.15em;
    pointer-events: none;
    opacity: 0;
}

/* Рамка */
.header-menu__link::before{
    z-index: 1;
    --frame-line: linear-gradient(var(--color-black), var(--color-black));
    background-image: var(--frame-line), var(--frame-line), var(--frame-line), var(--frame-line);
    background-repeat: no-repeat;
    /* верх слева, право сверху, низ справа, лево снизу — точки старта линий */
    background-position: 0 0, 100% 0, 100% 100%, 0 100%;
    background-size: 0 var(--frame-bw), var(--frame-bw) 0, 0 var(--frame-bw), var(--frame-bw) 0;
}

/* Заливка — сверху вниз */
.header-menu__link::after{
    z-index: 0;
    background: var(--color-yellow-20);
    transform: scaleY(0);
    transform-origin: top;
}

.header-menu__link:focus-visible{
    color: var(--color-black);
}

.header-menu__link:focus-visible::before{
    opacity: 1;
    animation: header-menu-frame calc(var(--frame-step) * 4) linear forwards;
}

.header-menu__link:focus-visible::after{
    opacity: 1;
    animation: header-menu-fill var(--frame-fill) ease-out calc(var(--frame-step) * 4) forwards;
}

@keyframes header-menu-frame{
    0%{
        background-size: 0 var(--frame-bw), var(--frame-bw) 0, 0 var(--frame-bw), var(--frame-bw) 0;
    }
    25%{
        background-size: 100% var(--frame-bw), var(--frame-bw) 0, 0 var(--frame-bw), var(--frame-bw) 0;
    }
    50%{
        background-size: 100% var(--frame-bw), var(--frame-bw) 100%, 0 var(--frame-bw), var(--frame-bw) 0;
    }
    75%{
        background-size: 100% var(--frame-bw), var(--frame-bw) 100%, 100% var(--frame-bw), var(--frame-bw) 0;
    }
    100%{
        background-size: 100% var(--frame-bw), var(--frame-bw) 100%, 100% var(--frame-bw), var(--frame-bw) 100%;
    }
}

@keyframes header-menu-fill{
    from{
        transform: scaleY(0);
    }
    to{
        transform: scaleY(1);
    }
}

/* Без анимации — сразу конечное состояние */
@media (prefers-reduced-motion: reduce){
    .header-menu__link:focus-visible::before{
        animation: none;
        background-size: 100% var(--frame-bw), var(--frame-bw) 100%, 100% var(--frame-bw), var(--frame-bw) 100%;
    }

    .header-menu__link:focus-visible::after{
        animation: none;
        transform: scaleY(1);
    }
}

@media (hover: hover) {
    .header-menu__logo:hover{
        color: var(--color-orange-10);
    }

    .btn.header-menu__btn:hover{
        --btn-bg: var(--color-dark-10);
        background: var(--color-dark-10);
    }

    .header-menu__link:hover span{
        -webkit-background-size: 100% .2rem;
        -moz-background-size: 100% .2rem;
        -o-background-size: 100% .2rem;
        background-size: 100% .2rem;
    }
}

@media screen and (max-width: 1280px){
    .header-menu__list {
        grid-template-columns: repeat(4, 1fr);
        gap: 5rem;
    }
    .header-menu__link {
        font-size: var(--fz-39);
        line-height: var(--lh-36);
        letter-spacing: var(--ls-1);
    }
}

@media screen and (max-width: 1024px){
    .header-menu__inner{
        padding: 10rem 2rem 4rem;
    }

    .header-menu__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 767px){
    .header-menu__inner{
        padding: 10rem .4rem 4rem;
    }

    .header-menu__list{
        gap: 4rem 1.5rem;
    }

    .header-menu__link{
        font-size: var(--fz-22);
        line-height: var(--lh-20);
    }

    .btn.header-menu__btn{
        padding: 1rem 1.5rem;
        font-size: var(--fz-15);
    }
}

/* Открытое меню — шапка поверх жёлтого фона. Тёмные страницы (медиатека)
   красят логотип, кнопку и бургер в белый; здесь возвращаем чёрный, чтобы
   элементы были читаемы на жёлтом. Селекторы через body._menu-open —
   специфичнее постраничных переопределений. */
body._menu-open .header-logo__text{
    color: var(--color-black);
}

body._menu-open .header-logo__img img{
    filter: none;
}

body._menu-open .burger:before,
body._menu-open .burger:after{
    background: var(--color-black);
}

body._menu-open .burger._active:after{
    background: linear-gradient(70deg,
        var(--color-black) 0 calc(50% - .4rem),
        transparent calc(50% - .4rem) calc(50% + .4rem),
        var(--color-black) calc(50% + .4rem) 100%);
}

body._menu-open .btn.header__btn{
    --btn-bg: var(--color-black);
    background: var(--color-black);
    border-color: var(--color-black);
    color: var(--color-white);
}

@media (hover: hover){
    body._menu-open .btn.header__btn:hover{
        --btn-bg: var(--color-dark-10);
        background: var(--color-dark-10);
        border-color: var(--color-dark-10);
    }
}

@media screen and (max-width: 768px){
    body._menu-open .burger._active:after{
        background: linear-gradient(70deg,
            var(--color-black) 0 calc(50% - .3rem),
            transparent calc(50% - .3rem) calc(50% + .3rem),
            var(--color-black) calc(50% + .3rem) 100%);
    }
}

/* End */


/* Start:/local/templates/mtmuseum/components/bitrix/menu/header_submenu/style.css?17893024486029*/
/* Нижний блок мелких ссылок в полноэкранном меню. */

.header-submenu{
    /* Блок прижат к низу меню, поэтому «фантомный» выход текста за line-height
       упирается в край скролл-контейнера. clip убирает его из области прокрутки;
       на отрисовку не влияет — за границу выходит метрика шрифта, а не сами буквы. */
    overflow: clip;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem 1rem;
    margin-top: auto;
    /* Запас по краям — под рамку фокуса ссылок: без него clip срезает её
       у крайних колонок и нижнего ряда. Отрицательные margin гасят запас,
       поэтому колонки и текст остаются на прежних местах. */
    margin-left: -1rem;
    margin-right: -1rem;
    margin-bottom: -1rem;
    padding: 8rem 1rem 1rem;
}

.header-submenu__link{
    /* Переменные анимации фокуса: толщина рамки, время отрисовки одной стороны,
       время заливки и компенсация трейлинг-пробела от letter-spacing
       (см. блок :focus-visible ниже). */
    --frame-bw: .2rem;
    --frame-step: 120ms;
    --frame-fill: 300ms;
    --frame-trim: .17em;
    position: relative;
    /* ссылка — элемент грида: без этого она растянулась бы на всю колонку
       и рамка фокуса обводила бы колонку, а не текст */
    justify-self: start;
    font-family: var(--ff-bold);
    letter-spacing: var(--ls-17);
    color: var(--color-font);
    text-transform: uppercase;
    isolation: isolate;
}

.header-submenu__link span{
    background-image: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
    background-image: -webkit-linear-gradient(top, currentColor, currentColor);
    background-image: -moz- oldlinear-gradient(top, currentColor 0,currentColor 100%);
    background-image: -o-linear-gradient(top, currentColor 0, currentColor 100%);
    background-image: linear-gradient(180deg, currentColor 0, currentColor);
    background-repeat: no-repeat;
    -webkit-background-size: 0 .1rem;
    -moz-background-size: 0 .1rem;
    -o-background-size: 0 .1rem;
    background-size: 0 .1rem;
    background-position: 0 90%;
    transition: var(--transition-main);
    /* поверх рамки и заливки фокуса */
    position: relative;
    z-index: 2;
}


/* Фокус с клавиатуры — как в основном меню: сначала по контуру отрисовывается
   рамка (верх → право → низ → лево), затем сверху вниз заливается фон.
   Кейфреймы переиспользуются из header_menu (этот блок выводится только внутри
   его шаблона, стили загружаются вместе). */
.header-submenu__link::before,
.header-submenu__link::after{
    content: '';
    position: absolute;
    /* отступы в em — рамка масштабируется вместе с кеглем.
       Справа вычитается трейлинг-пробел от letter-spacing: он входит в ширину
       ссылки, и без поправки рамка была бы шире справа, чем слева. */
    inset: -.3em calc(-.3em + var(--frame-trim)) -.3em -.3em;
    pointer-events: none;
    opacity: 0;
}

/* Рамка */
.header-submenu__link::before{
    z-index: 1;
    --frame-line: linear-gradient(var(--color-black), var(--color-black));
    background-image: var(--frame-line), var(--frame-line), var(--frame-line), var(--frame-line);
    background-repeat: no-repeat;
    /* верх слева, право сверху, низ справа, лево снизу — точки старта линий */
    background-position: 0 0, 100% 0, 100% 100%, 0 100%;
    background-size: 0 var(--frame-bw), var(--frame-bw) 0, 0 var(--frame-bw), var(--frame-bw) 0;
}

/* Заливка — сверху вниз */
.header-submenu__link::after{
    z-index: 0;
    background: var(--color-yellow-20);
    transform: scaleY(0);
    transform-origin: top;
}

.header-submenu__link:focus-visible{
    color: var(--color-black);
}

.header-submenu__link:focus-visible::before{
    opacity: 1;
    animation: header-menu-frame calc(var(--frame-step) * 4) linear forwards;
}

.header-submenu__link:focus-visible::after{
    opacity: 1;
    animation: header-menu-fill var(--frame-fill) ease-out calc(var(--frame-step) * 4) forwards;
}

/* Без анимации — сразу конечное состояние */
@media (prefers-reduced-motion: reduce){
    .header-submenu__link:focus-visible::before{
        animation: none;
        background-size: 100% var(--frame-bw), var(--frame-bw) 100%, 100% var(--frame-bw), var(--frame-bw) 100%;
    }

    .header-submenu__link:focus-visible::after{
        animation: none;
        transform: scaleY(1);
    }
}


@media (hover: hover) {
    .header-submenu__link:hover span{
        -webkit-background-size: 100% .1rem;
        -moz-background-size: 100% .1rem;
        -o-background-size: 100% .1rem;
        background-size: 100% .1rem;
    }
}
@media screen and (max-width: 1280px){
    .header-submenu {
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem 5rem;
        padding-top: 6rem;
    }
}

@media screen and (max-width: 767px){
    .header-submenu{
        grid-template-columns: repeat(1, 1fr);
    }
    .header-submenu__link{
        --frame-trim: .3em;
        font-size: var(--fz-18);
        letter-spacing: var(--ls-30);
    }

}

/* End */


/* Start:/local/templates/mtmuseum/components/bitrix/news.list/footer_contacts/style.css?1789302448682*/
.footer-info{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 3rem;
    margin-bottom: 10rem;
}

.footer-info__text{
    font-family: var(--ff-bold);
    font-size: var(--fz-18);
    line-height: var(--lh-20);
    letter-spacing: var(--ls-3-5);
}

@media (hover: hover) {
    a.footer-info__text:hover{
        color: var(--color-orange-10);
    }
}

@media screen and (max-width: 1024px){
    .footer-info{
        grid-template-columns: repeat(2, 1fr);
        gap: 4rem 3rem;
        margin-bottom: 9rem;
    }
}

@media screen and (max-width: 767px){
    .footer-info{
        grid-template-columns: repeat(1, 1fr);
    }
}
/* End */


/* Start:/local/templates/mtmuseum/components/bitrix/menu/footer_menu/style.css?1789302448823*/
.footer-menu{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
    margin-bottom: 10rem;
}

.footer-menu__link{
    font-family: var(--ff-bold);
    font-size: var(--fz-39);
    line-height: var(--lh-36);
    letter-spacing: var(--ls-1);
    text-transform: uppercase;
}

@media (hover: hover) {
    .footer-menu__link:hover{
        color: var(--color-orange-10);
    }
}

@media screen and (max-width: 1024px){
    .footer-menu{
        grid-template-columns: repeat(2, 1fr);
        gap: 4rem 5rem;
    }
}

@media screen and (max-width: 767px){
    .footer-menu{
        grid-template-columns: repeat(1, 1fr);
    }

    .footer-menu__link{
        font-size: var(--fz-22);
        line-height: var(--lh-20);
        letter-spacing: var(--ls-1);
    }
}
/* End */


/* Start:/local/templates/mtmuseum/components/bitrix/news.list/footer_soc/style.css?1789302448536*/
.footer-soc{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    height: 100%;
}

.footer-soc__link{
    width: 9rem;
    height: 9rem;
    color: var(--color-black);
}

.footer-soc__link svg{
    width: 100%;
    height: 100%;
}

@media (hover: hover) {
    .footer-soc__link:hover{
        color: var(--color-orange-10);
    }
}

@media screen and (max-width: 1024px){
    .footer-soc__link{
        width: 6rem;
        height: 6rem;
    }
}
/* End */


/* Start:/local/templates/mtmuseum/template_styles.css?17899035431590*/
/* Hero cards: dates on the left, venue icons on the right. */
.card-hero .card-hero__info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1.6rem 3.2rem;
    height: auto;
    min-height: 10.5rem;
    padding-top: 1rem;
}
.card-hero .card-hero__date {
    flex: 0 1 auto;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 100%;
    text-align: left;
}
.card-hero .card-hero__arrow {
    flex-shrink: 0;
}
.card-hero .card-hero__place {
    flex: 0 1 auto;
    flex-direction: row-reverse;
    align-items: center;
    max-width: 100%;
    margin-left: auto;
    padding-bottom: 0;
    text-align: right;
}
.card-hero .card-hero__place-icon {
    flex-shrink: 0;
}
@media screen and (max-width: 1200px) {
    .card-hero .card-hero__info { min-height: 6.5rem; }
}
@media screen and (max-width: 767px) {
    .card-hero .card-hero__info {
        min-height: 0;
        gap: 1.6rem;
        padding-top: 0.8rem;
    }
}
/* Center visible artwork: these SVGs have empty space above the drawing. */
.card-hero .card-hero__place-icon img[src$="vbs461n2g8nu8ko4f8ocl0tuwsxgq2mp.svg"] {
    transform: translateY(-20.72%);
}
.card-hero .card-hero__place-icon img[src$="zd7q1hh311vx2ujd2skxc37smg21zasn.svg"] {
    transform: translateY(-16.17%);
}

/* Compact affiche categories on mobile screens. */
@media screen and (max-width: 767px) {
    .filter-affiche__row {
        gap: 1.6rem 2rem;
        padding: 0 2.4rem;
        margin-top: 2rem;
    }
    .filter-affiche__option {
        text-align: left;
    }
}

/* End */
/* /local/templates/mtmuseum/assets/css/vendor/normalize.css?17893024486487 */
/* /local/templates/mtmuseum/assets/css/base/fonts.css?17893024481271 */
/* /local/templates/mtmuseum/assets/css/base/config.css?17893024483828 */
/* /local/templates/mtmuseum/assets/css/base/vars.css?17893024481734 */
/* /local/templates/mtmuseum/assets/css/base/text.css?17893024482030 */
/* /local/templates/mtmuseum/assets/css/components/header/header.css?17899851391235 */
/* /local/templates/mtmuseum/assets/css/components/header/header-logo.css?1789302448764 */
/* /local/templates/mtmuseum/assets/css/components/header/burger.css?17893024483812 */
/* /local/templates/mtmuseum/assets/css/components/footer/footer.css?1789302448693 */
/* /local/templates/mtmuseum/assets/css/components/footer/footer-form.css?17893024484046 */
/* /local/templates/mtmuseum/assets/css/components/footer/footer-logo.css?1789302448338 */
/* /local/templates/mtmuseum/assets/css/ui/button.css?17893024481425 */
/* /local/templates/mtmuseum/assets/css/ui/input.css?17893024481490 */
/* /local/templates/mtmuseum/assets/css/ui/popup.css?17893024482832 */
/* /local/templates/mtmuseum/assets/css/components/article-body/article-body.css?17893024488169 */
/* /local/templates/mtmuseum/assets/css/components/card/cards.css?17893024482673 */
/* /local/templates/mtmuseum/assets/css/components/form/support-form.css?17893024484088 */
/* /local/templates/mtmuseum/assets/css/components/partners/docs.css?17893024481185 */
/* /local/templates/mtmuseum/assets/css/components/steps/steps.css?17893024481357 */
/* /local/templates/mtmuseum/assets/css/components/home/text-main.css?1789302448461 */
/* /local/templates/mtmuseum/components/bitrix/news.list/card_hero/style.css?17899985758246 */
/* /local/templates/mtmuseum/components/bitrix/menu/header_menu/style.css?178937728410302 */
/* /local/templates/mtmuseum/components/bitrix/menu/header_submenu/style.css?17893024486029 */
/* /local/templates/mtmuseum/components/bitrix/news.list/footer_contacts/style.css?1789302448682 */
/* /local/templates/mtmuseum/components/bitrix/menu/footer_menu/style.css?1789302448823 */
/* /local/templates/mtmuseum/components/bitrix/news.list/footer_soc/style.css?1789302448536 */
/* /local/templates/mtmuseum/template_styles.css?17899035431590 */
