/* custom landing page */
#inner-page-wrapper {
	margin-bottom: 0;
}

body.page-template-custom-landing-page #inner-page-wrapper>.container {
	width: 100%;
	padding: 0;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.amh-fixed-header-nav {
	display: none;
}

body:has(.custom-header__menu-toggle.is-active) {
	overflow: hidden;
}

/* ================================================================
   UNIFIED SECTION TITLE SYSTEM
   ================================================================ */

/* Section Title Wrapper - contains accent line and title */
.section-title-wrapper {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	position: relative;
	padding: 10px 0 0 22px;
}

/* Gold Accent Line */
.section-title-accent {
	width: 1px;
	height: 100%;
	background-color: #D7A337;
	flex-shrink: 0;
	margin-top: 0;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

/* Section Label - small text above main title */
.section-label {
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 20px;
	letter-spacing: 5px;
	text-transform: uppercase;
	color: #999999;
	margin-bottom: 5px;
}

/* Section Title - main large heading */
.section-title {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 80px;
	line-height: 96px;
	letter-spacing: 3.2px;
	text-transform: uppercase;
	color: #000000;
	margin: 0;
}

/* Section Title - light variant for dark backgrounds */
.section-title--light {
	color: #ffffff;
}

/* Section Title Responsive */
@media screen and (max-width: 480px) {
	.section-title-accent {
		height: 65px;
		margin-top: 8px;
	}

	.section-title-wrapper {
		gap: 12px;
	}

	.section-label {
		font-size: 14px;
		letter-spacing: 3px;
	}

	.section-title {
		font-size: 32px;
		line-height: 42px;
		letter-spacing: 1.28px;
	}
}

@media screen and (min-width: 481px) and (max-width: 767px) {
	.section-title-accent {
		height: 80px;
		margin-top: 10px;
	}

	.section-title-wrapper {
		gap: 14px;
	}

	.section-label {
		font-size: 16px;
		letter-spacing: 4px;
	}

	.section-title {
		font-size: 40px;
		line-height: 50px;
		letter-spacing: 1.6px;
	}
}

@media screen and (min-width: 768px) and (max-width: 991px) {
	.section-title-accent {
		height: 100px;
		margin-top: 14px;
	}

	.section-title-wrapper {
		gap: 16px;
	}

	.section-label {
		font-size: 18px;
		letter-spacing: 4px;
	}

	.section-title {
		font-size: 56px;
		line-height: 68px;
		letter-spacing: 2.24px;
	}
}

@media screen and (min-width: 992px) and (max-width: 1023px) {
	.section-title-accent {
		height: 110px;
		margin-top: 16px;
	}

	.section-title-wrapper {
		gap: 20px;
	}

	.section-label {
		font-size: 18px;
		letter-spacing: 5px;
	}

	.section-title {
		font-size: 60px;
		line-height: 72px;
		letter-spacing: 2.4px;
	}
}

@media screen and (min-width: 1024px) {
	.section-title-accent {
		height: 100%;
		margin-top: 0;
	}

	.section-title-wrapper {
		gap: 22px;
	}

	.section-label {
		font-size: 20px;
		letter-spacing: 5px;
	}

	.section-title {
		font-size: 80px;
		line-height: 96px;
		letter-spacing: 3.2px;
	}
}

/* ================================================================
   END UNIFIED SECTION TITLE SYSTEM
   ================================================================ */

/* banner */
.banner {
	position: relative;
	width: 100%;
	
	height: 800px;
	margin: 0 auto;
	overflow: hidden;
}

.banner__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.banner__background-image {
	position: absolute;
	top: -170px;
	left: -14px;
	width: 1627px;
	height: 986px;
	object-fit: cover;
	object-position: center;
}

.banner__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 2;
}

.banner__content {
	position: relative;
	z-index: 3;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.custom-header {
	position: fixed;
	z-index: 900;
	width: 100%;
	padding: 50px 0;
	transition: all .5s;
}

.custom-header.scrolled {
	background: #000;
	padding: 20px 0;
}

.custom-header__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1516px;	
	margin: 0 auto;
	padding: 0 42px;	
}

.custom-header__logo {
	width: 296px;

	flex-shrink: 0;
}

.custom-header__logo-link {
	display: block;
	width: 100%;
	height: 100%;
}

.custom-header__logo-link:focus {
	outline: 2px solid #D7A337;
	outline-offset: 4px;
}

.custom-header__logo-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.custom-header__nav {
	display: flex;
	align-items: center;
}

.custom-header__nav .menu,
.custom-header__nav-list {
	display: flex;
	align-items: center;
	gap: 40px;
}

.custom-header__nav .menu-item,
.custom-header__nav-item {
	display: inline-block;
}

.custom-header__nav .menu-item a,
.custom-header__nav-link {
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 13px;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: #ffffff;
	transition: all 0.3s ease;
	padding: 15px;
	position: relative;
	display: block;
}

.custom-header__nav .menu-item a::after,
.custom-header__nav-link::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 1px;
	background-color: #D7A337;
	transition: width 0.3s ease;
}

.custom-header__nav .menu-item a:hover::after,
.custom-header__nav .menu-item a:focus::after,
.custom-header__nav-link:hover::after,
.custom-header__nav-link:focus::after {
	width: 100%;
}

.custom-header__nav .menu-item a:hover,
.custom-header__nav .menu-item a:focus,
.custom-header__nav-link:hover,
.custom-header__nav-link:focus {
	color: #D7A337;
	outline: none;
}

.custom-header__nav .current-menu-item a,
.custom-header__nav-link--active {
	color: #D7A337;
}

.custom-header__nav .current-menu-item a::after,
.custom-header__nav-link--active::after {
	width: 100%;
}

.custom-header__nav .menu-item-has-children:hover > a {
	background: #000;	
	color: #fff;
}

/* Dropdown Menu Styles */
.custom-header__nav .menu-item-has-children {
	position: relative;
}

.custom-header__nav .menu-item-has-children > .custom-header__nav-link::after {
	display: none;
}

.custom-header__nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background-color: rgba(0, 0, 0, 0.95);
	padding: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateX(0) translateY(10px);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
	z-index: 100;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.custom-header__nav .menu-item-has-children:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(0) translateY(0);
}

.custom-header__nav .sub-menu .menu-item {
	display: block;
	padding: 0;	
}

.custom-header__nav .sub-menu .menu-item:not(:first-child) {
	border-top: 1px #555555 solid;	
}

.custom-header__nav .sub-menu .custom-header__nav-link {
	display: block;
	padding: 20px 25px;
	font-size: 12px;
	letter-spacing: 1px;
	white-space: nowrap;
	transition: background-color 0.3s ease, color 0.3s ease, padding-left 0.3s ease;
}

.custom-header__nav .sub-menu .custom-header__nav-link::after {
	display: none;
}

.custom-header__nav .sub-menu .custom-header__nav-link:hover,
.custom-header__nav .sub-menu .custom-header__nav-link:focus {	
	background-color: #D7A337;
	color: #fff;
}

/* Nested submenus (third level) */
.custom-header__nav .sub-menu .menu-item-has-children > .sub-menu {
	top: 0;
	left: 100%;
	transform: translateX(0) translateY(0);
	border-top: none;
	border-left: 2px solid #D7A337;
}

.custom-header__nav .sub-menu .menu-item-has-children:hover > .sub-menu {
	transform: translateX(0) translateY(0);
}

.custom-header__nav .sub-menu .menu-item-has-children > .custom-header__nav-link::before {
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 5px solid #ffffff;
	border-right: none;
	right: 15px;
}

.custom-header__nav .sub-menu .menu-item-has-children:hover > .custom-header__nav-link::before {
	border-left-color: #D7A337;
	transform: translateY(-50%) translateX(3px);
}

.custom-header__menu-toggle {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 10px;
	z-index: 100;
}

.custom-header__menu-toggle-icon {
	display: block;
	width: 24px;
	height: 2px;
	background-color: #ffffff;
	position: relative;
	transition: background-color 0.3s ease;
}

.custom-header__menu-toggle-icon::before,
.custom-header__menu-toggle-icon::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #ffffff;
	transition: transform 0.3s ease;
}

.custom-header__menu-toggle-icon::before {
	top: -7px;
}

.custom-header__menu-toggle-icon::after {
	bottom: -7px;
}

.custom-header__menu-toggle:focus {
	outline: 2px solid #D7A337;
	outline-offset: 2px;
}

/* Hamburger Animation */
.custom-header__menu-toggle.is-active .custom-header__menu-toggle-icon {
	background-color: transparent;
}

.custom-header__menu-toggle.is-active .custom-header__menu-toggle-icon::before {
	top: 0;
	transform: rotate(45deg);
}

.custom-header__menu-toggle.is-active .custom-header__menu-toggle-icon::after {
	bottom: 0;
	transform: rotate(-45deg);
}

.hero {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0 20px;
	margin-top: 50px;
}

.hero__tagline {
	max-width: 1077px;
	margin: 0 auto;
}

.hero__title {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 50px;
	line-height: 60px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #ffffff;
	margin-bottom: 20px;
}

.hero__subtitle {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
	text-transform: uppercase;
	color: #ffffff;
	max-width: 857px;
	margin: 0 auto 46px;
}

.hero__cta {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.custom-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 272px;
	height: 65px;
	background-color: transparent;
	border: 1px solid #ffffff;
	cursor: pointer;
	overflow: hidden;
	text-decoration: none;
	transition: background-color 0.3s ease, border-color 0.3s ease;
}

.custom-btn::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 100%;
	background-color: #D7A337;
	transition: width 0.3s ease;
}

.custom-btn__text {
	font-family: 'Karla', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 15px;
	letter-spacing: 0.75px;
	text-transform: uppercase;
	color: #ffffff;
	transition: color 0.3s ease;
	position: relative;
	z-index: 1;
}

.custom-btn:hover {
	background-color: #D7A337;
	border-color: #D7A337;
}

.custom-btn:hover::before {
	width: 100%;
}

/* .custom-btn:hover .custom-btn__text {
	color: #000000;
} */
/* 
.custom-btn:focus {
	outline: 2px solid #D7A337;
	outline-offset: 4px;
}

.custom-btn:focus-visible {
	outline: 2px solid #D7A337;
	outline-offset: 4px;
} */

.custom-btn:active {
	transform: scale(0.98);
}

/* Button Modifier: Outline (for light backgrounds) */
.custom-btn--outline {
	border-color: #000000;
}

.custom-btn--outline .custom-btn__text {
	color: #000000;
}

/* .custom-btn--outline:hover {
	background-color: #000000;
	border-color: #000000;
} */

.custom-btn--outline:hover .custom-btn__text {
	color: #ffffff;
}

/* Button Modifier: Light (for dark backgrounds) */
.custom-btn--light {
	border-color: #ffffff;
}

.custom-btn--light .custom-btn__text {
	color: #ffffff;
}

.custom-btn--light:hover {
	background-color: rgba(255, 255, 255, 0.1);
	border-color: #ffffff;
}

.custom-btn--light:hover .custom-btn__text {
	color: #ffffff;
}

.custom-btn--light:hover::before {
	width: 6px;
}

.custom-btn--light:focus {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.custom-btn--light:active {
	background-color: rgba(255, 255, 255, 0.2);
}

.custom-btn--light:active::before {
	width: 8px;
}

@media screen and (max-width: 767px) {
	.custom-btn {
		width: 100%;
		max-width: 280px;
		height: 55px;
	}

	.custom-btn__text {
		font-size: 13px;
	}
}

@media screen and (min-width: 768px) and (max-width: 991px) {
	.custom-btn {
		width: 240px;
		height: 58px;
	}

	.custom-btn__text {
		font-size: 14px;
	}
}

@media screen and (min-width: 992px) and (max-width: 1023px) {
	.custom-btn {
		width: 260px;
		height: 62px;
	}
}

@media screen and (min-width: 1024px) {
	.custom-btn {
		width: 272px;
		height: 65px;
	}
}

/* Button Reduced Motion */
@media (prefers-reduced-motion: reduce) {
	.custom-btn,
	.custom-btn::before,
	.custom-btn__text {
		transition: none;
	}

	.custom-btn:active {
		transform: none;
	}
}

/* Button Print Styles */
@media print {
	.custom-btn {
		border: 2px solid #000000;
		background: transparent;
	}

	.custom-btn::before {
		background-color: #000000;
	}

	.custom-btn__text {
		color: #000000;
	}
}

/* ================================================================
   END UNIFIED BUTTON SYSTEM
   ================================================================ */

@media(max-width: 991px) {
	.banner__content {
		padding-top: 120px;
	}

	.custom-header {
		padding: 20px 0;
		background: #000;
	}

	.custom-header__inner {
		padding: 0 20px;
	}
}

@media screen and (max-width: 991px) {
	.banner {
		height: auto;
		min-height: 100vh;
	}

	.banner__background-image {
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		min-width: 768px;
		height: 100%;
		object-fit: cover;
	}	

	.custom-header__logo {
		width: 180px;
		height: auto;
	}

	.custom-header__menu-toggle {
		display: block;		
		position: fixed;
		right:20px;		
	}

	.custom-header__nav {
		position: fixed;
		top: 0;
		right: -100%;
		width: 80%;
		max-width: 320px;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.95);
		flex-direction: column;
		justify-content: center;
		padding: 60px 40px;
		transition: right 0.3s ease;
		z-index: 99;
	}

	.custom-header__nav.is-open {
		right: 0;
	}

	.custom-header__nav .menu,
	.custom-header__nav-list {
		flex-direction: column;
		gap: 20px;
		text-align: center;
	}

	.custom-header__nav .menu-item {
		text-align: center;
	}

	.custom-header__nav .menu-item a,
	.custom-header__nav-link {
		font-size: 16px;
		letter-spacing: 2px;
		display: inline-block;
	}

	/* Mobile Dropdown Styles */	

	.custom-header__nav .menu-item-has-children {
		position: relative;
	}

	.custom-header__nav .menu-item-has-children > a::after {
		content: '';
		display: inline-block;
		width: 8px;
		height: 8px;
		border-right: 2px solid #D7A337;
		border-bottom: 2px solid #D7A337;
		transform: rotate(45deg);
		margin-left: 10px;
		vertical-align: middle;
		transition: transform 0.3s ease;
	}

	.custom-header__nav .menu-item-has-children.is-open > a::after {
		transform: rotate(-135deg);
	}

	.custom-header__nav .sub-menu {
		position: static;
		transform: none;
		width: 100%;
		min-width: 100%;
		background-color: rgba(0, 0, 0, 0.8);
		border-top: none;
		border-left: none;
		padding: 0;
		margin-top: 0;
		opacity: 1;
		visibility: visible;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
					padding 0.3s ease, 
					margin 0.3s ease;
		box-shadow: none;
	}

	.custom-header__nav .menu-item-has-children.is-open > .sub-menu {
		max-height: 500px;
		padding: 15px 0;
		margin-top: 15px;
		width: 100%;
	}

	.custom-header__nav .menu-item-has-children:hover > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.custom-header__nav .sub-menu .menu-item {
		text-align: center;
		border-top: none;
	}

	.custom-header__nav .sub-menu .menu-item:not(:first-child) {
		border-top: none;
	}

	.custom-header__nav .sub-menu .custom-header__nav-link {
		display: block;
		padding: 5px 20px;
		font-size: 11px;
		text-align: center;
		letter-spacing: 1.5px;
		color: #fff;
		transition: color 0.3s ease, background-color 0.3s ease;
	}

	.custom-header__nav .sub-menu .custom-header__nav-link:hover,
	.custom-header__nav .sub-menu .custom-header__nav-link:focus {
		background-color: #D7A337;
		color: #fff;
	}

	.hero {
		padding: 110px 20px 60px;
		margin-top: 0;
	}

	.hero__title {
		font-size: 28px;
		line-height: 36px;
	}

	.hero__subtitle {
		font-size: 14px;
		line-height: 20px;
		margin-bottom: 30px;
	}

	.hero__cta {
		flex-direction: column;
		gap: 15px;
	}
}

@media screen and (min-width: 768px) and (max-width: 991px) {
	.banner {
		height: auto;
		min-height: 700px;
	}

	.banner__background-image {
		top: -50px;
		left: 50%;
		transform: translateX(-50%);
		width: 120%;
		height: calc(100% + 100px);
	}

	.custom-header__inner {
		margin-top: 0;
		padding: 0 30px;
	}

	.custom-header__logo {
		width: 220px;
		height: auto;
	}

	.custom-header__nav .menu,
	.custom-header__nav-list {
		gap: 25px;
	}

	.custom-header__nav .menu-item a,
	.custom-header__nav-link {
		font-size: 12px;
		letter-spacing: 1px;
	}

	.hero {
		padding: 60px 30px;
	}

	.hero__title {
		font-size: 36px;
		line-height: 44px;
	}

	.hero__subtitle {
		font-size: 16px;
		line-height: 22px;
		margin-bottom: 35px;
	}
}

@media screen and (min-width: 992px) and (max-width: 1023px) {
	.banner {
		height: 750px;
	}

	.custom-header__inner {
		padding: 0 40px;
	}

	.custom-header__logo {
		width: 260px;
	}

	.hero__title {
		font-size: 42px;
		line-height: 52px;
	}

	.hero__subtitle {
		font-size: 17px;
		line-height: 23px;
	}
}

@media screen and (min-width: 1024px) {
	.banner {
		height: 800px;
	}

	.custom-header__inner {		
		padding: 0 42px;
	}

	.custom-header__logo {
		width: 296px;
		transition: all .5s;
	}

	.custom-header.scrolled .custom-header__logo {
		width: 150px;
	}

	.custom-header__nav .menu,
	.custom-header__nav-list {
		gap: 40px;
	}

	.hero__title {
		font-size: 50px;
		line-height: 60px;
	}

	.hero__subtitle {
		font-size: 18px;
		line-height: 24px;
		margin-bottom: 46px;
	}
}

@media screen and (min-width: 1600px) {
	.banner {
		
	}

	.banner__background-image {
		top: -170px;
		left: 0;
		width: 100%;
		height: 986px;
		transform: none;
	}
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: #D7A337;
	color: #000000;
	padding: 8px 16px;
	z-index: 1000;
	font-family: 'Karla', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: top 0.3s ease;
}

.skip-link:focus {
	top: 0;
}

/* about */
.about {
	position: relative;
	width: 100%;
	
	min-height: 850px;
	margin: 0 auto;
	overflow: hidden;
}

.about__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.about__background-image {
	position: absolute;
	top: -170px;
	left: 0;
	width: 100%;
	height: 1020px;
	opacity: 0.16;
	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
	object-fit: contain;
	object-position: center;
}

.about__background-overlay {
	position: absolute;
	top: 1px;
	left: 0;
	width: 100%;
	height: 879px;
	opacity: 0.8;
	object-fit: cover;
}

.about__container {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	padding: 140px 130px;
	max-width: 1600px;
	min-height: 850px;
	margin: 0 auto;
}

.about__content {
	display: flex;
	flex-direction: column;
	max-width: 667px;
	padding-top: 56px;
	position: relative;
	z-index: 1;
}

/* About section title wrapper - positioning only */
.about__title-wrapper {
	margin-bottom: 23px;
}

.about__copy {
	max-width: 666px;
	margin-bottom: 50px;
}

.about__paragraph {
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 19px;
	line-height: 36px;
	letter-spacing: 0;
	color: #000000;
}

/* About section button uses .custom-btn.custom-btn--outline */
.about__content .custom-btn {
	width: 245px;
}

.about__image-wrapper {
	position: relative;
	flex-shrink: 0;
	width: 562px;
	height: 564px;
}

.about__image-frame {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 1px solid #D5D5D5;
	pointer-events: none;
}

.about__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media screen and (max-width: 1024px) {
	.about {
		min-height: auto;
	}

	.about__container {
		flex-direction: column;
		padding: 80px 60px;
		gap: 60px;
	}

	.about__content {
		max-width: 100%;
		padding-top: 0;
	}

	.about__copy {
		max-width: 100%;
	}

	.about__paragraph {
		font-size: 17px;
		line-height: 32px;
	}

	.about__image-wrapper {
		width: 100%;
		max-width: 500px;
		height: 502px;
		margin: 0 auto;
	}

	.about__background-image {
		top: -100px;
		left: -200px;
		width: 1400px;
		height: 800px;
	}
}

@media screen and (max-width: 991px) {
	.about__container {
		padding: 60px 24px;
		gap: 40px;
	}

	.about__title-wrapper {
		margin-bottom: 20px;
	}

	.about__copy {
		margin-bottom: 32px;
	}

	.about__paragraph {
		font-size: 16px;
		line-height: 28px;
	}

	.about__content .custom-btn {
		width: 220px;
		height: 56px;
	}

	.about__content .custom-btn__text {
		font-size: 14px;
		letter-spacing: 0.6px;
	}

	.about__image-wrapper {
		width: 100%;
		max-width: 400px;
		height: 400px;
	}

	.about__background-overlay {
		height: 100%;
	}
}

@media screen and (max-width: 480px) {
	.about__container {
		padding: 40px 20px;
		gap: 32px;
	}

	.about__paragraph {
		font-size: 15px;
		line-height: 26px;
	}

	.about__content .custom-btn {
		width: 100%;
		max-width: 245px;
	}

	.about__image-wrapper {
		max-width: 100%;
		height: 300px;
	}	
}

@media print {
	.about {
		min-height: auto;
		page-break-inside: avoid;
	}

	.about__background {
		display: none;
	}
}

/* core services */
.core-services {
	position: relative;
	width: 100%;
	
	margin: 0 auto;
	min-height: 1004px;
	overflow: hidden;
}

.core-services__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	overflow: hidden;
}

.core-services__background-image {
	position: absolute;
	top: -27px;
	left: 4px;
	width: 1623px;
	height: 1082px;
	opacity: 0.07;
	object-fit: cover;
	pointer-events: none;
}

.core-services__content {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 60px 20px 80px;
}

.core-services__header {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	margin-bottom: 60px;
	padding-top: 40px;
}

/* Core services title uses unified .section-title-wrapper and .section-title */

.core-services__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 20px;
	max-width: 1387px;
	margin: 0 auto 60px;
	padding: 0 20px;
}

.service-card {
	position: relative;
	display: block;
	width: 100%;
	max-width: 322px;
	height: 490px;
	flex-shrink: 0;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: transform 0.3s ease;
}

.service-card:focus {
	outline: 2px solid #D7A337;
	outline-offset: 4px;
}

.service-card__image-wrapper {
	position: relative;
	width: 100%;
	height: 411px;
	overflow: hidden;
	border-radius: 0;
}

.service-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.service-card__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
}

.service-card__overlay-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: overlay;
}

.service-card__title {
	position: absolute;
	top: 347px;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 247px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 26px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: #ffffff;
	text-align: center;
	z-index: 2;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.service-card__divider {
	position: absolute;
	top: 391px;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 41px;
	background: linear-gradient(180deg, #D4AF37 0%, #C5A028 50%, #B8860B 100%);
	z-index: 2;
}

.service-card__description {
	position: absolute;
	top: 440px;
	left: 50%;
	transform: translateX(-50%);
	width: 311px;
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.7px;
	color: #555555;
	text-align: center;
}

.service-card:hover .service-card__image,
.service-card:focus-within .service-card__image {
	transform: scale(1.05);
}

.core-services__cta {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

/* Core services section uses .custom-btn.custom-btn--outline */

@media screen and (min-width: 768px) {
	.core-services__content {
		padding: 80px 40px 100px;
	}

	.core-services__grid {
		gap: 25px;
	}

	.service-card {
		max-width: 300px;
	}

	.service-card__title {
		font-size: 22px;
		line-height: 28px;
	}

	.service-card__description {
		font-size: 15px;
		line-height: 24px;
	}
}

@media screen and (min-width: 991px) {
	.core-services__header {
		margin-bottom: 80px;
		padding-top: 60px;
	}

	.core-services__grid {
		gap: 30px;
		flex-wrap: nowrap;
	}

	.service-card {
		max-width: 280px;
	}
}

@media screen and (min-width: 1024px) {
	.core-services {
		min-height: 1004px;
	}

	.core-services__content {
		padding: 106px 106px 93px;
	}

	.core-services__header {
		justify-content: center;
		margin-bottom: 66px;
		padding-top: 0;
	}

	.core-services__grid {
		gap: 33px;
		padding: 0;
		margin-bottom: 69px;
	}

	.service-card {
		width: 322px;
		max-width: 322px;
		height: 490px;
	}

	.service-card__image-wrapper {
		height: 411px;
	}

	.service-card__title {
		font-size: 25px;
		line-height: 30px;
		letter-spacing: 2.25px;
		width: 247px;
	}

	.service-card__divider {
		height: 41px;
	}

	.service-card__description {
		width: 311px;
		font-size: 16px;
		line-height: 25px;
		letter-spacing: 0.8px;
	}

	.core-services__cta {
		margin-top: 0;
	}
}

@media screen and (min-width: 1400px) {
	.core-services__grid {
		max-width: 1387px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.service-card__image {
		transition: none;
	}
}

@media (prefers-contrast: high) {
	.service-card__title {
		text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
	}
}

@media print {
	.core-services__background {
		display: none;
	}

	.service-card__image-wrapper {
		break-inside: avoid;
	}
}


/* featured projects */
.featured-projects {
	width: 100%;
	max-width: 1600px;	
	min-height: 1050px;
	margin: 0 auto;
	background-color: #ffffff;
	position: relative;
	overflow: hidden;
}

.featured-projects__inner {
	display: flex;
	flex-direction: column;
	padding: 60px 20px;
	gap: 40px;
}

.featured-projects__content {
	width: 100%;
	order: 2;
}

/* Featured projects title uses unified .section-title-wrapper, .section-label, .section-title */
.featured-projects__title-group {
	margin-bottom: 50px;
}

.featured-projects__description {
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 17px;
	line-height: 32px;
	color: #000000;	
	margin-bottom: 50px;
}

/* Featured projects section uses .custom-btn.custom-btn--outline */
.featured-projects__content .custom-btn {
	width: 245px;
}

.featured-projects__grid {
	width: 100%;
	order: 1;
}

.featured-projects__entries {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	list-style: none;
}

.featured-projects__entry {
	position: relative;
	overflow: hidden;
	aspect-ratio: 395 / 366;
	background-color: #f0f0f0;
}

.featured-projects__entry-link {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}

.featured-projects__entry-link-hover {
	position: absolute;
	bottom: 0;
	left: 0;
	text-align: center;
	color: #fff;
	width: 100%;
	padding: 0 0 25px;
	z-index: 2;
	transition: all .5s;
	opacity: 0;
}

.featured-projects__entry-link::after {
	content: '';
	pointer-events: none;
	position: absolute;
	width: 100%;
	height: 50%;
	background: linear-gradient(to top, #000, rgb(0 0 0 / 0%));
	z-index: 1;
	left: 0;
	bottom: 0;
	opacity: .70;
	transition: all .5s;
	opacity: 0;
}


.featured-projects__entry-link:hover .featured-projects__entry-link-hover  {
	opacity: 1;
}

.featured-projects__entry-link:hover::after {
	opacity: .70;
}

.featured-projects__entry-link-hover-title {
	font-size: 26.98px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.featured-projects__entry-link-hover-subtitle {
	font-size: 14px;
	line-height: 1.2;
}

.featured-projects__entry-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: transform 0.4s ease;
}

.featured-projects__entry-link:hover .featured-projects__entry-image {
	transform: scale(1.05);
}

.featured-projects__entry-link:focus {
	outline: 2px solid #C9A227;
	outline-offset: -2px;
}

.featured-projects__entry-link:focus-visible {
	outline: 2px solid #C9A227;
	outline-offset: -2px;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (min-width: 768px) {
	.featured-projects__inner {
		padding: 80px 40px;
	}

	.featured-projects__description {
		font-size: 18px;
		line-height: 34px;
	}

	.featured-projects__entries {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
}

@media(min-width: 992px) {
	.featured-projects__description {		
		max-width: 420px;		
	}		
}

@media (min-width: 991px) {
	.featured-projects__inner {
		padding: 100px 60px;
	}

	.featured-projects__entries {
		gap: 27px;
	}
}

@media (min-width: 1024px) {
	.featured-projects {
		min-height: 1050px;
	}

	.featured-projects__inner {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		padding: 145px 129px 145px 103px;
		gap: 95px;
		min-height: 1050px;
	}

	.featured-projects__content {
		width: 420px;
		flex-shrink: 0;
		order: 1;
		padding-top: 89px;
	}

	.featured-projects__grid {
		width: 817px;
		flex-shrink: 0;
		order: 2;
	}

	.featured-projects__description {
		font-size: 19px;
		line-height: 36px;
		margin-bottom: 65px;
	}

	.featured-projects__entries {
		grid-template-columns: repeat(2, 395px);
		grid-template-rows: repeat(2, 366px);
		gap: 27px;
	}

	.featured-projects__entry {
		aspect-ratio: unset;
		width: 395px;
		height: 366px;
	}
}

@media (min-width: 1440px) {
	.featured-projects__inner {
		padding: 145px 129px 145px 103px;
	}
}

/* why choose */
.why-choose {
	position: relative;
	width: 100%;
	min-height: 600px;
	overflow: hidden;
	background-color: #ffffff;
}

.why-choose__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.why-choose__background-image {
	position: absolute;
	top: -47px;
	left: 0;
	width: 100%;
	height: calc(100% + 250px);
	object-fit: cover;
	object-position: center center;
	opacity: 0.03;
	pointer-events: none;
}

.why-choose__content {
	position: relative;
	z-index: 1;
	width: 100%;
	
	margin: 0 auto;
	padding: 60px 20px;
}

.why-choose__header {
	display: flex;
	align-items: stretch;
	margin-bottom: 40px;
	padding-left: 20px;
}

/* Why choose title uses unified .section-title-wrapper and .section-title */

.why-choose__features {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	padding: 0 20px;
}

.feature {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	text-align: center;
}

.feature__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	flex-shrink: 0;
}

.feature__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}

.feature__title {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: 0.9px;
	text-transform: uppercase;
	color: #000000;
}

.feature__description {
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.56px;
	color: #555555;
	max-width: 280px;
}

@media screen and (min-width: 768px) {
	.why-choose {
		min-height: 700px;
	}

	.why-choose__content {
		padding: 80px 40px;
	}

	.why-choose__header {
		margin-bottom: 60px;
		padding-left: 40px;
	}

	.why-choose__features {
		grid-template-columns: repeat(2, 1fr);
		gap: 50px 60px;
		padding: 0 40px;
	}

	.feature {
		gap: 25px;
	}

	.feature__icon {
		width: 110px;
		height: 110px;
	}

	.feature__title {
		font-size: 20px;
		letter-spacing: 1px;
	}

	.feature__description {
		font-size: 15px;
		letter-spacing: 0.6px;
		line-height: 1.65;
	}
}

@media screen and (min-width: 991px) {
	.why-choose {
		min-height: 750px;
	}

	.why-choose__content {
		padding: 100px 60px;
	}

	.why-choose__header {
		padding-left: 80px;
	}

	.why-choose__features {
		grid-template-columns: repeat(4, 1fr);
		gap: 60px;
		padding: 0 60px;
		align-items: start;
	}

	.feature__icon {
		width: 120px;
		height: 120px;
	}

	.feature__title {
		font-size: 22px;
		letter-spacing: 1.1px;
	}

	.feature__description {
		font-size: 16px;
		letter-spacing: 0.8px;
		line-height: 1.5625;
		max-width: none;
	}
}

@media screen and (min-width: 1024px) {
	.why-choose {
		min-height: 864px;
		height: 864px;
	}

	.why-choose__content {
		height: 100%;
		padding: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.why-choose__header {
		position: relative;
		margin-top: 100px;
		margin-bottom: 0;
		text-align: center;
	}

	.why-choose__features {
		position: absolute;
		left: 50%;
		top: calc(50% + 88px);
		transform: translate(-50%, -50%);
		width: 1337px;
		max-width: calc(100% - 80px);
		grid-template-columns: 236px 277px 267px 287px;
		gap: 90px;
		padding: 0;
		align-items: start;
	}

	.feature {
		gap: 30px;
	}

	.feature--development .feature__icon {
		width: 130px;
		height: 130px;
	}

	.feature--expertise .feature__icon {
		width: 142px;
		height: 130px;
	}

	.feature--craftsmanship .feature__icon {
		width: 116px;
		height: 149px;
	}

	.feature--delivery .feature__icon {
		width: 143px;
		height: 131px;
	}

	.feature__title {
		font-size: 25px;
		line-height: 30px;
		letter-spacing: 1.25px;
	}

	.feature__description {
		font-size: 16px;
		line-height: 25px;
		letter-spacing: 0.8px;
	}
}

@media screen and (min-width: 1440px) {
	.why-choose__features {
		max-width: 1337px;
	}
}

.feature {
	transition: transform 0.3s ease;
}

.feature:hover {
	transform: translateY(-4px);
}

.feature:focus-within {
	outline: 2px solid #D7A337;
	outline-offset: 8px;
	border-radius: 4px;
}

.feature__icon img {
	transition: transform 0.3s ease;
}

.feature:hover .feature__icon img {
	transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {

	.feature,
	.feature__icon img {
		transition: none;
	}

	.feature:hover {
		transform: none;
	}

	.feature:hover .feature__icon img {
		transform: none;
	}
}

.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: #D7A337;
	color: #000000;
	padding: 8px 16px;
	text-decoration: none;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	z-index: 100;
	transition: top 0.3s ease;
}

.skip-link:focus {
	top: 0;
}


/* portfolio */
.portfolio {
	position: relative;
	width: 100%;	
	max-width: 1600px;
	margin: 0 auto;
	background-color: #ffffff;
	overflow: hidden;
}

.portfolio__inner {
	position: relative;
	width: 100%;
	padding: 40px 20px 60px;
}

/* Portfolio title uses unified .section-title-wrapper, .section-label, .section-title */
.portfolio__title-section {
	margin-bottom: 30px;
	z-index: 2;
}

.portfolio__title-section .section-title-accent {
	left: -20px;
}

/* Portfolio section button positioning */
.portfolio__cta-position {
	margin-top: 24px;
	margin-bottom: 40px;
	width: 245px;
}

.portfolio__hero-slider {
	width: 100%;
	margin-bottom: 20px;
}

.portfolio__hero-slider .slick-list {
	overflow: hidden;
}

.portfolio__hero-slider .slick-track {
	display: flex;
}

.portfolio__hero-slide {
	width: 100%;
}

.portfolio__hero-link {
	display: block;
	position: relative;
	text-decoration: none;
	color: inherit;
}

.portfolio__hero {
	position: relative;
	width: 100%;
	margin-bottom: 0;
	overflow: hidden;
}

.portfolio__hero-image {
	width: 100%;
	height: auto;
	aspect-ratio: 942 / 570;
	object-fit: cover;
	object-position: center;
	transition: transform 0.5s ease;
}

.portfolio__hero-link:hover .portfolio__hero-image {
	transform: scale(1.03);
}

.portfolio__hero::after {
	content: '';
	pointer-events: none;
	position: absolute;
	width: 100%;
	height: 50%;
	background: linear-gradient(to top, #000, rgb(0 0 0 / 0%));
	z-index: 1;
	left: 0;
	bottom: 0;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.portfolio__hero-link:hover .portfolio__hero::after {
	opacity: 0.7;
}

.portfolio__hero-hover {
	position: absolute;
	bottom: 0;
	left: 0;
	text-align: center;
	color: #fff;
	width: 100%;
	padding: 0 0 30px;
	z-index: 2;
	transition: opacity 0.5s ease;
	opacity: 0;
}

.portfolio__hero-link:hover .portfolio__hero-hover {
	opacity: 1;
}

.portfolio__hero-hover-title {
	display: block;
	font-size: 26px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.portfolio__hero-hover-subtitle {
	display: block;
	font-size: 14px;
	line-height: 1.2;
}

.portfolio__gallery {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Slick Slider Overrides for Portfolio Gallery */
.portfolio__gallery.slick-initialized {
	display: block;
}

.portfolio__gallery .slick-list {
	overflow: hidden;
}

.portfolio__gallery .slick-track {
	display: flex;
	align-items: stretch;
}

.portfolio__gallery .slick-slide {
	padding: 0 5px;
	height: auto;
}

.portfolio__gallery .slick-slide > div {
	height: 100%;
}

.portfolio__thumbnail {
	position: relative;
	overflow: hidden;
	aspect-ratio: 272 / 237;
}

.portfolio__thumbnail-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	position: relative;
}

.portfolio__thumbnail-link::after {
	content: '';
	pointer-events: none;
	position: absolute;
	width: 100%;
	height: 50%;
	background: linear-gradient(to top, #000, rgb(0 0 0 / 0%));
	z-index: 1;
	left: 0;
	bottom: 0;
	opacity: .70;
	transition: all .5s;
	opacity: 0;
}

.portfolio__thumbnail-link-hover {
	position: absolute;
	bottom: 0;
	left: 0;
	text-align: center;
	color: #fff;
	width: 100%;
	padding: 0 0 25px;
	z-index: 2;
	transition: all .5s;
	opacity: 0;
}

.portfolio__thumbnail-link:hover .portfolio__thumbnail-link-hover  {
	opacity: 1;
}

.portfolio__thumbnail-link:hover::after {
	opacity: .70;
}

.portfolio__thumbnail-link-hover-title {
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.portfolio__thumbnail-link-hover-subtitle {
	font-size: 14px;
}

.portfolio__thumbnail-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s ease;
}

.portfolio__thumbnail-link:hover .portfolio__thumbnail-image {
	transform: scale(1.05);
}

.portfolio__thumbnail-link:focus {
	outline: 2px solid #D7A337;
	outline-offset: -2px;
}

.portfolio__thumbnail-link:focus:not(:focus-visible) {
	outline: none;
}

.portfolio__thumbnail-link:focus-visible {
	outline: 2px solid #D7A337;
	outline-offset: -2px;
}

.aiosp-image-holder .aiosp-content {
    max-width: 100%
}

.aiosp-image-holder .aiosp-content {
    width: 90%;
    height: 100%;
}

.aiosp-figure {
	width: 100%;
	height: 100%;
}

.aiosp-figure figure {
    width: 100%;
    height: 95%;
}

img.aiosp-img {
	width: 100%;
	height: 100%;
	max-height: none !important;	
	padding: 40px 0 0;
	object-fit: cover;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (min-width: 991px) {
	.portfolio__inner {
		padding: 60px 40px 80px;
	}

	.portfolio__gallery .slick-slide {
		padding: 0 5px;
	}
}

@media (min-width: 1024px) {
	.portfolio__inner {
		position: relative;
		min-height: 1070px;
		padding: 127px 85px 127px 85px;
	}

	.portfolio__title-section {
		position: absolute;
		left: 127px;
		top: 298px;
		width: 577px;
		height: 115px;
		margin-bottom: 0;
	}

	.portfolio__title-section .section-label {
		position: absolute;
		top: 11px;
		left: 0;
	}

	.portfolio__title-section .section-title {
		position: absolute;
		top: 32px;
		left: -7px;
	}

	.portfolio__cta-position {
		position: absolute;
		top: 460.98px;
		width: 245px;
		height: 65px;
		margin: 0;
		left: 106px;
	}

	.portfolio__hero-slider {
		position: absolute;
		left: 568px;
		top: 127px;
		width: 942px;
		height: 570px;
		margin-bottom: 0;
	}

	.portfolio__hero-slide {
		width: 942px;
		height: 570px;
		
	}

	.portfolio__hero-link {
		width: 100%;
		height: 100%;
	}

	.portfolio__hero {
		position: relative;
		width: 942px;
		height: 570px;
		margin-bottom: 0;
	}

	.portfolio__hero-image {
		width: 942px;
		height: 570px;
	}

	.portfolio__gallery {
		position: absolute;
		left: 120px;
		top: 706px;
		width: calc(1600px - 120px - 85px);
	}

	.portfolio__gallery .slick-slide {
		padding: 0 5px;
	}

	.portfolio__thumbnail {
		width: 100%;
		height: 237px;
	}
}

@media (min-width: 1600px) {
	.portfolio__inner {		
		height: 1070px;
	}

	.portfolio__gallery .slick-slide {
		padding: 0 5px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.portfolio__thumbnail-image {
		transition: none;
	}

	.portfolio__thumbnail-link:hover .portfolio__thumbnail-image {
		transform: none;
	}
}

/* contact */
.contact {
	position: relative;
	width: 100%;
	min-height: 668px;
	overflow: hidden;
}

.contact__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.contact__background-image {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.contact__background::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom,
			rgba(0, 0, 0, 0.2) 0%,
			rgba(0, 0, 0, 0.1) 100%);
}

.contact__container {
	position: relative;
	z-index: 2;
	max-width: 1600px;
	margin: 0 auto;
	padding: 160px 129px 120px;
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.contact__content {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.contact-info {
	width: 100%;
	max-width: 330px;
}

.contact-info__title {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 25px;
	line-height: 26px;
	text-transform: uppercase;
	color: #FFFFFF;
	margin-top: 0;
	margin-bottom: 45px;
}

.contact-info__list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 21px;
	margin: 0;
}

.contact-info__item {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.contact-info__item i {
	color: #fff;
}

.contact-info__item i.ai-font-location-c {
	font-size: 28px;
}

.contact-info__item i.ai-font-phone-alt {
	font-size: 18px;
}
.contact-info__item i.ai-font-envelope-f {
	font-size: 14px;
}

.contact-info__icon {
	flex-shrink: 0;
	width: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2px;
}

.contact-info__icon img {
	width: 15px;
	height: auto;
}

.contact-info__icon--address img {
	height: 21px;
}

.contact-info__icon--phone img {
	height: 15px;
}

.contact-info__icon--email img {
	height: 8px;
}

.contact-info__text {
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 25px;
	letter-spacing: 0.8px;
	color: #FFFFFF;
	font-style: normal;
}

.contact-info__link {
	color: #FFFFFF;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.contact-info__link:hover,
.contact-info__link:focus {
	opacity: 0.8;
	text-decoration: underline;
	color: #d7a337;
}

.contact-info__link:focus {
	outline: 2px solid #FFFFFF;
	outline-offset: 2px;
}

.contact-form {
	width: 100%;
}

.contact-form__title {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 25px;
	line-height: 26px;
	text-transform: uppercase;
	color: #FFFFFF;
	margin-bottom: 32px;
}

.contact-form__form {
	display: flex;
	flex-direction: column;
	gap: 53px;
}

.contact-form__row {
	display: flex;
	flex-direction: column;
	gap: 53px;
}

.contact-form__field {
	position: relative;
	width: 100%;
}

.contact-form__label {
	display: block;
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 14px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #FFFFFF;
	margin-bottom: 17px;
}

.contact-form__input {
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	padding: 0 0 8px 0;
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 25px;
	letter-spacing: 0.8px;
	color: #FFFFFF;
	transition: border-color 0.3s ease;
}

.contact-form__input::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.contact-form__input:hover {
	border-bottom-color: rgba(255, 255, 255, 0.8);
}

.contact-form__input:focus {
	outline: none;
	border-bottom-color: #FFFFFF;
}

.contact-form__textarea {
	width: 100%;
	min-height: 32px;
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	padding: 0 0 8px 0;
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 25px;
	letter-spacing: 0.8px;
	color: #FFFFFF;
	resize: vertical;
	transition: border-color 0.3s ease;
}

.contact-form__textarea::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.contact-form__textarea:hover {
	border-bottom-color: rgba(255, 255, 255, 0.8);
}

.contact-form__textarea:focus {
	outline: none;
	border-bottom-color: #FFFFFF;
}

/* Contact form button uses .custom-btn.custom-btn--light */
.contact-form__form .custom-btn {
	margin-top: 42px;
}

/* ================================================================
   CONTACT FORM 7 STYLING
   ================================================================ */

.contact-form .wpcf7 {
	width: 100%;
}

.contact-form .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 53px;
}

/* CF7 Form Row - Name and Phone side by side */
.contact-form .wpcf7-form .form-row {
	display: flex;
	flex-direction: column;
	gap: 53px;
}

/* CF7 Form Fields */
.contact-form .wpcf7-form .form-field {
	position: relative;
	width: 100%;
}

/* CF7 Input Fields */
.contact-form .wpcf7-form input[type="text"],
.contact-form .wpcf7-form input[type="email"],
.contact-form .wpcf7-form input[type="tel"] {
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	padding: 0 6px 8px 6px;
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 25px;
	letter-spacing: 0.8px;
	color: #FFFFFF;
	transition: border-color 0.3s ease;
	border-radius: 0;
	-webkit-appearance: none;
}

.contact-form .wpcf7-form input[type="text"]::placeholder,
.contact-form .wpcf7-form input[type="email"]::placeholder,
.contact-form .wpcf7-form input[type="tel"]::placeholder {
	color: rgba(255, 255, 255, 0.5);
	text-transform: uppercase;
}

.contact-form .wpcf7-form input[type="text"]:hover,
.contact-form .wpcf7-form input[type="email"]:hover,
.contact-form .wpcf7-form input[type="tel"]:hover {
	border-bottom-color: rgba(255, 255, 255, 0.8);
}

.contact-form .wpcf7-form input[type="text"]:focus,
.contact-form .wpcf7-form input[type="email"]:focus,
.contact-form .wpcf7-form input[type="tel"]:focus {
	outline: none;
	border-bottom-color: #FFFFFF;
}

/* CF7 Textarea */
.contact-form .wpcf7-form textarea {
	width: 100%;
	min-height: 32px;
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	padding: 0 0 8px 0;
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 25px;
	letter-spacing: 0.8px;
	color: #FFFFFF;
	resize: vertical;
	transition: border-color 0.3s ease;
	border-radius: 0;
	-webkit-appearance: none;
}

.contact-form .wpcf7-form textarea::placeholder {
	color: rgba(255, 255, 255, 0.5);
	text-transform: uppercase;
}

.contact-form .wpcf7-form textarea:hover {
	border-bottom-color: rgba(255, 255, 255, 0.8);
}

.contact-form .wpcf7-form textarea:focus {
	outline: none;
	border-bottom-color: #FFFFFF;
}

/* CF7 Submit Button */
.contact-form .wpcf7-form input[type="submit"],
.contact-form .wpcf7-form .wpcf7-submit {
	position: relative;
	width: 272px;
	height: 65px;
	margin-top: 42px;
	background: transparent;
	border: 1px solid #FFFFFF;
	cursor: pointer;
	font-family: 'Karla', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 15px;
	letter-spacing: 0.75px;
	text-transform: uppercase;
	color: #FFFFFF;
	transition: background-color 0.3s ease;
	border-radius: 0;
	-webkit-appearance: none;
}

.contact-form .wpcf7-form input[type="submit"]:hover,
.contact-form .wpcf7-form .wpcf7-submit:hover {
	background: rgba(255, 255, 255, 0.1);
}

.contact-form .wpcf7-form input[type="submit"]:focus,
.contact-form .wpcf7-form .wpcf7-submit:focus {
	outline: 2px solid #FFFFFF;
	outline-offset: 2px;
}

.contact-form .wpcf7-form input[type="submit"]:active,
.contact-form .wpcf7-form .wpcf7-submit:active {
	background: rgba(255, 255, 255, 0.2);
}

/* CF7 Submit Button - Gold Accent */
.contact-form .wpcf7-form .submit-wrapper {
	position: relative;
	display: inline-block;
	margin-top: 42px;
}

.contact-form .wpcf7-form .submit-wrapper::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 100%;
	background-color: #D7A337;
	transition: width 0.3s ease;
	z-index: 1;
}

.contact-form .wpcf7-form .submit-wrapper:hover::before {
	width: 6px;
}

.contact-form .wpcf7-form .submit-wrapper input[type="submit"] {
	margin-top: 0;
}

/* CF7 Validation Messages */
.contact-form .wpcf7-form .wpcf7-not-valid-tip {
	color: #ff6b6b;
	font-family: 'Karla', sans-serif;
	font-size: 12px;
	margin-top: 8px;
}

.contact-form .wpcf7-form .wpcf7-response-output {
	margin: 20px 0 0 0;
	padding: 15px 20px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	font-family: 'Karla', sans-serif;
	font-size: 14px;
	color: #FFFFFF;
}

.contact-form .wpcf7-form.sent .wpcf7-response-output {
	border-color: #4CAF50;
	background-color: rgba(76, 175, 80, 0.1);
}

.contact-form .wpcf7-form.failed .wpcf7-response-output,
.contact-form .wpcf7-form.invalid .wpcf7-response-output {
	border-color: #ff6b6b;
	background-color: rgba(255, 107, 107, 0.1);
}

/* CF7 Spinner */
.contact-form .wpcf7-form .wpcf7-spinner {
	display: inline-block;
	margin-left: 15px;
	vertical-align: middle;
}

/* CF7 Responsive - Tablet and up */
@media screen and (min-width: 991px) {
	.contact-form .wpcf7-form .form-row {
		flex-direction: row;
		gap: 54px;
	}

	.contact-form .wpcf7-form .form-field--name {
		flex: 1.16;
		max-width: 487px;
	}

	.contact-form .wpcf7-form .form-field--phone {
		flex: 1;
		max-width: 418px;
	}
}

/* CF7 Responsive - Mobile */
@media screen and (max-width: 990px) {
	.contact-form .wpcf7-form input[type="submit"],
	.contact-form .wpcf7-form .wpcf7-submit {
		width: 100%;
		max-width: 272px;
	}
}

/* ================================================================
   END CONTACT FORM 7 STYLING
   ================================================================ */

@media screen and (min-width: 991px) {
	.contact__container {
		padding: 160px 80px 120px;
	}

	.contact__content {
		flex-direction: row;
		align-items: flex-start;
		gap: 60px;
	}

	.contact-info {
		flex-shrink: 0;
		width: 330px;
	}

	.contact-form {
		flex: 1;
		max-width: 650px;
	}

	.contact-form__row {
		flex-direction: row;
		gap: 54px;
	}

	.contact-form__field--name {
		flex: 1.16;
		max-width: 487px;
	}

	.contact-form__field--phone {
		flex: 1;
		max-width: 418px;
	}

	.contact-form__field--message {
		width: 100%;
	}
}

@media screen and (min-width: 1024px) {
	.contact {
		min-height: 668px;
	}

	.contact__container {
		padding: 160px 129px 120px;
	}

	.contact__content {
		gap: 100px;
	}

	.contact-form {
		max-width: 959px;
	}

	.contact-form__title {
		margin-bottom: 32px;
	}
}

@media screen and (min-width: 1400px) {
	.contact__content {
		gap: 130px;
	}
}

@media screen and (min-width: 1600px) {
	.contact__container {
		padding-left: 129px;
		padding-right: 129px;
	}

	.contact__content {
		gap: 100px;
	}

	.contact-info {
		width: 276px;
	}

	.contact-form {
		margin-left: calc(510px - 129px - 276px - 100px);
		max-width: 962px;
	}
}

@media screen and (max-width: 990px) {
	.contact__container {
		padding: 80px 24px 60px;
	}

	.contact-info__title {
		font-size: 22px;
		margin-bottom: 30px;
	}

	.contact-info__text {
		font-size: 15px;
	}

	.contact-form__title {
		font-size: 20px;
		line-height: 28px;
	}

	.contact-form__form .custom-btn {
		width: 100%;
		max-width: 272px;
	}
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.contact-form__input:focus-visible,
.contact-form__textarea:focus-visible {
	border-bottom-color: #FFFFFF;
	box-shadow: 0 2px 0 0 #FFFFFF;
}

@media (prefers-contrast: high) {
	.contact-form__input,
	.contact-form__textarea {
		border-bottom-width: 2px;
	}

	.contact-form__form .custom-btn {
		border-width: 2px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.contact-info__link,
	.contact-form__input,
	.contact-form__textarea {
		transition: none;
	}
}



/* footer */
.footer {
	position: relative;
	width: 100%;
	min-height: 430px;
	overflow: hidden;
	margin-top: 0 !important;
}

.footer__background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	overflow: hidden;
}

.footer__background-image {
	position: absolute;
	top: -28px;
	left: 1px;
	width: 100%;
	width: 100%;
	height: auto;
	min-height: calc(100% + 28px);
	object-fit: cover;
	object-position: center top;
	pointer-events: none;
}

.footer__elements {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	max-width: 1198.5px;
	margin: 0 auto;
	padding: 60px 20px 60px;
}

.footer__logo {
	width: 200px;
	height: auto;
}

.footer__logo-link {
	display: block;
	width: 100%;
}

.footer__logo-link:focus {
	outline: 2px solid #000000;
	outline-offset: 4px;
}

.footer__logo-image {
	width: 100%;
	height: auto;
	object-fit: contain;
	pointer-events: none;
}

.footer__nav {
	width: 100%;	
}

.footer__nav-list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.footer__nav-item {
	display: block;
}

.footer__nav-link {
	display: block;
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 16px;
	letter-spacing: -0.3828px;
	text-transform: uppercase;
	color: #000000;
	padding: 8px 12px;
	transition: opacity 0.2s ease;
}

.footer__nav-link:hover {
	opacity: 0.7;
}

.footer__nav-link:focus {
	outline: 2px solid #000000;
	outline-offset: 2px;
}

.footer__nav-link:active {
	opacity: 0.5;
}

.footer__copyright {
	width: 100%;
	max-width: 1198.5px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.footer__divider {
	width: 100%;
	height: 1px;
	background-color: #C2C3BD;
	border: none;
}

.footer__copyright-text {
	margin-top: 20px;
	font-family: 'Karla', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 24px;
	text-align: center;
	color: #000000;
	padding: 0 10px;
}

.footer__copyright-link {
	color: #000000;
	transition: opacity 0.2s ease;
}

.footer__copyright-link:hover {
	opacity: 0.7;
}

.footer__copyright-link:focus {
	outline: 2px solid #000000;
	outline-offset: 2px;
}

@media screen and (min-width: 768px) {
	.footer__elements {
		gap: 40px;
		padding: 80px 40px;
	}

	.footer__logo {
		width: 240px;
	}

	.footer__nav-list {
		flex-direction: row;
		gap: 40px;
	}

	.footer__nav-link {
		font-size: 15px;
	}

	.footer__copyright-text {
		font-size: 13px;
		line-height: 28px;
		margin-top: 22px;
	}
}

@media screen and (min-width: 991px) {
	.footer__elements {
		gap: 42px;
		padding: 100px 60px 100px;
	}

	.footer__logo {
		width: 260px;
	}

	.footer__nav-list {
		gap: 50px;
	}

	.footer__nav-link {
		font-size: 16px;
	}

	.footer__copyright-text {
		font-size: 14px;
		line-height: 30px;
		margin-top: 24px;
	}
}

@media screen and (min-width: 1024px) {
	.footer {
		min-height: 430px;
	}

	.footer__elements {
		gap: 45px;
		padding: 104px 202.5px 101.9px;
		min-height: 430px;
		justify-content: flex-start;
	}

	.footer__logo {
		width: 267px;
		height: 71px;
	}

	.footer__nav {
		width: auto;
	}

	.footer__nav-list {
		gap: 60px;
	}

	.footer__nav-link {
		font-size: 16px;
		line-height: 16px;
		letter-spacing: -0.3828px;
	}

	.footer__copyright {
		max-width: 1198.5px;
	}

	.footer__divider {
		width: 100%;
		max-width: 1198.5px;
	}

	.footer__copyright-text {
		margin-top: 23.97px;
		font-size: 14px;
		line-height: 30px;
		max-width: 1128.85px;
	}
}

@media screen and (min-width: 1600px) {
	.footer {
		height: 430px;
	}

	.footer__background-image {		
		left: 50%;
		transform: translateX(-50%);
	}

	.footer__elements {
		padding-left: calc((100% - 1198.5px) / 2);
		padding-right: calc((100% - 1198.5px) / 2);
	}
}

@media (prefers-reduced-motion: reduce) {

	.footer__nav-link,
	.footer__copyright-link {
		transition: none;
	}
}

@media print {
	.footer {
		background: #ffffff;
		color: #000000;
	}

	.footer__background {
		display: none;
	}

	.footer__nav-link,
	.footer__copyright-link {
		color: #000000;
	}
}

/* ================================================================
   FIXED BACKGROUND EFFECT (PARALLAX)
   Applied to: About, Core Services, Why Choose RLG, Footer
   ================================================================ */
@media screen and (min-width: 1200px) {
	/* About Section - RLG Development */
	.about {
		clip-path: inset(0);
	}

	.about__background {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
	}

	.about__background-image {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.about__background-overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	/* Core Services Section */
	.core-services {
		clip-path: inset(0);
	}

	.core-services__background {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
	}

	.core-services__background-image {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* Why Choose RLG Section */
	.why-choose {
		clip-path: inset(0);
	}

	.why-choose__background {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
	}

	.why-choose__background-image {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* Footer Section */
	.footer {
		clip-path: inset(0);
	}

	.footer__background {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
	}

	.footer__background-image {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/* Disable fixed backgrounds for users who prefer reduced motion */
@media screen and (min-width: 1200px) and (prefers-reduced-motion: reduce) {
	.about,
	.core-services,
	.why-choose,
	.footer {
		clip-path: none;
	}

	.about__background,
	.core-services__background,
	.why-choose__background,
	.footer__background {
		position: absolute;
	}
}