h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Playfair Display", serif
}

.btn {
	border-radius: 0
}

.btn-dark {
	background-color: #000;
	border-color: #000
}

.site-header {
	padding: 1rem 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	background: #fff;
	opacity: 0;
	visibility: hidden;
	transition: opacity .35s ease, transform .35s ease, visibility .35s ease
}

.site-header.show {
	opacity: 1;
	visibility: visible;
	background-color: #fff;
	backdrop-filter: blur(5px)
}

.header-inner {
	height: 90px;
	padding: 0 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative
}

.header-call {
	width: fit-content;
	height: auto;
	padding: 1rem 1.5rem;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 600;
	transition: .3s ease;
	color: #fff;
	background-color: #000;
	transform: translateX(-100%);
	opacity: 0
}

.site-header.show .header-call {
	transform: translateX(0);
	opacity: 1
}

.header-call:hover {
	opacity: .8;
	color: #fff
}

.header-logo {
	display: flex;
	align-items: center;
	justify-content: center
}

.header-logo img {
	width: auto;
	height: 55px;
	display: block;
	transform: scale(0);
	transition: .3s ease;
	filter: brightness(1) invert(0)
}

.site-header.show .header-logo img {
	transform: scale(1)
}

.site-header.light-logo .header-logo img {
	filter: none
}

.menu-trigger {
	width: 3rem;
	height: 3rem;
	border: 0;
	background: #000;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	opacity: 0;
	transform: translateX(100%);
	transition: .3s ease
}

.site-header.show .menu-trigger {
	opacity: 1;
	transform: translateX(0)
}

.menu-trigger span {
	width: 1.75rem;
	height: 2px;
	background: #fff;
	display: block;
	transition: .35s ease
}

.menu-trigger.active span:nth-child(1) {
	transform: translateY(9px) rotate(45deg)
}

.menu-trigger.active span:nth-child(2) {
	opacity: 0
}

.menu-trigger.active span:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg)
}

.sidebar {
	position: fixed;
	top: 0;
	left: 0;
	width: 25rem;
	max-width: 90vw;
	height: 100vh;
	background: #111;
	z-index: 10000;
	transform: translateX(-100%);
	opacity: 0;
	visibility: hidden;
	transition: .4s ease
}

.sidebar.show {
	transform: translateX(0);
	opacity: 1;
	visibility: visible
}

.sidebar-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .5);
	opacity: 0;
	visibility: hidden;
	backdrop-filter: blur(3px);
	z-index: 9999;
	transition: .3s ease
}

.sidebar-overlay.show {
	opacity: 1;
	visibility: visible
}

.sidebar {
	overflow-y: auto
}

.sidebar-inner {
	min-height: 100%;
	padding: 2rem;
	display: flex;
	flex-direction: column
}

.sidebar-logo {
	margin-bottom: 3rem
}

.sidebar-logo img {
	height: 50px;
	width: auto;
	filter: invert(1)
}

.sidebar-nav ul {
	list-style: none;
	padding: 0;
	margin: 0
}

.sidebar-nav>ul>li {
	border-bottom: 1px solid rgba(255, 255, 255, .08)
}

.sidebar-nav a,
.submenu-trigger {
	width: 100%;
	padding: 1rem 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: 0;
	border: 0;
	color: #fff;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer
}

.submenu {
	display: none;
	padding-left: 1rem;
	padding-bottom: 1rem
}

.submenu.show {
	display: block
}

.submenu a {
	padding: .5rem 0;
	opacity: .75;
	font-size: .95rem
}

.sidebar-footer {
	margin-top: auto;
	padding-top: 3rem
}

.sidebar-cta {
	width: 100%;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: #000;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .1rem;
	font-weight: 600;
	margin-bottom: 2rem
}

.sidebar-contact {
	display: flex;
	gap: 1rem
}

.sidebar-contact a {
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .2);
	text-decoration: none
}

.hero-block {
	width: 100%;
	height: 100vh;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	position: relative
}

.hero-block::before {
	content: "";
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	background-color: #0009;
	backdrop-filter: blur(3px)
}

.hero-content {
	width: 100%;
	max-width: 767px;
	height: auto;
	padding: 3rem 0;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 1.5rem;
	position: relative
}

.hero-content img {
	width: 100%;
	max-width: 45rem;
	height: auto;
	margin: 0 auto;
	display: block;
	transition: opacity .4s ease, transform .4s ease;
	filter: invert(1)
}

.hero-content img.logo-hidden {
	opacity: 0;
	transform: scale(0)
}

.hero-content h1 {
	margin: 0;
	font-size: 3.5rem;
	font-weight: 300;
	line-height: normal;
	color: #fff;
	text-align: center
}

.hero-video-block {
	position: relative;
	min-height: 700px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden
}

.hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover
}

.hero-video-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, .45), rgba(0, 0, 0, .65));
	z-index: 1;
	backdrop-filter: blur(5px)
}

.hero-video-content {
	position: relative;
	z-index: 2;
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
	color: #fff
}

.hero-video-label {
	display: inline-block;
	font-size: .85rem;
	font-weight: 500;
	letter-spacing: .25rem;
	text-transform: uppercase;
	margin-bottom: 1rem;
	opacity: .8
}

.hero-video-content h2 {
	font-size: clamp(3rem, 6vw, 6rem);
	font-weight: 300;
	line-height: 1;
	margin-bottom: 1.5rem
}

.hero-video-content p {
	font-size: 1.15rem;
	line-height: 1.8;
	max-width: 600px;
	margin: 0 auto 2rem;
	opacity: .9
}

.hero-video-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	height: 60px;
	padding: 0 2rem;
	border: 1px solid #fff;
	color: #fff;
	text-decoration: none;
	font-size: .95rem;
	font-weight: 600;
	letter-spacing: .08rem;
	text-transform: uppercase;
	transition: .35s ease
}

.hero-video-btn:hover {
	background: #fff;
	color: #000
}

@media(max-width:991px) {
	.hero-video-block {
		min-height: 600px
	}

	.hero-video-content h2 {
		font-size: 3.5rem
	}

	.hero-video-content p {
		font-size: 1rem
	}
}

@media(max-width:767px) {
	.hero-video-block {
		min-height: 500px
	}

	.hero-video-content h2 {
		font-size: 2.5rem
	}

	.hero-video-btn {
		width: 100%;
		max-width: 280px
	}
}

.editorial-block {
	background-color: #000
}

.editorial-wrapper {
	display: flex;
	min-height: 300vh
}

.editorial-media {
	position: relative
}

.editorial-media-inner {
	position: sticky;
	top: 0;
	height: 100vh;
	overflow: hidden
}

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

.editorial-content {
	width: 100%;
	background-color: #fff
}

.editorial-content-inner {
	padding: 10rem 8rem
}

.editorial-item {
	min-height: 100vh;
	display: flex;
	justify-content: center;
	flex-direction: column
}

.editorial-item h2 {
	font-size: 3rem;
	font-weight: 300;
	line-height: 1.3;
	color: #b34930;
	margin-bottom: 2rem
}

.editorial-item p {
	font-size: 1.15rem;
	line-height: 2;
	color: #000;
	max-width: 600px;
	margin-bottom: 3rem
}

.editorial-item a {
	width: fit-content;
	padding: 1rem 1.5rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem;
	color: #fff;
	background-color: #000;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .1rem;
	font-weight: 600
}

.editorial-item a::after {
	content: "\2192";
	transition: .3s ease
}

.editorial-item a:hover::after {
	transform: translateX(8px)
}

@media(max-width:991px) {
	.editorial-wrapper {
		flex-direction: column;
		min-height: auto
	}

	.editorial-media,
	.editorial-content {
		width: 100%
	}

	.editorial-media-inner {
		position: relative;
		height: 60vh
	}

	.editorial-content-inner {
		padding: 4rem 2rem
	}

	.editorial-item {
		min-height: auto;
		margin-bottom: 5rem
	}

	.editorial-item h2 {
		font-size: 2rem
	}
}

.featured-services {
	position: relative;
	background: #f7f3ef
}

.featured-services-reverse {
	background: #fff
}

.featured-header {
	padding: 8rem 2rem 4rem;
	text-align: center;
	max-width: 900px;
	margin: auto
}

.featured-header h2 {
	font-size: 4rem;
	margin-bottom: 1rem
}

.featured-header p {
	max-width: 700px;
	margin: auto;
	font-size: 1.1rem;
	line-height: 1.9
}

.featured-sticky {
	position: sticky;
	top: 0;
	height: calc(100vh+122px);
	overflow: hidden
}

.featured-track {
	height: 100%;
	display: flex;
	align-items: center;
	gap: 3rem;
	padding-inline: 8rem;
	will-change: transform
}

.service-card {
	flex: 0 0 38vw;
	position: relative
}

.service-card-media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5
}

.service-card-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .7s ease
}

.image-secondary {
	opacity: 0;
	transform: scale(1.1)
}

.service-card:hover .image-secondary {
	opacity: 1;
	transform: scale(1)
}

.service-card:hover .image-primary {
	opacity: 0
}

.service-card-content {
	width: 100%;
	height: auto;
	padding: 1rem 2.5rem;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
	position: absolute;
	bottom: 0;
	background-color: #0005;
	backdrop-filter: blur(3px)
}

.service-card-content h3 {
	font-size: 2rem;
	margin-bottom: 1rem;
	color: #fff
}

.service-card-content p {
	line-height: 1.8;
	color: #fff;
	text-align: center
}

.luxury-services {
	position: relative;
	padding: 10rem 0;
	background: #f8f5f0;
	overflow: hidden
}

.luxury-services::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top center, rgba(179, 73, 48, .08), transparent 60%);
	pointer-events: none
}

.luxury-services-header {
	max-width: 850px;
	margin: 0 auto 8rem;
	text-align: center
}

.section-label {
	display: inline-block;
	margin-bottom: 1rem;
	color: #b34930;
	font-size: .9rem;
	letter-spacing: 3px;
	text-transform: uppercase
}

.luxury-services-header h2 {
	font-family: "Playfair Display", serif;
	font-size: clamp(3rem, 5vw, 5rem);
	color: #2c2c2c;
	margin-bottom: 1.5rem
}

.luxury-services-header p {
	color: rgba(44, 44, 44, .75);
	font-size: 1.15rem;
	line-height: 1.9
}

.services-timeline {
	position: relative;
	max-width: 1400px;
	margin: auto
}

.timeline-line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 2px;
	transform: translateX(-50%);
	background: rgba(0, 0, 0, .08)
}

.timeline-progress {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	background: #b34930;
	transition: height .2s linear
}

.timeline-item {
	position: relative;
	display: flex;
	margin-bottom: 10rem
}

.timeline-item:last-child {
	margin-bottom: 0
}

.timeline-dot {
	position: absolute;
	left: 50%;
	top: 100px;
	width: 70px;
	height: 70px;
	transform: translateX(-50%);
	border-radius: 50%;
	background: #fff;
	border: 1px solid rgba(179, 73, 48, .2);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 20
}

.timeline-dot span {
	color: #b34930;
	font-weight: 600;
	font-size: .95rem
}

.timeline-right {
	justify-content: flex-start
}

.timeline-left {
	justify-content: flex-end
}

.timeline-card {
	position: relative;
	width: calc(50% - 90px);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .08);
	backdrop-filter: blur(20px);
	overflow: hidden;
	transition: .6s ease
}

.timeline-card:hover {
	border-color: rgba(179, 73, 48, .35);
	transform: translateY(-10px)
}

.service-index {
	position: absolute;
	top: 20px;
	right: 30px;
	font-size: 10rem;
	font-weight: 800;
	line-height: 1;
	color: rgba(179, 73, 48, .08);
	pointer-events: none;
	z-index: 1
}

.timeline-image {
	overflow: hidden;
	aspect-ratio: 16/9
}

.timeline-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 1s ease
}

.timeline-card:hover .timeline-image img {
	transform: scale(1.08)
}

.timeline-content {
	position: relative;
	z-index: 2;
	padding: 3rem
}

.service-tag {
	display: inline-block;
	color: #b34930;
	font-size: .8rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 1rem
}

.timeline-content h3 {
	font-family: "Playfair Display", serif;
	color: #2c2c2c;
	font-size: 2rem;
	margin-bottom: 1rem
}

.timeline-content p {
	color: rgba(44, 44, 44, .75);
	line-height: 1.9;
	margin-bottom: 2rem
}

.timeline-content a {
	display: inline-flex;
	align-items: center;
	gap: .8rem;
	color: #b34930;
	text-decoration: none;
	font-weight: 500;
	transition: .4s ease
}

.timeline-content a:hover {
	gap: 1.2rem;
	color: #2c2c2c
}

.timeline-card {
	opacity: 0;
	will-change: transform, opacity;
	transition: none
}

.services-footer {
	text-align: center;
	margin-top: 8rem
}

.services-footer h3 {
	font-family: "Playfair Display", serif;
	color: #2c2c2c;
	font-size: 2.5rem;
	margin-bottom: 2rem
}

.services-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 2.5rem;
	background: #b34930;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	transition: .4s ease
}

.services-btn:hover {
	background: #d26a4f;
	color: #fff;
	transform: translateY(-3px)
}

@media(max-width:991px) {
	.timeline-line {
		left: 35px
	}

	.timeline-dot {
		left: 35px;
		width: 55px;
		height: 55px
	}

	.timeline-item {
		justify-content: flex-end !important;
		margin-bottom: 5rem
	}

	.timeline-card {
		width: calc(100% - 100px)
	}

	.service-index {
		font-size: 6rem
	}

	.timeline-content {
		padding: 2rem
	}

	.timeline-content h3 {
		font-size: 1.6rem
	}
}

@media(max-width:767px) {
	.luxury-services {
		padding: 6rem 0
	}

	.luxury-services-header {
		margin-bottom: 4rem
	}

	.luxury-services-header h2 {
		font-size: 2.5rem
	}

	.timeline-card {
		width: calc(100% - 80px)
	}

	.timeline-content {
		padding: 1.5rem
	}

	.timeline-content p {
		font-size: .95rem
	}

	.services-footer h3 {
		font-size: 2rem
	}
}

.work-block {
	position: relative;
	height: 500vh;
	background: #000
}

.work-sticky {
	position: sticky;
	top: 0;
	min-height: 100vh;
	display: flex;
	align-items: center;
	overflow: hidden
}

.work-bg {
	position: absolute;
	inset: 0;
	overflow: hidden
}

.work-bg img {
	width: 100%;
	height: 120%;
	object-fit: cover;
	position: absolute;
	inset: 0;
	transform: scale(1);
	transition: transform .2s linear
}

.work-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .85), rgba(0, 0, 0, .45))
}

.work-content {
	position: relative;
	z-index: 5;
	width: 100%;
	max-width: 100%;
	margin-left: 10%;
	color: #fff
}

.work-label {
	display: inline-block;
	margin-bottom: 1rem;
	text-transform: uppercase;
	letter-spacing: .2rem;
	opacity: .7
}

.work-content h2 {
	font-size: 5rem;
	margin-bottom: 1rem
}

.work-steps {
	position: relative
}

.work-step {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 550px;
	opacity: 0;
	transform: translateY(50px);
	transition: opacity .6s ease, transform .6s ease
}

.work-step.active {
	opacity: 1;
	transform: translateY(0)
}

.work-step span {
	display: block;
	font-size: 1rem;
	letter-spacing: .3rem;
	color: #b34930;
	margin-bottom: 1rem
}

.work-step h3 {
	font-size: 2.5rem;
	margin-bottom: 1rem
}

.work-step p {
	font-size: 1.15rem;
	line-height: 2
}

@media(max-width:991px) {
	.work-content {
		padding: 2rem;
		margin-left: 0
	}

	.work-content h2 {
		font-size: 3rem;
		margin-bottom: 4rem
	}

	.work-step h3 {
		font-size: 2rem
	}
}

.accessories-block {
	position: relative;
	padding: 3rem 0;
	background: #efefef;
	color: #fff
}

.accessories-block .container {
	max-width: 1400px
}

.accessories-block h2 {
	font-size: 5rem;
	font-weight: 300;
	line-height: 1.1;
	margin-bottom: 2rem;
	color: #b34930
}

.accessories-block p {
	font-size: 1.15rem;
	line-height: 2;
	max-width: 600px;
	margin-bottom: 3rem;
	opacity: .9;
	color: #000
}

.accessories-block a {
	width: fit-content;
	height: 60px;
	padding: 0 2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	background: #b34930;
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08rem;
	transition: .3s ease
}

.accessories-block a:hover {
	background: #b34930;
	color: #fff
}

.accessories-block .col-6:last-child {
	overflow: hidden
}

.accessories-block img {
	width: 100%;
	height: 700px;
	object-fit: cover;
	display: block;
	transform: scale(1);
	transform-origin: center center;
	will-change: transform;
	transition: transform .15s linear
}

@media(max-width:991px) {
	.accessories-block {
		padding: 5rem 0
	}

	.accessories-block h2 {
		font-size: 3rem
	}

	.accessories-block img {
		height: 500px
	}
}

.experience-block {
	padding: 140px 0;
	background: #f8f6f2;
	position: relative;
	overflow: hidden
}

.experience-header {
	max-width: 800px;
	margin: 0 auto 80px;
	text-align: center
}

.experience-label {
	display: inline-block;
	font-size: 12px;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-bottom: 20px;
	color: #8a7a62
}

.experience-header h2 {
	font-family: "Playfair Display", serif;
	font-size: clamp(42px, 5vw, 72px);
	margin-bottom: 20px;
	font-weight: 500
}

.experience-header p {
	max-width: 650px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.8;
	color: #666
}

.experience-grid {
	max-width: 1400px;
	margin: auto;
	padding: 0 40px;
	display: flex;
	flex-direction: column;
	gap: 24px
}

.experience-card {
	background-color: #b34930;
	padding: 50px;
	display: flex;
	align-items: center;
	gap: 50px;
	border: 1px solid rgba(0, 0, 0, .08);
	transition: all .5s ease;
	cursor: pointer;
	position: relative
}

.experience-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 30px 60px rgba(0, 0, 0, .08)
}

.experience-number {
	font-family: "Playfair Display", serif;
	font-size: 80px;
	line-height: 1;
	color: #fff;
	flex-shrink: 0;
	width: 120px
}

.experience-content {
	flex: 1
}

.experience-content h3 {
	font-size: 34px;
	margin-bottom: 16px;
	font-family: "Playfair Display", serif;
	color: #fff
}

.experience-content p {
	margin: 0;
	font-size: 17px;
	line-height: 1.9;
	color: #fff;
	max-width: 900px
}

.experience-arrow {
	font-size: 24px;
	transition: all .4s ease;
	color: #fff
}

.experience-card:hover .experience-arrow {
	transform: translateX(10px)
}

@media(max-width:991px) {
	.experience-card {
		flex-direction: column;
		align-items: flex-start;
		padding: 40px;
		gap: 25px
	}

	.experience-number {
		font-size: 60px;
		width: auto
	}

	.experience-content h3 {
		font-size: 28px
	}
}

.fabric-collection-block {
	position: relative;
	height: 100vh;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center
}

.fabric-bg {
	position: absolute;
	inset: 0;
	overflow: hidden
}

.fabric-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.2);
	will-change: transform;
	transition: transform .2s linear
}

.fabric-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(0, 0, 0, .35), rgba(0, 0, 0, .65))
}

.fabric-content {
	position: relative;
	z-index: 5;
	max-width: 900px;
	margin: auto;
	text-align: center;
	color: #fff
}

.fabric-label {
	display: block;
	margin-bottom: 1rem;
	letter-spacing: .2rem;
	text-transform: uppercase;
	font-size: .9rem;
	opacity: .8
}

.fabric-content h2 {
	font-size: clamp(3rem, 6vw, 6rem);
	margin-bottom: 2rem
}

.fabric-content p {
	max-width: 700px;
	margin: auto auto 3rem;
	line-height: 2;
	font-size: 1.1rem
}

.fabric-brands {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 3rem
}

.fabric-brands span {
	padding: .8rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, .2);
	backdrop-filter: blur(10px);
	font-size: .9rem;
	letter-spacing: .08rem;
	text-transform: uppercase
}

.fabric-content a {
	height: 60px;
	padding: 0 2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #b34930;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: .08rem;
	transition: .3s ease
}

.fabric-content a:hover {
	background: #fff;
	color: #000
}

.fabric-label,
.fabric-content h2,
.fabric-content p,
.fabric-brands,
.fabric-content a {
	opacity: 0;
	transform: translateY(120px);
	will-change: transform, opacity;
	transition: .3s all ease-in-out
}

.fabric-content h2 {
	transition-delay: .05s
}

.fabric-content p {
	transition-delay: .1s
}

.fabric-brands {
	transition-delay: .15s
}

.fabric-content a {
	transition-delay: .2s
}

.testimonial-slider {
	width: 100%;
	margin: 0 auto;
	position: relative
}

.testimonial-track {
	position: relative;
	min-height: 850px
}

.testimonial-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .8s ease, transform .8s ease
}

.testimonial-slide.active {
	opacity: 1;
	visibility: visible
}

.testimonial-grid {
	display: grid;
	grid-template-columns: 42% 58%;
	align-items: center;
	gap: 0;
	min-height: 850px
}

.testimonial-image {
	position: relative;
	height: 100%;
	overflow: hidden
}

.testimonial-image::before {
	content: "";
	position: absolute;
	inset: 40px;
	border: 1px solid rgba(200, 169, 126, .25);
	z-index: 3;
	pointer-events: none
}

.testimonial-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgba(0, 0, 0, .2));
	z-index: 2
}

.testimonial-image img {
	width: 100%;
	height: 850px;
	object-fit: cover;
	display: block;
	transform: scale(1);
	transition: 1.2s ease
}

.testimonial-slide.active .testimonial-image img {
	transform: scale(1.04)
}

.testimonial-content {
	position: relative;
	padding: 8rem;
	background: #f8f5f0;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center
}

.testimonial-content::before {
	content: "\201C";
	position: absolute;
	top: 20px;
	left: 40px;
	font-family: "Playfair Display", serif;
	font-size: 16rem;
	line-height: 1;
	color: rgba(179, 73, 48, .08);
	pointer-events: none
}

.testimonial-rating {
	display: flex;
	gap: .5rem;
	margin-bottom: 2rem
}

.testimonial-rating i {
	color: #b34930;
	font-size: .95rem
}

.testimonial-content blockquote {
	margin: 0 0 3rem;
	padding: 0;
	font-family: "Playfair Display", serif;
	font-size: clamp(2rem, 2.4vw, 3.3rem);
	line-height: 1.45;
	color: #2c2c2c;
	font-weight: 300;
	max-width: 850px
}

.testimonial-author {
	padding-top: 2rem;
	border-top: 1px solid rgba(0, 0, 0, .08)
}

.testimonial-author h3 {
	color: #2c2c2c;
	font-size: 1.4rem;
	margin-bottom: .5rem
}

.testimonial-author span {
	color: #b34930;
	font-size: .8rem;
	letter-spacing: 3px;
	text-transform: uppercase
}

.testimonial-controls {
	position: absolute;
	bottom: 80px;
	right: 8rem;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	z-index: 50
}

.testimonial-prev,
.testimonial-next {
	width: 65px;
	height: 65px;
	border: 1px solid rgba(0, 0, 0, .08);
	background: rgba(255, 255, 255, .8);
	color: #2c2c2c;
	backdrop-filter: blur(10px);
	transition: .4s ease
}

.testimonial-prev:hover,
.testimonial-next:hover {
	background: #b34930;
	border-color: #b34930;
	color: #fff;
	transform: translateY(-4px)
}

.testimonial-progress {
	width: 240px;
	height: 2px;
	background: rgba(0, 0, 0, .08);
	position: relative;
	overflow: hidden
}

.testimonial-progress span {
	position: absolute;
	inset: 0;
	width: 0;
	background: #b34930
}

.testimonial-slide::after {
	content: attr(data-slide);
	position: absolute;
	right: 80px;
	top: 60px;
	font-size: 10rem;
	font-weight: 700;
	color: rgba(179, 73, 48, .08);
	line-height: 1;
	pointer-events: none
}

.testimonial-counter {
	color: #b34930;
	font-size: .85rem;
	letter-spacing: 2px;
	min-width: 60px;
	text-align: center
}

@media(max-width:1200px) {
	.testimonial-content {
		padding: 5rem
	}

	.testimonial-content blockquote {
		font-size: 2.4rem
	}
}

@media(max-width:991px) {
	.testimonial-track {
		min-height: auto
	}

	.testimonial-grid {
		grid-template-columns: 1fr
	}

	.testimonial-image img {
		height: 600px
	}

	.testimonial-content {
		padding: 4rem 2rem
	}

	.testimonial-controls {
		position: relative;
		bottom: auto;
		right: auto;
		margin-top: 2rem;
		justify-content: center
	}
}

@media(max-width:767px) {
	.testimonial-image img {
		height: 450px
	}

	.testimonial-content {
		padding: 3rem 1.5rem
	}

	.testimonial-content::before {
		font-size: 8rem;
		left: 15px;
		top: 10px
	}

	.testimonial-content blockquote {
		font-size: 1.6rem
	}

	.testimonial-progress {
		width: 120px
	}
}

.founder-statement {
	position: relative;
	overflow: hidden;
	background: #f8f5f0
}

.founder-wrapper {
	display: grid;
	grid-template-columns: 48% 52%;
	min-height: 900px
}

.founder-image {
	position: relative;
	overflow: hidden
}

.founder-image::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, .05), rgba(248, 245, 240, .35));
	z-index: 2
}

.founder-image::after {
	content: "";
	position: absolute;
	inset: 40px;
	border: 1px solid rgba(200, 169, 126, .18);
	z-index: 3;
	pointer-events: none
}

.founder-image img {
	width: 100%;
	height: 100%;
	min-height: 900px;
	object-fit: cover;
	display: block;
	transition: 1.5s ease
}

.founder-statement:hover .founder-image img {
	transform: scale(1.05)
}

.founder-content {
	position: relative;
	background: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 8rem
}

.founder-content::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top right, rgba(179, 73, 48, .08), transparent 45%);
	pointer-events: none
}

.founder-label {
	display: inline-flex;
	align-items: center;
	gap: .8rem;
	width: max-content;
	color: #b34930;
	text-transform: uppercase;
	letter-spacing: 4px;
	font-size: .8rem;
	margin-bottom: 2rem
}

.founder-label::before {
	content: "";
	width: 50px;
	height: 1px;
	background: #b34930
}

.quote-icon {
	margin-bottom: 2rem
}

.quote-icon i {
	font-size: 4rem;
	color: #b34930;
	opacity: .9
}

.founder-content h2 {
	font-family: "Playfair Display", serif;
	font-size: clamp(2.8rem, 4vw, 5rem);
	line-height: 1.15;
	font-weight: 400;
	color: #2c2c2c;
	margin-bottom: 2rem;
	max-width: 850px
}

.founder-content p {
	max-width: 700px;
	color: rgba(44, 44, 44, .75);
	font-size: 1.05rem;
	line-height: 2;
	margin-bottom: 3rem
}

.founder-info {
	border-top: 1px solid rgba(255, 255, 255, .08);
	padding-top: 2rem;
	width: max-content
}

.founder-info h4 {
	color: #fff;
	font-size: 1.4rem;
	margin-bottom: .5rem;
	font-weight: 600
}

.founder-info span {
	color: #2c2c2c;
	border-right: 1px solid rgba(0, 0, 0, .08);
	text-transform: uppercase;
	letter-spacing: 3px;
	font-size: .8rem
}

.founder-signature {
	margin-top: 2rem
}

.founder-signature img {
	max-width: 180px;
	opacity: .8
}

.founder-awards {
	display: flex;
	gap: 2rem;
	margin-top: 3rem;
	flex-wrap: wrap
}

.founder-awards span {
	color: #fff;
	font-size: .85rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding-right: 2rem;
	border-right: 1px solid rgba(255, 255, 255, .1)
}

.founder-awards span:last-child {
	border-right: 0;
	padding-right: 0
}

.founder-content::after {
	content: "EST. 2009";
	position: absolute;
	right: 50px;
	bottom: 50px;
	font-size: 7rem;
	font-weight: 700;
	line-height: 1;
	color: #b3493011;
	pointer-events: none
}

@media(max-width:1200px) {
	.founder-content {
		padding: 5rem
	}

	.founder-content h2 {
		font-size: 3.5rem
	}
}

@media(max-width:991px) {
	.founder-wrapper {
		grid-template-columns: 1fr
	}

	.founder-image {
		height: 650px
	}

	.founder-image img {
		min-height: 650px
	}

	.founder-content {
		padding: 4rem 2rem
	}

	.founder-content h2 {
		font-size: 3rem
	}

	.founder-content::after {
		display: none
	}
}

@media(max-width:767px) {
	.founder-image {
		height: 500px
	}

	.founder-image img {
		min-height: 500px
	}

	.founder-content {
		padding: 3rem 1.5rem
	}

	.founder-content h2 {
		font-size: 2.2rem
	}

	.founder-content p {
		font-size: 1rem;
		line-height: 1.8
	}

	.founder-awards {
		flex-direction: column;
		gap: 1rem
	}

	.founder-awards span {
		border: 0;
		padding: 0
	}
}

.faq-section {
	position: relative;
	padding: 10rem 0;
	background: #b3493011;
	overflow: hidden
}

.faq-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top right, rgba(179, 73, 48, .08), transparent 45%);
	pointer-events: none
}

.faq-wrapper {
	display: grid;
	grid-template-columns: 450px 1fr;
	gap: 7rem;
	align-items: start;
	position: relative;
	z-index: 2
}

.faq-content {
	position: sticky;
	top: 120px
}

.faq-label {
	display: inline-block;
	color: #b34930;
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: 4px;
	margin-bottom: 1.5rem
}

.faq-content h2 {
	color: #2c2c2c;
	font-size: clamp(2.8rem, 4vw, 5rem);
	line-height: 1.1;
	margin-bottom: 2rem;
	font-family: "Playfair Display", serif
}

.faq-content p {
	color: rgba(44, 44, 44, .75);
	line-height: 2;
	margin-bottom: 2.5rem
}

.faq-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	height: 58px;
	padding: 0 2rem;
	color: #2c2c2c;
	border: 1px solid #b34930;
	text-decoration: none;
	transition: .4s ease
}

.faq-cta:hover {
	background: #b34930;
	color: #fff
}

.faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 1.25rem
}

.faq-item {
	background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(248, 245, 240, .95));
	border: 1px solid rgba(0, 0, 0, .08);
	transition: border-color .35s ease, background .35s ease, transform .35s ease
}

.faq-item:hover {
	border-color: rgba(179, 73, 48, .25);
	transform: translateY(-2px)
}

.faq-item.active {
	border-color: #b34930;
	background: linear-gradient(180deg, rgba(200, 169, 126, .10), rgba(200, 169, 126, .04))
}

.faq-trigger {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
	background: 0;
	border: 0;
	padding: 2rem;
	color: #2c2c2c;
	cursor: pointer;
	text-align: left
}

.faq-trigger span {
	font-size: 1.15rem;
	line-height: 1.5;
	font-weight: 500
}

.faq-icon {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(0, 0, 0, .08);
	color: #b34930;
	transition: .35s ease
}

.faq-item.active .faq-icon {
	background: #b34930;
	color: #fff
}

.faq-item.active .faq-icon i {
	transform: rotate(135deg)
}

.faq-icon i {
	transition: .35s ease
}

.faq-body {
	max-height: 0;
	overflow: hidden;
	transition: max-height .45s cubic-bezier(.4, 0, .2, 1)
}

.faq-body-inner {
	padding: 0 2rem 2rem
}

.faq-body p {
	margin: 0;
	color: rgba(44, 44, 44, .75);
	line-height: 2;
	font-size: 1rem
}

.faq-item.active .faq-body {
	max-height: 400px
}

@media(max-width:1200px) {
	.faq-wrapper {
		grid-template-columns: 380px 1fr;
		gap: 4rem
	}
}

@media(max-width:991px) {
	.faq-section {
		padding: 7rem 0
	}

	.faq-wrapper {
		grid-template-columns: 1fr;
		gap: 3rem
	}

	.faq-content {
		position: relative;
		top: auto
	}
}

@media(max-width:767px) {
	.faq-content h2 {
		font-size: 2.4rem
	}

	.faq-trigger {
		padding: 1.5rem
	}

	.faq-trigger span {
		font-size: 1rem
	}

	.faq-body-inner {
		padding: 0 1.5rem 1.5rem
	}

	.faq-icon {
		width: 36px;
		height: 36px
	}
}

.footer-parallax {
	position: relative;
	min-height: 100vh;
	overflow: hidden;
	background: #050505;
	color: #fff
}

.footer-background {
	position: absolute;
	inset: 0;
	z-index: 1
}

.footer-background img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.08)
}

.footer-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, rgba(0, 0, 0, .75) 0, rgba(0, 0, 0, .88) 40%, rgba(0, 0, 0, .95) 100%)
}

.footer-inner {
	position: relative;
	z-index: 5;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 8rem 0 3rem
}

.footer-hero {
	margin-bottom: 7rem
}

.footer-label {
	display: inline-block;
	font-size: .75rem;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: #b34930;
	margin-bottom: 1.5rem
}

.footer-hero h2 {
	max-width: 1000px;
	margin: 0 auto;
	font-family: "Playfair Display", serif;
	font-size: clamp(4rem, 8vw, 8rem);
	line-height: .95;
	font-weight: 500;
	color: #fff
}

.footer-hero h2 span {
	display: block;
	color: #b34930
}

.footer-btn {
	display: inline-flex;
	align-items: center;
	gap: .9rem;
	margin-top: 3rem;
	padding: 18px 42px;
	border: 1px solid #b34930;
	text-decoration: none;
	color: #fff;
	transition: .45s ease
}

.footer-btn:hover {
	background: #b34930;
	color: #111
}

.footer-content {
	margin-bottom: 6rem
}

.footer-heading {
	display: block;
	margin-bottom: 2rem;
	font-size: .8rem;
	letter-spacing: 3px;
	color: #b34930;
	text-transform: uppercase
}

.footer-contact p {
	color: rgba(255, 255, 255, .65);
	line-height: 2;
	margin-bottom: 2rem
}

.footer-contact a {
	display: block;
	color: #fff;
	text-decoration: none;
	margin-bottom: 1rem;
	transition: .3s ease
}

.footer-contact a:hover {
	color: #b34930
}

.footer-hours {
	display: flex;
	justify-content: space-between;
	padding: 1rem 0;
	border-top: 1px solid rgba(255, 255, 255, .08)
}

.footer-hours strong {
	font-weight: 500
}

.footer-hours span {
	color: rgba(255, 255, 255, .6)
}

.footer-nav ul {
	padding: 0;
	margin: 0;
	list-style: none
}

.footer-nav li {
	border-bottom: 1px solid rgba(255, 255, 255, .08)
}

.footer-nav a {
	display: flex;
	flex-direction: column;
	padding: 1.25rem 0;
	text-decoration: none;
	overflow: hidden
}

.footer-nav a span {
	color: #fff;
	font-size: 1.4rem;
	transition: .4s ease
}

.footer-nav a small {
	color: #b34930;
	margin-top: .35rem;
	opacity: 0;
	transform: translateY(20px);
	transition: .4s ease
}

.footer-nav a:hover span {
	transform: translateY(-12px)
}

.footer-nav a:hover small {
	opacity: 1;
	transform: translateY(0)
}

.footer-map-card {
	background: rgba(255, 255, 255, .03);
	backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, .08);
	overflow: hidden
}

.footer-map-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem
}

.footer-map-header span {
	color: #fff
}

.footer-map-header a {
	text-decoration: none;
	color: #b34930
}

.footer-map {
	height: 280px
}

.footer-map iframe {
	width: 100%;
	height: 100%;
	border: 0
}

.footer-marquee {
	overflow: hidden;
	border-top: 1px solid rgba(255, 255, 255, .08);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	padding: 1.5rem 0;
	margin-bottom: 3rem
}

.footer-marquee-track {
	display: flex;
	gap: 5rem;
	white-space: nowrap
}

.footer-marquee-track a {
	color: #b34930;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: .85rem;
	text-decoration: none;
}

.footer-marquee-track a:hover {
	text-decoration: underline;
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem
}

.footer-bottom p {
	margin: 0;
	color: rgba(255, 255, 255, .5)
}

.footer-bottom-links {
	display: flex;
	gap: 2rem
}

.footer-bottom-links a {
	color: rgba(255, 255, 255, .7);
	text-decoration: none;
	transition: .3s ease
}

.footer-bottom-links a:hover {
	color: #b34930
}

.footer-top {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .15);
	background: transparent;
	color: #fff;
	transition: .4s ease
}

.footer-top:hover {
	background: #b34930;
	color: #111;
	border-color: #b34930
}

.footer-parallax::before {
	content: "";
	position: absolute;
	top: 10%;
	right: 10%;
	width: 500px;
	height: 500px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(200, 169, 126, .12), transparent 70%);
	filter: blur(80px);
	z-index: 2
}

.reveal-item {
	opacity: 0;
	transform: translateY(80px);
	transition: opacity .8s ease, transform .8s ease
}

.reveal-item.is-visible {
	opacity: 1;
	transform: translateY(0)
}

@media(max-width:991px) {
	.footer-inner {
		padding: 6rem 0 2rem
	}

	.footer-hero {
		margin-bottom: 4rem
	}

	.footer-hero h2 {
		font-size: 3.5rem
	}

	.footer-bottom {
		flex-direction: column;
		text-align: center
	}
}

@media(max-width:767px) {
	.footer-hero h2 {
		font-size: 2.8rem
	}

	.footer-nav a span {
		font-size: 1.15rem
	}

	.footer-map {
		height: 220px
	}

	.footer-bottom-links {
		flex-direction: column;
		gap: .75rem
	}
}


/*=========================================
FOOTER BESPOKE MENU
=========================================*/

.footer-bespoke-menu{
    margin:0;
    padding:0;
    list-style:none;
}

.footer-bespoke-menu li{
    margin:0;
    padding:0;
}

.footer-bespoke-menu li + li{
    margin-top:12px;
}

.footer-bespoke-menu li a{
    display:flex;
    align-items:center;
    justify-content:space-between;
	flex-direction: row;
    position:relative;
    padding:10px 0;
    color:var(--dark-color);
    font-size:16px;
    font-weight:500;
    line-height:1.6;
    text-decoration:none;
    transition:all .35s ease;
}

.footer-bespoke-menu li a::before{
    content:"";
    width:0;
    height:1px;
    background:var(--primary-color);
    position:absolute;
    left:0;
    bottom:0;
    transition:all .35s ease;
}

.footer-bespoke-menu li a::after{
    content:"\f178";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:13px;
    color:var(--primary-color);
    opacity:0;
    transform:translateX(-10px);
    transition:all .35s ease;
}

.footer-bespoke-menu li a:hover{
    color:var(--primary-color);
    padding-left:10px;
}

.footer-bespoke-menu li a:hover::before{
    width:100%;
}

.footer-bespoke-menu li a:hover::after{
    opacity:1;
    transform:translateX(0);
}

/* Current Page */

.footer-bespoke-menu .current-menu-item > a,
.footer-bespoke-menu .current_page_item > a,
.footer-bespoke-menu .current-menu-ancestor > a{
    color:var(--primary-color);
    font-weight:600;
    padding-left:10px;
}

.footer-bespoke-menu .current-menu-item > a::before,
.footer-bespoke-menu .current_page_item > a::before,
.footer-bespoke-menu .current-menu-ancestor > a::before{
    width:100%;
}

.footer-bespoke-menu .current-menu-item > a::after,
.footer-bespoke-menu .current_page_item > a::after,
.footer-bespoke-menu .current-menu-ancestor > a::after{
    opacity:1;
    transform:translateX(0);
}

/* Optional Sub Menu Support */

.footer-bespoke-menu .sub-menu{
    margin-top:12px;
    margin-left:20px;
    padding-left:18px;
    list-style:none;
    border-left:1px solid rgba(0,0,0,.08);
}

.footer-bespoke-menu .sub-menu li + li{
    margin-top:8px;
}

.footer-bespoke-menu .sub-menu a{
    font-size:15px;
    color:var(--text-color);
}

.about-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 100vh;
	padding: 120px 0 70px;
	overflow: hidden;
	color: #fff
}

.about-hero-bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 1
}

.about-hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.08);
	will-change: transform;
	transition: transform .15s linear
}

.about-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, rgba(0, 0, 0, .30), rgba(0, 0, 0, .65))
}

.about-hero .container {
	position: relative;
	z-index: 5
}

.about-hero-content {
	max-width: 760px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100vh - 190px)
}

.about-label,
.about-hero h1,
.about-divider,
.about-meta {
	opacity: 0;
	transition: transform .9s cubic-bezier(.22, .61, .36, 1), opacity .9s ease
}

.about-label {
	display: inline-block;
	margin-bottom: 2.25rem;
	color: #b34930;
	font-size: .9rem;
	letter-spacing: 4px;
	text-transform: uppercase;
	transform: translateY(40px)
}

.about-hero h1 {
	font-size: clamp(3rem, 5vw, 5.4rem);
	line-height: 1.05;
	font-weight: 400;
	margin-bottom: 2.5rem;
	transform: translateY(55px);
	transition-delay: .15s
}

.about-hero h1 span {
	display: block
}

.about-divider {
	width: 120px;
	height: 2px;
	background: #b34930;
	margin-bottom: 3rem;
	transform: scaleX(0);
	transform-origin: left center;
	transition-delay: .3s
}

.about-meta {
	display: flex;
	gap: 3rem;
	flex-wrap: wrap;
	transform: translateY(40px);
	transition-delay: .45s
}

.about-meta-item {
	display: flex;
	flex-direction: column
}

.about-meta-item small {
	color: #b34930;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-bottom: .75rem
}

.about-meta-item strong {
	font-size: 1.05rem;
	line-height: 1.5
}

.about-hero.loaded .about-label,
.about-hero.loaded h1,
.about-hero.loaded .about-divider,
.about-hero.loaded .about-meta {
	opacity: 1;
	transform: none
}

.about-hero.loaded .about-divider {
	transform: scaleX(1)
}

@media(max-width:991px) {
	.about-hero {
		text-align: center;
		padding: 110px 0 60px
	}

	.about-hero-content {
		max-width: 100%;
		min-height: auto
	}

	.about-divider {
		margin-inline: auto
	}

	.about-meta {
		justify-content: center;
		gap: 2rem
	}
}

@media(max-width:767px) {
	.about-hero {
		padding: 100px 0 50px
	}

	.about-hero h1 {
		font-size: 2.6rem;
		line-height: 1.1
	}

	.about-meta {
		flex-direction: column;
		gap: 1.5rem
	}
}

.brand-story {
	background: #fff
}

.brand-story-wrapper {
	display: flex;
	min-height: 100vh
}

.brand-story-media {
	width: 50%;
	position: relative
}

.brand-story-media-inner {
	position: sticky;
	top: 0;
	height: 100vh;
	overflow: hidden
}

.brand-story-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: scale(1.1);
	will-change: transform
}

.brand-story-content {
	width: 50%;
	background: #f8f5f0
}

.brand-story-content-inner {
	padding: 10rem 8rem
}

.story-block {
	opacity: 0;
	transform: translateY(120px);
	transition: opacity .9s ease, transform .9s cubic-bezier(.22, 1, .36, 1)
}

.story-block.visible {
	opacity: 1;
	transform: translateY(0)
}

.story-label {
	display: inline-block;
	margin-bottom: 1rem;
	color: #b34930;
	font-size: .85rem;
	letter-spacing: 3px;
	text-transform: uppercase
}

.story-block h2 {
	font-family: "Playfair Display", serif;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1.1;
	color: #2c2c2c;
	margin-bottom: 2rem
}

.story-block h3 {
	font-family: "Playfair Display", serif;
	font-size: clamp(2rem, 3vw, 3rem);
	color: #2c2c2c;
	margin-bottom: 1.5rem
}

.story-block p {
	font-size: 1.1rem;
	line-height: 2;
	color: rgba(44, 44, 44, .75)
}

@media(max-width:991px) {
	.brand-story-wrapper {
		flex-direction: column;
		min-height: auto
	}

	.brand-story-media,
	.brand-story-content {
		width: 100%
	}

	.brand-story-media-inner {
		position: relative;
		height: 70vh
	}

	.brand-story-content-inner {
		padding: 5rem 2rem
	}

	.story-block {
		min-height: auto;
		margin-bottom: 5rem
	}
}

.about-philosophy {
	position: relative;
	padding: 10rem 0;
	background: #fff;
	overflow: hidden
}

.about-philosophy::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center top, rgba(179, 73, 48, .06), transparent 55%);
	pointer-events: none
}

.philosophy-header {
	max-width: 900px;
	margin: 0 auto 6rem;
	text-align: center
}

.philosophy-label {
	display: inline-block;
	margin-bottom: 1.25rem;
	color: #b34930;
	font-size: .85rem;
	text-transform: uppercase;
	letter-spacing: 4px
}

.philosophy-header h2 {
	font-family: "Playfair Display", serif;
	font-size: clamp(3rem, 6vw, 5.5rem);
	line-height: 1.05;
	color: #2c2c2c;
	margin-bottom: 2rem
}

.philosophy-header h2 span {
	display: block
}

.philosophy-header p {
	max-width: 700px;
	margin: auto;
	font-size: 1.1rem;
	line-height: 2;
	color: rgba(44, 44, 44, .72)
}

.philosophy-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem
}

.philosophy-card {
	background: #fff;
	padding: 3.5rem 3rem;
	border: 1px solid rgba(0, 0, 0, .08);
	text-align: center;
	transition: .45s ease;
	position: relative;
	overflow: hidden
}

.philosophy-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	background: #b34930;
	transform: scaleX(0);
	transform-origin: left;
	transition: .45s ease
}

.philosophy-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 30px 60px rgba(0, 0, 0, .08)
}

.philosophy-card:hover::before {
	transform: scaleX(1)
}

.philosophy-icon {
	width: 90px;
	height: 90px;
	margin: 0 auto 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #f8f5f0;
	color: #b34930;
	font-size: 2rem;
	transition: .4s ease
}

.philosophy-card:hover .philosophy-icon {
	background: #b34930;
	color: #fff;
	transform: rotate(-10deg) scale(1.05)
}

.philosophy-card h3 {
	font-family: "Playfair Display", serif;
	color: #2c2c2c;
	font-size: 2rem;
	margin-bottom: 1rem
}

.philosophy-card p {
	color: rgba(44, 44, 44, .72);
	line-height: 1.9;
	margin: 0
}

@media(max-width:991px) {
	.about-philosophy {
		padding: 7rem 0
	}

	.philosophy-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem
	}

	.philosophy-card {
		padding: 2.5rem
	}
}

@media(max-width:767px) {
	.philosophy-header {
		margin-bottom: 4rem
	}

	.philosophy-header h2 {
		font-size: 2.6rem
	}

	.philosophy-card h3 {
		font-size: 1.7rem
	}
}

.craftsmanship-section {
	position: relative;
	width: 100%;
	padding: 10rem 0;
	background: #faf9f7;
	overflow: hidden
}

.craft-layout {
	display: grid;
	grid-template-columns: 50% 50%;
	align-items: flex-start
}

.craft-visual {
	position: relative;
	padding: 0 5rem
}

.craft-visual-sticky {
	position: sticky;
	top: 7rem;
	height: 86vh
}

.craft-gallery {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 0;
	overflow: hidden;
	background: #111
}

.craft-image {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .9s ease, transform 1.4s ease, visibility .9s;
	transform: scale(1.08)
}

.craft-image.active {
	opacity: 1;
	visibility: visible;
	transform: scale(1)
}

.craft-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.05);
	transition: transform 1.2s ease, filter .8s ease
}

.craft-image:not(.active) img {
	filter: brightness(.75)
}

.craft-image figcaption {
	position: absolute;
	left: 2rem;
	bottom: 2rem;
	padding: 1rem 1.4rem;
	backdrop-filter: blur(18px);
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 0;
	color: #fff;
	font-size: .95rem;
	letter-spacing: .08em;
	opacity: 0;
	transform: translateY(20px);
	transition: .6s ease
}

.craft-image.active figcaption {
	opacity: 1;
	transform: translateY(0)
}

.craft-image figcaption span {
	display: block;
	margin-bottom: .35rem;
	font-size: .75rem;
	letter-spacing: .25em;
	color: #d8b56a
}

.craft-counter {
	position: absolute;
	top: 2rem;
	right: 2rem;
	z-index: 20;
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	backdrop-filter: blur(15px);
	border: 1px solid rgba(255, 255, 255, .15);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #fff
}

.current-step {
	font-size: 2rem;
	font-family: var(--heading-font)
}

.divider {
	width: 28px;
	height: 1px;
	margin: .3rem 0;
	background: rgba(255, 255, 255, .35)
}

.total-step {
	font-size: .85rem;
	opacity: .7
}

.craft-content {
	position: relative;
	padding: 0 7rem 0 6rem
}

.craft-progress {
	position: absolute;
	top: 0;
	left: 2.25rem;
	width: 2px;
	height: 100%
}

.craft-progress-track {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .08)
}

.craft-progress-fill {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	background: var(--primary-color)
}

.craft-step {
	position: relative;
	display: flex;
	align-items: center;
	gap: 3rem;
	min-height: 82vh
}

.craft-step:last-child {
	min-height: 60vh
}

.craft-step-number {
	position: relative;
	width: 78px;
	height: 78px;
	flex-shrink: 0;
	border-radius: 50%;
	border: 2px solid rgba(0, 0, 0, .08);
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--heading-font);
	font-size: 1.4rem;
	color: #999;
	transition: .45s;
	z-index: 2
}

.craft-step.active .craft-step-number {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
	transform: scale(1.08);
	box-shadow: 0 18px 45px rgba(0, 0, 0, .15)
}

.craft-step-content {
	max-width: 560px
}

.craft-label {
	display: inline-block;
	margin-bottom: 1rem;
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .22em;
	color: var(--primary-color)
}

.craft-step-content h2 {
	margin-bottom: 1.6rem;
	font-family: var(--heading-font);
	font-size: clamp(2.6rem, 4vw, 4rem);
	font-weight: 500;
	line-height: 1.05;
	color: var(--heading-color)
}

.craft-step-content p {
	max-width: 500px;
	line-height: 2;
	color: var(--text-color);
	font-size: 1.05rem
}

.craft-step-number,
.craft-label,
.craft-step-content h2,
.craft-step-content p {
	transition: .55s ease
}

.craft-step:not(.active) .craft-step-number {
	transform: scale(.85);
	opacity: .35
}

.craft-step:not(.active) .craft-label,
.craft-step:not(.active) h2,
.craft-step:not(.active) p {
	opacity: .25;
	transform: translateY(35px)
}

.craft-step.active .craft-label,
.craft-step.active h2,
.craft-step.active p {
	opacity: 1;
	transform: none
}

@media(max-width:1024px) {
	.craft-layout {
		grid-template-columns: 1fr;
		gap: 5rem
	}

	.craft-visual {
		padding: 0 2rem
	}

	.craft-visual-sticky {
		position: relative;
		top: auto;
		height: 65vh
	}

	.craft-content {
		padding: 0 2rem
	}

	.craft-step {
		min-height: 55vh
	}

	.craft-step:last-child {
		min-height: 45vh
	}
}

@media(max-width:768px) {
	.craftsmanship-section {
		padding: 6rem 0
	}

	.craft-visual {
		padding: 0 1.25rem
	}

	.craft-visual-sticky {
		height: 45vh
	}

	.craft-content {
		padding: 0 1.25rem
	}

	.craft-progress {
		left: 1.6rem
	}

	.craft-step {
		gap: 1.5rem;
		align-items: flex-start;
		padding: 4rem 0;
		min-height: auto
	}

	.craft-step:last-child {
		min-height: auto
	}

	.craft-step-number {
		width: 58px;
		height: 58px;
		font-size: 1rem
	}

	.craft-step-content h2 {
		font-size: 2rem
	}

	.craft-step-content p {
		font-size: .95rem;
		line-height: 1.8
	}

	.craft-counter {
		width: 70px;
		height: 70px;
		top: 1rem;
		right: 1rem
	}

	.current-step {
		font-size: 1.5rem
	}
}

.why-libas {
	position: relative;
	padding: 10rem 0;
	background: var(--section-bg);
	overflow: hidden
}

.why-libas::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 140px;
	background: linear-gradient(to bottom, transparent, rgba(184, 145, 80, .35), transparent)
}

.why-libas-header {
	max-width: 760px;
	margin: 0 auto 6rem;
	text-align: center
}

.why-libas-header h2 {
	margin: 1rem 0 1.75rem
}

.why-libas-header p {
	max-width: 620px;
	margin: auto
}

.why-libas-grid {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 1rem
}

.why-card {
	width: calc(100% / 4 - 1rem);
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 1.25rem;
	min-height: 420px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .07);
	border-radius: 0;
	transition: transform .45s cubic-bezier(.22, .61, .36, 1), border-color .45s ease, box-shadow .45s ease
}

.why-card-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 1rem
}

.why-icon {
	width: 68px;
	height: 68px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid rgba(184, 145, 80, .18);
	transition: .45s ease
}

.why-icon i {
	font-size: 1.25rem;
	color: var(--primary-color);
	transition: .45s ease
}

.why-stat {
	display: flex;
	align-items: flex-start;
	font-family: var(--heading-font);
	line-height: 1
}

.why-stat span {
	font-size: clamp(3.5rem, 4vw, 5rem);
	font-weight: 500;
	color: var(--heading-color);
	transition: .45s ease
}

.why-stat small {
	margin-left: .2rem;
	font-size: 2rem;
	color: var(--primary-color)
}

.why-text {
	font-size: 2rem;
	font-weight: 500;
	color: var(--heading-color)
}

.why-divider {
	width: 60px;
	height: 2px;
	margin-bottom: .5rem;
	background: var(--primary-color);
	transition: .45s ease
}

.why-card-content h3 {
	margin-bottom: 1.25rem;
	font-size: 1.6rem;
	line-height: 1.2
}

.why-card-content p {
	margin: 0;
	line-height: 1.9;
	color: var(--text-color)
}

.why-card:hover {
	transform: translateY(-8px);
	border-color: rgba(184, 145, 80, .25);
	box-shadow: 0 20px 45px rgba(0, 0, 0, .08)
}

.why-card:hover .why-divider {
	width: 100%
}

.why-card:hover .why-icon {
	transform: rotate(-8deg);
	border-color: var(--primary-color)
}

.why-card:hover .why-stat span,
.why-card:hover .why-text {
	color: var(--primary-color)
}

.why-card {
	opacity: 0;
	transform: translateY(40px);
	animation: whyFade .8s ease forwards
}

.why-card:nth-child(2) {
	animation-delay: .15s
}

.why-card:nth-child(3) {
	animation-delay: .3s
}

.why-card:nth-child(4) {
	animation-delay: .45s
}

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

@media(max-width:1100px) {
	.why-libas-grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.why-card {
		min-height: 360px
	}
}

@media(max-width:768px) {
	.why-libas {
		padding: 7rem 0
	}

	.why-libas-header {
		margin-bottom: 4rem
	}

	.why-libas-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem
	}

	.why-card {
		padding: 2.5rem;
		min-height: auto
	}

	.why-card-top {
		margin-bottom: 2rem
	}

	.why-stat span {
		font-size: 3.5rem
	}

	.why-text {
		font-size: 2.5rem
	}

	.why-card-content h3 {
		font-size: 1.35rem
	}
}

.contact-hero {
	position: relative;
	height: 100vh;
	min-height: 900px;
	display: flex;
	align-items: center;
	overflow: hidden;
	color: #fff
}

.contact-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 1
}

.contact-hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.08);
	animation: heroZoom 10s ease-in-out infinite alternate
}

.contact-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(to right, rgba(12, 12, 12, .86) 0, rgba(12, 12, 12, .62) 45%, rgba(12, 12, 12, .25) 100%)
}

.contact-circle {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 2
}

.contact-circle-one {
	width: 520px;
	height: 520px;
	top: -220px;
	right: -180px;
	background: radial-gradient(circle, rgba(184, 145, 80, .16), transparent 70%)
}

.contact-circle-two {
	width: 380px;
	height: 380px;
	bottom: -180px;
	left: -120px;
	background: radial-gradient(circle, rgba(184, 145, 80, .08), transparent 70%)
}

.contact-hero .container {
	position: relative;
	z-index: 5
}

.contact-hero-wrapper {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	align-items: center;
	gap: 8rem
}

.contact-label {
	display: inline-flex;
	align-items: center;
	gap: .8rem;
	margin-bottom: 2rem;
	font-size: .82rem;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .72)
}

.contact-label::before {
	content: "";
	width: 55px;
	height: 1px;
	background: #b34930
}

.contact-hero-content h1 {
	max-width: 720px;
	margin-bottom: 2rem;
	color: #b34930;
	line-height: 1;
	font-size: clamp(3.8rem, 7vw, 6.5rem)
}

.contact-hero-content h1 span {
	display: block
}

.contact-hero-content p {
	max-width: 620px;
	font-size: 1.08rem;
	line-height: 2;
	color: rgba(255, 255, 255, .82);
	margin-bottom: 3rem
}

.contact-hero-buttons {
	display: flex;
	gap: 1.25rem;
	flex-wrap: wrap
}

.contact-hero-buttons a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 58px;
	padding: 0 2.2rem;
	border-radius: 0;
	text-decoration: none;
	transition: .45s ease
}

.primary-btn {
	/* background: var(--primary-color); */
	/* color: #fff; */
}

.primary-btn:hover {
	transform: translateY(-4px);
	color: #fff
}

.secondary-btn {
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .3)
}

.secondary-btn:hover {
	background: #fff;
	color: #111
}

.contact-hero-card {
	position: relative;
	padding: 3rem;
	background: rgba(255, 255, 255, .06);
	backdrop-filter: blur(18px);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 0;
}

.contact-hero-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 100%;
	background: var(--primary-color);
	border-radius: 0;
}

.card-label {
	display: block;
	margin-bottom: 1rem;
	text-transform: uppercase;
	letter-spacing: .25em;
	font-size: .75rem;
	color: var(--primary-color)
}

.contact-hero-card h3 {
	color: #fff;
	margin-bottom: 2.5rem;
	font-size: 2rem
}

.contact-hero-card ul {
	margin: 0;
	padding: 0;
	list-style: none
}

.contact-hero-card li {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start
}

.contact-hero-card li:not(:last-child) {
	margin-bottom: 2rem
}

.contact-hero-card i {
	width: 56px;
	height: 56px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	color: var(--primary-color);
	flex-shrink: 0
}

.contact-hero-card strong {
	display: block;
	margin-bottom: .45rem;
	color: #fff
}

.contact-hero-card span {
	color: rgba(255, 255, 255, .75);
	line-height: 1.8
}

.contact-scroll {
	position: absolute;
	bottom: 3rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	z-index: 6
}

.contact-scroll>span {
	font-size: .78rem;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .6)
}

.scroll-mouse {
	width: 30px;
	height: 54px;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 0;
	position: relative
}

.scroll-mouse span {
	position: absolute;
	left: 50%;
	top: 10px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--primary-color);
	transform: translateX(-50%);
	animation: scrollWheel 2s infinite
}

@keyframes heroZoom {
	from {
		transform: scale(1.08)
	}

	to {
		transform: scale(1.16)
	}
}

@keyframes scrollWheel {
	0% {
		opacity: 0;
		top: 10px;
	}

	40% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		top: 28px;
	}
}

@media(max-width:1100px) {
	.contact-hero {
		height: auto;
		padding: 9rem 0 7rem
	}

	.contact-hero-wrapper {
		grid-template-columns: 1fr;
		gap: 4rem
	}

	.contact-hero-content {
		text-align: center
	}

	.contact-hero-content p {
		margin-inline: auto
	}

	.contact-label {
		justify-content: center
	}

	.contact-hero-buttons {
		justify-content: center
	}

	.contact-scroll {
		display: none
	}
}

@media(max-width:767px) {
	.contact-hero {
		min-height: auto;
		padding: 7rem 0
	}

	.contact-hero-content h1 {
		font-size: 3rem
	}

	.contact-hero-card {
		padding: 2rem
	}

	.contact-hero-buttons {
		flex-direction: column
	}

	.contact-hero-buttons a {
		width: 100%
	}
}

.visit-atelier {
	position: relative;
	padding: 9rem 0;
	overflow: hidden;
	background: #f8f6f2
}

.visit-atelier::before {
	content: "";
	position: absolute;
	top: -180px;
	right: -180px;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(184, 145, 80, .08), transparent 72%);
	pointer-events: none
}

.visit-atelier-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7rem;
	align-items: center
}

.visit-content {
	max-width: 620px
}

.visit-content h2 {
	margin: 1.5rem 0 2rem
}

.visit-content h2 span {
	display: block
}

.visit-content>p {
	margin-bottom: 3.5rem;
	max-width: 560px
}

.atelier-features {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-bottom: 3rem
}

.atelier-feature {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem
}

.atelier-icon {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border: 1px solid rgba(184, 145, 80, .18);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
	transition: .45s ease
}

.atelier-icon i {
	font-size: 1.25rem;
	color: var(--primary-color)
}

.atelier-feature h3 {
	font-size: 1.3rem;
	margin-bottom: .65rem
}

.atelier-feature p {
	margin: 0
}

.atelier-actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1rem
}

.visit-media {
	position: relative
}

.visit-image {
	overflow: hidden;
	border-radius: 0;
}

.visit-image img {
	width: 100%;
	display: block;
	aspect-ratio: 4/5;
	object-fit: cover;
	transition: transform 1.3s ease
}

.visit-media:hover .visit-image img {
	transform: scale(1.08)
}

.atelier-card {
	position: absolute;
	left: -60px;
	bottom: 60px;
	width: 380px;
	padding: 2.5rem;
	border-radius: 0;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .12);
	transition: transform .55s ease, box-shadow .55s ease
}

.visit-media:hover .atelier-card {
	transform: translateY(-10px);
	box-shadow: 0 40px 90px rgba(0, 0, 0, .16)
}

.atelier-card-label {
	display: inline-flex;
	padding: .45rem .9rem;
	border-radius: 0;
	background: rgba(184, 145, 80, .12);
	color: var(--primary-color);
	font-size: .8rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	margin-bottom: 1.25rem
}

.atelier-card h3 {
	margin-bottom: 1rem
}

.atelier-card p {
	margin-bottom: 2rem
}

.atelier-card-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(0, 0, 0, .08)
}

.atelier-card-footer strong {
	display: block;
	margin-bottom: .25rem
}

.atelier-card-footer span {
	font-size: .92rem
}

.atelier-card-footer a {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	color: var(--heading-color);
	font-weight: 600;
	transition: .35s ease
}

.atelier-card-footer a:hover {
	color: var(--primary-color);
	gap: 1rem
}

.atelier-feature:hover .atelier-icon {
	background: var(--primary-color);
	transform: translateY(-4px)
}

.atelier-feature:hover .atelier-icon i {
	color: #b34930
}

@media(max-width:1100px) {
	.visit-atelier-wrapper {
		grid-template-columns: 1fr;
		gap: 4rem
	}

	.visit-content {
		max-width: 100%
	}

	.visit-media {
		max-width: 700px;
		margin: auto
	}

	.atelier-card {
		left: 30px;
		right: 30px;
		bottom: 30px;
		width: auto
	}
}

@media(max-width:767px) {
	.visit-atelier {
		padding: 6rem 0
	}

	.atelier-feature {
		flex-direction: column;
		gap: 1rem
	}

	.atelier-actions {
		flex-direction: column;
		align-items: stretch
	}

	.atelier-card {
		position: relative;
		left: 0;
		right: 0;
		bottom: 0;
		margin-top: -70px;
		padding: 2rem
	}

	.visit-image {
		border-radius: 0;
	}
}

.consultation-section {
	position: relative;
	padding: 5rem 0;
	overflow: hidden;
	background-color: #f8f6f2;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
}

.consultation-section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 0;
	background: radial-gradient(circle, #0005, #0001);
	pointer-events: none;
	backdrop-filter: blur(5px);
}

.consultation-section .container {
    position: relative;
    z-index: 5;
}

.consultation-heading {
	max-width: 760px;
	margin: 0 auto 5rem;
	text-align: center
}

.consultation-heading h2 {
	margin: 0  0 1.5rem;
	color: #fff;
}

.consultation-heading h2 span {
	display: block
}

.consultation-heading p {
	color: #fff;
	max-width: 620px;
	margin: auto
}

.consultation-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(340px, .75fr);
	gap: 4rem;
	align-items: start
}

.consultation-form {
	height: 100%;
	padding: 3.5rem;
	background-color: rgba(255, 255, 255, .82);
	border-radius: 0;
	border: 1px solid rgba(0, 0, 0, .06);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .05)
}

.form-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem
}

.form-group {
	display: flex;
	flex-direction: column
}

.full-width {
	grid-column: 1 / -1
}

.form-group label {
	font-size: .9rem;
	font-weight: 600;
	letter-spacing: .05em;
	color: var(--heading-color);
	margin-bottom: .85rem
}

.form-group input,
.form-group select,
.form-group textarea {
	width: 100%;
	border: 0;
	outline: 0;
	padding: 1.2rem 1.4rem;
	border-radius: 0;
	background: #f7f5f1;
	border: 1px solid transparent;
	color: var(--text-color);
	font-size: 1rem;
	transition: .35s ease;
	font-family: inherit
}

.form-group textarea {
	resize: vertical;
	min-height: 180px
}

.form-group input::placeholder,
.form-group textarea::placeholder {
	color: #999
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
	background: #fff;
	border-color: rgba(184, 145, 80, .45);
	box-shadow: 0 0 0 5px rgba(184, 145, 80, .08)
}

.consultation-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-top: 3rem;
	padding-top: 2.5rem;
	border-top: 1px solid rgba(0, 0, 0, .08)
}

.consultation-note {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem
}

.consultation-note span {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	font-size: .92rem
}

.consultation-note i {
	color: var(--primary-color)
}

.consultation-sidebar {
	position: sticky;
	top: 140px
}

.consultation-card {
	padding: 3rem;
	border-radius: 0;
	background: rgba(255, 255, 255, .82);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 25px 70px rgba(0, 0, 0, .08)
}

.consultation-card-label {
	display: inline-flex;
	padding: .45rem .95rem;
	border-radius: 0;
	background: rgba(184, 145, 80, .12);
	color: var(--primary-color);
	text-transform: uppercase;
	letter-spacing: .15em;
	font-size: .75rem;
	margin-bottom: 1.5rem
}

.consultation-card h3 {
	margin-bottom: 1rem
}

.consultation-card>p {
	margin-bottom: 2.5rem
}

.consultation-info {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 2.5rem
}

.consultation-info article {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1rem;
	border-radius: 0;
	transition: .35s ease
}

.consultation-info article:hover {
	background: #fff;
	transform: translateX(6px)
}

.consultation-info i {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	background: #fff;
	color: var(--primary-color);
	box-shadow: 0 10px 25px rgba(0, 0, 0, .05);
	transition: .35s ease
}

.consultation-info article:hover i {
	background: var(--primary-color);
	color: #fff
}

.consultation-info strong {
	display: block;
	margin-bottom: .25rem;
	font-size: 1rem;
	color: var(--heading-color)
}

.consultation-info span {
	display: block;
	font-size: .95rem
}

.consultation-card .secondary-btn {
	width: 100%;
	justify-content: center
}

.consultation-form {
	transition: transform .45s ease, box-shadow .45s ease
}

.consultation-form:hover {
	transform: translateY(-6px);
	box-shadow: 0 40px 90px rgba(0, 0, 0, .08)
}

@media(max-width:1100px) {
	.consultation-wrapper {
		grid-template-columns: 1fr
	}

	.consultation-sidebar {
		position: relative;
		top: auto
	}
}

@media(max-width:767px) {
	.consultation-section {
		padding: 6rem 0
	}

	.consultation-form {
		padding: 2rem;
		border-radius: 0;
	}

	.form-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem
	}

	.consultation-bottom {
		flex-direction: column;
		align-items: stretch
	}

	.consultation-note {
		flex-direction: column;
		gap: .75rem
	}

	.consultation-card {
		padding: 2rem;
		border-radius: 0;
	}
}

/*==================================================
FIND OUR ATELIER
==================================================*/

.find-atelier{
    position:relative;
    padding:140px 0;
    background:#f8f6f2;
    overflow:hidden;
}

.find-atelier::before{
    content:"";
    position:absolute;
    top:-180px;
    right:-180px;
    width:420px;
    height:420px;
    border-radius: 50%;
    border:1px solid rgba(184,145,86,.08);
}

.find-atelier::after{
    content:"";
    position:absolute;
    bottom:-220px;
    left:-220px;
    width:500px;
    height:500px;
    border-radius: 50%;
    border:1px solid rgba(184,145,86,.06);
}

/*----------------------------------
Heading
----------------------------------*/

.find-atelier-heading{
    max-width:760px;
    margin:0 auto 70px;
    text-align:center;
    position:relative;
    z-index:2;
}

.find-atelier-heading h2{
    margin:22px 0 26px;
}

.find-atelier-heading h2 span{
    display:block;
}

.find-atelier-heading p{
    max-width:620px;
    margin:auto;
    color:#666;
    line-height:1.9;
}

/*----------------------------------
Map
----------------------------------*/

.atelier-map{
    position:relative;
    border-radius: 0;
    overflow:hidden;
    height:560px;
    box-shadow:0 35px 70px rgba(0,0,0,.08);
    margin-bottom:80px;
    border:1px solid rgba(0,0,0,.06);
}

.atelier-map iframe{
    width:100%;
    height:100%;
    border:0;
    filter:grayscale(.12);
    transition:.6s ease;
}

.atelier-map:hover iframe{
    filter:grayscale(0);
    transform:scale(1.01);
}

/*----------------------------------
Location Cards
----------------------------------*/

.atelier-location-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
    margin-bottom:90px;
}

.location-card{
    background:#fff;
    padding:42px 34px;
    border-radius: 0;
    border:1px solid rgba(0,0,0,.06);
    transition:.35s;
    position:relative;
    overflow:hidden;
}

.location-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:4px;
    background:var(--primary-color);
    transform:scaleX(0);
    transform-origin:left;
    transition:.45s;
}

.location-card:hover{
    transform:translateY(-10px);
    box-shadow:0 22px 45px rgba(0,0,0,.08);
}

.location-card:hover::before{
    transform:scaleX(1);
}

.location-icon{
    width:72px;
    height:72px;
    border-radius: 50%;
    background:rgba(184,145,86,.10);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:28px;
}

.location-icon i{
    font-size:26px;
    color:var(--primary-color);
}

.location-card h3{
    margin-bottom:14px;
    font-size:22px;
}

.location-card p{
    margin:0;
    color:#666;
    line-height:1.9;
}

/*----------------------------------
Bottom CTA
----------------------------------*/

.find-atelier-footer{
    background:#fff;
    border-radius: 0;
    padding:70px;
    text-align:center;
    box-shadow:0 20px 60px rgba(0,0,0,.06);
    position:relative;
    overflow:hidden;
}

.find-atelier-footer::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,
        rgba(184,145,86,.06),
        transparent 60%);
    pointer-events:none;
}

.find-atelier-footer h3{
    font-size:40px;
    margin-bottom:20px;
}

.find-atelier-footer p{
    max-width:650px;
    margin:0 auto 35px;
    color:#666;
    line-height:1.9;
}

.find-atelier-actions{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

/*----------------------------------
Hover
----------------------------------*/

.find-atelier .primary-btn,
.find-atelier .secondary-btn{
    transition:.35s;
}

.find-atelier .secondary-btn:hover{
    background:#111;
    color:#fff;
}

/*----------------------------------
Responsive
----------------------------------*/

@media(max-width:1200px){

    .atelier-location-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:992px){

    .find-atelier{
        padding:110px 0;
    }

    .atelier-map{
        height:460px;
    }

    .find-atelier-footer{
        padding:55px 40px;
    }

    .find-atelier-footer h3{
        font-size:34px;
    }

}

@media(max-width:767px){

    .find-atelier{
        padding:90px 0;
    }

    .atelier-map{
        height:360px;
        border-radius: 0;
        margin-bottom:55px;
    }

    .atelier-location-grid{
        grid-template-columns:1fr;
        gap:20px;
        margin-bottom:60px;
    }

    .location-card{
        padding:32px 26px;
    }

    .location-icon{
        width:60px;
        height:60px;
        margin-bottom:22px;
    }

    .location-icon i{
        font-size:22px;
    }

    .find-atelier-footer{
        padding:45px 28px;
        border-radius: 0;
    }

    .find-atelier-footer h3{
        font-size:28px;
    }

    .find-atelier-actions{
        flex-direction:column;
    }

    .find-atelier-actions a{
        width:100%;
        justify-content:center;
    }

}


/*==================================================
FAQ HERO
==================================================*/

.faq-hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#fff;
    isolation:isolate;
}

/*----------------------------------
Background
----------------------------------*/

.faq-hero-bg{
    position:absolute;
    inset:0;
    z-index:-3;
    overflow:hidden;
}

.faq-hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.08);
    transition:transform 8s ease;
}

.faq-hero:hover .faq-hero-bg img{
    transform:scale(1.14);
}

/*----------------------------------
Overlay
----------------------------------*/

.faq-hero-overlay{
    position:absolute;
    inset:0;
    z-index:-2;
    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.82) 0%,
        rgba(0,0,0,.62) 45%,
        rgba(0,0,0,.45) 100%
    );
}

/*----------------------------------
Decorative Circles
----------------------------------*/

.faq-circle{
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(5px);
    pointer-events:none;
}

.faq-circle-one{
    width:420px;
    height:420px;
    right:-120px;
    top:8%;
}

.faq-circle-two{
    width:260px;
    height:260px;
    left:-80px;
    bottom:12%;
}

/*----------------------------------
Wrapper
----------------------------------*/

.faq-hero-wrapper{
    min-height:100vh;
    display:grid;
    grid-template-columns:1.2fr .65fr;
    gap:90px;
    align-items:center;
    padding:130px 0 80px;
}

/*----------------------------------
Content
----------------------------------*/

.faq-hero-content{
    max-width:760px;
}

.faq-hero-content .section-label{
    margin-bottom:28px;
}

.faq-hero-content h1{
    font-size:clamp(54px,6vw,88px);
    line-height:.95;
    letter-spacing:-2px;
    margin-bottom:32px;
    color:#fff;
}

.faq-hero-content h1 span{
    display:block;
    color:rgba(255,255,255,.82);
}

.faq-hero-content p{
    max-width:620px;
    font-size:18px;
    line-height:1.9;
    color:rgba(255,255,255,.78);
    margin-bottom:42px;
}

.faq-hero-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

/*----------------------------------
Card
----------------------------------*/

.faq-hero-card{
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.12);
    border-radius: 0;
    padding:45px;
    color:#fff;
    box-shadow:0 25px 70px rgba(0,0,0,.25);
    position:relative;
    overflow:hidden;
}

.faq-hero-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        145deg,
        rgba(184,145,86,.12),
        transparent 60%
    );
    pointer-events:none;
}

.faq-card-label{
    display:inline-flex;
    padding:8px 16px;
    border-radius:0;
    background:rgba(184,145,86,.14);
    color:#d6b57b;
    font-size:13px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:22px;
}

.faq-hero-card h3{
    color:#fff;
    font-size:34px;
    line-height:1.2;
    margin-bottom:18px;
}

.faq-hero-card>p{
    color:rgba(255,255,255,.75);
    line-height:1.8;
    margin-bottom:35px;
}

/*----------------------------------
Stats
----------------------------------*/

.faq-card-stats{
    display:grid;
    gap:18px;
    margin-bottom:35px;
}

.faq-card-stats article{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 22px;
    border-radius: 0;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    transition:.35s ease;
}

.faq-card-stats article:hover{
    transform:translateX(6px);
    background:rgba(255,255,255,.08);
}

.faq-card-stats strong{
    font-size:28px;
    font-weight:600;
    color:#d6b57b;
}

.faq-card-stats span{
    color:rgba(255,255,255,.72);
    font-size:15px;
    text-align:right;
}

.faq-card-btn{
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-decoration:none;
    color:#fff;
    font-weight:500;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.12);
    transition:.35s;
}

.faq-card-btn:hover{
    color:#d6b57b;
}

.faq-card-btn i{
    transition:.35s;
}

.faq-card-btn:hover i{
    transform:translateX(8px);
}

/*----------------------------------
Scroll
----------------------------------*/

.faq-scroll{
    position:absolute;
    left:50%;
    bottom:45px;
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    color:rgba(255,255,255,.75);
    z-index:5;
}

.faq-scroll span{
    font-size:13px;
    letter-spacing:3px;
    text-transform:uppercase;
}

.faq-scroll .scroll-mouse{
    width:28px;
    height:48px;
    border:1px solid rgba(255,255,255,.35);
    border-radius: 0;
    position:relative;
}

.faq-scroll .scroll-mouse span{
    position:absolute;
    width:4px;
    height:10px;
    border-radius: 0;
    background:#d6b57b;
    left:50%;
    top:8px;
    transform:translateX(-50%);
    animation:faqScroll 1.8s infinite;
}

@keyframes faqScroll{

    0%{
        opacity:1;
        transform:translate(-50%,0);
    }

    100%{
        opacity:0;
        transform:translate(-50%,18px);
    }

}

/*----------------------------------
Responsive
----------------------------------*/

@media(max-width:1200px){

    .faq-hero-wrapper{
        gap:60px;
    }

}

@media(max-width:992px){

    .faq-hero-wrapper{
        grid-template-columns:1fr;
        text-align:center;
        padding:140px 0 100px;
    }

    .faq-hero-content{
        margin:auto;
    }

    .faq-hero-content p{
        margin-left:auto;
        margin-right:auto;
    }

    .faq-hero-buttons{
        justify-content:center;
    }

    .faq-hero-card{
        max-width:620px;
        margin:auto;
    }

}

@media(max-width:767px){

    .faq-hero{
        min-height:auto;
    }

    .faq-hero-wrapper{
        min-height:auto;
        padding:120px 0 90px;
        gap:40px;
    }

    .faq-hero-content h1{
        font-size:46px;
        line-height:1.05;
    }

    .faq-hero-content p{
        font-size:16px;
    }

    .faq-hero-card{
        padding:30px;
        border-radius: 0;
    }

    .faq-hero-card h3{
        font-size:28px;
    }

    .faq-card-stats article{
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
    }

    .faq-card-stats span{
        text-align:left;
    }

    .faq-hero-buttons{
        flex-direction:column;
    }

    .faq-hero-buttons a{
        width:100%;
        justify-content:center;
    }

}


/* =========================================
   TESTIMONIAL HERO
========================================= */

.testimonial-hero{
	    padding: 5rem 0;
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#111;
}

.testimonial-hero-bg{
    position:absolute;
    inset:0;
    z-index:1;
}

.testimonial-hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.05);
}

.testimonial-hero-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    background:
    linear-gradient(
        90deg,
        rgba(10,10,10,.85) 0%,
        rgba(10,10,10,.72) 38%,
        rgba(10,10,10,.45) 65%,
        rgba(10,10,10,.65) 100%
    );
}

.testimonial-hero .container{
    position:relative;
    z-index:5;
}

.testimonial-hero-wrapper{
    display:grid;
    grid-template-columns:1.1fr .75fr;
    gap:90px;
    align-items:center;
}

/*=================================
Content
=================================*/

.testimonial-hero-content{
    max-width:700px;
}

.testimonial-hero-content h1{
    color:#fff;
    font-size:78px;
    line-height:1;
    font-weight:500;
    margin:22px 0 28px;
    letter-spacing:-2px;
}

.testimonial-hero-content h1 span{
    display:block;
    color:var(--gold);
}

.testimonial-hero-content p{
    font-size:18px;
    line-height:1.9;
    color:rgba(255,255,255,.82);
    max-width:620px;
}

.testimonial-hero-actions{
    display:flex;
    gap:18px;
    margin-top:45px;
    flex-wrap:wrap;
}

/*=================================
Floating Card
=================================*/

.testimonial-hero-card{
    position:relative;
    padding:45px;
    border-radius: 0;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 35px 70px rgba(0,0,0,.35);
}

.testimonial-hero-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius: 0;
    padding:1px;
    background:linear-gradient(
        135deg,
        rgba(196,167,108,.6),
        rgba(255,255,255,.05)
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
            mask-composite:exclude;
}

.testimonial-hero-card .card-label{
    display:inline-flex;
    padding:8px 18px;
    border-radius: 0;
    background:rgba(196,167,108,.12);
    color:var(--gold);
    font-size:13px;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:24px;
}

.testimonial-hero-card h3{
    color:#fff;
    font-size:34px;
    line-height:1.2;
    margin-bottom:35px;
}

.testimonial-hero-card ul{
    list-style:none;
    margin:0;
    padding:0;
}

.testimonial-hero-card li{
    display:flex;
    gap:18px;
    align-items:flex-start;
    padding:22px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.testimonial-hero-card li:last-child{
    border:none;
    padding-bottom:0;
}

.testimonial-hero-card li i{
    width:52px;
    height:52px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(196,167,108,.12);
    color:var(--gold);
    font-size:18px;
    flex-shrink:0;
}

.testimonial-hero-card strong{
    display:block;
    color:#fff;
    font-size:17px;
    margin-bottom:8px;
}

.testimonial-hero-card span{
    color:rgba(255,255,255,.72);
    line-height:1.8;
    font-size:15px;
}

/*=================================
Decorative Circles
=================================*/

.testimonial-circle{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    z-index:3;
    background:rgba(196,167,108,.08);
    animation:heroFloat 8s ease-in-out infinite;
}

@keyframes heroFloat{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-18px);
    }

    100%{
        transform:translateY(0px);
    }

}

/*=================================
Scroll Indicator
=================================*/

.testimonial-scroll{
    position:absolute;
    left:50%;
    bottom:35px;
    transform:translateX(-50%);
    z-index:10;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    color:#fff;
}

.testimonial-scroll span{
    font-size:12px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:rgba(255,255,255,.65);
}

.testimonial-scroll .scroll-mouse{
    width:28px;
    height:46px;
    border:1px solid rgba(255,255,255,.35);
    border-radius: 0;
    display:flex;
    justify-content:center;
    padding-top:8px;
}

.testimonial-scroll .scroll-mouse span{
    width:4px;
    height:8px;
    border-radius: 0;
    background:var(--gold);
    animation:scrollWheel 1.8s infinite;
}

@keyframes scrollWheel{

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

    100%{
        transform:translateY(16px);
        opacity:0;
    }

}

/*=================================
Responsive
=================================*/

@media(max-width:1200px){

    .testimonial-hero-content h1{
        font-size:64px;
    }

    .testimonial-hero-wrapper{
        gap:60px;
    }

}

@media(max-width:991px){

    .testimonial-hero{
        padding:140px 0 100px;
        min-height:auto;
    }

    .testimonial-hero-wrapper{
        grid-template-columns:1fr;
        gap:50px;
    }

    .testimonial-hero-content{
        text-align:center;
        margin:auto;
    }

    .testimonial-hero-content p{
        margin:auto;
    }

    .testimonial-hero-actions{
        justify-content:center;
    }

    .testimonial-scroll{
        display:none;
    }

}

@media(max-width:768px){

    .testimonial-hero-content h1{
        font-size:48px;
    }

    .testimonial-hero-card{
        padding:32px;
    }

    .testimonial-hero-card h3{
        font-size:28px;
    }

}

@media(max-width:576px){

    .testimonial-hero{
        padding:120px 0 80px;
    }

    .testimonial-hero-content h1{
        font-size:40px;
        line-height:1.08;
    }

    .testimonial-hero-content p{
        font-size:16px;
    }

    .testimonial-hero-actions{
        flex-direction:column;
    }

    .testimonial-hero-actions a{
        width:100%;
        text-align:center;
    }

}


/*=========================================
PRODUCT HERO
=========================================*/

.product-hero{
    position:relative;
    overflow:hidden;
    background:#f8f5f0;
    padding:170px 0 110px;
}

.product-hero::before{
    content:"";
    position:absolute;
    top:-180px;
    right:-180px;
    width:500px;
    height:500px;
    border-radius:50%;
    background:rgba(181,124,77,.08);
    filter:blur(90px);
    pointer-events:none;
}

.product-breadcrumb{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    margin-bottom:70px;
    color:#9a9a9a;
}

.product-breadcrumb a{
    color:#888;
    transition:.3s;
}

.product-breadcrumb a:hover{
    color:var(--primary-color);
}

.product-breadcrumb strong{
    color:#222;
    font-weight:600;
}

.product-hero-wrapper{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:90px;
    align-items:center;
}

/*=========================================
LEFT CONTENT
=========================================*/

.product-content{
    max-width:600px;
}

.product-content h1{
    font-size:72px;
    line-height:1;
    margin:22px 0 32px;
    letter-spacing:-2px;
}

.product-content h1 span{
    display:block;
}

.product-content p{
    font-size:18px;
    line-height:1.9;
    color:#666;
    margin-bottom:45px;
    max-width:560px;
}

/*=========================================
BUTTONS
=========================================*/

.product-actions{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:65px;
}

/*=========================================
FEATURES
=========================================*/

.product-features{
    display:flex;
    flex-direction:column;
    gap:28px;
}

.product-features article{
    display:flex;
    gap:22px;
    align-items:flex-start;
}

.product-features i{
    width:62px;
    height:62px;
    border-radius:50%;
    background:#fff;
    color:var(--primary-color);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    flex-shrink:0;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 12px 35px rgba(0,0,0,.05);
}

.product-features h3{
    font-size:20px;
    margin-bottom:8px;
}

.product-features p{
    margin:0;
    font-size:15px;
    line-height:1.8;
    color:#777;
}

/*=========================================
RIGHT SIDE
=========================================*/

.product-media{
    position:relative;
}

.product-image{
    position:relative;
    overflow:hidden;
    border-radius: 0;
    background:#ebe6df;
}

.product-image img{
    width:100%;
    height:760px;
    display:block;
    object-fit:cover;
    transition:transform .7s ease;
}

.product-image:hover img{
    transform:scale(1.05);
}

/* subtle frame */

.product-image::after{
    content:"";
    position:absolute;
    inset:24px;
    border:1px solid rgba(255,255,255,.35);
    border-radius: 0;
    pointer-events:none;
}

/*=========================================
EDITORIAL NOTE
=========================================*/

.product-note{
    position:absolute;
    left:-70px;
    bottom:60px;
    width:340px;
    background:#fff;
    padding:38px;
    border-radius: 0;
    box-shadow:0 30px 70px rgba(0,0,0,.10);
    border:1px solid rgba(0,0,0,.06);
}

.product-note span{
    display:inline-block;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--primary-color);
    margin-bottom:18px;
}

.product-note h3{
    font-size:34px;
    line-height:1.15;
    margin-bottom:18px;
}

.product-note p{
    font-size:15px;
    line-height:1.9;
    color:#777;
    margin:0;
}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:1200px){

.product-hero-wrapper{
    gap:60px;
}

.product-content h1{
    font-size:60px;
}

.product-note{
    left:-30px;
}

}

@media(max-width:991px){

.product-hero{
    padding:140px 0 90px;
}

.product-breadcrumb{
    margin-bottom:50px;
}

.product-hero-wrapper{
    grid-template-columns:1fr;
    gap:70px;
}

.product-content{
    max-width:100%;
}

.product-content h1{
    font-size:56px;
}

.product-image img{
    height:620px;
}

.product-note{
    position:relative;
    left:0;
    bottom:auto;
    width:100%;
    margin-top:25px;
}

}

@media(max-width:767px){

.product-hero{
    padding:120px 0 70px;
}

.product-breadcrumb{
    flex-wrap:wrap;
    gap:8px;
    font-size:12px;
}

.product-content h1{
    font-size:44px;
    margin-bottom:25px;
}

.product-content p{
    font-size:16px;
}

.product-actions{
    flex-direction:column;
    align-items:stretch;
}

.product-actions a{
    width:100%;
    text-align:center;
}

.product-features article{
    gap:16px;
}

.product-features i{
    width:52px;
    height:52px;
    font-size:18px;
}

.product-features h3{
    font-size:18px;
}

.product-image{
    border-radius: 0;
}

.product-image img{
    height:480px;
}

.product-note{
    padding:28px;
}

.product-note h3{
    font-size:28px;
}

}


/*=========================================
EDITORIAL INTRODUCTION
=========================================*/

.product-editorial{
    position:relative;
    overflow:hidden;
    padding:120px 0;
}

.product-editorial-wrapper{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:100px;
    align-items:center;
}

/*=========================================
IMAGE
=========================================*/

.editorial-media{
    position:relative;
}

.editorial-image{
    position:relative;
    overflow:hidden;
    border-radius: 0;
}

.editorial-image img{
    width:100%;
    height:760px;
    object-fit:cover;
    display:block;
    transition:.8s ease;
}

.editorial-image:hover img{
    transform:scale(1.05);
}

/* subtle border */

.editorial-image::after{
    content:"";
    position:absolute;
    inset:18px;
    border:1px solid rgba(255,255,255,.22);
    border-radius: 0;
    pointer-events:none;
}

/*=========================================
FLOATING CARD
=========================================*/

.editorial-card{
    position:absolute;
    right:-50px;
    bottom:60px;

    width:310px;

    background:#fff;
    border-radius: 0;

    padding:34px;

    box-shadow:
    0 25px 60px rgba(0,0,0,.10);

    z-index:2;
}

.editorial-card span{
    display:block;
    font-size:.72rem;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#a68b52;
    margin-bottom:14px;
}

.editorial-card h3{
    font-size:1.6rem;
    line-height:1.35;
    margin-bottom:22px;
    color:#111;
}

.editorial-card ul{
    margin:0;
    padding:0;
    list-style:none;
}

.editorial-card li{
    padding:12px 0;
    border-top:1px solid #ececec;
    color:#555;
    font-size:.95rem;
}

.editorial-card li:first-child{
    border-top:none;
    padding-top:0;
}

/*=========================================
CONTENT
=========================================*/

.editorial-content h2{
    margin:22px 0 30px;
    line-height:1.08;
    font-size:clamp(2.8rem,4vw,4.7rem);
}

.editorial-content h2 span{
    display:block;
}

.editorial-content p{
    font-size:1.05rem;
    line-height:2;
    color:#666;
    margin-bottom:26px;
}

/*=========================================
FEATURES
=========================================*/

.editorial-features{
    display:flex;
    flex-direction:column;
    gap:18px;
    margin:45px 0;
}

.editorial-features article{
    display:flex;
    align-items:center;
    gap:18px;
}

.editorial-features i{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#f5f1ea;
    color:#b89656;
    font-size:15px;
    flex-shrink:0;
}

.editorial-features span{
    font-size:1rem;
    color:#333;
    font-weight:500;
}

/*=========================================
QUOTE
=========================================*/

.editorial-content blockquote{

    margin:50px 0;

    padding-left:34px;

    border-left:3px solid #b89656;

    font-family:var(--heading-font);

    font-size:1.45rem;

    font-style:italic;

    line-height:1.7;

    color:#1f1f1f;

    max-width:520px;

}

/*=========================================
LINK
=========================================*/

.editorial-link{

    display:inline-flex;

    align-items:center;

    gap:14px;

    color:#111;

    text-decoration:none;

    font-weight:600;

    letter-spacing:.5px;

    transition:.35s;

}

.editorial-link i{
    transition:.35s;
}

.editorial-link:hover{
    color:#b89656;
}

.editorial-link:hover i{
    transform:translateX(6px);
}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:1200px){

    .product-editorial-wrapper{
        gap:70px;
    }

    .editorial-image img{
        height:650px;
    }

    .editorial-card{
        right:-25px;
    }

}

@media(max-width:992px){

    .product-editorial{
        padding:90px 0;
    }

    .product-editorial-wrapper{

        grid-template-columns:1fr;

        gap:70px;

    }

    .editorial-content{

        max-width:100%;

    }

    .editorial-card{

        position:relative;

        right:auto;
        bottom:auto;

        width:100%;

        margin-top:-70px;

        margin-left:auto;

        max-width:380px;

    }

    .editorial-image img{

        height:620px;

    }

}

@media(max-width:768px){

    .editorial-image img{

        height:500px;

    }

    .editorial-card{

        max-width:100%;

        margin-top:25px;

    }

    .editorial-content h2{

        font-size:2.4rem;

    }

    .editorial-content blockquote{

        font-size:1.2rem;

        padding-left:22px;

    }

}

@media(max-width:576px){

    .product-editorial{

        padding:70px 0;

    }

    .editorial-image{

        border-radius: 0;

    }

    .editorial-image img{

        height:420px;

    }

    .editorial-card{

        padding:28px;

        border-radius: 0;

    }

    .editorial-card h3{

        font-size:1.35rem;

    }

    .editorial-content p{

        line-height:1.9;

    }

    .editorial-features{

        gap:15px;

    }

    .editorial-features article{

        align-items:flex-start;

    }

    .editorial-features i{

        width:42px;
        height:42px;

        font-size:13px;

    }

}


/*=========================================
EDITORIAL INTRODUCTION
=========================================*/

.product-editorial{
    position:relative;
    padding:120px 0;
    overflow:hidden;
}

/*=========================================
HEADING
=========================================*/

.editorial-heading{
    max-width:780px;
    margin:0 auto 90px;
}

.editorial-heading h2{
    margin:18px 0 24px;
    font-size:clamp(2.8rem,4vw,4.8rem);
    line-height:1.08;
    letter-spacing:-1px;
}

.editorial-heading h2 span{
    display:block;
}

.editorial-heading p{
    max-width:620px;
    margin:0 auto;
    font-size:1.08rem;
    line-height:1.9;
    color:#707070;
}

/*=========================================
IMAGE
=========================================*/

.editorial-media{
    position:relative;
}

.editorial-media img{

    width:100%;
    height:760px;

    object-fit:cover;

    display:block;

    border-radius: 0;

    transition:.7s ease;

}

.editorial-media:hover img{
    transform:scale(1.03);
}

/* subtle border */

.editorial-media::after{

    content:"";

    position:absolute;

    inset:20px;

    border:1px solid rgba(255,255,255,.25);

    border-radius: 0;

    pointer-events:none;

}

/*=========================================
FLOATING CARD
=========================================*/

.editorial-card{

    position:absolute;

    right:-35px;

    bottom:45px;

    width:310px;

    background:#fff;

    padding:36px;

    border-radius: 0;

    box-shadow:
    0 25px 70px rgba(0,0,0,.12);

}

.editorial-card>span{

    display:block;

    margin-bottom:12px;

    color:#b34930;

    font-size:.72rem;

    letter-spacing:2px;

    text-transform:uppercase;

    font-weight:600;

}

.editorial-card h3{

    font-size:1.65rem;

    line-height:1.35;

    margin-bottom:26px;

    color:#1a1a1a;

}

.editorial-card ul{

    list-style:none;

    margin:0;

    padding:0;

}

.editorial-card li{

    padding:14px 0;

    border-top:1px solid #ececec;

    color:#555;

    font-weight:500;

}

.editorial-card li:first-child{

    border-top:none;

    padding-top:0;

}

/*=========================================
CONTENT
=========================================*/

.editorial-content{

    padding-left:20px;

}

.editorial-content p{

    margin-bottom:28px;

    line-height:2;

    color:#666;

    font-size:1.03rem;

}

/*=========================================
FEATURES
=========================================*/

.editorial-features{

    margin:45px 0;

    display:flex;

    flex-direction:column;

    gap:18px;

}

.feature-item{

    display:flex;

    align-items:center;

    gap:18px;

}

.feature-item i{

    width:48px;

    height:48px;

    border-radius:50%;

    background:#f5f2eb;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#b34930;

    flex-shrink:0;

    font-size:14px;

}

.feature-item span{

    color:#2f2f2f;

    font-weight:500;

    font-size:1rem;

}

/*=========================================
QUOTE
=========================================*/

.editorial-content blockquote{

    margin:55px 0;

    padding-left:32px;

    border-left:3px solid #b34930;

    font-size:1.45rem;

    font-style:italic;

    line-height:1.7;

    color:#1d1d1d;

    max-width:540px;

}

/*=========================================
LINK
=========================================*/

.editorial-link{

    display:inline-flex;

    align-items:center;

    gap:15px;

    text-decoration:none;

    color:#1b1b1b;

    font-weight:600;

    letter-spacing:.4px;

    transition:.35s;

}

.editorial-link i{

    transition:.35s;

}

.editorial-link:hover{

    color:#b34930;

}

.editorial-link:hover i{

    transform:translateX(6px);

}

/*=========================================
RESPONSIVE
=========================================*/

@media (max-width:1199px){

    .editorial-card{

        right:-20px;

    }

}

@media (max-width:991px){

    .product-editorial{

        padding:90px 0;

    }

    .editorial-heading{

        margin-bottom:70px;

    }

    .editorial-media{

        margin-bottom:60px;

    }

    .editorial-media img{

        height:620px;

    }

    .editorial-card{

        position:relative;

        right:auto;
        bottom:auto;

        width:100%;

        max-width:380px;

        margin:-70px auto 0;

    }

    .editorial-content{

        padding-left:0;

    }

}

@media (max-width:767px){

    .product-editorial{

        padding:70px 0;

    }

    .editorial-heading{

        margin-bottom:55px;

    }

    .editorial-heading h2{

        font-size:2.4rem;

    }

    .editorial-media img{

        height:480px;

        border-radius: 0;

    }

    .editorial-card{

        margin-top:25px;

        max-width:100%;

        border-radius: 0;

        padding:28px;

    }

    .editorial-card h3{

        font-size:1.4rem;

    }

    .feature-item{

        align-items:flex-start;

    }

    .feature-item i{

        width:42px;

        height:42px;

        font-size:13px;

    }

    .editorial-content blockquote{

        font-size:1.2rem;

        padding-left:22px;

    }

}

/*=========================================
WHY CHOOSE BESPOKE
=========================================*/

.why-bespoke{
    position:relative;
    padding:120px 0;
    overflow:hidden;
}

/*=========================================
HEADING
=========================================*/

.why-heading{
    max-width:760px;
    margin:0 auto 80px;
}

.why-heading h2{
    margin:18px 0 24px;
    font-size:clamp(2.8rem,4vw,4.8rem);
    line-height:1.08;
    letter-spacing:-1px;
}

.why-heading h2 span{
    display:block;
}

.why-heading p{
    max-width:620px;
    margin:0 auto;
    font-size:1.08rem;
    line-height:1.9;
    color:#707070;
}

/*=========================================
CARD
=========================================*/

.bespoke-card{

    position:relative;

    height:100%;

    background:#fff;

    padding:55px;

    border-radius: 0;

    border:1px solid rgba(176,141,87,.15);

    overflow:hidden;

    transition:.45s ease;

    box-shadow:
    0 12px 35px rgba(0,0,0,.04);

}

.bespoke-card:hover{

    transform:translateY(-10px);

    border-color:#b34930;

    box-shadow:
    0 30px 70px rgba(0,0,0,.08);

}

/* Gold accent */

.bespoke-card::before{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:5px;

    height:0;

    background:#b34930;

    transition:.45s;

}

.bespoke-card:hover::before{

    height:100%;

}

/*=========================================
NUMBER
=========================================*/

.card-number{

    position:absolute;

    top:30px;

    right:35px;

    font-size:4.8rem;

    font-weight:700;

    line-height:1;

    color:#f5f2ec;

    pointer-events:none;

    user-select:none;

}

/*=========================================
ICON
=========================================*/

.card-icon{

    width:70px;

    height:70px;

    border-radius: 0;

    background:#f8f5ef;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:35px;

    transition:.4s;

}

.card-icon i{

    color:#b34930;

    font-size:24px;

}

.bespoke-card:hover .card-icon{

    background:#b34930;

    transform:rotate(-6deg);

}

.bespoke-card:hover .card-icon i{

    color:#fff;

}

/*=========================================
TEXT
=========================================*/

.bespoke-card h3{

    margin-bottom:18px;

    font-size:1.75rem;

    color:#1a1a1a;

}

.bespoke-card p{

    margin:0;

    color:#666;

    font-size:1rem;

    line-height:2;

}

/*=========================================
BOTTOM
=========================================*/

.why-footer{

    max-width:760px;

    margin:90px auto 0;

    text-align:center;

}

.why-footer .divider{

    width:90px;

    height:2px;

    background:#b34930;

    margin:0 auto 40px;

}

.why-footer blockquote{

    margin:0 auto 45px;

    max-width:640px;

    font-size:2rem;

    line-height:1.6;

    font-style:italic;

    color:#1d1d1d;

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:1199px){

    .bespoke-card{

        padding:45px;

    }

}

@media(max-width:991px){

    .why-bespoke{

        padding:90px 0;

    }

    .why-heading{

        margin-bottom:60px;

    }

    .bespoke-card{

        padding:42px;

    }

    .card-number{

        font-size:4rem;

    }

    .why-footer{

        margin-top:70px;

    }

    .why-footer blockquote{

        font-size:1.6rem;

    }

}

@media(max-width:767px){

    .why-bespoke{

        padding:70px 0;

    }

    .why-heading{

        margin-bottom:45px;

    }

    .why-heading h2{

        font-size:2.4rem;

    }

    .bespoke-card{

        padding:35px 30px;

        border-radius: 0;

    }

    .card-number{

        font-size:3rem;

        top:20px;

        right:25px;

    }

    .card-icon{

        width:60px;

        height:60px;

        margin-bottom:28px;

    }

    .card-icon i{

        font-size:20px;

    }

    .bespoke-card h3{

        font-size:1.45rem;

    }

    .why-footer{

        margin-top:60px;

    }

    .why-footer blockquote{

        font-size:1.35rem;

        line-height:1.7;

    }

}

/*==================================================
SIGNATURE GALLERY
==================================================*/

.signature-gallery{
    padding:120px 0;
    background:#f8f6f2;
    position:relative;
}

.signature-gallery .container{
    max-width:1320px;
}

/*===================================
Heading
===================================*/

.gallery-heading{
    max-width:760px;
    margin:0 auto 80px;
}

.gallery-heading h2{
    margin:20px 0 25px;
}

.gallery-heading h2 span{
    display:block;
}

.gallery-heading p{
    max-width:620px;
    margin:auto;
}

/*===================================
Editorial Layout
===================================*/

.gallery-editorial{
    margin-bottom:90px;
}

.gallery-feature-image{
    position:relative;
    overflow:hidden;
    border-radius:0;
    height:720px;
}

.gallery-feature-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
}

.gallery-feature-image:hover img{
    transform:scale(1.05);
}

/*===================================
Editorial Card
===================================*/

.gallery-editorial-card{
    background:#fff;
    padding:55px;
    border-radius:0;
    box-shadow:0 18px 50px rgba(0,0,0,.06);
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gallery-editorial-card span{
    display:inline-block;
    font-size:13px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--primary-color);
    margin-bottom:18px;
}

.gallery-editorial-card h3{
    font-size:38px;
    line-height:1.25;
    margin-bottom:25px;
}

.gallery-editorial-card p{
    margin-bottom:30px;
    color:#666;
}

.gallery-editorial-card ul{
    margin:0;
    padding:0;
    list-style:none;
}

.gallery-editorial-card li{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
    font-size:16px;
    color:#444;
}

.gallery-editorial-card li:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--primary-color);
    flex-shrink:0;
}

/*===================================
Detail Cards
===================================*/

.gallery-details{
    margin-bottom:90px;
}

.detail-card{
    background:#fff;
    border-radius:0;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.05);
    transition:.4s;
    height:100%;
}

.detail-card:hover{
    transform:translateY(-10px);
    box-shadow:0 30px 60px rgba(0,0,0,.12);
}

.detail-card img{
    width:100%;
    height:340px;
    object-fit:cover;
    transition:.6s;
}

.detail-card:hover img{
    transform:scale(1.08);
}

.detail-content{
    padding:32px;
}

.detail-content span{
    display:inline-block;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:2px;
    color:var(--primary-color);
    margin-bottom:12px;
}

.detail-content h4{
    font-size:24px;
    line-height:1.45;
    margin:0;
}

/*===================================
Showcase
===================================*/

.gallery-showcase{
    margin-bottom:90px;
}

.showcase-image{
    position:relative;
    overflow:hidden;
    border-radius:0;
    height:650px;
}

.showcase-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
}

.showcase-image:hover img{
    transform:scale(1.04);
}

.showcase-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:70px;
    background:linear-gradient(to top,
    rgba(0,0,0,.75),
    rgba(0,0,0,.35),
    transparent);
    color:#fff;
}

.showcase-overlay span{
    display:inline-block;
    margin-bottom:15px;
    font-size:13px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#d8c3a5;
}

.showcase-overlay h3{
    max-width:520px;
    font-size:52px;
    line-height:1.2;
    color:#fff;
    margin:0;
}

/*===================================
Statistics
===================================*/

.gallery-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    margin-bottom:90px;
}

.gallery-stats article{
    background:#fff;
    padding:45px 25px;
    text-align:center;
    border-radius:0;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.gallery-stats h3{
    font-size:52px;
    color:var(--primary-color);
    margin-bottom:10px;
}

.gallery-stats span{
    color:#666;
}

/*===================================
CTA
===================================*/

.gallery-cta{
    background:#fff;
    border-radius:0;
    padding:60px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    box-shadow:0 15px 45px rgba(0,0,0,.05);
}

.gallery-cta h3{
    font-size:42px;
    line-height:1.3;
    margin-top:18px;
    max-width:600px;
}

/*===================================
Responsive
===================================*/

@media(max-width:991px){

.gallery-feature-image{
    height:500px;
}

.gallery-editorial-card{
    padding:40px;
}

.showcase-image{
    height:500px;
}

.showcase-overlay{
    padding:45px;
}

.showcase-overlay h3{
    font-size:38px;
}

.gallery-stats{
    grid-template-columns:repeat(2,1fr);
}

.gallery-cta{
    flex-direction:column;
    text-align:center;
    padding:45px;
}

.gallery-cta h3{
    font-size:34px;
    max-width:100%;
}

}

@media(max-width:767px){

.signature-gallery{
    padding:80px 0;
}

.gallery-heading{
    margin-bottom:60px;
}

.gallery-editorial{
    margin-bottom:70px;
}

.gallery-details{
    margin-bottom:70px;
}

.gallery-showcase{
    margin-bottom:70px;
}

.gallery-feature-image{
    height:380px;
    border-radius:0;
}

.gallery-feature-image img{
    height:100%;
}

.gallery-editorial-card{
    padding:30px;
    border-radius:0;
}

.gallery-editorial-card h3{
    font-size:30px;
}

.detail-card img{
    height:260px;
}

.detail-content{
    padding:24px;
}

.detail-content h4{
    font-size:22px;
}

.showcase-image{
    height:380px;
    border-radius:0;
}

.showcase-overlay{
    padding:30px;
}

.showcase-overlay h3{
    font-size:30px;
}

.gallery-stats{
    grid-template-columns:1fr;
    gap:20px;
}

.gallery-stats article{
    padding:35px;
}

.gallery-cta{
    padding:35px 25px;
}

.gallery-cta h3{
    font-size:28px;
}

}