/**
 * Page: Про Шефа
 */

.page-chef {
	--chef-red: #9e0909;
	--chef-cream: #f5ebdf;
	--chef-text: #1e1e1e;
	--chef-muted: #731414;
	--chef-line: #d8c7b6;
	--chef-radius: 14px;
	font-family: 'Rubik', sans-serif;
	color: var(--chef-text);
}

.page-chef .breadcrumb-area,
.page-chef .rt-breadcrumb {
	margin-bottom: 24px;
}

.page-chef__hero {
	position: relative;
	aspect-ratio: 1000 / 667;
	border-radius: 15px;
	overflow: hidden;
	margin-bottom: 36px;
	background: var(--chef-cream);
}

.page-chef__hero-img,
.page-chef__cover-img,
.page-chef__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-chef__text-col .page-chef__copy {
    margin-bottom: 32px;
}
.page-chef__hero-overlay,
.page-chef__cover-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(217, 217, 217, 0) 42%, rgba(0, 0, 0, .32) 100%);
	pointer-events: none;
}

.page-chef__hero-title {
	position: absolute;
	left: 32px;
	right: 32px;
	bottom: 42px;
	margin: 0;
	font-family: 'Rubik', sans-serif;
	font-weight: 900;
	font-size: 48px;
	line-height: 1.085;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
	color: #fff;
}

.page-chef__lead {
	font-family: 'Rubik', sans-serif;
	font-weight: 300;
	font-size: 22px;
	line-height: 1.4;
	color: var(--chef-text);
	margin: 0 0 40px;
}

.page-chef__lead p,
.page-chef__copy p,
.page-chef__timeline-text p,
.page-chef__quote p {
	margin: 0 0 1em;
}

.page-chef__lead p:last-child,
.page-chef__copy p:last-child,
.page-chef__timeline-text p:last-child,
.page-chef__quote p:last-child {
	margin-bottom: 0;
}

.page-chef__section {
	margin-bottom: 48px;
}

.page-chef__reveal[hidden] {
	display: none;
}

.page-chef__more {
	display: flex;
	justify-content: center;
	margin: 24px 0 48px;
}

.page-chef__more.is-hidden {
	display: none;
}

.page-chef__more-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	min-height: 54px;
	padding: 12px 24px;
	border: 0;
	border-radius: var(--chef-radius);
	background: var(--chef-cream);
	font-family: 'Rubik', sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--chef-text);
	cursor: pointer;
}

.page-chef__more-button::after {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	margin-top: -4px;
}

.page-chef__more-button:focus-visible {
	outline: 2px solid var(--chef-red);
	outline-offset: 3px;
}

.page-chef__more--cream .page-chef__more-button {
	background: #fff;
}

.page-chef__two-col {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 385px;
	gap: 40px;
	align-items: start;
}

.page-chef__two-col--middle {
	grid-template-columns: 320px minmax(0, 1fr);
	align-items: stretch;
	margin-top: 32px;
}

.page-chef__two-col--top {
	display: flow-root;
}

.page-chef__two-col--panel,
.page-chef__two-col--timeline {
	grid-template-columns: minmax(0, 1fr) 320px;
}

.page-chef__two-col--timeline {
	display: flow-root;
}

.page-chef__title {
	font-family: 'Rubik', sans-serif;
	font-weight: 800;
	font-size: 48px;
	line-height: 1.085;
	letter-spacing: 0;
	text-transform: uppercase;
	margin: 0 0 36px;
}

.page-chef__title--red {
	color: var(--chef-red);
}

.page-chef__title--dark,
.page-chef__title--center {
	color: var(--chef-text);
}

.page-chef__title--center {
	text-align: center;
	margin-bottom: 48px;
}

.page-chef__copy,
.page-chef__timeline-text {
	font-family: 'Rubik', sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 1.4;
	color: var(--chef-text);
}
.page-chef__two-col--middle figure {
    margin: 0;
}
.page-chef__image {
	border-radius: var(--chef-radius);
	overflow: hidden;
	background: var(--chef-cream);
}

.page-chef__image--portrait {
	float: right;
	width: 385px;
	height: 480px;
	margin: 0 0 26px 56px;
}

.page-chef__image--small,
.page-chef__image--card-photo {
	height: 400px;
}

.page-chef__image--thumb {
	height: 280px;
}

.page-chef__image--wide {
	aspect-ratio: 1000 / 667;
	margin-bottom: 48px;
}

.page-chef__image--panel {
	height: 400px;
}

.page-chef__image--mobile-inline {
	display: none;
}

.page-chef__quote {
	position: relative;
	margin-top: 28px;
	padding: 34px 42px;
	border: 1px solid var(--chef-red);
	border-radius: var(--chef-radius);
	background: var(--chef-cream);
	font-family: 'Rubik', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.6;
	text-align: center;
	text-transform: uppercase;
	color: var(--chef-red);
}

.page-chef__quote::before,
.page-chef__quote::after,
.page-chef__quote p::before,
.page-chef__quote p::after {
	content: '';
	position: absolute;
	background: #bababa;
	pointer-events: none;
}

.page-chef__quote::before,
.page-chef__quote::after {
	left: 0;
	right: 0;
	height: 1px;
}

.page-chef__quote::before {
	top: 22px;
}

.page-chef__quote::after {
	bottom: 22px;
}

.page-chef__quote p::before,
.page-chef__quote p::after {
	top: 0;
	bottom: 0;
	width: 1px;
}

.page-chef__quote p::before {
	left: 18px;
}

.page-chef__quote p::after {
	right: 18px;
}

.page-chef__cover {
	position: relative;
	aspect-ratio: 1000 / 667;
	border-radius: 15px;
	overflow: hidden;
	margin: 30px 0;
	background: var(--chef-cream);
}

.page-chef__cover-title {
	position: absolute;
	left: 32px;
	right: 32px;
	bottom: 42px;
	margin: 0;
	font-family: 'Rubik', sans-serif;
	font-weight: 800;
	font-size: 48px;
	line-height: 1.085;
	letter-spacing: 0;
	text-transform: uppercase;
	text-align: center;
	color: #fff;
}

.page-chef__timeline {
	display: grid;
	gap: 0;
	margin: 0 0 56px;
}

.page-chef__timeline-item {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 40px;
	padding: 24px 0;
    align-items: center;
}

.page-chef__timeline-date-wrap {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 51px;
	align-items: center;
}

.page-chef__timeline-mark {
	display: block;
	width: 40px;
	height: 16px;
	background: url('../assets/img/chef/timeline-mark.svg') center / contain no-repeat;
}

.page-chef__timeline-date {
	font-family: 'Rubik', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--chef-text);
}

.page-chef__timeline--compact {
	margin: 8px 0 0;
}

.page-chef__timeline--continued {
	margin-bottom: 0;
}

.page-chef__timeline--before-more {
	margin-bottom: 0;
}

.page-chef__timeline--continued .page-chef__timeline-item:first-child {
	border-top: 1px solid var(--chef-line);
}

.page-chef__timeline-item + .page-chef__timeline-item {
	border-top: 1px solid var(--chef-line);
}

.page-chef__timeline--narrow .page-chef__timeline-item {
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 28px;
}

.page-chef__timeline--narrow .page-chef__timeline-date-wrap {
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 24px;
}

.page-chef__two-col--timeline .page-chef__image--portrait {
	float: right;
	width: 385px;
	margin: 50px 0 0 25px;
}

.page-chef__two-col--timeline .page-chef__timeline {
	display: block;
	margin-bottom: 0;
}

.page-chef__timeline-split-line {
	border-top: 1px solid var(--chef-line);
}

.page-chef__restaurant-grid {
	display: grid;
	grid-template-columns: 224px 320px minmax(0, 1fr);
	gap: 36px;
	align-items: start;
	margin-top: -46px;
}
.page-chef__cream-panel h2 {
    text-align: center;
}
.page-chef__cream-panel figure {
    margin: 0;
}
.page-chef__cream-panel-full {
	margin-top: 32px;
}
.page-chef__restaurants-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 385px;
	gap: 40px;
	align-items: start;
}

.page-chef__restaurants-top .page-chef__image--portrait {
	float: none;
	width: 100%;
	margin: 0;
}

.page-chef__restaurant-grid .page-chef__image--card-photo,
.page-chef__restaurant-grid .page-chef__copy {
	margin-top: 82px;
}

.page-chef__cream-panel {
	background: var(--chef-cream);
	border-radius: var(--chef-radius);
	padding: 40px 40px 1px;
}

.page-chef__modern {
	margin-top: 48px;
}

.page-chef__closing .page-chef__copy {
	margin-top: 0;
}

.page-chef__projects {
	background: var(--chef-cream);
	border-radius: var(--chef-radius);
	padding: 48px 72px 42px;
	margin-bottom: 56px;
}

.page-chef__projects-title {
	margin: 0 0 38px;
	font-family: 'Rubik', sans-serif;
	font-weight: 800;
	font-size: 48px;
	line-height: 1.085;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
	color: var(--chef-text);
}

.page-chef__projects-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 22px;
}

.page-chef__projects-list li {
	position: relative;
	padding-left: 32px;
	font-family: 'Rubik', sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 1.4;
	color: var(--chef-text);
}

.page-chef__projects-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .65em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--chef-red);
}

@media (max-width: 1199px) {
	.page-chef__hero-title,
	.page-chef__cover-title,
	.page-chef__title,
	.page-chef__projects-title {
		font-size: 40px;
	}

	.page-chef__two-col,
	.page-chef__two-col--top {
		gap: 32px;
	}

	.page-chef__image--portrait {
		width: 340px;
		margin-left: 44px;
	}

	.page-chef__restaurant-grid {
		grid-template-columns: 180px 260px minmax(0, 1fr);
		gap: 24px;
	}

	.page-chef__restaurants-top {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 32px;
	}
}

@media (max-width: 991px) {
	#main.page-chef {
		padding: 0 12px;
	}

	.page-chef__hero,
	.page-chef__cover,
	.page-chef__image--wide {
		aspect-ratio: 343 / 229;
	}

	.page-chef__hero-title,
	.page-chef__cover-title,
	.page-chef__title,
	.page-chef__projects-title {
		font-size: 32px;
	}

	.page-chef__lead {
		font-size: 20px;
	}

	.page-chef__two-col,
	.page-chef__two-col--middle,
	.page-chef__two-col--panel,
	.page-chef__two-col--timeline {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.page-chef__two-col--timeline {
		display: grid;
	}

	.page-chef__two-col--timeline .page-chef__image--portrait {
		order: 2;
	}

	.page-chef__timeline-flow {
		order: 1;
	}

	.page-chef__two-col--top {
		display: grid;
		grid-template-columns: 1fr;
	}

	.page-chef__restaurants-top {
		grid-template-columns: 1fr;
	}

	.page-chef__two-col--top .page-chef__text-col {
		order: 1;
	}

	.page-chef__two-col--top .page-chef__image--portrait {
		order: 2;
	}

	.page-chef__two-col--top .page-chef__copy--wide {
		order: 3;
		margin-top: 0;
	}

	.page-chef__image--portrait,
	.page-chef__image--small,
	.page-chef__image--card-photo,
	.page-chef__image--thumb,
	.page-chef__image--panel {
		float: none;
		width: 100%;
		margin: 0;
		height: auto;
		aspect-ratio: 343 / 429;
	}

	.page-chef__restaurant-grid {
		grid-template-columns: 1fr 1fr;
	}

	.page-chef__restaurant-grid .page-chef__image--card-photo {
		margin-top: 0;
	}

	.page-chef__restaurant-grid .page-chef__copy {
		grid-column: 1 / -1;
		margin-top: 0;
	}

	.page-chef__timeline-item,
	.page-chef__timeline--narrow .page-chef__timeline-item {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.page-chef__cream-panel,
	.page-chef__projects {
		padding: 36px 24px;
	}

	.page-chef__more {
		margin: 20px 0 36px;
	}
}

@media (max-width: 575px) {
	#main.page-chef {
		padding: 0 12px;
	}

	.page-chef {
		--chef-mobile-gutter: 16px;
	}

	.page-chef .breadcrumb-area,
	.page-chef .rt-breadcrumb {
		margin-bottom: 16px;
	}

	.page-chef__hero {
		aspect-ratio: 328 / 416;
		margin-bottom: 28px;
	}

	.page-chef__cover {
		aspect-ratio: 328 / 416;
		margin: 28px 0 24px;
	}

	.page-chef__image--wide {
		aspect-ratio: 328 / 215;
		margin-bottom: 24px;
	}

	.page-chef__hero-title,
	.page-chef__cover-title {
		left: 18px;
		right: 18px;
		top: 50%;
		bottom: auto;
		transform: translateY(-50%);
		font-size: 26px;
		line-height: 1.2;
	}

	.page-chef__title,
	.page-chef__projects-title {
		font-size: 26px;
		line-height: 1.2;
		margin-bottom: 24px;
	}

	.page-chef__title--center {
		margin-bottom: 24px;
	}

	.page-chef__lead {
		font-size: 16px;
		line-height: 1.4;
		margin-bottom: 28px;
	}

	.page-chef__copy,
	.page-chef__timeline-text,
	.page-chef__projects-list li {
		font-size: 16px;
		line-height: 1.4;
	}

	.page-chef__text-col .page-chef__copy {
		margin-bottom: 24px;
	}

	.page-chef__section,
	.page-chef__timeline {
		margin-bottom: 36px;
	}

	.page-chef__timeline--compact,
	.page-chef__timeline--continued,
	.page-chef__timeline--before-more {
		margin-bottom: 0;
	}

	.page-chef__two-col,
	.page-chef__two-col--middle,
	.page-chef__two-col--panel,
	.page-chef__two-col--timeline,
	.page-chef__two-col--top,
	.page-chef__restaurants-top {
		gap: 20px;
	}

	.page-chef__image--portrait,
	.page-chef__image--small,
	.page-chef__image--card-photo,
	.page-chef__image--thumb,
	.page-chef__image--panel {
		border-radius: var(--chef-radius);
	}

	.page-chef__journey > .page-chef__two-col--top > .page-chef__image--portrait {
		display: none;
	}

	.page-chef__journey .page-chef__image--mobile-inline {
		display: block;
        float: right;
        width: 140px;
        height: 200px;
        margin: -24px -24px 12px 16px;
        aspect-ratio: auto;
        border-radius: 8px;
	}

	.page-chef__restaurants-top .page-chef__image--portrait {
		display: none;
	}

	.page-chef__two-col--middle {
		display: flow-root;
		margin-top: 24px;
	}

	.page-chef__two-col--middle .page-chef__image--small {
		float: left;
        width: 127px;
        height: 200px;
        margin: -12px 16px 12px -24px;
        aspect-ratio: auto;
        border-radius: 8px;
	}

	.page-chef__restaurant-grid {
		display: flow-root;
		margin-top: 0;
	}

	.page-chef__restaurant-grid .page-chef__image--thumb,
	.page-chef__restaurant-grid .page-chef__image--card-photo {
		display: none;
	}

	.page-chef__restaurant-grid .page-chef__copy {
		margin-top: 0;
	}

	.page-chef__restaurants .page-chef__image--restaurants-inline {
		display: block;
		width: 127px;
		height: 200px;
		aspect-ratio: auto;
		border-radius: 8px;
	}

	.page-chef__restaurants .page-chef__image--restaurants-inline-first {
		float: right;
		margin: 0 -24px 12px 16px;
	}

	.page-chef__restaurants .page-chef__image--restaurants-inline-second {
		clear: both;
		float: left;
		margin: 0 16px 12px -24px;
	}
    .page-chef__cream-panel figure img {
        object-position: top;
    }
	.page-chef__cream-panel {
		border-radius: 0;
		margin-right: calc(var(--chef-mobile-gutter) * -1);
		margin-left: calc(var(--chef-mobile-gutter) * -1);
		padding: 40px var(--chef-mobile-gutter);
	}

	.page-chef__cream-panel h2 {
		margin-bottom: 28px;
	}

	.page-chef__cream-panel-full {
		margin-top: 24px;
	}

	.page-chef__cream-panel .page-chef__image--panel {
		aspect-ratio: 328 / 215;
		height: auto;
	}

	.page-chef__modern {
		margin-top: 36px;
	}

	.page-chef__timeline-date-wrap {
		display: grid;
		grid-template-columns: 1fr !important;
		gap: 12px;
		align-content: start;
	}

	.page-chef__timeline-mark {
		width: 40px;
		height: 16px;
	}

	.page-chef__timeline-date {
		font-size: 14px;
		line-height: 1.4;
	}

	.page-chef__timeline-item,
	.page-chef__timeline--narrow .page-chef__timeline-item {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 16px;
		align-items: start;
		padding: 24px 0 16px;
	}

	.page-chef__timeline-text {
		padding-top: 0;
	}

	.page-chef__two-col--timeline {
		display: block;
	}

	.page-chef__two-col--timeline .page-chef__image--portrait {
		float: none;
		width: 100%;
		aspect-ratio: 328 / 215;
		margin: 24px 0;
	}

	.page-chef__timeline-flow {
		display: block;
	}

	.page-chef__timeline-split-line {
		margin-top: 0;
	}

	.page-chef__more {
		margin: 20px 0 32px;
	}

	.page-chef__more-button {
		width: 100%;
		min-height: 54px;
		font-size: 14px;
		letter-spacing: 1.4px;
	}

	.page-chef__quote {
		margin-top: 24px;
		padding: 28px 22px;
		font-size: 12px;
		line-height: 1.6;
	}

	.page-chef__quote p::before {
		left: 18px;
	}

	.page-chef__quote p::after {
		right: 18px;
	}

	.page-chef__projects-list li {
		padding-left: 24px;
	}

	.page-chef__projects {
		border-radius: 0;
		margin-right: calc(var(--chef-mobile-gutter) * -1);
		margin-bottom: 0;
		margin-left: calc(var(--chef-mobile-gutter) * -1);
		padding: 40px var(--chef-mobile-gutter) 48px;
	}

	.page-chef__projects-title {
		margin-bottom: 28px;
	}

	.page-chef__projects-list {
		gap: 18px;
	}
}