/**
 * Single Project Styles
 * Template: single-project.php
 * Figma: Desktop 355:9436, Mobile 355:10555
 *
 * @package unique
 */

/* Main Container */
.project-page-main {
	overflow-x: clip;
	position: relative;
	background-color: var(--Grey-light, #F6F6F6);
	width: 100%;
}

/*--------------------------------------------------------------
# 1. Breadcrumbs Section: data-node-id="355:9438"
--------------------------------------------------------------*/
.project-breadcrumbs-section {
	padding-top: 24px;
	padding-bottom: 24px;
	width: 100%;
}

.project-breadcrumbs-section .studio-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 15px;
	color: var(--black, #1F1F1F);
}

.project-breadcrumbs-section .breadcrumb-item {
	display: inline-flex;
	align-items: center;
}

.project-breadcrumbs-section a {
	color: var(--black, #1F1F1F);
	text-decoration: none;
	transition: color 0.2s ease;
}

.project-breadcrumbs-section a:hover {
	color: var(--purple, #8F1575);
}

.project-breadcrumbs-section .breadcrumbs-separator {
	color: #A0A0A0;
	margin: 0 4px;
}

.project-breadcrumbs-section .current-item {
	color: var(--purple, #8F1575);
	font-weight: 700;
}

/*--------------------------------------------------------------
# 2. Hero Section: data-node-id="355:9449"
--------------------------------------------------------------*/
.project-hero-section {
	position: relative;
	width: 100%;
	padding-bottom: 40px;
}

.project-hero-outer {
	position: relative;
}

/* Background Decor: Pale Yellow Donut on Hero Section (Figma 355:9444: 414x414) */
.project-decor-bg-donut {
	position: absolute;
	left: -120px;
	top: 140px;
	width: 414px;
	height: 414px;
	pointer-events: none;
	z-index: 1;
}

.project-decor-bg-donut img {
	width: 100%;
	height: 100%;
	display: block;
}

/* White Hero Card */
.project-hero-card {
	background-color: #FFFFFF;
	border-radius: 32px;
	padding: 48px 40px;
	width: 100%;
	position: relative;
	z-index: 2;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.03);
	box-sizing: border-box;
}

.project-hero-grid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	width: 100%;
}

.project-hero-content-col {
	flex: 1 1 600px;
	max-width: 670px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.project-hero-title {
	font-family: var(--font-heading, 'Comfortaa', cursive, sans-serif);
	font-size: 44px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--purple, #8F1575);
	text-transform: uppercase;
	margin: 0;
}

.project-hero-subtitle {
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--black, #1F1F1F);
}

.project-hero-desc {
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--black, #1F1F1F);
	margin: 0;
}

.project-hero-btn-wrap {
	margin-top: 8px;
}

.project-hero-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1.5px solid var(--purple, #8F1575);
	color: var(--purple, #8F1575);
	background: transparent;
	padding: 14px 28px;
	border-radius: 40px;
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 16px;
	font-weight: 400;
	text-decoration: none;
	transition: all 0.25s ease;
}

.project-hero-btn:hover {
	background-color: var(--purple-light, rgba(143, 21, 117, 0.08));
	border-color: var(--purple-hover, #750f5f);
	color: var(--purple-hover, #750f5f);
}

.project-hero-btn .btn-icon {
	display: inline-flex;
	align-items: center;
}

.project-hero-image-col {
	flex: 0 0 527px;
	max-width: 527px;
	position: relative;
}

.project-hero-visual-wrap {
	position: relative;
	width: 100%;
}

.project-hero-photo-wrapper {
	width: 100%;
	aspect-ratio: 527 / 510;
	position: relative;
	z-index: 2;
}

.hero-photo-shaped,
.project-hero-photo-shaped {
	width: 100%;
	height: 100%;
	position: relative;
	-webkit-mask-image: url('../assets/img/hero-mask.png');
	mask-image: url('../assets/img/hero-mask.png');
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	clip-path: url(#hero-bubble-clip);
	overflow: hidden;
	z-index: 2;
}

.project-hero-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Yellow Donut Decor at Bottom-Left of Photo (Figma 355:9461: 120x120) */
.project-hero-decor-donut {
	position: absolute;
	left: -30px;
	bottom: 30px;
	width: 120px;
	height: 120px;
	pointer-events: none;
	z-index: 3;
}

.project-hero-decor-donut img {
	width: 100%;
	height: 100%;
	display: block;
}

/* Top Right Wavy Decor Overlapping Photo (Figma 355:9464: 185x178) */
.project-hero-decor-wavy {
	position: absolute;
	right: -25px;
	top: -20px;
	width: 185px;
	height: 178px;
	pointer-events: none;
	z-index: 3;
}

.project-hero-decor-wavy img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

/*--------------------------------------------------------------
# 3. About Section: data-node-id="355:9521"
--------------------------------------------------------------*/
.project-about-section {
	position: relative;
	padding-top: 60px;
	padding-bottom: 60px;
	width: 100%;
}

/* Lavender Blob Decor (Figma 355:9518: 416x410) */
.project-about-decor-blob {
	position: absolute;
	right: -120px;
	top: -50px;
	width: 416px;
	height: 410px;
	pointer-events: none;
	z-index: 0;
}

.project-about-decor-blob img {
	width: 100%;
	height: 100%;
	display: block;
}

.project-about-grid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 60px;
	position: relative;
	z-index: 1;
}

.project-about-content-col {
	flex: 1 1 540px;
	max-width: 560px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.project-about-title-wrap {
	margin-bottom: 8px;
}

.project-about-title {
	font-family: var(--font-heading, 'Comfortaa', cursive, sans-serif);
	font-size: 40px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--black, #1F1F1F);
	text-transform: uppercase;
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.project-about-title .tag-yellow {
	background-color: var(--yellow, #FDB913);
	color: var(--purple, #8F1575);
	font-family: var(--font-heading, 'Comfortaa', cursive, sans-serif);
	font-size: 40px;
	font-weight: 700;
	padding: 8px 16px;
	border-radius: 40px;
	display: inline-block;
	transform: rotate(-3.14deg);
}

.project-about-text {
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 16px;
	line-height: 1.45;
	color: var(--black, #1F1F1F);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.project-about-text p {
	margin: 0;
}

.project-about-btn-wrap {
	margin-top: 12px;
}

.project-about-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1.5px solid var(--purple, #8F1575);
	color: var(--purple, #8F1575);
	background: transparent;
	padding: 14px 28px;
	border-radius: 40px;
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 16px;
	font-weight: 400;
	text-decoration: none;
	transition: all 0.25s ease;
}

.project-about-btn:hover {
	background-color: var(--purple-light, rgba(143, 21, 117, 0.08));
	border-color: var(--purple-hover, #750f5f);
	color: var(--purple-hover, #750f5f);
}

.project-about-btn .btn-icon {
	display: inline-flex;
	align-items: center;
}

.project-about-image-col {
	flex: 1 1 600px;
	max-width: 630px;
	position: relative;
}

.project-about-photo-wrap {
	width: 100%;
	height: 520px;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
}

.project-about-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/*--------------------------------------------------------------
# 4. History Section: data-node-id="355:9486"
--------------------------------------------------------------*/
.project-history-section {
	position: relative;
	padding-top: 60px;
	padding-bottom: 80px;
	width: 100%;
}

.project-history-cards-wrap {
	z-index: 2;
	position: relative;
}

/* Background decor yellow pill on History section (Figma 355:9448) */
.project-history-decor-blob {
	position: absolute;
	right: -100px;
	bottom: -60px;
	width: 377px;
	height: 374px;
	pointer-events: none;
	z-index: 0;
}

.project-history-decor-blob img {
	width: 100%;
	height: 100%;
	display: block;
}

.project-history-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 36px;
	width: 100%;
}

.project-history-title-wrap {
	margin: 0;
}

.project-history-title {
	font-family: var(--font-heading, 'Comfortaa', cursive, sans-serif);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--black, #1F1F1F);
	text-transform: uppercase;
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.project-history-title .tag-yellow {
	background-color: var(--yellow, #FDB913);
	color: var(--purple, #8F1575);
	font-family: var(--font-heading, 'Comfortaa', cursive, sans-serif);
	font-size: 36px;
	font-weight: 700;
	padding: 8px 16px;
	border-radius: 40px;
	display: inline-block;
	transform: rotate(-3.14deg);
}

/* Mobile Nav Arrows (Hidden on desktop) */
.project-history-nav {
	display: none;
	align-items: center;
	gap: 10px;
}

.project-history-nav-btn {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid transparent;
	background-color: var(--yellow, #FDB913);
	color: var(--purple, #8F1575);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	line-height: 0;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.project-history-nav-btn:hover:not(:disabled) {
	transform: scale(1.08);
}

.project-history-nav-btn:disabled {
	background-color: #F6F6F6;
	border-color: #E2E2E2;
	color: #999999;
	cursor: not-allowed;
	opacity: 0.6;
	transform: none;
}

/* Cards Grid (Desktop 3 columns) */
.project-history-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px 20px;
	width: 100%;
	box-sizing: border-box;
}

.project-history-card {
	background-color: #FFFFFF;
	border-radius: 16px;
	padding: 8px 8px 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
	box-sizing: border-box;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.project-history-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
}

.project-history-card-img-wrap {
	width: 100%;
	height: 266px;
	border-radius: 12px;
	overflow: hidden;
	background-color: #EEEEEE;
}

.project-history-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.project-history-card-content {
	padding: 0 8px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.project-history-card-title {
	font-family: var(--font-heading, 'Comfortaa', cursive, sans-serif);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--black, #1F1F1F);
	text-transform: uppercase;
	margin: 0;
}

.project-history-card-desc {
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--black, #1F1F1F);
	margin: 0;
}

/* Desktop "Show more" toggle logic */
@media screen and (min-width: 769px) {
	.project-history-card.project-history-card-hidden {
		display: none;
	}

	.project-history-cards-grid.is-expanded .project-history-card.project-history-card-hidden {
		display: flex;
		animation: historyFadeIn 0.35s ease forwards;
	}
}

@keyframes historyFadeIn {
	from {
		opacity: 0;
		transform: translateY(12px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Button "Показати більше" (Desktop only, centered below cards) */
.project-history-more-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 40px;
	width: 100%;
}

.project-history-more-btn {
	background-color: var(--purple, #8F1575);
	color: #FFFFFF;
	border: none;
	border-radius: 40px;
	padding: 16px 36px;
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.project-history-more-btn:hover {
	background-color: var(--purple-hover, #750f5f);
	transform: translateY(-2px);
}

/* Mobile Scrollbar indicator (Hidden on desktop) */
.project-history-scrollbar {
	display: none;
}

/*--------------------------------------------------------------
# 5. CTA Section: data-node-id="355:9502"
--------------------------------------------------------------*/
.project-cta-section {
	background-color: var(--purple, #8F1575);
	border-radius: 32px;
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 40px 0;
	margin-bottom: 80px;
	box-sizing: border-box;
}

.project-cta-section .studio-cta-pattern {
	position: absolute;
	left: 205px;
	top: -16px;
	width: 670px;
	height: 647px;
	pointer-events: none;
	z-index: 1;
}

.project-cta-section .studio-cta-pattern-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	mix-blend-mode: overlay;
	opacity: 0.7;
	filter: contrast(1.1);
}

.project-cta-section .studio-cta-grid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	position: relative;
	z-index: 2;
	width: 100%;
}

.project-cta-section .studio-cta-left {
	flex: 1 1 420px;
	max-width: 500px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 350px;
	box-sizing: border-box;
}

.project-cta-section .studio-cta-title {
	font-family: var(--font-heading, 'Comfortaa', cursive, sans-serif);
	font-size: 40px;
	font-weight: 700;
	line-height: 1.2;
	color: #FFFFFF;
	text-transform: uppercase;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.project-cta-section .cta-title-desktop {
	display: block;
}

.project-cta-section .tag-yellow-desktop {
	display: inline-block;
}

.project-cta-section .cta-title-mobile-top,
.project-cta-section .cta-title-mobile-bottom {
	display: none;
}

.project-cta-section .studio-cta-title .tag-yellow {
	background-color: var(--yellow, #FDB913);
	color: var(--purple, #8F1575);
	font-family: var(--font-heading, 'Comfortaa', cursive, sans-serif);
	font-size: 40px;
	font-weight: 700;
	padding: 8px 16px;
	border-radius: 40px;
	display: inline-block;
	transform: rotate(-3.14deg);
	width: fit-content;
}

.project-cta-section .studio-cta-phone-wrap {
	margin-top: auto;
	padding-top: 32px;
}

.project-cta-section .studio-cta-phone {
	font-family: var(--font-heading, 'Comfortaa', cursive, sans-serif);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	color: #FFFFFF;
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity 0.2s ease;
	display: inline-block;
}

.project-cta-section .studio-cta-phone:hover {
	opacity: 0.85;
}

.project-cta-section .studio-cta-right {
	flex: 1 1 500px;
	max-width: 560px;
	width: 100%;
	box-sizing: border-box;
}

.project-cta-section .studio-form-card {
	background-color: #FFFFFF;
	border-radius: 16px;
	padding: 24px;
	box-sizing: border-box;
	width: 100%;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
}

.project-cta-section .studio-form-header {
	margin-bottom: 24px;
	text-align: center;
}

.project-cta-section .studio-form-title {
	font-family: var(--font-heading, 'Comfortaa', cursive, sans-serif);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.72px;
	color: var(--black, #1F1F1F);
	text-transform: uppercase;
	margin: 0 0 8px 0;
}

.project-cta-section .studio-form-subtitle {
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--black, #1F1F1F);
	margin: 0;
}

.project-cta-section .form-group {
	margin-bottom: 16px;
	width: 100%;
}

.project-cta-section .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	position: relative;
}

.project-cta-section .wpcf7-not-valid-tip {
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 13px;
	color: #dc3232;
	margin-top: 4px;
	display: block;
}

.project-cta-section .form-control,
.project-cta-section .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
	width: 100%;
	background-color: #FFFFFF;
	border: 1px solid #999999;
	border-radius: 8px;
	padding: 16px 24px;
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 16px;
	color: var(--black, #1F1F1F);
	box-sizing: border-box;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.project-cta-section .form-control:focus,
.project-cta-section .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus {
	border-color: var(--purple, #8F1575);
	box-shadow: 0 0 0 3px rgba(143, 21, 117, 0.1);
}

.project-cta-section .form-control::placeholder,
.project-cta-section .wpcf7-form-control::placeholder {
	color: #999999;
}

.project-cta-section .form-group-submit {
	margin-top: 24px;
	margin-bottom: 0;
}

.project-cta-section .form-submit,
.project-cta-section .wpcf7-submit {
	width: 100%;
	background-color: var(--yellow, #FDB913);
	color: var(--purple, #8F1575);
	border: none;
	border-radius: 40px;
	padding: 16px 24px;
	font-family: var(--font-primary, 'Century Gothic', Arial, sans-serif);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.2s ease, transform 0.2s ease;
	text-align: center;
}

.project-cta-section .form-submit:hover,
.project-cta-section .wpcf7-submit:hover {
	background-color: #e5a40a;
}

.project-cta-section .wpcf7-spinner {
	margin: 10px auto 0;
	display: block;
}

.project-cta-section .wpcf7-response-output {
	border-radius: 8px !important;
	margin: 16px 0 0 0 !important;
	padding: 12px 16px !important;
	font-family: var(--font-primary, sans-serif) !important;
	font-size: 14px !important;
}

.project-contact-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

/*--------------------------------------------------------------
# Responsive: Tablet (max-width: 1024px)
--------------------------------------------------------------*/
@media screen and (max-width: 1024px) {

	.project-hero-card {
		padding: 36px 24px;
	}

	.project-hero-grid {
		flex-direction: column-reverse;
		gap: 36px;
	}

	.project-hero-content-col {
		max-width: 100%;
		width: 100%;
		flex: none;
	}

	.project-hero-title {
		font-size: 36px;
	}

	.project-hero-image-col {
		max-width: 440px;
		width: 100%;
		margin: 0 auto;
		flex: none;
	}

	.project-about-grid {
		flex-direction: column-reverse;
		gap: 36px;
	}

	.project-about-content-col,
	.project-about-image-col {
		max-width: 100%;
		width: 100%;
		flex: none;
	}

	.project-about-photo-wrap {
		height: 380px;
	}

	.project-about-title {
		font-size: 32px;
	}

	.project-about-title .tag-yellow {
		font-size: 32px;
		padding: 6px 14px;
	}

	.project-history-cards-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.project-history-title {
		font-size: 30px;
	}

	.project-history-title .tag-yellow {
		font-size: 30px;
		padding: 6px 14px;
	}

	.project-history-decor-blob {
		right: -60px;
		bottom: -40px;
		width: 280px;
		height: 278px;
	}

	/* CTA Section on Tablet */
	.project-cta-section {
		padding: 40px 0;
	}

	.project-cta-section .studio-cta-grid {
		flex-direction: column;
		gap: 40px;
	}

	.project-cta-section .studio-cta-left {
		flex: none;
		min-height: 0;
		justify-content: flex-start;
		max-width: 100%;
		text-align: center;
		align-items: center;
		gap: 20px;
	}

	.project-cta-section .studio-cta-phone-wrap {
		margin-top: 0;
		padding-top: 0;
	}

	.project-cta-section .studio-cta-title {
		align-items: center;
		text-align: center;
	}

	.project-cta-section .studio-cta-right {
		max-width: 100%;
	}
}

/*--------------------------------------------------------------
# Responsive: Mobile (max-width: 768px)
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {

	.project-page-main .site-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.project-hero-section {
		padding-bottom: 20px;
	}

	.project-hero-card {
		padding: 40px 16px;
		border-radius: 32px;
	}

	/* Hero Grid on Mobile: Image rendered BEFORE content */
	.project-hero-grid {
		flex-direction: column-reverse;
		gap: 24px;
	}

	.project-hero-content-col {
		max-width: 100%;
		width: 100%;
		flex: none;
		gap: 16px;
	}

	.project-hero-title {
		font-size: 30px;
		line-height: 1.4;
	}

	.project-hero-subtitle {
		font-size: 16px;
		line-height: 1.35;
	}

	.project-hero-desc {
		font-size: 16px;
		line-height: 1.35;
	}

	.project-hero-btn-wrap {
		margin-top: 8px;
		width: 100%;
	}

	.project-hero-btn {
		width: 100%;
		justify-content: center;
		padding: 16px 24px;
	}

	/* Hero Image and Overlapping Decors (Figma 355:10599 - 311px width) */
	.project-hero-image-col {
		max-width: 312px;
		width: 100%;
		margin: 0 auto;
		flex: none;
	}

	.project-hero-visual-wrap {
		position: relative;
		width: 100%;
		max-width: 312px;
		height: 300px;
		margin: 0 auto;
	}

	.project-hero-photo-wrapper {
		width: calc(100% - 17px);
		max-width: 295px;
		height: 300px;
		margin-left: auto;
		margin-right: 0;
		position: relative;
		z-index: 2;
	}

	/* Yellow donut stays inside the visual bounding box (x=0) without negative crop */
	.project-hero-decor-donut {
		left: 0;
		bottom: 26px;
		width: 70px;
		height: 70px;
		z-index: 3;
	}

	/* Purple wavy decor fits within the visual bounding box on top-right */
	.project-hero-decor-wavy {
		right: 0;
		top: 0;
		width: 83px;
		height: 80px;
		z-index: 3;
	}

	.project-decor-bg-donut {
		left: -80px;
		top: 60px;
		width: 220px;
		height: 220px;
	}

	.project-about-decor-blob {
		right: -40px;
		top: -20px;
		width: 220px;
		height: 216px;
	}

	/* About Section Mobile */
	.project-about-section {
		padding-top: 24px;
		padding-bottom: 36px;
	}

	.project-about-grid {
		flex-direction: column-reverse;
		gap: 24px;
		align-items: stretch;
	}

	.project-about-image-col {
		max-width: 100%;
		width: 100%;
		flex: none;
		margin: 0;
	}

	.project-about-photo-wrap {
		width: 100%;
		height: 243px;
		border-radius: 16px;
		overflow: hidden;
		margin: 0;
	}

	.project-about-content-col {
		max-width: 100%;
		width: 100%;
		flex: none;
		gap: 16px;
	}

	.project-about-title-wrap {
		margin-bottom: 0;
	}

	.project-about-title {
		font-size: 24px;
		line-height: 1.2;
		gap: 10px;
	}

	.project-about-title .tag-yellow {
		font-size: 24px;
		line-height: 1.2;
		padding: 6px 14px;
	}

	.project-about-text {
		gap: 16px;
	}

	.project-about-btn-wrap {
		margin-top: 8px;
		width: 100%;
	}

	.project-about-btn {
		width: 100%;
		justify-content: center;
		padding: 16px 24px;
	}

	/* History Section Mobile: Carousel & Scrollbar */
	.project-history-section {
		padding-top: 36px;
		padding-bottom: 48px;
	}

	.project-history-header {
		margin-bottom: 24px;
	}

	.project-history-title {
		font-size: 24px;
		line-height: 1.4;
	}

	.project-history-title .tag-yellow {
		font-size: 24px;
		line-height: 1.4;
		padding: 4px 14px;
	}

	.project-history-nav {
		display: flex;
	}

	/* Turn grid into Flickity carousel on mobile */
	.project-history-cards-wrap {
		width: 100%;
		position: relative;
		z-index: 2;
	}

	.project-history-cards-grid {
		width: 100%;
		display: block;
	}

	.project-history-cards-grid:not(.flickity-enabled) {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.project-history-cards-grid.flickity-enabled {
		display: block;
	}

	.project-history-cards-grid.flickity-enabled .flickity-viewport {
		width: 100%;
		overflow: hidden;
		position: relative;
	}

	.project-history-card {
		width: 290px;
		margin-right: 16px;
		display: flex;
		flex-direction: column;
		flex-shrink: 0;
	}

	.project-history-card-img-wrap {
		height: 220px;
	}

	.project-history-card-title {
		font-size: 18px;
	}

	.project-history-card-desc {
		font-size: 15px;
	}

	/* User rule: on mobile the button "Показати більше" is completely hidden */
	.project-history-more-wrap {
		display: none !important;
	}

	.project-history-decor-blob {
		right: -40px;
		bottom: -20px;
		width: 180px;
		height: 178px;
	}

	/* Mobile Carousel Progress Bar / Scrollbar (Figma 355:10685) */
	.project-history-scrollbar {
		display: block;
		width: 100%;
		height: 8px;
		background: rgba(253, 185, 19, 0.15);
		border-radius: 100px;
		margin-top: 24px;
		position: relative;
		overflow: hidden;
		cursor: pointer;
		box-sizing: border-box;
	}

	.project-history-scrollbar-bar {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 25%;
		background: var(--yellow, #FDB913);
		border-radius: 100px;
		pointer-events: none;
		will-change: left, width;
	}

	/* CTA Mobile */
	.project-cta-section {
		border-radius: 24px;
		padding: 40px 0;
		margin-bottom: 48px;
	}

	.project-cta-section .studio-cta-pattern {
		left: 80px;
		top: 20px;
		width: 385px;
		height: 372px;
	}

	.project-cta-section .studio-cta-grid {
		flex-direction: column;
		gap: 32px;
	}

	.project-cta-section .studio-cta-left {
		flex: none;
		min-height: 0;
		justify-content: flex-start;
		text-align: left;
		align-items: flex-start;
		max-width: 100%;
		gap: 16px;
	}

	.project-cta-section .studio-cta-title {
		font-size: 24px;
		line-height: 1.35;
		text-align: left;
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 6px;
		align-items: flex-start;
	}

	.project-cta-section .cta-title-desktop,
	.project-cta-section .tag-yellow-desktop {
		display: none !important;
	}

	.project-cta-section .cta-title-mobile-top {
		display: block;
		font-size: 24px;
		line-height: 1.35;
		color: #FFFFFF;
		text-align: left;
	}

	.project-cta-section .cta-title-mobile-bottom {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		flex-wrap: nowrap;
		text-align: left;
	}

	.project-cta-section .cta-title-last {
		font-size: 24px;
		line-height: 1.35;
		color: #FFFFFF;
		white-space: nowrap;
	}

	.project-cta-section .studio-cta-title .tag-yellow {
		display: inline-flex;
		align-items: center;
		margin: 0;
		font-size: 24px;
		line-height: 1.2;
		padding: 6px 16px;
		transform: rotate(-3.14deg);
		white-space: nowrap;
		text-align: center;
	}

	.project-cta-section .studio-cta-phone-wrap {
		margin-top: 0;
		padding-top: 0;
	}

	.project-cta-section .studio-cta-phone {
		font-size: 24px;
		line-height: 1.4;
	}

	.project-cta-section .studio-cta-right {
		max-width: 100%;
	}

	.project-cta-section .studio-form-card {
		padding: 24px 16px;
		border-radius: 16px;
	}

	.project-cta-section .studio-form-title {
		font-size: 20px;
	}

	.project-cta-section .studio-form-subtitle {
		font-size: 14px;
	}
}