/*!
Theme Name: River Travel
Author: WTS
Author URI: https://wtstudio.ru/
Version: 1.0.15
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: river-year
*/

:root {
	--font-family: "Mulish", sans-serif;
	--second-family: "Inter Tight", sans-serif;
	--third-family: "Constantine", sans-serif;
	--font3: "Playfair Display", sans-serif;
	--ry-bg: #011124;
	--ry-text: #e7e7e7;
	--ry-muted: #b6b6b6;
	--ry-red: #b10000;
	--ry-card: #001e41;
	--ry-gold: #ffeaca;
	--ry-gold-gradient: linear-gradient(148deg, #f1c073 0%, #fee2b5 57.86%, #f9be63 100%);
	--ry-star: #fdd400;
	--ry-pad: 60px;
	--ry-max: 1320px;
	--ry-radius: 40px;
	--ry-radius-sm: 30px;
	--ry-section-pad: 40px;
}

@media (min-width: 576px) {
	:root {
		--ry-section-pad: 40px;
	}
}

@media (min-width: 768px) {
	:root {
		--ry-section-pad: 48px;
	}
}

@media (min-width: 992px) {
	:root {
		--ry-section-pad: 60px;
	}
}

@media (min-width: 1200px) {
	:root {
		--ry-section-pad: 60px;
	}
}

@media (min-width: 1400px) {
	:root {
		--ry-section-pad: 60px;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	overflow-x: clip;
}

body {
	margin: 0;
	background: var(--ry-bg);
	color: var(--ry-text);
	font-family: Mulish, sans-serif;
	font-size: 16px;
	line-height: 1.4;
	overflow-x: clip;
}

.site {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

body.admin-bar .site {
	min-height: calc(100vh - 32px);
	min-height: calc(100dvh - 32px);
}

@media screen and (max-width: 782px) {
	body.admin-bar .site {
		min-height: calc(100vh - 46px);
		min-height: calc(100dvh - 46px);
	}
}

.site-main {
	flex: 1 0 auto;
	width: 100%;
}

img,
picture {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}

button {
	font: inherit;
	cursor: pointer;
	border: 0;
	background: none;
	color: inherit;
	-webkit-tap-highlight-color: transparent;
}

.btn,
a.btn,
button.btn,
input,
textarea,
select,
label,
.lead__field,
.lead__input,
.lead__submit,
.lead__chip,
.lead__messengers,
.header__burger,
.header__social,
.reviews__btn,
.ry-modal__close {
	-webkit-tap-highlight-color: transparent;
}

.btn:focus:not(:focus-visible),
button:focus:not(:focus-visible),
a.btn:focus:not(:focus-visible),
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
select:focus:not(:focus-visible),
.lead__input:focus:not(:focus-visible),
.lead__field:focus-within:not(:has(:focus-visible)) {
	outline: none;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

h1,
h2,
h3,
p {
	margin: 0;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.container {
	width: 100%;
	max-width: calc(var(--ry-max) + var(--ry-pad) * 2);
	margin: 0 auto;
	padding: 0 var(--ry-pad);
}

.section-title {
	font-family: "Inter Tight", sans-serif;
	font-weight: 700;
	font-size: 50px;
	line-height: 1.22;
	color: var(--ry-text);
	text-transform: uppercase;
}

.section-title--center {
	display: block;
	width: 100%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.section-head {
	display: flex;
	align-items: flex-start;
	gap: 0;
}

.section-head .section-title {
	width: max-content;
	max-width: 100%;
	margin: 0;
}

.section-head__stars {
	flex: 0 0 auto;
	width: 65px;
	height: 60px;
	margin-left: 80px;
}

.section-head__stars img {
	display: block;
	width: 65px;
	height: 60px;
}

.section {
	padding: var(--ry-section-pad) 0;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	padding: 12px 30px;
	border-radius: var(--ry-radius);
	font-family: Mulish, sans-serif;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
	white-space: nowrap;
	cursor: default;
	border: 0;
	transition: background-color 0.35s ease, color 0.35s ease, box-shadow 0.35s ease;
}

@media (max-width: 1199px) {
	.btn {
		min-height: 52px;
		font-size: 15px;
		font-weight: 700;
	}
}

@media (max-width: 991px) {
	.btn {
		min-height: 46px;
		font-size: 14px;
	}
}

a.btn,
button.btn {
	cursor: pointer;
}

.btn--red {
	background: var(--ry-red);
	color: var(--ry-text);
}

.btn--red:hover {
	background: #d41a1a;
}

.btn--red-outline {
	background: transparent;
	color: var(--ry-red);
	box-shadow: inset 0 0 0 1px var(--ry-red);
}

.btn--red-outline:hover {
	background: rgba(177, 0, 0, 0.12);
}

.btn--light {
	background: var(--ry-text);
	color: #000;
}

.btn--light:hover {
	background: #cfcfcf;
}

.btn--ghost {
	background: transparent;
	color: var(--ry-text);
	box-shadow: inset 0 0 0 1px var(--ry-text);
}

.btn--ghost:hover {
	background: rgba(231, 231, 231, 0.14);
}

.btn--gold {
	background: var(--ry-gold-gradient);
	color: #000;
	font-weight: 700;
}

.btn--gold:hover {
	filter: brightness(1.05);
}

.btn--gold-outline {
	position: relative;
	isolation: isolate;
	background: var(--ry-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	font-weight: 700;
	box-shadow: none;
}

.btn--gold-outline::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	padding: 1px;
	background: var(--ry-gold-gradient);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.btn--gold-outline:hover {
	filter: brightness(1.08);
}

/* Cover images */
.hero__image,
.formats__image,
.catalog__image,
.events__image,
.gallery__media,
.event-moments__media,
.event-holiday__media,
.event-menu__hero-media,
.event-menu__thumb,
.event-order__media,
.event-atmosphere__media,
.event-individual__media,
.lead__media,
.ry-modal__media,
.nk-about__photo {
	position: relative;
	overflow: hidden;
}

.hero__image picture,
.formats__image picture,
.catalog__image picture,
.events__image picture,
.gallery__media picture,
.event-moments__media picture,
.event-holiday__media picture,
.event-menu__hero-media picture,
.event-menu__thumb picture,
.event-order__media picture,
.event-atmosphere__media picture,
.event-individual__media picture,
.lead__media picture,
.ry-modal__media picture,
.nk-about__photo picture,
.hero__image img,
.formats__image img,
.catalog__image img,
.events__image img,
.gallery__media img,
.event-moments__media img,
.event-holiday__media img,
.event-menu__hero-media img,
.event-menu__thumb img,
.event-order__media img,
.event-atmosphere__media img,
.event-individual__media img,
.lead__media img,
.ry-modal__media img,
.nk-about__photo img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.hero__image img,
.formats__image img,
.catalog__image img,
.events__image img,
.gallery__media img,
.event-moments__media img,
.event-holiday__media img,
.event-menu__hero-media img,
.event-menu__thumb img,
.event-order__media img,
.event-atmosphere__media img,
.event-individual__media img,
.lead__media img,
.ry-modal__media img,
.nk-about__photo img {
	object-fit: cover;
}

/* Header */
.header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
	padding: 60px 0 0;
	transition: background-color 0.25s ease, padding 0.25s ease;
	overflow-anchor: none;
}

.header--solid {
	position: relative;
	padding: 40px 0;
	background: var(--ry-bg);
}

.header.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
	padding: 12px 0;
	background: var(--ry-bg);
	transition: background-color 0.25s ease;
}

.header-spacer {
	display: block;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	pointer-events: none;
	visibility: hidden;
}

body.admin-bar .header.is-fixed {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .header.is-fixed {
		top: 46px;
	}
}

/* WP admin bar is not sticky below 600px — don't reserve space under fixed header. */
@media screen and (max-width: 600px) {
	body.admin-bar .header.is-fixed {
		top: 0;
	}
}

.header__inner {
	display: flex;
	align-items: center;
}

.header__logo {
	flex: 0 0 auto;
	width: 170px;
	margin-right: 24px;
}

.header__logo picture,
.header__logo img {
	width: 170px;
	height: 20px;
	object-fit: contain;
}

.header__nav {
	flex: 1;
	display: flex;
	justify-content: flex-end;
	min-width: 0;
}

.header__menu {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	max-width: 877px;
	width: max-content;
	min-height: 62px;
	margin: 0;
	padding: 20px;
	list-style: none;
	border-radius: var(--ry-radius);
	background: rgba(0, 0, 0, 0.5);
	-webkit-backdrop-filter: blur(30px);
	backdrop-filter: blur(30px);
	font-size: 16px;
	font-weight: 600;
}

.header__menu > .menu-item {
	position: relative;
	flex: 0 0 auto;
	align-self: stretch;
	display: flex;
	align-items: center;
	list-style: none;
}

.header__menu > .menu-item > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}

.header__menu .menu-item-has-children > a::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: -3px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	opacity: 0.85;
	flex-shrink: 0;
}

/* Desktop dropdown: left-aligned to parent, below menu bar */
.header__menu .sub-menu {
	position: absolute;
	top: calc(100% + 20px);
	left: 0;
	z-index: 40;
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 330px;
	max-width: min(420px, calc(100vw - 24px));
	max-height: min(70vh, calc(100dvh - 120px));
	margin: 0;
	padding: 10px 0;
	list-style: none;
	border-radius: 20px;
	/*
	 * Solid translucent panel (no nested backdrop-filter — broken under .header__menu blur).
	 */
	background: rgba(0, 0, 0, 0.88);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: rgba(241, 192, 115, 0.75) rgba(255, 255, 255, 0.08);
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	transform: translateY(6px);
	transition:
		opacity 0.22s ease,
		transform 0.22s ease,
		visibility 0s linear 0.22s;
}

.header__menu .sub-menu::-webkit-scrollbar {
	width: 6px;
}

.header__menu .sub-menu::-webkit-scrollbar-track {
	margin: 12px 0;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 100px;
}

.header__menu .sub-menu::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, #f1c073 0%, #fee2b5 50%, #f9be63 100%);
	border-radius: 100px;
}

.header__menu .sub-menu::-webkit-scrollbar-thumb:hover {
	background: var(--ry-gold);
}

/*
 * Hover bridge on the parent (not on .sub-menu): overflow on .sub-menu
 * clips ::before, so the gap killed hover after scrollbar styles.
 */
.header__menu > .menu-item-has-children::after {
	content: "";
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 39;
	width: max(100%, 330px);
	height: 28px;
}

.header__menu .menu-item-has-children:hover > .sub-menu,
.header__menu .menu-item-has-children:focus-within > .sub-menu {
	visibility: visible;
	pointer-events: auto;
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity 0.22s ease,
		transform 0.22s ease,
		visibility 0s linear 0s;
}

.header__menu .sub-menu .menu-item {
	list-style: none;
	margin: 0;
}

.header__menu .sub-menu a {
	display: block;
	padding: 10px 18px;
	color: var(--ry-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.header__menu .sub-menu a:hover,
.header__menu .sub-menu a:focus-visible {
	color: var(--ry-gold);
}

.header__menu .sub-menu .current-menu-item > a,
.header__menu .sub-menu .current_page_item > a {
	color: var(--ry-gold);
}

.header__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	margin-left: 81px;
}

@media (max-width: 1399px) {
	.header__menu {
		font-size: 14px;
		gap: 20px;
	}

	.header__actions {
		margin-left: 20px;
	}
}

.header__phone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	height: 35px;
	margin-right: 6px;
	padding: 0 16px;
	border-radius: var(--ry-radius);
	background: rgba(0, 0, 0, 0.5);
	-webkit-backdrop-filter: blur(30px);
	backdrop-filter: blur(30px);
	color: var(--ry-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.header__phone:hover {
	color: var(--ry-gold);
}

.header__socials {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
}

.header__social {
	width: 35px;
	height: 35px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}

.header__social img {
	width: 35px;
	height: 35px;
	display: block;
	object-fit: cover;
}

.header__burger {
	display: none;
	width: 25px;
	height: 25px;
	position: relative;
	flex-shrink: 0;
}

.header__burger span {
	position: absolute;
	left: 4px;
	right: 4px;
	height: 2px;
	background: #e7e7e7;
	border-radius: 2px;
}

.header__burger span:nth-child(1) {
	top: 7px;
}

.header__burger span:nth-child(2) {
	top: 12px;
}

.header__burger span:nth-child(3) {
	top: 17px;
}

.header__drawer {
	display: none;
}

body.is-menu-open {
	position: fixed;
	left: 0;
	right: 0;
	width: 100%;
	overflow: hidden;
	overscroll-behavior: none;
}

/* Hero */
.hero {
	position: relative;
	min-height: 655px;
	display: flex;
	flex-direction: column;
	/* Clear absolute header; JS sets --ry-header-clearance from measured height. */
	padding-top: var(--ry-header-clearance, 140px);
	padding-bottom: 60px;
}

.hero > .container {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-top: auto;
}

.hero__image {
	position: absolute;
	inset: 0;
}

.hero__overlay {
	position: absolute;
	inset: 0;
	height: 100%;
	background: linear-gradient(
		180deg,
		rgba(1, 17, 36, 0) 0%,
		rgba(1, 17, 36, 0) calc(100% - 220px),
		rgba(1, 17, 36, 0.15) calc(100% - 150px),
		rgba(1, 17, 36, 0.75) calc(100% - 45px),
		var(--ry-bg) 100%
	);
	pointer-events: none;
}

.hero__overlay--bottom {
	top: unset;
	bottom: 0;
	height: 150px;
	opacity: 0.9;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0) 26.93%,
		rgba(17, 16, 16, 0.9) 72.05%,
		rgba(17, 16, 16, 1) 100%
	);
}

.hero__content {
	position: relative;
	z-index: 1;
	max-width: 683px;
}

.hero__title {
	font-family: "Playfair Display", "Inter Tight", serif;
	font-weight: 700;
	font-size: 50px;
	line-height: 140%;
}

.hero__text {
	margin-top: 20px;
	max-width: 538px;
	font-size: 20px;
	font-weight: 600;
	line-height: 130%;
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 30px;
}

/* NK page hero (has .hero__nav-wrap below) */
.hero--nk {
	padding-bottom: 100px;
}

.hero--nk .hero__content {
	margin-bottom: 48px;
}

.hero--nk .hero__title {
	font-weight: 600;
}

.hero--nk .hero__text {
	max-width: 558px;
	font-weight: 500;
}

.hero--nk .hero__overlay {
	background: none;
}

.hero--nk .hero__overlay--nk-a {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.65) 21.28%,
		rgba(2, 2, 2, 0.59) 36.93%,
		rgba(17, 16, 16, 0.06) 72.5%,
		rgba(17, 16, 16, 0.65) 100%
	);
}

.hero--nk .hero__overlay--nk-b {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0) 26.93%,
		rgba(17, 16, 17, 0.9) 91.02%
	);
}

/* Event single hero */
.hero--event .hero__title {
	font-weight: 600;
}

.hero--event .hero__text {
	max-width: 450px;
	font-weight: 500;
}

.hero--event .hero__overlay {
	background: none;
}

.hero--event .hero__overlay--event-a {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.65) 21.28%,
		rgba(2, 2, 2, 0.59) 36.93%,
		rgba(17, 16, 16, 0.06) 72.5%,
		rgba(17, 16, 16, 0.65) 100%
	);
}

.hero--event .hero__overlay--event-b {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0) 26.93%,
		rgba(17, 16, 17, 0.9) 91.02%
	);
}

@media (min-width: 768px) {
	.hero__overlay--no-dim-desk {
		display: none;
	}
}

@media (max-width: 767px) {
	.hero__overlay--no-dim-mob {
		display: none;
	}
}

.hero__btn-short {
	display: none;
}

.hero__nav-wrap {
	position: sticky;
	top: 24px;
	z-index: 15;
	margin-top: -60px;
	transition: top 0.25s ease, background-color 0.25s ease, padding 0.25s ease, box-shadow 0.25s ease;
}

.hero__nav-wrap.is-stuck {
	padding: 12px 0;
}

.hero__nav-wrap.is-stuck .hero__nav-link {
	backdrop-filter: blur(8px);
}

body.admin-bar .hero__nav-wrap {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .hero__nav-wrap {
		top: 46px;
	}
}

body.header-is-fixed .hero__nav-wrap {
	top: var(--ry-hero-nav-top, 64px);
}

body.header-is-fixed .hero__nav-wrap.is-stuck {
	top: calc(var(--ry-hero-nav-top, 64px) + var(--ry-hero-nav-gap, 12px));
}

body.admin-bar.header-is-fixed .hero__nav-wrap {
	top: calc(var(--ry-hero-nav-top, 64px) + 32px);
}

body.admin-bar.header-is-fixed .hero__nav-wrap.is-stuck {
	top: calc(var(--ry-hero-nav-top, 64px) + 32px + var(--ry-hero-nav-gap, 12px));
}

@media screen and (max-width: 782px) {
	body.admin-bar.header-is-fixed .hero__nav-wrap {
		top: calc(var(--ry-hero-nav-top, 64px) + 46px);
	}

	body.admin-bar.header-is-fixed .hero__nav-wrap.is-stuck {
		top: calc(var(--ry-hero-nav-top, 64px) + 46px + var(--ry-hero-nav-gap, 12px));
	}
}

@media screen and (max-width: 600px) {
	body.admin-bar .hero__nav-wrap {
		top: 0;
	}

	body.admin-bar.header-is-fixed .hero__nav-wrap {
		top: var(--ry-hero-nav-top, 64px);
	}

	body.admin-bar.header-is-fixed .hero__nav-wrap.is-stuck {
		top: calc(var(--ry-hero-nav-top, 64px) + var(--ry-hero-nav-gap, 12px));
	}
}

.hero__nav {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: 20px;
	width: 100%;
}

.hero__nav-link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	min-width: 0;
	width: 100%;
	padding: 12px 20px;
	border-radius: 30px;
	background: rgba(0, 29, 66, 0.6);
	color: #e7e7e7;
	font-weight: 800;
	font-size: 16px;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.hero__nav-link:hover,
.hero__nav-link.is-active {
	background: rgba(0, 29, 66, 0.95);
	color: #fff;
}

.hero__nav-link.is-active {
	box-shadow: inset 0 0 0 1px rgba(236, 191, 120, 0.65);
}

@media (max-width: 992px) {
	.hero__nav-wrap {
		display: none;
	}

	.hero--nk .hero__content {
		margin-bottom: 0;
	}

	.hero--nk {
		padding-bottom: 60px;
	}
}

#advantages,
#moments,
[id^="moments-"],
#about-format,
[id^="about-format-"],
#media,
[id^="media-"],
#formats,
#catalog,
#events,
#newyear,
#lead,
#videos,
#reviews,
[id^="reviews-"],
#faq,
[id^="faq-"],
#gallery-text,
#contacts,
[id^="contacts-"],
#tickets,
[id^="tickets-"],
#includes,
[id^="includes-"],
#menu,
[id^="menu-"],
#holiday,
[id^="holiday-"],
#booking,
[id^="booking-"],
#atmosphere,
[id^="atmosphere-"],
#individual,
[id^="individual-"] {
	scroll-margin-top: var(--ry-anchor-offset, 136px);
}

@media (max-width: 991px) {
	#advantages,
	#moments,
	[id^="moments-"],
	#about-format,
	[id^="about-format-"],
	#media,
	[id^="media-"],
	#formats,
	#catalog,
	#events,
	#newyear,
	#lead,
	#videos,
	#reviews,
	[id^="reviews-"],
	#faq,
	[id^="faq-"],
	#gallery-text,
	#contacts,
	[id^="contacts-"],
	#tickets,
	[id^="tickets-"],
	#includes,
	[id^="includes-"],
	#menu,
	[id^="menu-"],
	#holiday,
	[id^="holiday-"],
	#booking,
	[id^="booking-"],
	#atmosphere,
	[id^="atmosphere-"],
	#individual,
	[id^="individual-"] {
		scroll-margin-top: var(--ry-anchor-offset, 72px);
	}
}

.breadcrumbs {
	padding: 10px 0 20px;
}

.header--solid ~ .site-main .breadcrumbs {
	padding-top: 0;
}

.breadcrumbs .container {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.breadcrumbs__link,
.breadcrumbs__current {
	font-size: 16px;
	line-height: 1.25;
	color: #fff;
}

.breadcrumbs__link {
	text-decoration: none;
}

.breadcrumbs__link:hover {
	text-decoration: underline;
}

.breadcrumbs__sep {
	display: block;
	width: 4px;
	height: 7px;
	flex-shrink: 0;
}

.breadcrumbs + .section {
	padding-top: 0;
}

.error-page {
	text-align: center;
	padding-top: 60px;
	padding-bottom: 80px;
}

.error-page__code {
	margin: 0;
	font-family: "Inter Tight", sans-serif;
	font-weight: 700;
	font-size: 120px;
	line-height: 1;
	color: var(--ry-text);
	text-transform: uppercase;
}

.error-page__subtitle {
	margin: 20px 0 0;
	font-family: Mulish, sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ry-muted);
}

.error-page__actions {
	margin-top: 40px;
	display: flex;
	justify-content: center;
}

.error-page__actions .btn {
	cursor: pointer;
	text-decoration: none;
}

/* Standard page */
.page-main {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	width: 100%;
	background: var(--ry-bg);
}

.page-article {
	padding: 0 0 60px;
}

.page-article__title {
	margin: 10px 0 40px;
	font-family: var(--second-family);
	font-weight: 700;
	font-size: 60px;
	line-height: 1.2;
	color: var(--ry-text);
	text-transform: uppercase;
}

.content {
	color: var(--ry-text);
	font-size: 18px;
	line-height: 1.45;
}

.block-text .section-title {
	margin-bottom: 30px;
}

.search-results {
	padding-bottom: 60px;
}

.search-results__title {
	margin-bottom: 30px;
	word-break: break-word;
}

.search-results__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.search-results__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(231, 231, 231, 0.15);
}

.search-results__item-title {
	margin: 0;
	flex: 1 1 240px;
	font-family: var(--second-family);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ry-text);
}

.search-results__item-title a {
	color: inherit;
	text-decoration: none;
}

.search-results__item-title a:hover {
	text-decoration: underline;
}

.search-results__more {
	flex: 0 0 auto;
	min-width: 146px;
}

.search-results__empty {
	margin: 0;
	font-size: 18px;
	line-height: 1.4;
	color: var(--ry-text);
}

.search-results__pagination {
	margin-top: 40px;
}

.search-results .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.search-results .page-numbers {
	color: var(--ry-text);
	text-decoration: none;
}

.search-results .page-numbers.current {
	font-weight: 700;
}

.content::after {
	content: "";
	display: table;
	clear: both;
}

.content > *:first-child {
	margin-top: 0;
}

.content > *:last-child {
	margin-bottom: 0;
}

.content p {
	margin: 0 0 20px;
}

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
	margin: 30px 0 20px;
	color: var(--ry-text);
	line-height: 1.25;
}

.content h1:first-child,
.content h2:first-child,
.content h3:first-child,
.content h4:first-child,
.content h5:first-child,
.content h6:first-child {
	margin-top: 0;
}

.content h1 {
	font-family: var(--second-family);
	font-weight: 700;
	font-size: 40px;
	line-height: 1.2;
}

.content h2 {
	font-family: var(--font-family);
	font-weight: 800;
	font-size: 28px;
}

.content h3 {
	font-family: var(--font-family);
	font-weight: 800;
	font-size: 22px;
}

.content h4 {
	font-family: var(--font-family);
	font-weight: 800;
	font-size: 20px;
}

.content h5 {
	font-family: var(--font-family);
	font-weight: 800;
	font-size: 18px;
}

.content h6 {
	font-family: var(--font-family);
	font-weight: 800;
	font-size: 16px;
}

.content a {
	color: var(--ry-text);
	text-decoration: underline;
}

.content a:hover {
	opacity: 0.85;
}

.content ul,
.content ol {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.content ul > li,
.content ol > li {
	position: relative;
	padding-left: 16px;
	margin: 0 0 13px;
}

.content ul > li:last-child,
.content ol > li:last-child {
	margin-bottom: 0;
}

.content ul > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #f1c073;
}

.content ol {
	counter-reset: page-ol;
}

.content ol > li {
	counter-increment: page-ol;
	padding-left: 28px;
}

.content ol > li::before {
	content: counter(page-ol) ".";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 700;
	color: #f1c073;
}

.content strong,
.content b {
	font-weight: 800;
}

.content img,
.content picture {
	max-width: 100%;
	height: auto;
}

.content picture img {
	display: block;
	max-width: 100%;
	height: auto;
}

.content .alignleft {
	float: left;
	margin: 0 20px 16px 0;
	max-width: 50%;
}

.content .alignright {
	float: right;
	margin: 0 0 16px 20px;
	max-width: 50%;
}

.content .aligncenter {
	display: block;
	clear: both;
	margin: 0 auto 16px;
}

.content .alignnone {
	display: inline-block;
	margin: 0 0 16px;
}

.content .alignleft img,
.content .alignright img,
.content .aligncenter img,
.content .alignnone img,
.content .alignleft picture,
.content .alignright picture,
.content .aligncenter picture,
.content .alignnone picture {
	display: block;
	width: 100%;
	height: auto;
}

.content .wp-caption {
	max-width: 100%;
	margin: 0 0 20px;
}

.content .wp-caption.alignleft {
	float: left;
	margin: 0 20px 16px 0;
	max-width: 50%;
}

.content .wp-caption.alignright {
	float: right;
	margin: 0 0 16px 20px;
	max-width: 50%;
}

.content .wp-caption.aligncenter {
	display: block;
	float: none;
	margin: 0 auto 20px;
}

.content .wp-caption img,
.content .wp-caption picture {
	display: block;
	width: 100%;
	height: auto;
}

.content .wp-caption-text {
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.35;
	color: var(--ry-muted);
}

/* Tables */
.content table {
	width: 100%;
	max-width: 100%;
	margin: 0 0 24px;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: inherit;
	line-height: 1.4;
}

.content thead th {
	background: rgba(0, 35, 76, 0.65);
	font-weight: 800;
}

.content th,
.content td {
	padding: 12px 16px;
	border: 1px solid rgba(231, 231, 231, 0.18);
	text-align: left;
	vertical-align: top;
	color: var(--ry-text);
}

.content tbody tr:nth-child(even) th,
.content tbody tr:nth-child(even) td {
	background: rgba(255, 255, 255, 0.03);
}

.content table a {
	text-decoration: underline;
}

/* WP [gallery] shortcode */
.content .gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 24px;
	clear: both;
}

.content .gallery .gallery-item {
	margin: 0;
	padding: 0;
	float: none;
	text-align: left;
	width: calc(50% - 6px);
}

.content .gallery-columns-1 .gallery-item {
	width: 100%;
}

.content .gallery-columns-2 .gallery-item {
	width: calc(50% - 6px);
}

.content .gallery-columns-3 .gallery-item {
	width: calc(33.333% - 8px);
}

.content .gallery-columns-4 .gallery-item,
.content .gallery-columns-5 .gallery-item,
.content .gallery-columns-6 .gallery-item,
.content .gallery-columns-7 .gallery-item,
.content .gallery-columns-8 .gallery-item,
.content .gallery-columns-9 .gallery-item {
	width: calc(25% - 9px);
}

.content .gallery-icon {
	margin: 0;
}

.content .gallery-icon a {
	position: relative;
	display: block;
	padding-top: 67%;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	opacity: 1;
}

.content .gallery-icon a:hover {
	opacity: 0.92;
}

.content .gallery-icon img,
.content .gallery-icon picture {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
}

.content .gallery-icon picture img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.content .gallery-caption {
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.35;
	color: var(--ry-muted);
}

@media (max-width: 1199px) {
	.page-article__title {
		font-size: 48px;
	}

	.content {
		font-size: 17px;
	}

	.content h1 {
		font-size: 36px;
	}

	.content h2 {
		font-size: 24px;
	}

	.content h3 {
		font-size: 20px;
	}

	.content h4 {
		font-size: 18px;
	}

	.content h5 {
		font-size: 16px;
	}

	.content h6 {
		font-size: 15px;
	}

	.content .wp-caption-text,
	.content .gallery-caption {
		font-size: 13px;
	}
}

@media (max-width: 991px) {
	.page-article__title {
		font-size: 36px;
		margin-bottom: 28px;
	}

	.content {
		font-size: 16px;
	}

	.content h1 {
		font-size: 30px;
	}

	.content h2 {
		font-size: 22px;
	}

	.content h3 {
		font-size: 18px;
	}

	.content h4 {
		font-size: 17px;
	}

	.content h5 {
		font-size: 15px;
	}

	.content h6 {
		font-size: 14px;
	}

	.content th,
	.content td {
		padding: 10px 14px;
		font-size: 15px;
	}

	.content .wp-caption-text,
	.content .gallery-caption {
		font-size: 13px;
	}

	.content .gallery-columns-3 .gallery-item {
		width: calc(50% - 6px);
	}

	.content .gallery-columns-4 .gallery-item,
	.content .gallery-columns-5 .gallery-item,
	.content .gallery-columns-6 .gallery-item,
	.content .gallery-columns-7 .gallery-item,
	.content .gallery-columns-8 .gallery-item,
	.content .gallery-columns-9 .gallery-item {
		width: calc(33.333% - 8px);
	}
}

@media (max-width: 767px) {
	.content {
		font-size: 15px;
		line-height: 1.4;
	}

	.content p {
		margin-bottom: 15px;
	}

	.content h1,
	.content h2,
	.content h3,
	.content h4,
	.content h5,
	.content h6 {
		margin: 20px 0 15px;
	}

	.content h1 {
		font-size: 25px;
	}

	.content h2 {
		font-size: 18px;
	}

	.content h3 {
		font-size: 15px;
	}

	.content h4 {
		font-size: 14px;
	}

	.content h5,
	.content h6 {
		font-size: 12px;
	}

	.content .alignleft,
	.content .alignright,
	.content .wp-caption.alignleft,
	.content .wp-caption.alignright {
		float: none;
		display: block;
		max-width: 100%;
		margin: 0 auto 16px;
	}

	.content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.content th,
	.content td {
		padding: 10px 12px;
		font-size: 14px;
	}

	.content .gallery {
		gap: 8px;
	}

	.content .gallery .gallery-item,
	.content .gallery-columns-2 .gallery-item,
	.content .gallery-columns-3 .gallery-item,
	.content .gallery-columns-4 .gallery-item,
	.content .gallery-columns-5 .gallery-item,
	.content .gallery-columns-6 .gallery-item,
	.content .gallery-columns-7 .gallery-item,
	.content .gallery-columns-8 .gallery-item,
	.content .gallery-columns-9 .gallery-item {
		width: calc(50% - 4px);
	}

	.content .gallery-columns-1 .gallery-item {
		width: 100%;
	}

	.content .gallery-caption,
	.content .wp-caption-text {
		font-size: 12px;
	}
}

.hero--page .hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Section backgrounds */
._bg--1 {
	background: #111011;
}

._bg--2 {
	background: linear-gradient(180deg, #011125 0%, #111011 100%);
}

._bg--3 {
	background: linear-gradient(180deg, #111011 0%, #011125 100%);
}

._bg--4 {
	background: linear-gradient(180deg, #011124 0%, #111010 100%);
}

._bg--5 {
	background: linear-gradient(180deg, #111011 0%, #011125 73%);
}

._bg--6 {
	background: linear-gradient(180deg, #011125 24%, #111011 100%);
}

._bg--7 {
	background: var(--ry-bg);
}

._bg--8 {
	background: linear-gradient(180deg, #111011 0%, #011125 60.58%);
}

._bg--9 {
	background: #011125;
}

._bg--10 {
	background: linear-gradient(180deg, #111011 22.6%, #011125 100%);
}

._bg--12 {
	background: linear-gradient(180deg, #111011 23.69%, #011125 100%);
}

._bg--13 {
	background: linear-gradient(180deg, #111011 0%, #011125 73.08%);
}

/* NK about */
.nk-about__grid {
	display: grid;
	grid-template-columns: minmax(0, 650fr) minmax(0, 315fr) minmax(0, 315fr);
	gap: 20px;
	align-items: start;
}

.nk-about__photo {
	border-radius: 30px;
	width: 100%;
}

.nk-about__photo--wide {
	padding-top: 58.769%; /* 382 / 650 */
}

.nk-about__photo--tall {
	padding-top: 121.27%; /* 382 / 315 */
}

.nk-about__photo:nth-child(1) {
	grid-column: 1;
	grid-row: 1;
}

.nk-about__photo:nth-child(2) {
	grid-column: 2;
	grid-row: 1;
}

.nk-about__photo:nth-child(3) {
	grid-column: 3;
	grid-row: 1;
}

.nk-about__photo:nth-child(4) {
	grid-column: 2;
	grid-row: 2;
}

.nk-about__photo:nth-child(5) {
	grid-column: 3;
	grid-row: 2;
}

.nk-about__content {
	grid-column: 1;
	grid-row: 2;
	max-width: 558px;
	padding-top: 10px;
}

.nk-about__title {
	margin: 0;
	font-family: "Inter Tight", sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	color: #e7e7e7;
	text-transform: uppercase;
}

@media (min-width: 1400px) {
	.nk-about__title {
		max-width: 500px;
	}
}

.nk-about__text {
	margin: 20px 0 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.28;
	color: #e7e7e7;
}

.nk-about__text + .nk-about__text {
	margin-top: 20px;
}

/* Formats */
.formats__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-top: 40px;
}

.formats__card {
	position: relative;
	border-radius: var(--ry-radius-sm);
	overflow: hidden;
	min-height: 604px;
}

.formats__image {
	position: absolute;
	inset: 0;
}

.formats__body {
	position: relative;
	z-index: 1;
	height: 100%;
	min-height: 604px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 40px 20px 20px;
	background: linear-gradient(180deg, transparent 30%, rgba(1, 17, 36, 0.92) 70%);
}

.formats__name {
	font-family: "Inter Tight", sans-serif;
	font-size: 35px;
	font-weight: 700;
	margin-bottom: 20px;
	text-transform: uppercase;
}

.formats__list {
	display: grid;
	gap: 15px;
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: 600;
}

.formats__item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.formats__icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
}

.formats__btn {
	width: 100%;
	cursor: pointer;
}

/* Advantages */
.advantages__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 40px;
}

.advantages__card {
	display: flex;
	align-items: center;
	gap: 20px;
	background: var(--ry-card);
	border-radius: var(--ry-radius-sm);
	padding: 20px;
	box-sizing: border-box;
}

.advantages__icon {
	flex-shrink: 0;
	display: block;
	width: 50px;
	height: auto;
}

.advantages__content {
	flex: 1;
	min-width: 0;
}

.advantages__title {
	color: var(--ry-gold);
	font-size: 25px;
	font-weight: 800;
	line-height: 1.24;
	margin-bottom: 10px;
}

.advantages__text {
	color: var(--ry-gold);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
}

/* Catalog */
.catalog__list {
	display: grid;
	gap: 60px;
}

.catalog__card {
	display: grid;
	grid-template-columns: 650fr 610fr;
	gap: 60px;
	align-items: stretch;
}

.catalog__media {
	position: relative;
	border-radius: var(--ry-radius-sm);
	overflow: hidden;
	min-height: 426px;
}

a.catalog__media {
	display: block;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

.catalog__image {
	position: absolute;
	inset: 0;
	height: auto;
	border-radius: 0;
}

.catalog__image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35.24%, #000 82.22%);
}

.catalog__caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 20px;
	font-family: var(--third-family);
	font-weight: 700;
	text-transform: uppercase;
}

.catalog__eyebrow,
.catalog__heading,
.catalog__badge {
	text-transform: uppercase;
	background: linear-gradient(180deg, #ffe5bc 0%, #ecbf78 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.catalog__eyebrow {
	font-size: 20px;
	line-height: 1.2;
}

.catalog__heading {
	margin-top: 10px;
	font-size: 40px;
	line-height: 1.2;
}

.catalog__badge {
	margin-top: 10px;
	font-size: 20px;
	line-height: 1.2;
}

.catalog__badge::before,
.catalog__badge::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 1px;
	margin: 0 10px;
	vertical-align: middle;
	background: #ecbf78;
}

.catalog__body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-width: 0;
	color: var(--ry-gold);
}

.catalog__features {
	display: grid;
	gap: 20px;
}

.catalog__feature {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

.catalog__feature-icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin-top: 12px;
	object-fit: contain;
}

.catalog__feature-text {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.catalog__feature-title {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
}

.catalog__feature-desc {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
}

.catalog__meta {
	display: grid;
	gap: 20px;
	margin-top: 53px;
}

.catalog__meta-row {
	display: flex;
	align-items: center;
	gap: 20px;
}

.catalog__meta-icon {
	flex-shrink: 0;
	width: 20px;
	height: auto;
	object-fit: contain;
}

.catalog__meta-text {
	display: grid;
	gap: 5px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
}

.catalog__price {
	font-size: 16px;
	font-weight: 400;
}

.catalog__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 33px;
}

.catalog__actions .btn {
	min-width: 203px;
}

/* Events catalog (tickets + tabs) */
.events__head {
	position: relative;
	margin-bottom: 40px;
}

.events__head .section-title {
	width: 100%;
	max-width: 100%;
	margin: 0;
	text-align: center;
}

.events__stars {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-45%);
	width: 172px;
	height: 149px;
	margin: 0;
	pointer-events: none;
}

.events__stars img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.events__tabs {
	display: flex;
	width: max-content;
	max-width: 100%;
	margin-bottom: 30px;
	padding: 5px;
	border-radius: 40px;
	background: #e7e7e7;
	gap: 0;
}

.events__tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 238px;
	min-height: 50px;
	padding: 12px 23px;
	border: 0;
	border-radius: 40px;
	background: transparent;
	color: #000;
	font-family: Mulish, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.events__tab.is-active {
	background: var(--ry-bg);
	color: var(--ry-text);
}

.events__tab-icon {
	display: block;
	width: 25px;
	height: 25px;
	flex-shrink: 0;
	background-color: #ef45ab;
	-webkit-mask: var(--events-tab-icon) center / contain no-repeat;
	mask: var(--events-tab-icon) center / contain no-repeat;
	transition: background-color 0.25s ease;
}

.events__tab.is-active .events__tab-icon {
	background-color: #ffdead;
}

.events__list {
	display: grid;
	gap: 20px;
}

.events__card {
	--events-hole-w: 16px;
	--events-hole-step: 52px;
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 518fr) minmax(0, 732fr);
	gap: 10px;
	align-items: stretch;
	padding: 40px 40px 40px 20px;
	border-radius: 5px;
	background: #e7e7e7;
	color: #000;
	/* Реальные вырезы: сквозь них виден градиент секции */
	-webkit-mask-image:
		url("source/img/ticket-bg.svg"),
		linear-gradient(#fff 0 0),
		url("source/img/ticket-bg-right.svg");
	-webkit-mask-size:
		var(--events-hole-w) var(--events-hole-step),
		calc(100% - var(--events-hole-w) * 2) 100%,
		var(--events-hole-w) var(--events-hole-step);
	-webkit-mask-position: left top, center, right top;
	-webkit-mask-repeat: repeat-y, no-repeat, repeat-y;
	mask-image:
		url("source/img/ticket-bg.svg"),
		linear-gradient(#fff 0 0),
		url("source/img/ticket-bg-right.svg");
	mask-size:
		var(--events-hole-w) var(--events-hole-step),
		calc(100% - var(--events-hole-w) * 2) 100%,
		var(--events-hole-w) var(--events-hole-step);
	mask-position: left top, center, right top;
	mask-repeat: repeat-y, no-repeat, repeat-y;
}

.events__card > [itemprop="offers"] {
	display: none;
}

/* Псевдоэлементы не красят фон — вырезы через mask на карточке */
.events__card::before,
.events__card::after {
	content: none;
}

.events__media,
.events__body {
	position: relative;
	border-radius: var(--ry-radius-sm);
	background: none;
	border: none;
	min-height: 390px;
}

/* Пунктир по скруглённому контуру (штрих 13px) */
.events__dash {
	position: absolute;
	inset: 0;
	z-index: 6;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: visible;
}

.events__dash rect {
	x: 0.5px;
	y: 0.5px;
	width: calc(100% - 1px);
	height: calc(100% - 1px);
	rx: var(--ry-radius-sm);
	ry: var(--ry-radius-sm);
	fill: none;
	stroke: rgba(112, 112, 112, 0.3);
	stroke-width: 1px;
	stroke-dasharray: 13 13;
	vector-effect: non-scaling-stroke;
}

.events__media {
	overflow: hidden;
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

a.events__media {
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

.events__image {
	position: absolute;
	inset: 20px;
	border-radius: var(--ry-radius-sm);
	overflow: hidden;
}

.events__image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(1, 17, 36, 0) 45%, rgba(1, 17, 36, 0.72) 100%);
	pointer-events: none;
}

.events__card-title {
	position: relative;
	z-index: 2;
	margin: 0;
	padding: 20px;
	color: #fff;
	font-family: "Inter Tight", sans-serif;
	font-size: 25px;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.events__age {
	position: absolute;
	right: 60px;
	bottom: 60px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	border-radius: 40px;
	background: #e7e7e7;
	color: #000;
	font-family: Mulish, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

.events__body {
	display: flex;
	flex-direction: column;
	padding: 20px;
	box-sizing: border-box;
}

.events__desc {
	margin: 0 0 20px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
	color: #000;
}

.events__meta {
	display: grid;
	gap: 10px;
	margin-bottom: 20px;
}

.events__meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 7px;
	font-size: 17px;
	line-height: 1.25;
}

.events__meta-key {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.events__meta-icon {
	display: block;
	width: 19px;
	height: 19px;
	flex-shrink: 0;
}

.events__meta-label {
	font-weight: 700;
}

.events__meta-value {
	font-weight: 200;
}

.events__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: auto;
}

.events__actions .btn {
	min-width: 0;
	min-height: 50px;
	padding: 10px 30px;
}

.events__more {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.events__more[hidden] {
	display: none;
}

.events__more .btn {
	font-size: 18px;
	padding: 12px 38.5px;
	border: 0;
	cursor: pointer;
}

.events__panel[hidden] {
	display: none;
}

/* Gallery (after events) */
.gallery__grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 20px;
}

.gallery__item {
	position: relative;
	border-radius: var(--ry-radius-sm);
	overflow: hidden;
}

.gallery__item--video {
	grid-column: 1 / -1;
	aspect-ratio: 1320 / 580;
}

.gallery__item--md {
	grid-column: span 6;
}

.gallery__item--sm {
	grid-column: span 3;
}

.gallery__item--wide {
	grid-column: span 5;
}

.gallery__item--mid {
	grid-column: span 4;
}

.gallery__media {
	display: block;
	width: 100%;
	height: 0;
	padding-top: 54.92%;
	border-radius: var(--ry-radius-sm);
	background: #1a1a1a;
	overflow: hidden;
	cursor: pointer;
}

.gallery__item--video .gallery__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding-top: 0;
}

.gallery__item--sm .gallery__media {
	padding-top: 113.33%;
}

.gallery__item--wide .gallery__media {
	padding-top: 66.36%;
}

.gallery__item--mid .gallery__media {
	padding-top: 83.61%;
}

.gallery__item--md .gallery__media {
	padding-top: 54.92%;
}

.gallery__media img {
	transition: transform 0.55s ease;
	will-change: transform;
}

.gallery__item:not(.gallery__item--video) .gallery__media:hover img {
	transform: scale(1.1);
}

.gallery__player {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: #000;
}

.gallery__player iframe,
.gallery__player video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

.gallery__play {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	width: 100px;
	height: 100px;
	margin: -50px 0 0 -50px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.gallery__play::before,
.gallery__play::after {
	content: "";
	position: absolute;
	inset: 0;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 0C77.6142 0 100 22.3858 100 50C100 77.6142 77.6142 100 50 100C22.3858 100 0 77.6142 0 50C0 22.3858 22.3858 0 50 0ZM37.5 71.6504L75 50L37.5 28.3496V71.6504Z' fill='%23000'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 0C77.6142 0 100 22.3858 100 50C100 77.6142 77.6142 100 50 100C22.3858 100 0 77.6142 0 50C0 22.3858 22.3858 0 50 0ZM37.5 71.6504L75 50L37.5 28.3496V71.6504Z' fill='%23000'/%3E%3C/svg%3E");
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	pointer-events: none;
}

.gallery__play::before {
	z-index: 0;
	background: #fff;
}

.gallery__play::after {
	z-index: 1;
	background: var(--ry-gold-gradient);
	opacity: 0;
	transition: opacity 0.35s ease;
}

.gallery__item--video:hover .gallery__play::after {
	opacity: 1;
}

.gallery__play svg {
	display: none;
}

.gallery__item.is-playing .gallery__media {
	pointer-events: none;
	opacity: 0;
}

.gallery__item.is-playing .gallery__play {
	display: none;
}

/* Event moments (slider + static grid) */
.event-moments__head {
	margin-bottom: 40px;
}

.event-moments__text {
	margin: 15px 0 0;
	max-width: 640px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--ry-text);
}

.event-moments__slider {
	position: relative;
	border-radius: var(--ry-radius-sm);
	overflow: hidden;
}

.event-moments__slide .event-moments__media {
	display: block;
	width: 100%;
	height: 0;
	padding-top: 38.03%; /* 502 / 1320 */
	border-radius: var(--ry-radius-sm);
	background: #1a1a1a;
	cursor: pointer;
}

.event-moments__nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	padding: 0;
	border: 0;
	border-radius: 100px;
	background: #011124;
	cursor: pointer;
	transform: translateY(-50%);
	transition: opacity 0.25s ease;
}

.event-moments__nav svg {
	width: 15px;
	height: 29px;
}

.event-moments__nav:hover,
.event-moments__nav:focus-visible {
	opacity: 0.85;
}

.event-moments__nav--prev {
	left: 20px;
}

.event-moments__nav--next {
	right: 20px;
}

.event-moments__pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 16px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	margin: 0;
	transform: none;
}

.event-moments__pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	margin: 0 !important;
	border-radius: 50%;
	background: #e7e7e7;
	opacity: 1;
}

.event-moments__pagination .swiper-pagination-bullet-active {
	background: #011124;
}

.event-moments__grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 20px;
	margin-top: 20px;
}

.event-moments__item {
	position: relative;
	border-radius: var(--ry-radius-sm);
	overflow: hidden;
}

.event-moments__item--sm {
	grid-column: span 3;
}

.event-moments__item--wide {
	grid-column: span 5;
}

.event-moments__item--mid {
	grid-column: span 4;
}

.event-moments__item--lg {
	grid-column: span 6;
}

.event-moments__item .event-moments__media {
	display: block;
	width: 100%;
	height: 0;
	border-radius: var(--ry-radius-sm);
	background: #1a1a1a;
	cursor: pointer;
	transition: opacity 0.25s ease;
}

.event-moments__item .event-moments__media:hover {
	opacity: 0.92;
}

.event-moments__item--sm .event-moments__media {
	padding-top: 103.81%; /* 327 / 315 */
}

.event-moments__item--wide .event-moments__media {
	padding-top: 60.78%; /* 327 / 538 */
}

.event-moments__item--mid .event-moments__media {
	padding-top: 76.58%; /* 327 / 427 */
}

.event-moments__item--lg .event-moments__media {
	padding-top: 50.31%; /* 327 / 650 */
}

/* Event includes (ticket contents) */
.event-includes {
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, #011125 0%, #111011 100%);
}

.event-includes__stars {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
	width: min(746px, 52%);
	pointer-events: none;
	mix-blend-mode: screen;
}

.event-includes__stars img {
	display: block;
	width: 100%;
	height: auto;
}

.event-includes .container {
	position: relative;
	z-index: 1;
}

.event-includes__title {
	margin: 0;
}

.event-includes__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 40px;
}

.event-includes__card {
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: 102px;
	padding: 20px;
	border-radius: var(--ry-radius-sm);
	background: linear-gradient(135deg, #001e41 0%, #012a52 100%);
	box-sizing: border-box;
}

.event-includes__icon {
	flex-shrink: 0;
	display: block;
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.event-includes__card-title {
	margin: 0;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.24;
	color: var(--ry-text);
}

.event-includes__actions {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

@media (max-width: 1199px) {
	.event-includes__title {
		font-size: 42px;
		line-height: 1.22;
	}

	.event-includes__card-title {
		font-size: 20px;
		line-height: 1.25;
	}
}

@media (max-width: 991px) {
	.event-includes__title {
		font-size: 36px;
		line-height: 1.2;
	}

	.event-includes__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.event-includes__card-title {
		font-size: 16px;
		line-height: 1.25;
	}
}

/* Event tickets */
.event-tickets__lead {
	max-width: 780px;
	margin: 20px 0 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--ry-text);
}

.event-tickets__layout {
	display: grid;
	grid-template-columns: minmax(0, 498px) minmax(0, 650px);
	gap: 40px 52px;
	align-items: start;
	justify-content: space-between;
	margin-top: 40px;
	padding: 40px;
	border-radius: 30px;
	background: #121821;
}

.event-tickets__meta {
	display: grid;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.event-tickets__meta-item,
.event-tickets__howto-title {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.event-tickets__meta-icon {
	display: block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	margin-top: 2px;
	align-self: center;
	color: #e7e7e7;
	object-fit: contain;
}

.event-tickets__meta-icon[viewBox="0 0 20 25"] {
	height: 25px;
}

.event-tickets__meta-text,
.event-tickets__howto-title {
	margin: 0;
	font-family: var(--second-family);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.28;
	color: var(--ry-text);
}

.event-tickets__meta-text strong,
.event-tickets__howto-title span {
	font-weight: 700;
}

.event-tickets__howto {
	margin-top: 30px;
}

.event-tickets__tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin-top: 10px;
	padding-left: 30px;
}

.event-tickets__tab {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #939393;
	font-family: Mulish, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3;
	cursor: pointer;
}

.event-tickets__tab.is-active {
	color: #ffeaca;
	font-weight: 700;
}

.event-tickets__tab-icon {
	display: block;
	width: 18px;
	height: 15px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: var(--event-tickets-tab-icon) center / contain no-repeat;
	mask: var(--event-tickets-tab-icon) center / contain no-repeat;
}

.event-tickets__panels {
	margin-top: 15px;
	padding-left: 30px;
}

.event-tickets__panel-text {
	margin: 0;
	font-family: Mulish, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 20px;
	color: var(--ry-text);
}

.event-tickets__map {
	display: inline-block;
	margin-top: 10px;
	color: #ffeaca;
	font-family: Mulish, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.event-tickets__map:hover {
	color: #fee2b5;
}

.event-tickets__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 315px));
	gap: 20px;
	justify-content: end;
	align-items: start;
}

.event-tickets__card {
	--tickets-hole-w: 6px;
	--tickets-hole-step: 13px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 0;
	padding: 22px 20px;
	background: linear-gradient(256.03deg, #073d7f 2.29%, #021a37 51.33%, #073d7f 102.1%);
	color: var(--ry-text);
	-webkit-mask-image:
		url("source/img/event/tickets/ticket-bg.svg"),
		linear-gradient(#fff 0 0),
		url("source/img/event/tickets/ticket-bg-right.svg");
	-webkit-mask-size:
		var(--tickets-hole-w) var(--tickets-hole-step),
		calc(100% - var(--tickets-hole-w) * 2) 100%,
		var(--tickets-hole-w) var(--tickets-hole-step);
	-webkit-mask-position: left top, center, right top;
	-webkit-mask-repeat: repeat-y, no-repeat, repeat-y;
	mask-image:
		url("source/img/event/tickets/ticket-bg.svg"),
		linear-gradient(#fff 0 0),
		url("source/img/event/tickets/ticket-bg-right.svg");
	mask-size:
		var(--tickets-hole-w) var(--tickets-hole-step),
		calc(100% - var(--tickets-hole-w) * 2) 100%,
		var(--tickets-hole-w) var(--tickets-hole-step);
	mask-position: left top, center, right top;
	mask-repeat: repeat-y, no-repeat, repeat-y;
}

.event-tickets__card-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.event-tickets__card-name {
	margin: 0;
	font-family: var(--second-family);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ry-text);
}

.event-tickets__age {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 39px;
	height: 30px;
	padding: 0 5px;
	border-radius: 5px;
	background: #144384;
	font-family: Mulish, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	color: var(--ry-text);
}

.event-tickets__card-desc {
	margin: 0;
	font-family: var(--second-family);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
	color: var(--ry-text);
}

.event-tickets__card-line {
	height: 1px;
	margin-top: 9px;
	border-radius: 4px;
	background: linear-gradient(90deg, #072c58 0%, #1274ed 100%);
}

.event-tickets__card-bottom {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 10px;
}

.event-tickets__price {
	display: grid;
	gap: 0;
}

.event-tickets__price-value {
	font-family: Mulish, sans-serif;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.24;
	color: #f5ca86;
}

.event-tickets__price-note {
	font-family: var(--second-family);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--ry-text);
}

.event-tickets__actions {
	min-height: 50px;
}

.event-tickets__buy {
	width: 100%;
	min-height: 50px;
}

.event-tickets__buy[hidden] {
	display: none !important;
}

.event-tickets__qty {
	display: flex;
	align-items: center;
	gap: 20px;
}

.event-tickets__qty[hidden] {
	display: none !important;
}

.event-tickets__counter {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 100px;
	height: 50px;
	padding: 0 16px;
	border-radius: 40px;
	background: var(--ry-gold-gradient);
	color: #000;
}

.event-tickets__qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #000;
	font-family: Mulish, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}

.event-tickets__qty-value {
	min-width: 1.2em;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	color: #000;
}

.event-tickets__order {
	flex: 1;
	min-height: 50px;
	padding-left: 20px;
	padding-right: 20px;
}

@media (min-width: 1200px) and (max-width: 1399px) {
	.event-tickets__layout {
		padding: 30px;
		grid-template-columns: minmax(0, 400px) minmax(0, 650px);
		gap: 40px 40px;
	}

	.event-tickets__tabs {
		gap: 12px;
	}

	.event-tickets__qty {
		gap: 15px;
	}
}

@media (max-width: 1199px) {
	.event-tickets__lead {
		font-size: 16px;
	}

	.event-tickets__meta-text,
	.event-tickets__howto-title {
		font-size: 16px;
	}

	.event-tickets__tab {
		font-size: 13px;
	}

	.event-tickets__panel-text {
		font-size: 16px;
		line-height: 1.3;
	}

	.event-tickets__map {
		font-size: 13px;
	}

	.event-tickets__card-name {
		font-size: 18px;
	}

	.event-tickets__age {
		font-size: 15px;
	}

	.event-tickets__price-value {
		font-size: 24px;
	}

	.event-tickets__price-note {
		font-size: 15px;
	}
}

@media (max-width: 991px) {
	.event-tickets__lead {
		font-size: 14px;
	}

	.event-tickets__meta-text,
	.event-tickets__howto-title {
		font-size: 14px;
	}

	.event-tickets__tab {
		font-size: 12px;
	}

	.event-tickets__panel-text {
		font-size: 15px;
		line-height: 1.3;
	}

	.event-tickets__map {
		font-size: 12px;
	}

	.event-tickets__card-name {
		font-size: 18px;
	}

	.event-tickets__age {
		font-size: 15px;
	}

	.event-tickets__price-value {
		font-size: 24px;
	}

	.event-tickets__price-note {
		font-size: 14px;
	}
}

/* Event holiday atmosphere */
.event-holiday__title {
	margin: 0;
}

.event-holiday__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 40px;
}

.event-holiday__card {
	position: relative;
	overflow: hidden;
	border-radius: 30px;
	aspect-ratio: 427 / 330;
}

.event-holiday__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.event-holiday__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 87.98%);
}

.event-holiday__caption {
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 20px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.event-holiday__card-title {
	margin: 0;
	font-family: var(--third-family);
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	background: linear-gradient(180deg, #ffe5bc 0%, #ecbf78 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.event-holiday__card-text {
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.28;
	color: var(--ry-text);
}

@media (max-width: 1199px) {
	.event-holiday__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.event-holiday__card-title {
		font-size: 22px;
	}

	.event-holiday__card-text {
		font-size: 16px;
	}
}

@media (max-width: 991px) {
	.event-holiday__card-title {
		font-size: 20px;
	}

	.event-holiday__card-text {
		font-size: 14px;
		line-height: 1.25;
	}
}

/* Event festive menu */
.event-menu__title {
	margin: 0 0 40px;
}

.event-menu__box {
	display: grid;
	grid-template-columns: minmax(0, 427px) minmax(0, 1fr);
	align-items: stretch;
	overflow: hidden;
	border-radius: 30px;
	background: #071a30;
}

.event-menu__hero {
	position: relative;
}

.event-menu__hero-media {
	position: absolute;
	inset: 0;
}

.event-menu__hero-caption {
	position: absolute;
	left: 20px;
	right: 20px;
	top: 100px;
	z-index: 2;
	max-width: 295px;
}

.event-menu__hero-title {
	margin: 0;
	font-family: var(--third-family);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	background: linear-gradient(180deg, #ffe5bc 0%, #ecbf78 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.event-menu__hero-line {
	display: block;
	width: 129px;
	height: 1px;
	margin: 10px 0;
	background: linear-gradient(90deg, #f1c073 0%, #fee2b5 50%, #f9be63 100%);
}

.event-menu__hero-text {
	margin: 0;
	max-width: 203px;
	font-family: Mulish, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	color: #fff;
}

.event-menu__panel {
	position: relative;
	padding: 20px;
	overflow: hidden;
	--menu-slides-gap: 87px;
	--menu-slide1: 375;
	--menu-slide2: 392;
	--menu-slides-sum: 767;
}

.event-menu__watermark {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 0;
	transform: translate(-50%, -50%);
	font-family: var(--font3);
	font-size: clamp(80px, 14vw, 200px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: rgba(231, 231, 231, 0.04);
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
}

.event-menu__slider {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

@media (max-width: 1399px) {
	.event-menu__slider {
		padding-bottom: 26px;
	}
}

.event-menu__slide {
	height: auto;
}

.event-menu__divider {
	display: none;
}

@media (min-width: 1400px) {
	.event-menu__slide--zakuski {
		width: calc((100% - var(--menu-slides-gap)) * var(--menu-slide1) / var(--menu-slides-sum));
	}

	.event-menu__slide--other {
		width: calc((100% - var(--menu-slides-gap)) * var(--menu-slide2) / var(--menu-slides-sum));
	}

	.event-menu__divider {
		display: block;
		position: absolute;
		left: calc(20px + (100% - 40px - var(--menu-slides-gap)) * var(--menu-slide1) / var(--menu-slides-sum) + 51px);
		top: 20px;
		bottom: 20px;
		z-index: 2;
		width: 1px;
		background: #696969;
		pointer-events: none;
	}
}

.event-menu__category + .event-menu__category {
	margin-top: 20px;
}

.event-menu__category-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}

.event-menu__category-icon {
	display: block;
	flex-shrink: 0;
	width: 60px;
	height: auto;
	max-height: 70px;
	object-fit: contain;
}

.event-menu__category-title {
	margin: 0;
	font-family: var(--third-family);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	background: linear-gradient(180deg, #ffe5bc 0%, #ecbf78 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.event-menu__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.event-menu__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 142px;
	gap: 10px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #696969;
}

.event-menu__item:last-child {
	border-bottom: 0;
}

.event-menu__item-text {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
	color: var(--ry-text);
}

.event-menu__bullet {
	flex-shrink: 0;
	width: 6px;
	height: 6px;
	align-self: center;
	border-radius: 50%;
	background: #c09c5c;
}

.event-menu__thumb {
	width: 142px;
	aspect-ratio: 142 / 82;
	border-radius: 10px;
}

.event-menu__pagination {
	display: none;
	justify-content: center;
	gap: 6px;
	margin-top: 0;
}

@media (max-width: 1399px) {
	.event-menu__pagination {
		display: flex;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
	}
}

.event-menu__pagination .swiper-pagination-bullet {
	width: 5px;
	height: 5px;
	margin: 0 !important;
	opacity: 1;
	background: #e7e7e7;
}

.event-menu__pagination .swiper-pagination-bullet-active {
	background: #02428e;
}

.event-menu__actions {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.event-menu__download {
	min-width: 223px;
}

@media (max-width: 1199px) {
	.event-menu__title {
		margin-bottom: 32px;
		font-size: 42px;
		line-height: 1.22;
	}

	.event-menu__hero-title {
		font-size: 26px;
	}

	.event-menu__hero-text {
		font-size: 14px;
		line-height: 18px;
	}

	.event-menu__category-title {
		font-size: 26px;
	}

	.event-menu__item-text {
		font-size: 15px;
	}

	.event-menu__download {
		font-size: 15px;
	}
}

@media (max-width: 991px) {
	.event-menu__title {
		margin-bottom: 24px;
		font-size: 36px;
		line-height: 1.2;
	}

	.event-menu__box {
		grid-template-columns: 1fr;
		border-radius: 30px;
	}

	.event-menu__watermark {
		display: none;
	}

	.event-menu__hero {
		min-height: 0;
		aspect-ratio: 343 / 125;
	}

	.event-menu__hero-caption {
		top: 20px;
		bottom: auto;
		left: 20px;
		right: auto;
	}

	.event-menu__hero-title {
		font-size: 24px;
	}

	.event-menu__hero-text {
		font-size: 13px;
		line-height: 17px;
	}

	.event-menu__hero-line {
		width: 129px;
		margin: 11px 0 6px 0;
	}

	.event-menu__panel {
		padding: 30px;
	}

	.event-menu__category-title {
		font-size: 24px;
	}

	.event-menu__category-icon {
		width: 50px;
	}

	.event-menu__item-text {
		font-size: 14px;
	}

	.event-menu__item {
		grid-template-columns: minmax(0, 1fr) 136.45px;
		gap: 10px;
	}

	.event-menu__thumb {
		width: 100%;
	}

	.event-menu__actions {
		margin-top: 20px;
		width: 100%;
	}

	.event-menu__download {
		width: 100%;
		min-height: 40px;
		padding: 12px 30px;
		border-radius: 40px;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.25;
	}
}

@media (max-width: 768px) {
	.event-menu__title {
		margin-bottom: 20px;
		font-size: 32px;
	}

	.event-menu__hero-title {
		font-size: 22px;
	}

	.event-menu__hero-text {
		font-size: 13px;
		line-height: 16px;
	}

	.event-menu__category-title {
		font-size: 22px;
	}

	.event-menu__category-icon {
		width: 44px;
	}

	.event-menu__item-text {
		font-size: 13px;
	}
}

@media (max-width: 767px) {
	.event-menu__panel {
		padding: 20px 20px 14px 20px;
	}
}

@media (max-width: 575px) {
	.event-menu__title {
		margin-bottom: 15px;
		font-size: 30px;
		line-height: 1.2;
	}

	.event-menu__hero {
		aspect-ratio: 343 / 247;
	}

	.event-menu__hero-caption {
		max-width: 199px;
	}

	.event-menu__hero-title {
		font-size: 20px;
	}

	.event-menu__hero-line {
		width: 129px;
		height: 0.5px;
		margin: 11px 0 6px 0;
	}

	.event-menu__hero-text {
		max-width: 156px;
		font-size: 12px;
		line-height: 15px;
	}

	.event-menu__panel {
		padding: 20px 20px 14px 20px;
	}

	.event-menu__category-title {
		font-size: 20px;
	}

	.event-menu__category-icon {
		width: 40px;
	}

	.event-menu__item-text {
		font-size: 12px;
	}
}

/* Event order / booking timeline */
.event-order__box {
	padding: 0;
	border-radius: 30px;
	background: #0b0b0a;
	overflow: hidden;
}

.event-order__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 614px);
	gap: 40px;
	align-items: start;
}

.event-order__intro {
	position: relative;
	z-index: 2;
	padding: 40px 0 65px 40px; /* запас под margin-top: -45px у grid */
}

.event-order__title {
	margin: 0;
	font-family: var(--second-family);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ry-text);
}

.event-order__lead {
	margin: 20px 0 0;
	padding-bottom: 40px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--ry-text);
}

.event-order__lead p {
	margin: 0;
}

.event-order__lead p + p {
	margin-top: 0.75em;
}

.event-order__media {
	min-height: 348px;
	border-radius: 0 30px 0 0;
	-webkit-mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 18%);
	mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 18%);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.event-order__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 75.11%, #0b0b0a 90.65%);
	pointer-events: none;
}

.event-order__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 70px 20px;
	margin-top: -45px;
	padding: 0 40px;
	position: relative;
	z-index: 1;
	align-items: stretch;
}

.event-order__card {
	position: relative;
	padding: 55px 25px 30px;
	border: 1px solid #c09c5c;
	border-radius: 30px;
	background: #0b0b0a;
	box-sizing: border-box;
}

.event-order__badge {
	position: absolute;
	top: 0;
	left: 50%;
	width: 90px;
	height: 90px;
	transform: translate(-50%, -50%);
}

.event-order__badge img {
	display: block;
	width: 90px;
	height: 90px;
}

.event-order__card-title {
	margin: 0 0 15px;
	text-align: center;
	font-family: var(--third-family);
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	background: linear-gradient(180deg, #ffe5bc 0%, #ecbf78 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.event-order__list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.event-order__list-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
	color: var(--ry-text);
}

.event-order__mark {
	flex-shrink: 0;
	align-self: center;
	width: 12px;
	height: 12px;
	margin-top: 0.35em;
	background: center / contain no-repeat;
}

.event-order__card--ok .event-order__mark {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='8' fill='none'%3E%3Cpath stroke='%23c09c5c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m1 4 3 3 6-6'/%3E%3C/svg%3E");
}

.event-order__card--warn .event-order__mark {
	width: 4px;
	height: 14px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='14' fill='none'%3E%3Cpath stroke='%23c09c5c' stroke-linecap='round' stroke-width='2' d='M2 1v8M2 12v1'/%3E%3C/svg%3E");
}

.event-order__actions {
	display: flex;
	justify-content: center;
	margin-top: 40px;
	padding: 0 40px 40px;
}

.event-order__actions .btn {
	min-width: 223px;
}

@media (min-width: 1400px) {
	.event-order__intro {
		padding-bottom: 20px;
	}

	.event-order__lead {
		max-width: 520px;
	}

	.event-order__grid {
		margin-top: 2px;
	}

	.event-order__card {
		padding: 65px 25px 20px;
	}

	.event-order__mark {
		align-self: center;
		margin-top: 0;
	}
}

@media (max-width: 1399px) {
	.event-order__head {
		grid-template-columns: minmax(0, 1fr) minmax(0, 500px);
	}
}

@media (max-width: 1199px) {
	.event-order__head {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.event-order__media {
		order: -1;
	}

	.event-order__title {
		font-size: 26px;
	}

	.event-order__lead {
		padding-bottom: 60px;
		font-size: 16px;
	}

	.event-order__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.event-order__card-title {
		font-size: 22px;
	}

	.event-order__list-item {
		font-size: 15px;
	}
}

@media (max-width: 991px) {
	.event-order__title {
		font-size: 24px;
	}

	.event-order__lead {
		font-size: 14px;
	}

	.event-order__card-title {
		font-size: 20px;
	}

	.event-order__list-item {
		font-size: 14px;
	}
}

/* Event atmosphere / restaurant interior */
.event-atmosphere__title {
	margin: 0 0 40px;
}

.event-atmosphere__layout {
	display: grid;
	grid-template-columns: minmax(0, 558px) minmax(0, 650px);
	justify-content: space-between;
	gap: 40px;
	align-items: start;
}

.event-atmosphere__text {
	display: block;
	font-family: var(--font-family);
	font-weight: 400;
	font-size: 18px;
	color: #e7e7e7;
}

.event-atmosphere__text p {
	margin: 0;
	line-height: 1.35;
}

.event-atmosphere__text p + p {
	margin-top: 17px;
}

.event-atmosphere__address {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 25px 0 0;
	font-family: var(--font-family);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.35;
	color: #e7e7e7;
}

.event-atmosphere__address-icon {
	flex-shrink: 0;
	align-self: center;
	display: block;
	width: 12px;
	height: 20px;
}

.event-atmosphere__address-icon svg {
	display: block;
	width: 12px;
	height: 20px;
}

.event-atmosphere__actions {
	margin-top: 40px;
}

.event-atmosphere__actions .btn {
	min-width: 223px;
}

.event-atmosphere__media-wrap {
	position: relative;
	width: 100%;
	min-width: 0;
	height: 0;
	padding-top: 58.7692307692%; /* 382 / 650 — вне слайда, чтобы Swiper не крутил ширину */
	border-radius: 30px;
	overflow: hidden;
	background: #1a1a1a;
}

.event-atmosphere__slider {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: 30px;
	overflow: hidden;
}

.event-atmosphere__slider .swiper-slide {
	height: 100%;
}

.event-atmosphere__slide .event-atmosphere__media {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 30px;
	background: #1a1a1a;
	color: inherit;
	text-decoration: none;
	cursor: zoom-in;
}

.event-atmosphere__pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 15px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	margin: 0;
	transform: none;
}

.event-atmosphere__pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	margin: 0 !important;
	border-radius: 50%;
	background: #e7e7e7;
	opacity: 1;
}

.event-atmosphere__pagination .swiper-pagination-bullet-active {
	background: #173252;
}

@media (max-width: 1199px) {
	.event-atmosphere__title {
		font-size: 42px;
		line-height: 1.22;
	}

	.event-atmosphere__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.event-atmosphere__content,
	.event-atmosphere__media-wrap {
		min-width: 0;
	}

	.event-atmosphere__media-wrap {
		order: -1;
		width: 100%;
		max-width: none;
	}

	.event-atmosphere__text {
		font-size: 16px;
	}

	.event-atmosphere__address {
		font-size: 15px;
	}
}

@media (max-width: 991px) {
	.event-atmosphere__title {
		margin: 0 0 30px;
		font-size: 36px;
		line-height: 1.2;
	}

	.event-atmosphere__text {
		font-size: 14px;
	}

	.event-atmosphere__address {
		font-size: 14px;
	}
}

/* Event individual CTA */
.event-individual__box {
	display: grid;
	grid-template-columns: minmax(0, 527px) minmax(0, 1fr);
	gap: 40px 126px;
	align-items: center;
}

.event-individual__media {
	aspect-ratio: 527 / 459;
	border-radius: 30px;
	background: transparent;
}

.event-individual__media img {
	object-fit: contain;
	object-position: center;
}

.event-individual__title {
	margin: 0;
	font-family: "Inter Tight", sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: #e7e7e7;
}

.event-individual__text {
	margin: 20px 0 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.28;
	color: #e7e7e7;
}

.event-individual__row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	margin-top: 40px;
	padding-bottom: 10px;
}

.event-individual__field {
	display: block;
	flex: 1 1 200px;
	max-width: 266px;
	margin: 0;
}

.event-individual__field--phone {
	max-width: 224px;
	flex: 0 1 224px;
}

.event-individual__input {
	width: 100%;
	height: 48px;
	padding: 10px 15px;
	border: 0;
	border-radius: 40px;
	background: #fff;
	font-family: Mulish, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	color: #111;
	outline: none;
}

.event-individual__input::placeholder {
	color: #939393;
}

.event-individual__input.error {
	background: #ffcfcf;
}

.event-individual__submit {
	flex: 0 0 auto;
	min-height: 48px;
	height: 48px;
	margin-left: 10px;
	padding: 0 30px;
	border-radius: 40px;
	font-size: 16px;
	font-weight: 700;
	white-space: nowrap;
}

.event-individual__policy {
	margin-top: 20px;
}

.event-individual__policy .lead__checkbox {
	width: 11px;
	height: 11px;
	margin-top: 0.35em;
}

.event-individual__policy .lead__checkbox::after {
	inset: 1px;
}

@media (max-width: 1199px) {
	.event-individual__box {
		grid-template-columns: minmax(0, 400px) minmax(0, 1fr);
		gap: 40px;
	}

	.event-individual__title {
		font-size: 28px;
	}

	.event-individual__text {
		font-size: 16px;
	}

	.event-individual__input {
		font-size: 13px;
	}

	.event-individual__submit {
		font-size: 15px;
	}
}

@media (min-width: 992px) and (max-width: 1399px) {
	.event-individual__field,
	.event-individual__field--phone {
		flex: 1 1 calc(50% - 5px);
		max-width: calc(50% - 5px);
	}

	.event-individual__submit {
		width: 100%;
		margin-top: 10px;
		margin-left: 0;
	}
}

@media (max-width: 991px) {
	.event-individual__box {
		position: relative;
		grid-template-columns: 1fr;
		padding-top: 24px;
	}

	.event-individual__media {
		position: absolute;
		top: -5px;
		right: 0;
		order: 0;
		width: 189px;
		height: 165px;
		max-width: none;
		margin: 0;
		aspect-ratio: auto;
		border-radius: 20px;
		opacity: 0.3;
	}

	.event-individual__title {
		font-size: 26px;
	}

	.event-individual__text {
		font-size: 14px;
	}

	.event-individual__input {
		font-size: 13px;
	}

	.event-individual__submit {
		font-size: 14px;
	}
}

.ry-modal__form-event {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--ry-text);
}

.ry-modal__form-summary {
	margin: 0 0 20px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	color: var(--ry-muted);
}

/* Lead form */
.lead__box {
	display: grid;
	grid-template-columns: 721fr 599fr;
	min-height: 796px;
	border-radius: var(--ry-radius-sm);
	overflow: hidden;
	background: #121821;
}

.lead__media {
	min-height: 100%;
	border-radius: var(--ry-radius-sm) 0 0 var(--ry-radius-sm);
	-webkit-mask-image: linear-gradient(90deg, #fff 44%, rgba(255, 255, 255, 0) 100%);
	mask-image: linear-gradient(90deg, #fff 44%, rgba(255, 255, 255, 0) 100%);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.lead__content {
	position: relative;
	padding: 20px 40px 20px 20px;
	display: flex;
	flex-direction: column;
}

.lead__title {
	margin: 0;
	font-family: "Inter Tight", sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--ry-text);
}

.lead__text {
	margin: 20px 0 0;
	font-size: 18px;
	font-weight: 400;
	color: var(--ry-text);
}

.lead__form {
	margin-top: 30px;
	display: flex;
	flex-direction: column;
	max-width: 539px;
}

.lead__form > :is(.lead__field, .lead__messengers) + :is(.lead__field, .lead__messengers) {
	margin-top: 15px;
}

.lead__honeypot,
.hidden {
	position: absolute;
	left: -9999px;
	opacity: 0;
	pointer-events: none;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Form submit loader (fasadia-style _to_block) */
.block-overlay {
	position: absolute;
	inset: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	margin: 0;
}

.block-overlay::before {
	content: "";
	width: 40px;
	height: 40px;
	border: 0.25em solid #f1c073;
	border-right-color: transparent;
	border-radius: 50%;
	animation: ry-spin 0.8s linear infinite;
	z-index: 2;
}

.block-overlay::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: #121821;
	opacity: 0.45;
}

@keyframes ry-spin {
	to {
		transform: rotate(360deg);
	}
}

.lead__field {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 13px 15px;
	border: 1px solid #f1c073;
	border-radius: 30px;
	background: transparent;
}

.lead__field--textarea {
	align-items: flex-start;
	min-height: 120px;
}

.lead__icon {
	flex: 0 0 auto;
	width: 16px;
	height: auto;
}

.lead__input {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--ry-text);
	font-family: Mulish, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	-webkit-tap-highlight-color: transparent;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
}

.lead__input:focus,
.lead__input:focus-visible {
	outline: 0;
	box-shadow: none;
}

.lead__input:-webkit-autofill,
.lead__input:-webkit-autofill:hover,
.lead__input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--ry-text);
	caret-color: var(--ry-text);
	transition: background-color 99999s ease-in-out 0s;
	box-shadow: 0 0 0 1000px transparent inset;
}

.lead__input::placeholder {
	color: var(--ry-text);
	opacity: 1;
}

.lead__textarea {
	resize: none;
	min-height: 80px;
}

.lead__messengers {
	margin: 0;
	padding: 13px 15px;
	border: 1px solid #f1c073;
	border-radius: 30px;
	min-width: 0;
}

.lead__messengers-legend {
	float: left;
	width: 100%;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 300;
	color: var(--ry-text);
}

.lead__messengers-list {
	clear: both;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin-top: 0;
}

.lead__chip {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 10px;
	border: 1px solid #f1c073;
	border-radius: 30px;
	background: transparent;
	cursor: pointer;
	transition: background 0.25s ease, border-color 0.25s ease;
}

.lead__chip-input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.lead__chip-text {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	background: var(--ry-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	transition: color 0.25s ease, background 0.25s ease;
}

.lead__chip.is-active,
.lead__chip:has(.lead__chip-input:checked) {
	background: var(--ry-gold-gradient);
	border-color: #f1c073;
}

.lead__chip.is-active .lead__chip-text,
.lead__chip:has(.lead__chip-input:checked) .lead__chip-text {
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #111011;
}

.lead__policy {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 10px;
	margin-bottom: 0;
	font-size: 14px;
	line-height: 20px;
	color: #cecece;
}

.lead__checkbox {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	position: relative;
	width: 15px;
	height: 15px;
	margin: 2px 0 0;
	padding: 0;
	border: 1px solid #cecece;
	border-radius: 2px;
	background: transparent;
	cursor: pointer;
	transition: border-color 0.25s ease, background 0.25s ease;
}

.lead__checkbox::after {
	content: "";
	position: absolute;
	inset: 2px;
	border-radius: 1px;
	background: var(--ry-gold-gradient);
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
}

.lead__checkbox:checked {
	border-color: transparent;
	background:
		linear-gradient(transparent, transparent) padding-box,
		var(--ry-gold-gradient) border-box;
	background-clip: padding-box, border-box;
	-webkit-background-clip: padding-box, border-box;
}

.lead__checkbox:checked::after {
	opacity: 1;
}

.lead__policy.error .lead__checkbox,
.lead__checkbox.error {
	border-color: #d41a1a;
}

.lead__policy a {
	color: inherit;
	text-decoration: underline;
}

.lead__field.error,
.lead__messengers.error {
	border-color: #d41a1a;
}

.lead__field .js-lead-date {
	cursor: pointer;
}

.lead__submit {
	width: 100%;
	min-height: 48px;
	border: 0;
	cursor: pointer;
	font-weight: 700;
}

.lead__note {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 10px 0 20px;
	font-size: 14px;
	font-weight: 300;
	color: var(--ry-text);
}

.lead__note-accent {
	background: var(--ry-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-weight: 300;
}

/* Flatpickr — site theme */
.lead__field--date {
	position: relative;
	z-index: 2;
}

.flatpickr-calendar {
	z-index: 10050;
	background: #121821;
	border: 1px solid #f1c073;
	border-radius: 20px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
	font-family: Mulish, sans-serif;
	overflow: hidden;
	margin-top: 8px;
	color-scheme: dark;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after,
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
	display: none;
}

.flatpickr-months {
	padding: 8px 4px 0;
}

.flatpickr-months .flatpickr-month {
	background: transparent;
	color: #e7e7e7;
	fill: #e7e7e7;
	height: 40px;
}

.flatpickr-current-month {
	color: #e7e7e7;
	font-size: 14px;
	font-weight: 700;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
	color: #e7e7e7;
	font-weight: 700;
	font-family: Mulish, sans-serif;
	background: transparent;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	transition: color 0.25s ease;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
	appearance: none;
	-webkit-appearance: none;
	padding: 4px 22px 4px 8px;
	margin: 0 10px 0 0;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23e7e7e7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 6px center;
	color-scheme: dark;
	transition: color 0.25s ease, background-image 0.25s ease;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
	background: transparent
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23f1c073' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		no-repeat right 6px center;
	color: #f1c073;
	outline: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months option,
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
	background-color: #121821;
	color: #e7e7e7;
	font-family: Mulish, sans-serif;
	font-weight: 500;
	font-size: 14px;
}

.flatpickr-current-month .flatpickr-monthDropdown-months option:checked,
.flatpickr-current-month .flatpickr-monthDropdown-months option:hover,
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month:hover {
	background-color: #1c2633;
	color: #f1c073;
}

.flatpickr-current-month input.cur-year {
	padding: 4px 18px 4px 2px;
}

.flatpickr-current-month .numInputWrapper {
	width: 7ch;
	margin-left: 2px;
}

.flatpickr-current-month .numInputWrapper:hover,
.flatpickr-current-month .numInputWrapper:focus-within {
	background: transparent;
}

.flatpickr-current-month .numInputWrapper:hover input.cur-year,
.flatpickr-current-month .numInputWrapper:focus-within input.cur-year {
	color: #f1c073;
}

.flatpickr-current-month .numInputWrapper span {
	border: 0;
	opacity: 1;
	right: 0;
	width: 14px;
	padding: 0;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 6px;
}

.flatpickr-current-month .numInputWrapper span:hover,
.flatpickr-current-month .numInputWrapper span:active {
	background-color: transparent;
}

.flatpickr-current-month .numInputWrapper span.arrowUp,
.flatpickr-current-month .numInputWrapper span.arrowDown {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23e7e7e7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.flatpickr-current-month .numInputWrapper span.arrowUp {
	transform: rotate(180deg);
}

.flatpickr-current-month .numInputWrapper:hover span.arrowUp,
.flatpickr-current-month .numInputWrapper:focus-within span.arrowUp,
.flatpickr-current-month .numInputWrapper:hover span.arrowDown,
.flatpickr-current-month .numInputWrapper:focus-within span.arrowDown,
.flatpickr-current-month .numInputWrapper span.arrowUp:hover,
.flatpickr-current-month .numInputWrapper span.arrowDown:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23f1c073' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.flatpickr-current-month .numInputWrapper span.arrowUp::after,
.flatpickr-current-month .numInputWrapper span.arrowUp:after,
.flatpickr-current-month .numInputWrapper span.arrowDown::after,
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
	display: none;
	content: none;
	border: 0;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
	fill: #f1c073;
	color: #f1c073;
	padding: 8px 10px;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
	fill: #fee2b5;
}

.flatpickr-weekdays {
	background: transparent;
	padding: 0 10px;
	box-sizing: border-box;
}

span.flatpickr-weekday {
	color: #b6b6b6;
	font-weight: 600;
	font-size: 12px;
}

.flatpickr-days {
	width: 307.875px;
	padding: 0 0 10px;
}

.dayContainer {
	width: 307.875px;
	min-width: 307.875px;
	max-width: 307.875px;
	padding: 0 10px;
	gap: 2px;
	box-sizing: border-box;
}

.flatpickr-day {
	color: #e7e7e7;
	border-radius: 50%;
	width: 14.2857143%;
	flex-basis: calc((100% - 12px) / 7);
	max-width: calc((100% - 12px) / 7);
	height: 39px;
	line-height: 39px;
	border: 1px solid transparent;
	box-sizing: border-box;
	margin: 0;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
	background: rgba(241, 192, 115, 0.18);
	border-color: #f1c073;
	color: #e7e7e7;
}

.flatpickr-day.today {
	border-color: #f1c073;
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day.nextMonthDay:focus {
	background: rgba(241, 192, 115, 0.18);
	border-color: #f1c073;
	color: #e7e7e7;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
	background: var(--ry-gold-gradient);
	-webkit-box-shadow: none;
	box-shadow: none;
	border-color: #f1c073;
	color: #111011;
	font-weight: 700;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
	color: rgba(231, 231, 231, 0.28);
}

.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.flatpickr-disabled:focus,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.prevMonthDay:focus {
	background: transparent;
	border-color: transparent;
	color: rgba(231, 231, 231, 0.28);
	cursor: default;
}

.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.selected.nextMonthDay {
	color: #111011;
}

.flatpickr-day.inRange {
	background: rgba(241, 192, 115, 0.12);
	border-color: transparent;
	box-shadow: none;
}

/* Success modal (Figma 2443:8319) */
.ry-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0, 0, 0, 0.6);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.ry-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.ry-modal[hidden] {
	display: none !important;
}

.ry-modal.is-open[hidden] {
	display: flex !important;
}

body.ry-modal-open {
	overflow: hidden;
}

.ry-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 690px;
	/* Figma 2443:8319 — title inset ~20px top, close ~20px from right */
	padding: 20px 40px 40px;
	border-radius: 30px;
	background: #011125;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
	transform: translateY(12px);
	transition: transform 0.25s ease;
}

.ry-modal.is-open .ry-modal__dialog {
	transform: translateY(0);
}

.ry-modal__close {
	position: absolute;
	top: 28px;
	right: 20px;
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.ry-modal__close svg {
	display: block;
	width: 17px;
	height: 17px;
}

.ry-modal__title {
	margin: 0 36px 20px;
	font-family: "Playfair Display", serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.33;
	color: #e7e7e7;
	text-align: center;
}

.ry-modal__text {
	margin: 0 auto;
	max-width: 520px;
	font-family: Mulish, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	color: #e7e7e7;
	text-align: center;
}

@media (max-width: 767px) {
	.ry-modal__dialog {
		padding: 28px 20px 32px;
		border-radius: 20px;
	}

	.ry-modal__close {
		top: 18px;
		right: 16px;
	}

	.ry-modal__title {
		margin-left: 28px;
		margin-right: 28px;
		font-size: 24px;
	}

	.ry-modal__text {
		font-size: 14px;
	}
}

/* Request modal (Figma 2443:8319 / 2443:13494) */
.ry-modal.ry-modal--form {
	overflow-y: auto;
	align-items: flex-start;
	justify-content: center;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.ry-modal__dialog--form {
	display: grid;
	grid-template-columns: 256px minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	align-items: stretch;
	max-width: 690px;
	width: 100%;
	max-height: calc(100dvh - 40px);
	min-height: 0;
	margin-top: auto;
	margin-bottom: auto;
	padding: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	text-align: left;
	background: #011125;
}

.ry-modal--form .ry-modal__close {
	z-index: 4;
}

.ry-modal--form .ry-modal__close--desk {
	top: 33px;
	right: 20px;
}

.ry-modal--form .ry-modal__close--mob {
	display: none;
}

.ry-modal__media {
	width: 256px;
	min-height: 0;
	height: 100%;
	border-radius: 30px 0 0 30px;
	transition: opacity 0.2s ease;
	-webkit-mask-image: linear-gradient(90deg, #fff 40%, rgba(255, 255, 255, 0) 100%);
	mask-image: linear-gradient(90deg, #fff 40%, rgba(255, 255, 255, 0) 100%);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.ry-modal__media.is-preparing {
	opacity: 0;
}

.ry-modal__form {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
	max-height: 100%;
	padding: 20px;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.ry-modal__form-title {
	margin: 5px 36px 20px 0;
	font-family: "Playfair Display", serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.33;
	color: #e7e7e7;
	text-align: left;
}

.ry-modal__form-text {
	margin: 0 0 30px;
	font-family: Mulish, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.25;
	color: #e7e7e7;
}

.ry-modal__tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 20px;
}

.ry-modal__tag[hidden] {
	display: none !important;
}

.ry-modal__tag-star {
	display: block;
	width: 20px;
	height: 19px;
	flex: 0 0 auto;
}

.ry-modal__tag-text {
	font-family: Mulish, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: #e7e7e7;
}

.ry-modal__dialog--calc {
	align-content: start;
}

.ry-modal--calc .ry-modal__form-title {
	margin-bottom: 10px;
}

.ry-modal__fields .lead__field + .lead__messengers,
.ry-modal__fields .lead__messengers + .lead__field,
.ry-modal__fields .lead__messengers + .lead__field--textarea {
	margin-top: 15px;
}

.ry-modal__fields {
	display: flex;
	flex-direction: column;
}

.ry-modal__fields .lead__field + .lead__field,
.ry-modal__fields .lead__field + .lead__field--textarea {
	margin-top: 15px;
}

.ry-modal__fields .lead__note {
	margin-top: 10px;
	margin-bottom: 40px;
}

.ry-modal__fields .lead__policy {
	margin-top: 10px;
	margin-bottom: 0;
	gap: 10px;
	align-items: flex-start;
}

/* Figma 2443:8337 — 11×11 */
.ry-modal__fields .lead__checkbox {
	width: 11px;
	height: 11px;
	margin: 4px 0 0;
}

.ry-modal__fields .lead__checkbox::after {
	inset: 1px;
}

.ry-modal__fields .lead__submit {
	margin-top: 0;
	width: 100%;
}

.ry-modal .lead__messengers-list {
	gap: 10px 10px;
}

@media (max-width: 767px) {
	.ry-modal.ry-modal--form {
		align-items: flex-end;
		padding: 0;
		overflow-y: auto;
	}

	.ry-modal__dialog--form {
		grid-template-columns: 1fr;
		grid-template-rows: 173px minmax(0, 1fr);
		max-width: 100%;
		width: 100%;
		max-height: 100dvh;
		height: auto;
		min-height: 0;
		margin-top: 0;
		margin-bottom: 0;
		border-radius: 30px 30px 0 0;
		background: #121821;
		overflow: hidden;
	}

	.ry-modal--form .ry-modal__close--desk {
		display: none;
	}

	.ry-modal--form .ry-modal__close--mob {
		display: inline-flex;
		top: 16px;
		right: 16px;
	}

	.ry-modal__media {
		width: 100%;
		min-height: 173px;
		height: 173px;
		border-radius: 30px 30px 0 0;
		-webkit-mask-image: linear-gradient(180deg, #fff 44%, rgba(255, 255, 255, 0) 100%);
		mask-image: linear-gradient(180deg, #fff 44%, rgba(255, 255, 255, 0) 100%);
	}

	.ry-modal__form {
		padding: 10px 16px 24px;
		margin-top: 0;
		min-height: 0;
		max-height: none;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.ry-modal__form-title {
		margin: 0 28px 10px 0;
		font-family: "Inter Tight", sans-serif;
		font-size: 25px;
		font-weight: 700;
		line-height: 1.2;
		text-transform: uppercase;
	}

	.ry-modal__tag {
		margin-bottom: 15px;
	}

	.ry-modal__tag-text {
		font-size: 12px;
	}

	.ry-modal__form-text {
		margin: 0 0 20px;
		font-size: 12px;
		line-height: 1.35;
	}

	.ry-modal__fields .lead__field + .lead__field,
	.ry-modal__fields .lead__field + .lead__field--textarea {
		margin-top: 10px;
	}

	.ry-modal__fields .lead__note {
		margin-bottom: 20px;
	}

	.ry-modal__fields .lead__submit {
		height: 40px;
		font-size: 12px;
	}

	.ry-modal .lead__messengers-list {
		gap: 5px;
	}
}

/* Videos (Figma 2420:779 / 2420:1899) */
.videos__head {
	max-width: 982px;
	margin-bottom: 40px;
}

.videos__head .section-head__stars {
	margin-left: 50px;
}

.videos__text {
	margin: 20px 0 0;
	max-width: 650px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--ry-text);
}

.videos__slider {
	/* Left stays at container content; right bleeds to viewport edge */
	width: calc(100% + max(0px, 100vw - 100%) / 2);
	max-width: none;
	margin: 0 calc(min(0px, 100% - 100vw) / 2) 0 0;
	padding: 0;
	overflow: hidden;
}

.videos__slider .swiper-wrapper {
	align-items: stretch;
}

.videos__slide {
	width: 124px;
	height: auto;
}

.videos__card {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	border-radius: 20px;
	overflow: hidden;
}

.videos__media {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 153.2%; /* 190/124 */
	overflow: hidden;
	border-radius: 20px;
	background: #1a1f28;
}

.videos__media picture,
.videos__media img,
.videos__player {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.videos__media img {
	object-fit: cover;
}

.videos__player {
	z-index: 2;
	border: 0;
	background: #000;
}

.videos__player iframe,
.videos__player video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

.videos__play {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	width: 30px;
	height: 30px;
	margin: -15px 0 0 -15px;
	pointer-events: none;
}

.videos__play::before,
.videos__play::after {
	content: "";
	position: absolute;
	inset: 0;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 0C77.6142 0 100 22.3858 100 50C100 77.6142 77.6142 100 50 100C22.3858 100 0 77.6142 0 50C0 22.3858 22.3858 0 50 0ZM37.5 71.6504L75 50L37.5 28.3496V71.6504Z' fill='%23000'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 0C77.6142 0 100 22.3858 100 50C100 77.6142 77.6142 100 50 100C22.3858 100 0 77.6142 0 50C0 22.3858 22.3858 0 50 0ZM37.5 71.6504L75 50L37.5 28.3496V71.6504Z' fill='%23000'/%3E%3C/svg%3E");
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	pointer-events: none;
}

.videos__play::before {
	z-index: 0;
	background: #fff;
}

.videos__play::after {
	z-index: 1;
	background: var(--ry-gold-gradient);
	opacity: 0;
	transition: opacity 0.35s ease;
}

.videos__card:hover .videos__play::after {
	opacity: 1;
}

.videos__play svg {
	display: none;
}

.videos__card.is-playing .videos__play {
	display: none;
}

.videos__actions {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.videos__cta {
	min-width: 300px;
	font-size: 18px;
	font-weight: 700;
}

@media (min-width: 768px) {
	.videos__slide {
		width: 315px;
	}

	.videos__media {
		padding-top: 144.13%; /* 454/315 */
		border-radius: 30px;
	}

	.videos__card {
		border-radius: 30px;
	}

	.videos__play {
		width: 50px;
		height: 50px;
		margin: -25px 0 0 -25px;
	}
}

/* Reviews */
.reviews {
	overflow-x: clip;
}

.reviews__slider {
	/* Left stays at container content; right bleeds to viewport edge */
	width: calc(100% + max(0px, 100vw - 100%) / 2);
	max-width: none;
	margin-top: 40px;
	margin-right: calc(min(0px, 100% - 100vw) / 2);
	margin-left: 0;
	padding: 0;
	overflow: hidden;
}

.reviews__slider .swiper-slide {
	width: 343px;
	height: auto;
}

.reviews__card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 200px;
	padding: 20px;
	border: 0;
	border-radius: 30px;
	background: linear-gradient(180deg, #131313 0%, #032144 76%);
}

.reviews__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
}

.reviews__author {
	display: flex;
	gap: 10px;
	align-items: center;
	min-width: 0;
}

.reviews__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #e0e0e0;
	color: #7d7d7d;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 600;
	flex: 0 0 auto;
}

.reviews__info {
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.reviews__name {
	margin: 0;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: inherit;
	color: #e7e7e7;
}

.reviews__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	align-items: center;
	margin-top: 5px;
}

.reviews__stars {
	display: inline-flex;
	align-items: center;
	gap: 0;
	height: 17px;
}

.reviews__star {
	display: block;
	width: 17px;
	height: 17px;
	flex: 0 0 auto;
}

.reviews__star--is-active {
	color: #fdd400;
}

.reviews__star--is-inactive {
	color: #7d7d7d;
}

.reviews__date {
	color: #b6b6b6;
	font-size: 12px;
	font-weight: 400;
}

.reviews__source {
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 6px;
	object-fit: cover;
	flex: 0 0 auto;
}

.reviews__text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.25;
	color: #e7e7e7;
}

.reviews__more {
	margin-top: 5px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #b6b6b6;
	font-family: Mulish, sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
	cursor: pointer;
}

.reviews__more[hidden] {
	display: none !important;
}

.reviews__nav {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 40px;
}

.reviews__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	cursor: pointer;
	transition: opacity 0.25s ease;
}

.reviews__btn:hover,
.reviews__btn:focus-visible {
	opacity: 0.75;
}

.reviews__btn-icon {
	display: block;
	width: 50px;
	height: 50px;
	pointer-events: none;
}

@media (min-width: 768px) {
	.reviews__slider .swiper-slide {
		width: 427px;
	}

	.reviews__card {
		min-height: 281px;
	}

	.reviews__avatar {
		width: 60px;
		height: 60px;
		font-size: 25px;
	}

	.reviews__name {
		font-size: 15px;
	}

	.reviews__date {
		font-size: 15px;
	}

	.reviews__source {
		width: 35px;
		height: 35px;
		border-radius: 10px;
	}

	.reviews__text {
		-webkit-line-clamp: 6;
		font-size: 18px;
	}

	.reviews__more {
		font-size: 15px;
	}
}

/* Review modal */
.ry-modal.ry-modal--review {
	overflow-y: auto;
	align-items: center;
	justify-content: center;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.ry-modal__dialog--review {
	display: flex;
	flex-direction: column;
	max-width: 690px;
	width: 100%;
	max-height: calc(100dvh - 40px);
	min-height: 0;
	margin: auto;
	padding: 28px 28px 32px;
	overflow: hidden;
	background: linear-gradient(180deg, #131313 0%, #032144 76%);
}

.review-modal__body {
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.review-modal__head {
	display: flex;
	align-items: flex-start;
	margin-bottom: 20px;
	padding-right: 28px;
}

.review-modal__author {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	min-width: 0;
}

.review-modal__avatar {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #e0e0e0;
	color: #7d7d7d;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 25px;
	font-weight: 600;
	flex: 0 0 auto;
}

.review-modal__name {
	font-size: 15px;
	font-weight: 700;
	color: #e7e7e7;
}

.review-modal__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	align-items: center;
	margin-top: 6px;
}

.review-modal__stars {
	/* inherits .reviews__stars */
}

.review-modal__date {
	color: #b6b6b6;
	font-size: 15px;
}

.review-modal__text {
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	color: #e7e7e7;
}

@media (max-width: 767px) {
	.ry-modal.ry-modal--review {
		align-items: center;
		padding: 20px;
	}

	.ry-modal__dialog--review {
		max-width: 100%;
		max-height: calc(100dvh - 40px);
		margin: auto;
		padding: 24px 20px;
		border-radius: 20px;
	}

	.review-modal__avatar {
		width: 40px;
		height: 40px;
		font-size: 20px;
	}

	.review-modal__name,
	.review-modal__date,
	.review-modal__text {
		font-size: 12px;
	}
}

/* FAQ */
.faq__list {
	margin-top: 20px;
}

.faq__item {
	border-bottom: 1px solid rgba(231, 231, 231, 0.9);
}

.faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	min-height: 74px;
	padding: 20px 0;
	border: 0;
	background: transparent;
	color: #e7e7e7;
	font-family: Mulish, sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
}

.faq__question-text {
	flex: 1 1 auto;
}

.faq__star {
	display: block;
	width: 35px;
	height: 34px;
	flex: 0 0 auto;
}

.faq__answer {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.32s ease;
}

.faq__answer-inner {
	padding: 0 0 24px;
	max-width: 1097px;
}

.faq__answer-inner p {
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	color: #e7e7e7;
}

@media (max-width: 767px) {
	.faq__list {
		margin-top: 0;
	}

	.faq__question {
		min-height: 56px;
		padding: 12px 0;
		font-size: 15px;
		gap: 12px;
	}

	.faq__star {
		width: 24px;
		height: 23px;
	}

	.faq__answer-inner {
		padding-bottom: 16px;
	}

	.faq__answer-inner p {
		font-size: 12px;
	}

	.reviews__slider {
		margin-top: 15px;
	}

	.reviews__nav {
		gap: 10px;
		margin-top: 20px;
	}
}

/* Contacts CTA (Figma 2420:913 / 2420:1177) */
.contacts-cta__box {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: 30px;
	min-height: 367px;
	padding: 50px;
	display: flex;
	align-items: center;
}

.contacts-cta__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.contacts-cta__media::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: rgba(0, 0, 0, 0.5);
}

.contacts-cta__media picture,
.contacts-cta__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.contacts-cta__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 823px;
}

.contacts-cta__title {
	color: #e7e7e7;
	text-align: left;
}

.contacts-cta__text {
	margin: 20px 0 40px;
	font-size: 18px;
	line-height: 1.28;
	color: #e7e7e7;
}

.contacts-cta__text a {
	color: inherit;
	text-decoration: none;
}

.contacts-cta__text strong {
	font-weight: 700;
}

.contacts-cta__row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}

.contacts-cta__field {
	display: block;
	flex: 1 1 200px;
	max-width: 266px;
	margin: 0;
}

.contacts-cta__field--phone {
	max-width: 224px;
	flex: 0 1 224px;
}

.contacts-cta__input {
	width: 100%;
	height: 48px;
	padding: 10px 15px;
	border: 0;
	border-radius: 40px;
	background: #fff;
	font-family: Mulish, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	color: #111;
	outline: none;
}

.contacts-cta__input::placeholder {
	color: #939393;
}

.contacts-cta__input.error {
	background: #ffcfcf;
}

.contacts-cta__submit {
	flex: 0 0 auto;
	min-height: 48px;
	height: 48px;
	margin-left: 10px;
	padding: 0 30px;
	border-radius: 40px;
	font-size: 16px;
	font-weight: 700;
	white-space: nowrap;
}

.contacts-cta__policy {
	margin-top: 20px;
}

.contacts-cta__policy .lead__checkbox {
	width: 11px;
	height: 11px;
	margin-top: 4px;
}

.contacts-cta__policy .lead__checkbox::after {
	inset: 1px;
}

/* Footer (Figma 2445:18504 / 2420:1199) */
.footer {
	padding-top: 40px;
	padding-bottom: 20px;
	background: linear-gradient(180deg, #011124 14.9%, #010c19 52.88%, #101011 100%);
}

.footer__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}

.footer__logo {
	width: 170px;
}

.footer__logo picture,
.footer__logo img {
	width: 170px;
	height: 20px;
	object-fit: contain;
}

.footer__socials {
	display: flex;
	gap: 10px;
	align-items: center;
}

.footer__grid {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.footer__legal {
	margin: 0;
	font-size: 12px;
	line-height: 1.2;
	color: #ffffffb2;
}

.footer__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 28px 50px;
	font-size: 14px;
	font-weight: 500;
	color: #e7e7e7;
}

.footer__nav-col {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer__nav a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.footer__nav a:hover {
	opacity: 0.75;
}

.footer__contacts {
	display: grid;
	gap: 10px;
	width: 100%;
}

@media (min-width: 768px) {
	.footer__grid {
		flex-direction: row;
		align-items: flex-start;
		gap: 40px;
	}

	.footer__legal {
		flex: 0 0 256px;
		width: 256px;
		margin-top: 30px;
	}

	.footer__nav {
		flex: 1 1 auto;
		justify-content: center;
		margin-top: 30px;
	}

	.footer__contacts {
		flex: 0 0 194px;
		width: 194px;
	}
}

.footer__contact {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0;
	min-height: 71px;
	padding: 15px;
	border-radius: 20px;
	background: #00234c;
	color: #e7e7e7;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.footer__contact:hover {
	opacity: 0.9;
}

.footer__contact-value {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 500;
	line-height: 22px;
	color: #e7e7e7;
}

.footer__contact-value--email {
	font-size: 18px;
	line-height: 1.3;
}

.footer__contact-dot {
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #0c9f0c;
}

.footer__contact-label {
	display: block;
	margin-top: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	color: #e7e7e7;
}

.footer__contact .footer__contact-value + .footer__contact-label {
	padding-left: 15px;
}

.footer__contact .footer__contact-value--email + .footer__contact-label {
	padding-left: 0;
}

.footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 40px;
	margin-top: 40px;
	font-size: 14px;
	font-weight: 500;
	color: #e7e7e7;
}

.footer__links {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 72px;
}

.footer__links a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: text-decoration-color 0.2s ease;
}

.footer__links a:hover {
	text-decoration: none;
}

.footer__credit {
	margin: 0;
	line-height: 25px;
}

.footer__credit a {
	color: inherit;
	font-weight: 700;
	text-decoration: none;
	text-underline-offset: 2px;
}

.footer__credit a:hover {
	text-decoration: underline;
}

@media (max-width: 1199px) {
	.event-tickets__layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.event-tickets__cards {
		justify-content: start;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.header__nav {
		display: none;
	}

	.header__inner {
		justify-content: space-between;
	}

	.header__actions {
		margin-left: auto;
		gap: 10px;
	}

	.header__phone {
		height: 35px;
		padding: 0 12px;
		font-size: 14px;
		margin-right: 0;
	}

	.header__burger {
		display: block;
	}

	.header__drawer {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 100;
		margin: 0;
		padding: 0;
		background: transparent;
		overflow: hidden;
		overscroll-behavior: none;
	}

	.header__drawer[hidden] {
		display: none;
	}

	.header__drawer-backdrop {
		position: absolute;
		inset: 0;
		border: 0;
		padding: 0;
		background: rgba(0, 0, 0, 0.4);
		cursor: pointer;
		opacity: 0;
		transition: opacity 0.35s ease;
	}

	.header__drawer.is-open .header__drawer-backdrop {
		opacity: 1;
	}

	.header__drawer-panel {
		position: absolute;
		top: 40px;
		right: 0;
		display: flex;
		flex-direction: column;
		width: min(315px, calc(100% - 60px));
		max-height: calc(100dvh - 40px);
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		padding: 21px 16px 20px;
		border-radius: 20px 0 0 20px;
		background:
			linear-gradient(180deg, rgba(1, 17, 36, 0.92) 0%, rgba(0, 0, 0, 0.96) 100%),
			url("source/img/menu-drawer-bg.png") center / cover no-repeat;
		color: #e7e7e7;
		transform: translateX(100%);
		transition: transform 0.35s ease;
		will-change: transform;
	}

	.header__drawer.is-open .header__drawer-panel {
		transform: translateX(0);
	}

	.header__drawer-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 15px;
	}

	.header__drawer-logo {
		display: block;
		width: 119px;
		flex-shrink: 0;
	}

	.header__drawer-logo picture,
	.header__drawer-logo img {
		display: block;
		width: 119px;
		height: 14px;
		object-fit: contain;
	}

	.header__drawer-close {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 15px;
		height: 15px;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
		flex-shrink: 0;
	}

	.header__drawer-close img {
		display: block;
		width: 15px;
		height: 15px;
	}

	.header__drawer-menu {
		display: grid;
		gap: 20px;
		margin: 20px 0 0;
		padding: 0;
		list-style: none;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.25;
	}

	.header__drawer-menu .menu-item {
		list-style: none;
		margin: 0;
	}

	.header__drawer-item {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	.header__drawer-item > a {
		flex: 1;
		min-width: 0;
	}

	.header__drawer-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 28px;
		height: 28px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.08);
		color: #e7e7e7;
		cursor: pointer;
	}

	.header__drawer-toggle::before {
		content: "";
		width: 7px;
		height: 7px;
		margin-top: -3px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: rotate(45deg);
		transition: transform 0.2s ease, margin 0.2s ease;
	}

	.header__drawer-menu .menu-item-has-children.is-submenu-open > .header__drawer-item .header__drawer-toggle::before {
		margin-top: 3px;
		transform: rotate(-135deg);
	}

	.header__drawer-menu a {
		color: #e7e7e7;
		text-decoration: none;
	}

	.header__drawer-menu .sub-menu {
		display: grid;
		gap: 12px;
		margin: 0;
		padding: 0 0 0 14px;
		list-style: none;
		border-left: 1px solid rgba(231, 231, 231, 0.22);
		overflow: hidden;
		max-height: 0;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-4px);
		transition:
			max-height 0.35s ease,
			opacity 0.28s ease,
			transform 0.28s ease,
			visibility 0s linear 0.35s,
			margin 0.35s ease;
	}

	.header__drawer-menu .menu-item-has-children.is-submenu-open > .sub-menu {
		max-height: 70vh;
		margin-top: 12px;
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition:
			max-height 0.4s ease,
			opacity 0.28s ease,
			transform 0.28s ease,
			visibility 0s linear 0s,
			margin 0.35s ease;
	}

	.header__drawer-menu .sub-menu a {
		font-size: 14px;
		font-weight: 500;
		color: rgba(231, 231, 231, 0.9);
	}

	.header__drawer-menu .current-menu-item > a,
	.header__drawer-menu .current_page_item > a {
		color: var(--ry-gold);
	}

	.header__drawer-socials {
		display: flex;
		gap: 10px;
		margin-top: 40px;
	}

	.header__drawer-socials .header__social,
	.header__drawer-socials .header__social img {
		width: 35px;
		height: 35px;
	}

	.header__drawer-contacts {
		display: grid;
		gap: 10px;
		margin-top: 20px;
	}

	.header__drawer-contacts .footer__contact {
		min-height: 61px;
		padding: 10px;
	}

	.header__drawer-contacts .footer__contact-value,
	.header__drawer-contacts .footer__contact-value--email {
		font-size: 12px;
		line-height: 22px;
	}

	.header__drawer-contacts .footer__contact-label {
		font-size: 12px;
	}

	.header__drawer-contacts .footer__contact .footer__contact-value + .footer__contact-label {
		padding-left: 15px;
	}

	.header__drawer-contacts .footer__contact .footer__contact-value--email + .footer__contact-label {
		padding-left: 0;
	}

	.section-title {
		font-size: 42px;
	}

	.hero__title {
		font-size: 40px;
	}

	.advantages__grid {
		grid-template-columns: 1fr 1fr;
	}

	.catalog__card {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.catalog__media {
		min-height: 320px;
	}

	.catalog__list {
		gap: 40px;
	}

	.catalog__eyebrow,
	.catalog__badge {
		font-size: 16px;
	}

	.catalog__heading {
		font-size: 32px;
	}

	.catalog__feature-title,
	.catalog__feature-desc,
	.catalog__meta-text,
	.catalog__price {
		font-size: 14px;
	}

	.catalog__meta {
		margin-top: 30px;
	}

	.catalog__actions .btn {
		font-size: 14px;
	}

	.events__card {
		grid-template-columns: 1fr;
	}

	.events__media,
	.events__body {
		min-height: 0;
	}

	.events__media {
		min-height: 420px;
	}

	.events__age {
		font-size: 16px;
	}

	.events__desc {
		font-size: 14px;
	}

	.events__meta-row {
		font-size: 15px;
	}

	.events__meta-value {
		font-size: 13px;
	}

	.events__actions .btn {
		font-size: 14px;
	}

	.events__more .btn {
		font-size: 16px;
		padding: 12px 32px;
	}

	.formats__name {
		font-size: 28px;
		line-height: 1.2;
	}

	.formats__list {
		font-size: 16px;
	}

	.formats__btn {
		font-size: 14px;
	}

	.advantages__title {
		font-size: 22px;
	}

	.advantages__text {
		font-size: 14px;
	}

	.section-head__stars {
		width: 120px;
		height: 103px;
		margin-left: 55px;
	}

	.lead__title {
		font-size: 28px;
	}

	.lead__text {
		font-size: 16px;
	}

	.lead__submit {
		font-size: 16px;
	}

	.lead__messengers-list {
		gap: 10px 10px;
	}

	.lead__chip-text {
		font-size: 12px;
	}

	.videos__text {
		font-size: 16px;
	}

	.videos__slide {
		width: 250px;
	}

	.videos__cta {
		font-size: 16px;
		padding: 12px 32px;
	}

	.reviews__avatar {
		font-size: 22px;
	}

	.reviews__name,
	.reviews__date,
	.reviews__more {
		font-size: 14px;
	}

	.reviews__text {
		font-size: 16px;
	}

	.contacts-cta__title {
		font-size: 42px;
	}

	.contacts-cta__text {
		font-size: 16px;
	}

	.contacts-cta__input {
		font-size: 14px;
	}

	.contacts-cta__submit {
		font-size: 14px;
	}

	.contacts-cta__policy {
		font-size: 14px;
	}

	.footer__grid {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}

	.footer__nav {
		order: 1;
		flex: none;
		flex-direction: column;
		justify-content: flex-start;
		gap: 10px;
		margin-top: 0;
	}

	.footer__nav-col {
		display: contents;
	}

	.footer__contacts {
		order: 2;
		flex: none;
		width: 100%;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.footer__legal {
		order: 3;
		flex: none;
		width: auto;
		max-width: 256px;
		margin-top: 0;
	}
}

@media (max-width: 991px) {
	.footer__links {
		gap: 16px 25px;
	}

	.formats__name {
		font-size: 22px;
		line-height: 1.2;
	}

	.formats__list {
		font-size: 14px;
	}

	.formats__btn {
		font-size: 13px;
	}

	.advantages__title {
		font-size: 18px;
	}

	.advantages__text {
		font-size: 13px;
	}

	.section-head__stars {
		width: 80px;
		height: 69px;
		margin-left: 40px;
	}

	.section-head__stars img {
		width: 80px;
		height: 69px;
	}

	.catalog__eyebrow,
	.catalog__badge {
		font-size: 14px;
	}

	.catalog__heading {
		font-size: 26px;
	}

	.catalog__feature-title,
	.catalog__feature-desc,
	.catalog__meta-text,
	.catalog__price {
		font-size: 13px;
	}

	.catalog__list {
		gap: 30px;
	}

	.catalog__card {
		gap: 20px;
	}

	.catalog__actions .btn {
		font-size: 13px;
	}

	.events__card-title {
		font-size: 18px;
	}

	.events__age {
		font-size: 14px;
	}

	.events__desc {
		font-size: 13px;
	}

	.events__meta-row {
		font-size: 14px;
	}

	.events__meta-value {
		font-size: 12px;
	}

	.events__actions .btn {
		font-size: 13px;
	}

	.events__more .btn {
		font-size: 14px;
		padding: 12px 28px;
	}

	.lead__box {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.lead__media {
		min-height: 173px;
		padding-top: 50.44%;
		border-radius: var(--ry-radius-sm) var(--ry-radius-sm) 0 0;
		-webkit-mask-image: linear-gradient(180deg, #fff 44%, rgba(255, 255, 255, 0) 100%);
		mask-image: linear-gradient(180deg, #fff 44%, rgba(255, 255, 255, 0) 100%);
	}

	.lead__content {
		padding: 20px;
	}

	.lead__title {
		font-size: 25px;
	}

	.lead__text {
		margin-top: 10px;
		font-size: 12px;
		line-height: 1.2;
	}

	.lead__form {
		max-width: none;
		margin-top: 20px;
	}

	.lead__form > :is(.lead__field, .lead__messengers) + :is(.lead__field, .lead__messengers) {
		margin-top: 10px;
	}

	.lead__field,
	.lead__messengers {
		padding: 13px 15px;
	}

	.lead__input,
	.lead__messengers-legend,
	.lead__policy,
	.lead__note {
		font-size: 14px;
	}

	.lead__policy {
		line-height: 1.2;
	}

	.lead__checkbox {
		width: 11px;
		height: 11px;
		align-self: center;
		margin-top: 0;
	}

	.lead__checkbox::after {
		inset: 1px;
	}

	.lead__submit {
		min-height: 40px;
		font-size: 12px;
	}

	.videos__text {
		font-size: 14px;
	}

	.videos__slide {
		width: 200px;
	}

	.videos__cta {
		font-size: 14px;
		padding: 12px 28px;
	}

	.reviews__avatar {
		font-size: 20px;
	}

	.reviews__name,
	.reviews__date,
	.reviews__more {
		font-size: 13px;
	}

	.reviews__text {
		font-size: 14px;
	}

	.contacts-cta__box {
		min-height: 0;
		padding: 35px;
	}

	.contacts-cta__title {
		font-size: 32px;
	}

	.contacts-cta__text {
		font-size: 14px;
	}

	.contacts-cta__input {
		font-size: 13px;
	}

	.contacts-cta__submit {
		flex: 0 0 100%;
		width: 100%;
		margin-left: 0;
		font-size: 13px;
	}

	.contacts-cta__policy {
		font-size: 13px;
	}

	.contacts-cta__field,
	.contacts-cta__field--phone {
		flex: 1 1 calc(50% - 5px);
		max-width: none;
		width: calc(50% - 5px);
	}
}

@media (max-width: 767px) {
	:root {
		--ry-pad: 16px;
		--ry-section-pad: 30px;
	}

	.header {
		padding: 38px 0 0;
	}

	.header.is-fixed {
		padding: 10px 0;
	}

	.header--solid {
		padding: 20px 0;
	}

	.page-article {
		padding: 0 0 40px;
	}

	.page-article__title {
		margin: 8px 0 15px;
		font-size: 25px;
		line-height: 1.2;
		word-break: break-word;
	}

	.search-results {
		padding-bottom: 40px;
	}

	.search-results__item-title {
		font-size: 18px;
	}

	.search-results__more {
		width: auto;
	}

	.content ul > li,
	.content ol > li {
		margin-bottom: 10px;
	}

	.header__logo,
	.header__logo picture,
	.header__logo img {
		width: 120px;
		height: 14px;
	}

	.header__social,
	.header__social img {
		width: 25px;
		height: 25px;
	}

	.hero {
		min-height: 460px;
		padding-top: calc(var(--ry-header-clearance, 50px) + 30px);
		padding-bottom: 30px;
	}

	.hero__overlay {
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.65) 19.03%, rgba(17, 16, 16, 0.06) 53.01%, rgba(17, 16, 16, 0.65) 100%);
	}

	.hero__overlay--bottom {
		top: unset;
		bottom: 0;
		height: 150px;
		opacity: 0.9;
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0) 26.93%,
			rgba(17, 16, 16, 0.9) 72.05%,
			rgba(17, 16, 16, 1) 100%
		);
	}

	.hero--nk .hero__overlay {
		background: none;
	}

	.hero--nk .hero__overlay--nk-a {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.65) 21.28%,
			rgba(2, 2, 2, 0.59) 36.93%,
			rgba(17, 16, 16, 0.06) 72.5%,
			rgba(17, 16, 16, 0.65) 100%
		);
	}

	.hero--nk .hero__overlay--nk-b {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0) 26.93%,
			rgba(17, 16, 17, 0.9) 91.02%
		);
	}

	.hero--event .hero__overlay {
		background: none;
	}

	.hero--event .hero__overlay--event-a {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.65) 21.28%,
			rgba(2, 2, 2, 0.59) 36.93%,
			rgba(17, 16, 16, 0.06) 72.5%,
			rgba(17, 16, 16, 0.65) 100%
		);
	}

	.hero--event .hero__overlay--event-b {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0) 26.93%,
			rgba(17, 16, 17, 0.9) 91.02%
		);
	}

	.hero--nk,
	.hero--event {
		padding-bottom: 30px;
	}

	.hero--nk {
		min-height: 422px;
	}

	.hero__btn-full {
		display: none;
	}

	.hero__btn-short {
		display: inline;
	}

	.reviews__text {
		font-size: 12px;
	}

	.hero__title {
		font-size: 25px;
		line-height: 1.32;
	}

	.hero--nk .hero__title {
		font-weight: 700;
	}

	.hero__text {
		margin-top: 15px;
		font-size: 12px;
		line-height: 1.25;
	}

	.hero--nk .hero__text {
		font-weight: 600;
	}

	.hero__actions {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 10px;
		margin-top: 20px;
	}

	.breadcrumbs {
		padding: 8px 0 16px;
	}

	.header--solid ~ .site-main .breadcrumbs {
		padding-top: 0;
	}

	.breadcrumbs__link,
	.breadcrumbs__current {
		font-size: 12px;
	}

	.breadcrumbs__sep {
		margin-top: 2px;
	}

	.error-page {
		padding-top: 40px;
		padding-bottom: 60px;
	}

	.error-page__code {
		font-size: 80px;
	}

	.error-page__subtitle {
		margin-top: 16px;
		font-size: 16px;
	}

	.error-page__actions {
		margin-top: 30px;
	}

	.nk-about__grid {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.nk-about__photo:not(.nk-about__photo--main) {
		display: none;
	}

	.nk-about__photo--main {
		padding-top: 52.478%; /* 180 / 343 */
	}

	.nk-about__content {
		max-width: none;
		padding-top: 0;
	}

	.nk-about__title {
		font-size: 30px;
		line-height: 1.2;
	}

	.nk-about__text {
		margin-top: 15px;
		font-size: 12px;
		line-height: 1.25;
	}

	.nk-about__text + .nk-about__text {
		margin-top: 10px;
	}

	.btn {
		width: 100%;
		min-height: 40px;
		font-size: 12px;
		font-weight: 700;
	}

	.hero__actions .btn {
		width: auto;
		min-height: 40px;
		padding: 12px 20px;
		font-size: 12px;
	}

	.hero--event .hero__actions .btn--red {
		min-width: 146px;
	}

	.section-title {
		font-size: 32px;
	}

	.contacts-cta__box {
		padding: 60px 20px 60px;
		align-items: flex-start;
	}

	.contacts-cta__title {
		font-size: 25px;
		line-height: 1.2;
	}

	.contacts-cta__text {
		margin: 15px 0 20px;
		font-size: 12px;
		line-height: 1.25;
	}

	.contacts-cta__row {
		flex-direction: column;
		gap: 10px;
	}

	.contacts-cta__field,
	.contacts-cta__field--phone {
		max-width: none;
		flex: 1 1 auto;
		width: 100%;
	}

	.contacts-cta__input {
		height: 40px;
		font-size: 12px;
	}

	.contacts-cta__submit {
		width: 100%;
		min-height: 40px;
		height: 40px;
		margin-top: 10px;
		margin-left: 0;
		font-size: 12px;
	}

	.contacts-cta__policy {
		margin-top: 15px;
		font-size: 12px;
		line-height: 1.25;
		gap: 10px;
	}

	.contacts-cta__policy .lead__checkbox {
		margin-top: 1px;
	}

	.formats .section-title {
		font-size: 30px;
		line-height: 1.2;
	}

	.formats__grid {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 15px;
	}

	.formats__card {
		min-height: 423px;
		border-radius: 30px;
	}

	.formats__body {
		min-height: 423px;
		padding: 20px;
	}

	.formats__name {
		font-size: 15px;
		line-height: 1.2;
		margin-bottom: 10px;
	}

	.formats__list {
		gap: 10px;
		margin-bottom: 20px;
		font-size: 12px;
		font-weight: 600;
		line-height: 1.25;
	}

	.formats__icon {
		width: 30px;
		height: 30px;
	}

	.formats__btn {
		min-height: 40px;
		padding: 12px 30px;
		font-size: 12px;
		font-weight: 700;
	}

	.advantages .section-head .section-title {
		font-size: 30px;
		line-height: 1.2;
	}

	/* about-format stars — like videos__head on mobile */
	#about-format .section-head,
	[id^="about-format-"] .section-head {
		display: block;
	}

	#about-format .section-head .section-title,
	[id^="about-format-"] .section-head .section-title {
		display: inline;
		width: auto;
		max-width: none;
	}

	#about-format .section-head__stars,
	[id^="about-format-"] .section-head__stars {
		display: inline-block;
		vertical-align: middle;
		width: 43px;
		height: 36px;
		margin-left: 33px;
		margin-top: -10px;
	}

	#about-format .section-head__stars img,
	[id^="about-format-"] .section-head__stars img {
		width: 43px;
		height: 36px;
	}

	.advantages__grid {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 15px;
	}

	.advantages__card {
		gap: 20px;
		padding: 20px;
		border-radius: 30px;
	}

	.advantages__title {
		font-size: 15px;
		line-height: 1.25;
		margin-bottom: 10px;
	}

	.advantages__text {
		font-size: 12px;
		line-height: 1.25;
	}

	.footer__top {
		margin-bottom: 20px;
	}

	.footer {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.footer__logo,
	.footer__logo picture,
	.footer__logo img {
		width: 120px;
		height: 14px;
	}

	.footer__socials .header__social,
	.footer__socials .header__social img {
		width: 25px;
		height: 25px;
	}

	.footer__nav {
		font-size: 12px;
	}

	.footer__contact {
		min-height: 61px;
		padding: 10px;
	}

	.footer__contact-value,
	.footer__contact-value--email {
		font-size: 12px;
		line-height: 22px;
	}

	.footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
		margin-top: 20px;
		font-size: 12px;
	}

	.footer__links {
		flex-direction: column;
		gap: 10px;
	}

	.footer__credit {
		line-height: 25px;
	}

	.section-head {
		align-items: center;
	}

	.section-head__stars {
		width: 43px;
		height: 36px;
		margin-left: 27px;
	}

	.section-head__stars img {
		width: 43px;
		height: 36px;
	}

	.catalog__list {
		gap: 20px;
	}

	.catalog__card {
		gap: 10px;
	}

	.catalog__media {
		min-height: 280px;
	}

	.catalog__eyebrow,
	.catalog__badge {
		font-size: 12px;
		line-height: 1.2;
	}

	.catalog__heading {
		font-size: 20px;
		line-height: 1.2;
	}

	.catalog__features {
		gap: 20px;
	}

	.catalog__feature {
		gap: 20px;
	}

	.catalog__feature-icon {
		margin-top: 0;
		align-self: center;
	}

	.catalog__feature-title,
	.catalog__feature-desc,
	.catalog__meta-text,
	.catalog__price {
		font-size: 12px;
		line-height: 1.25;
	}

	.catalog__meta {
		gap: 20px;
		margin-top: 30px;
	}

	.catalog__meta-row {
		gap: 20px;
	}

	.catalog__meta-text,
	.catalog__price {
		font-weight: 800;
	}

	.catalog__actions {
		flex-direction: column;
		gap: 10px;
		margin-top: 20px;
	}

	.catalog__actions .btn {
		width: 100%;
		min-width: 0;
		min-height: 40px;
		padding: 12px 30px;
		font-size: 12px;
	}

	.events__head {
		margin-bottom: 15px;
		padding-inline: 28px;
	}

	.events__stars {
		right: 13px;
		top: 0;
		transform: none;
		width: 43px;
		height: 36px;
	}

	.events__head .section-title {
		font-size: 30px;
	}

	.events__tabs {
		width: 100%;
		margin-bottom: 20px;
	}

	.events__tab {
		flex: 1;
		width: auto;
		min-height: 40px;
		padding: 10px 12px;
		font-size: 12px;
		gap: 8px;
	}

	.events__tab-icon {
		width: 20px;
		height: 20px;
	}

	.events__list {
		gap: 20px;
	}

	.events__card {
		--events-hole-w: 7px;
		--events-hole-step: 36px;
		border-radius: 0;
		padding: 20px 15px;
		gap: 10px;
		-webkit-mask-image:
			url("source/img/ticket-bg-mob.svg"),
			linear-gradient(#fff 0 0),
			url("source/img/ticket-bg-right-mob.svg");
		-webkit-mask-size:
			var(--events-hole-w) var(--events-hole-step),
			calc(100% - var(--events-hole-w) * 2) 100%,
			var(--events-hole-w) var(--events-hole-step);
		-webkit-mask-position: left top, center, right top;
		-webkit-mask-repeat: repeat-y, no-repeat, repeat-y;
		mask-image:
			url("source/img/ticket-bg-mob.svg"),
			linear-gradient(#fff 0 0),
			url("source/img/ticket-bg-right-mob.svg");
		mask-size:
			var(--events-hole-w) var(--events-hole-step),
			calc(100% - var(--events-hole-w) * 2) 100%,
			var(--events-hole-w) var(--events-hole-step);
		mask-position: left top, center, right top;
		mask-repeat: repeat-y, no-repeat, repeat-y;
	}

	.events__card::before,
	.events__card::after {
		content: none;
	}

	.events__media {
		min-height: 233px;
		padding: 0;
		border: 0;
		background: transparent;
	}

	.events__dash {
		display: none;
	}

	.events__image {
		inset: 0;
	}

	.events__card-title {
		font-size: 15px;
	}

	.events__age {
		top: 35px;
		right: 25px;
		bottom: auto;
		min-width: 30px;
		min-height: 30px;
		padding: 0;
		font-size: 12px;
		font-weight: 700;
	}

	.events__body {
		padding: 0;
		border: 0;
		background: transparent;
	}

	.events__desc {
		margin-bottom: 15px;
		font-size: 12px;
	}

	.events__meta {
		gap: 10px;
		margin-bottom: 15px;
	}

	.events__meta-row {
		font-size: 12px;
		flex-wrap: nowrap;
	}

	.events__meta-value {
		font-size: 10px;
	}

	.events__actions {
		flex-direction: column;
		gap: 10px;
		margin-top: 7px;
	}

	.events__actions .btn {
		width: 100%;
		min-height: 40px;
		font-size: 12px;
		padding: 8px 20px;
	}

	.events__more {
		margin-top: 24px;
	}

	.events__more .btn {
		width: 130px;
		min-width: 130px;
		min-height: 40px;
		padding: 12px 23px;
		font-size: 12px;
		font-weight: 700;
	}

	.gallery__grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.gallery__item--video,
	.gallery__item--md,
	.gallery__item--mid {
		grid-column: 1 / -1;
	}

	.gallery__item--video {
		aspect-ratio: 343 / 231;
	}

	.gallery__item--sm,
	.gallery__item--wide {
		grid-column: span 1;
	}

	.gallery__item--video .gallery__media {
		padding-top: 0;
	}

	.gallery__item--md .gallery__media,
	.gallery__item--mid .gallery__media {
		padding-top: 50.73%; /* 174/343 */
	}

	.gallery__item--sm .gallery__media,
	.gallery__item--wide .gallery__media {
		padding-top: 107.14%; /* ~180/168 */
	}

	.gallery__play {
		width: 60px;
		height: 60px;
		margin: -30px 0 0 -30px;
	}

	.event-moments__head {
		margin-bottom: 20px;
	}

	.event-moments__head .section-head__stars {
		display: none;
	}

	.event-moments__text {
		margin-top: 15px;
		font-size: 12px;
		line-height: 1.25;
	}

	.event-moments__slide .event-moments__media {
		padding-top: 64.72%; /* 222 / 343 */
	}

	.event-moments__nav {
		width: 40px;
		height: 40px;
	}

	.event-moments__nav svg {
		width: 13px;
		height: 23px;
	}

	.event-moments__nav--prev {
		left: 10px;
	}

	.event-moments__nav--next {
		right: 10px;
	}

	.event-moments__pagination {
		bottom: 10px;
	}

	.event-moments__pagination .swiper-pagination-bullet {
		width: 5px;
		height: 5px;
	}

	.event-moments__grid {
		display: none;
	}

	.event-includes__stars {
		display: none;
	}

	.event-includes__title {
		font-size: 30px;
		line-height: 1.2;
	}

	.event-includes__grid {
		grid-template-columns: 1fr;
		gap: 10px;
		margin-top: 15px;
	}

	.event-includes__card {
		min-height: 0;
		gap: 20px;
		padding: 15px 20px;
	}

	.event-includes__card-title {
		font-size: 12px;
		line-height: 1.25;
	}

	.event-includes__actions {
		margin-top: 20px;
	}

	.event-includes__actions .btn {
		width: 100%;
	}

	.event-tickets__lead {
		margin: 15px 0 0;
		font-size: 12px;
		line-height: 1.4;
	}

	.event-tickets__head .section-head__stars {
		display: none;
	}

	.event-tickets__layout {
		grid-template-columns: 1fr;
		gap: 18px;
		margin-top: 20px;
		padding: 20px;
		border-radius: 20px;
	}

	.event-tickets__meta {
		gap: 16px;
	}

	.event-tickets__meta-icon {
		width: 15px;
		height: auto;
	}

	.event-tickets__meta-icon[viewBox="0 0 20 25"] {
		height: auto;
	}

	.event-tickets__meta-text,
	.event-tickets__howto-title {
		font-size: 12px;
		line-height: 1.3;
	}

	.event-tickets__howto {
		margin-top: 20px;
	}

	.event-tickets__tabs,
	.event-tickets__panels {
		padding-left: 26px;
	}

	.event-tickets__tabs {
		gap: 12px;
		margin-top: 10px;
	}

	.event-tickets__tab {
		font-size: 12px;
	}

	.event-tickets__tab-icon {
		width: 14px;
		height: 12px;
	}

	.event-tickets__panel-text {
		font-size: 14px;
		line-height: 1.3;
	}

	.event-tickets__map {
		margin-left: 0;
		padding-left: 0;
		font-size: 12px;
	}

	.event-tickets__cards {
		grid-template-columns: 1fr;
		justify-content: stretch;
		gap: 20px;
	}

	.event-tickets__card {
		max-width: none;
		padding: 22px 20px;
	}

	.event-tickets__card-desc {
		font-size: 12px;
	}

	.event-tickets__price-value {
		font-size: 24px;
	}

	.event-tickets__price-note {
		font-size: 12px;
	}

	.event-tickets__actions .btn {
		min-height: 50px;
	}

	.event-tickets__qty {
		gap: 12px;
	}

	.event-tickets__counter {
		min-width: 90px;
		padding: 0 12px;
	}

	.event-holiday__title {
		font-size: 30px;
		line-height: 1.2;
	}

	.event-holiday__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
		margin-top: 15px;
	}

	.event-holiday__card {
		aspect-ratio: 343 / 300;
		border-radius: 30px;
	}

	.event-holiday__caption {
		left: 20px;
		right: 20px;
		bottom: 20px;
		gap: 10px;
	}

	.event-holiday__card-title {
		font-size: 20px;
	}

	.event-holiday__card-text {
		font-size: 12px;
		line-height: 1.25;
	}

	.event-order__box {
		padding: 0 0 20px;
		border-radius: 30px;
	}

	.event-order__intro {
		padding: 0 20px;
	}

	.event-order__head {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.event-order__media {
		order: -1;
		min-height: 0;
		aspect-ratio: 343 / 113;
		border-radius: 20px;
		-webkit-mask-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 18%);
		mask-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 18%);
	}

	.event-order__title {
		font-size: 22px;
	}

	.event-order__lead {
		margin-top: 12px;
		padding-bottom: 0;
		font-size: 14px;
	}

	.event-order__grid {
		grid-template-columns: 1fr;
		gap: 45px;
		margin-top: 40px;
		padding: 0 20px;
	}

	.event-order__card {
		padding: 37px 20px 24px;
	}

	.event-order__badge {
		width: 50px;
		height: 50px;
	}

	.event-order__badge img {
		width: 50px;
		height: 50px;
	}

	.event-order__card-title {
		margin: 0 0 10px;
		font-size: 20px;
	}

	.event-order__list-item {
		font-size: 14px;
	}

	.event-order__card--warn .event-order__mark {
		margin-top: 1px;
	}

	.event-order__actions {
		margin-top: 20px;
		padding: 0 20px;
	}

	.event-order__actions .btn {
		width: 100%;
	}

	.event-atmosphere__title {
		margin: 0 0 15px;
		font-size: 30px;
		line-height: 1.2;
	}

	.event-atmosphere__layout {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 20px;
	}

	.event-atmosphere__media-wrap {
		order: -1;
		padding-top: 64.1399416909%; /* 220 / 343 */
	}

	.event-atmosphere__slide .event-atmosphere__media {
		border-radius: 30px;
	}

	.event-atmosphere__text {
		font-size: 12px;
		line-height: 1.25;
	}

	.event-atmosphere__text p + p {
		margin-top: 8px;
	}

	.event-atmosphere__address {
		gap: 10px;
		margin-top: 10px;
		font-size: 12px;
		line-height: 1.25;
	}

	.event-atmosphere__address-icon {
		width: 12px;
		height: 20px;
	}

	.event-atmosphere__address-icon svg {
		width: 12px;
		height: 20px;
	}

	.event-atmosphere__actions {
		margin-top: 20px;
	}

	.event-atmosphere__actions .btn {
		width: 100%;
	}

	.event-atmosphere__pagination .swiper-pagination-bullet {
		width: 5px;
		height: 5px;
	}

	.event-atmosphere__pagination .swiper-pagination-bullet-active {
		background: #011124;
	}

	.event-individual__box {
		position: relative;
		display: flex;
		flex-direction: column;
		gap: 20px;
		padding-top: 24px;
	}

	.event-individual__media {
		position: absolute;
		top: -5px;
		right: 0;
		width: 189px;
		height: 165px;
		aspect-ratio: auto;
		border-radius: 20px;
		opacity: 0.3;
	}

	.event-individual__title {
		font-size: 25px;
	}

	.event-individual__text {
		margin: 15px 0 0;
		font-size: 12px;
		line-height: 1.25;
	}

	.event-individual__row {
		flex-direction: column;
		margin-top: 25px;
	}

	.event-individual__field,
	.event-individual__field--phone {
		max-width: none;
		flex: 1 1 auto;
		width: 100%;
	}

	.event-individual__input {
		height: 40px;
		font-size: 12px;
	}

	.event-individual__submit {
		width: 100%;
		height: 40px;
		min-height: 40px;
		margin-top: 10px;
		margin-left: 0;
		font-size: 12px;
	}

	.event-individual__policy {
		margin-top: 6px;
		font-size: 12px;
		line-height: 1.25;
	}

	.videos__head {
		margin-bottom: 20px;
	}

	/* Stars as continuation of the title — mobile only */
	.videos__head .section-head {
		display: block;
	}

	.videos__head .section-head .section-title {
		display: inline;
		width: auto;
		max-width: none;
	}

	.videos__head .section-head__stars {
		display: inline-block;
		vertical-align: middle;
		width: 43px;
		height: 36px;
		margin-left: 12px;
		margin-top: -10px;
	}

	.videos__head .section-head__stars img {
		width: 43px;
		height: 36px;
	}

	.videos__text {
		margin-top: 11px;
		font-size: 12px;
	}

	.videos__actions {
		margin-top: 20px;
	}

	.videos__cta {
		width: 100%;
		min-width: 0;
		min-height: 40px;
		font-size: 12px;
	}

	.lead__messengers-list {
		flex-direction: column;
		gap: 5px;
		margin-top: 12px;
	}

	.lead__chip {
		width: 100%;
	}

}

@media (max-width: 575px) {
	.section-title {
		font-size: 30px;
	}

	.event-order__title {
		font-size: 20px;
	}

	.event-order__lead {
		font-size: 12px;
	}

	.event-order__list-item {
		font-size: 12px;
	}

	.event-menu__hero-line {
		height: 1px;
		opacity: 0.7;
	}

	.event-holiday__grid {
		grid-template-columns: 1fr;
	}

	.event-tickets__tab {
		font-size: 10px;
	}

	.event-tickets__panel-text {
		font-size: 12px;
		line-height: 1.6;
	}

	.lead__input,
	.lead__messengers-legend,
	.lead__chip-text,
	.lead__policy,
	.lead__note {
		font-size: 12px;
	}

	.videos__slide {
		width: 124px;
	}

	.hero__actions .btn:first-child {
		width: auto;
		flex: 0 0 auto;
	}

	.hero__actions .btn:last-child {
		width: auto;
		flex: 1 1 0;
		min-width: 0;
	}
}

@media (max-width: 374px) {
	.event-tickets__layout {
		padding: 15px;
	}

	.event-tickets__meta-item,
	.event-tickets__howto-title {
		gap: 8px;
	}

	.event-tickets__tabs,
	.event-tickets__panels {
		padding-left: 0;
	}

	.event-tickets__tabs {
		gap: 10px;
	}
}
