:root {
	--ucw-content-navy: var(--ucw-navy, #142b4a);
	--ucw-content-walnut: var(--ucw-walnut, #8a5a36);
	--ucw-content-ivory: var(--ucw-warm-white, #fbfaf7);
	--ucw-content-stone: var(--ucw-stone, #f1efeb);
	--ucw-content-border: var(--ucw-border, #d9d6d0);
	--ucw-content-radius: var(--ucw-radius, 5px);
}

.ucw-content {
	background: var(--ucw-content-ivory);
	color: #191919;
}

.ucw-content-shell {
	width: min(calc(100% - 48px), 1320px);
	margin-inline: auto;
}

.ucw-content :is(a, button):focus-visible,
.ucw-home-products a:focus-visible,
.ucw-projects-home :is(a, button):focus-visible {
	outline: 3px solid var(--ucw-content-walnut) !important;
	outline-offset: 4px;
}

.ucw-eyebrow {
	margin: 0 0 12px;
	color: var(--ucw-content-walnut);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.ucw-archive__hero {
	padding: clamp(74px, 8vw, 126px) 0;
	background: var(--ucw-content-navy);
	color: #fff;
	text-align: center;
}

.ucw-archive__hero .ucw-eyebrow,
.ucw-archive__hero h1,
.ucw-archive__hero p {
	color: #fff;
}

.ucw-archive__hero h1 {
	margin: 0;
	font-size: clamp(2.4rem, 5vw, 4.7rem);
	line-height: 1.05;
}

.ucw-archive__hero p,
.ucw-archive__description {
	max-width: 720px;
	margin: 18px auto 0;
	font-size: 1.05rem;
	line-height: 1.65;
}

.ucw-archive__body {
	padding-block: clamp(52px, 7vw, 96px);
}

.ucw-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 34px);
}

.ucw-card {
	min-width: 0;
}

.ucw-card__link {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--ucw-content-radius);
	background: var(--ucw-content-navy);
	color: #fff;
	text-decoration: none;
}

.ucw-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.ucw-card__image {
	display: block;
	width: 100%;
	height: 100% !important;
	border-radius: 0 !important;
	object-fit: cover;
	transition: transform 320ms ease;
}

.ucw-card__overlay {
	position: absolute;
	inset: 35% 0 0;
	background: linear-gradient(transparent, rgb(5 13 23 / 82%));
	pointer-events: none;
}

.ucw-card__title {
	position: absolute;
	z-index: 1;
	right: 24px;
	bottom: 22px;
	left: 24px;
	margin: 0;
	color: #fff;
	font-size: clamp(1.2rem, 2vw, 1.65rem);
}

.ucw-card__link:hover .ucw-card__image,
.ucw-card__link:focus-visible .ucw-card__image {
	transform: scale(1.035);
}

.ucw-empty-state {
	padding: 36px;
	border: 1px solid var(--ucw-content-border);
	border-radius: var(--ucw-content-radius);
	background: #fff;
	text-align: center;
}

.ucw-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	padding-block: 26px;
	color: #5d5d5d;
	font-size: .9rem;
}

.ucw-breadcrumbs a {
	color: var(--ucw-content-navy);
}

.ucw-single__article {
	padding-bottom: clamp(60px, 8vw, 110px);
}

.ucw-single__intro {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
	gap: clamp(32px, 6vw, 86px);
	align-items: center;
	padding-block: clamp(24px, 5vw, 68px);
}

.ucw-single__featured {
	overflow: hidden;
	border-radius: var(--ucw-content-radius);
	background: var(--ucw-content-stone);
}

.ucw-single__featured-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
}

.ucw-single__summary h1 {
	margin: 0 0 22px;
	color: var(--ucw-content-navy);
	font-size: clamp(2.3rem, 4.8vw, 4.5rem);
	line-height: 1.06;
}

.ucw-single__short {
	margin-bottom: 30px;
	color: #3f3f3f;
	font-size: 1.1rem;
	line-height: 1.7;
}

.ucw-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: .76rem 1.35rem;
	border: 1px solid var(--ucw-content-navy);
	border-radius: var(--ucw-content-radius);
	background: var(--ucw-content-navy);
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
}

.ucw-button:hover,
.ucw-button:focus-visible {
	border-color: #000;
	background: #000;
}

.ucw-single__content {
	width: min(100%, 880px);
	margin: clamp(34px, 6vw, 78px) auto;
	font-size: 1.05rem;
	line-height: 1.85;
}

.ucw-single__content > :first-child {
	margin-top: 0;
}

.ucw-single__gallery {
	margin-top: clamp(52px, 7vw, 92px);
}

.ucw-single__gallery h2,
.ucw-single__cta h2 {
	margin: 0 0 26px;
	color: var(--ucw-content-navy);
	font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.ucw-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ucw-gallery-grid__item {
	margin: 0;
	overflow: hidden;
	border-radius: var(--ucw-content-radius);
}

.ucw-gallery-grid__image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	height: 100% !important;
	object-fit: cover;
}

.ucw-single__cta {
	margin-top: clamp(58px, 8vw, 110px);
	padding: clamp(36px, 6vw, 68px);
	border-radius: var(--ucw-content-radius);
	background: var(--ucw-content-stone);
	text-align: center;
}

.ucw-single__cta p {
	max-width: 660px;
	margin: 0 auto 26px;
	line-height: 1.7;
}

.ucw-project-hero {
	position: relative;
	min-height: clamp(480px, 65vw, 760px);
	display: flex;
	align-items: flex-end;
	background: var(--ucw-content-navy);
}

.ucw-project-hero__media,
.ucw-project-hero__overlay {
	position: absolute;
	inset: 0;
}

.ucw-project-hero__image {
	display: block;
	width: 100%;
	height: 100% !important;
	border-radius: 0 !important;
	object-fit: cover;
}

.ucw-project-hero__overlay {
	background: linear-gradient(180deg, rgb(5 13 23 / 8%), rgb(5 13 23 / 78%));
}

.ucw-project-hero__content {
	position: relative;
	z-index: 1;
	padding-bottom: clamp(42px, 7vw, 88px);
	color: #fff;
}

.ucw-project-hero__content .ucw-eyebrow,
.ucw-project-hero__content h1 {
	color: #fff;
}

.ucw-project-hero__content h1 {
	max-width: 920px;
	margin: 0;
	font-size: clamp(2.6rem, 6vw, 5.4rem);
	line-height: 1.02;
}

.ucw-project-single__body {
	padding-top: 1px;
}

/* Elementor: Our Products */
.ucw-home-products__title,
.ucw-projects-home__title {
	margin: 0 0 34px;
	color: var(--ucw-content-navy);
	font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.ucw-products-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
}

.ucw-product-card {
	display: block;
	min-width: 0;
	color: var(--ucw-content-navy);
	text-align: center;
	text-decoration: none;
}

.ucw-product-card__media {
	display: block;
	width: 100%;
	max-width: 200px;
	margin-inline: auto;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 50%;
	background: var(--ucw-content-stone);
}

.ucw-product-card__image {
	display: block;
	width: 100%;
	height: 100% !important;
	border-radius: 50% !important;
	object-fit: cover;
	transition: transform 280ms ease;
}

.ucw-product-card__label {
	display: block;
	margin-top: 15px;
	color: var(--ucw-content-navy);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
}

.ucw-product-card:hover .ucw-product-card__image,
.ucw-product-card:focus-visible .ucw-product-card__image {
	transform: scale(1.045);
}

/* Elementor: Projects Slider */
.ucw-projects-home {
	position: relative;
}

.ucw-projects-home__header {
	display: flex;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 34px;
}

.ucw-projects-home__title {
	margin: 0;
}

.ucw-projects-home__view-all {
	color: var(--ucw-content-navy);
	font-weight: 600;
	text-decoration: none;
}

.ucw-projects-home__view-all:hover {
	color: #000;
	text-decoration: underline;
}

.ucw-projects-slider {
	--ucw-project-gap: 24px;
	overflow: hidden;
}

.ucw-projects-slider.ucw-slider-fallback .swiper-wrapper {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--ucw-project-gap) * 2)) / 3);
	gap: var(--ucw-project-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.ucw-project-slide {
	min-width: 0;
	height: auto;
	scroll-snap-align: start;
}

.ucw-project-slide__link {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--ucw-content-radius);
	background: var(--ucw-content-navy);
	color: #fff;
	text-decoration: none;
}

.ucw-project-slide__media {
	display: block;
	aspect-ratio: 4 / 3;
}

.ucw-project-slide__image {
	display: block;
	width: 100%;
	height: 100% !important;
	border-radius: 0 !important;
	object-fit: cover;
	transition: transform 320ms ease;
}

.ucw-project-slide__overlay {
	position: absolute;
	inset: 35% 0 0;
	background: linear-gradient(transparent, rgb(5 13 23 / 84%));
}

.ucw-project-slide__title {
	position: absolute;
	z-index: 1;
	right: 22px;
	bottom: 20px;
	left: 22px;
	margin: 0;
	color: #fff;
	font-size: clamp(1.15rem, 2vw, 1.55rem);
	line-height: 1.25;
}

.ucw-project-slide__link:hover .ucw-project-slide__image,
.ucw-project-slide__link:focus-visible .ucw-project-slide__image {
	transform: scale(1.035);
}

.ucw-projects-navigation {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 20px;
}

.ucw-projects-navigation button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	min-height: 46px;
	padding: 0;
	border: 1px solid var(--ucw-content-navy);
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--ucw-content-navy) !important;
	font-size: 1.65rem;
}

.ucw-projects-navigation button:hover:not(:disabled) {
	background: var(--ucw-content-navy) !important;
	color: #fff !important;
}

.ucw-projects-navigation button:disabled {
	opacity: .35;
	cursor: not-allowed;
}

.ucw-projects-pagination {
	position: static !important;
	margin-top: 18px;
}

.ucw-projects-pagination .swiper-pagination-bullet-active {
	background: var(--ucw-content-navy);
}

.ucw-quote-context {
	display: grid;
	gap: 5px;
	margin-bottom: 24px;
	padding: 18px 20px;
	border-left: 4px solid var(--ucw-content-walnut);
	border-radius: var(--ucw-content-radius);
	background: var(--ucw-content-stone);
	color: #252525;
}

.ucw-quote-context strong {
	color: var(--ucw-content-navy);
}

@media (max-width: 1024px) {
	.ucw-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ucw-products-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ucw-projects-slider.ucw-slider-fallback .swiper-wrapper {
		grid-auto-columns: calc((100% - var(--ucw-project-gap)) / 2);
	}
}

@media (max-width: 767px) {
	.ucw-content-shell {
		width: min(calc(100% - 32px), 1320px);
	}

	.ucw-card-grid,
	.ucw-single__intro {
		grid-template-columns: 1fr;
	}

	.ucw-card__media {
		aspect-ratio: 4 / 3;
	}

	.ucw-gallery-grid {
		grid-template-columns: 1fr;
	}

	.ucw-single__summary h1 {
		font-size: clamp(2.2rem, 12vw, 3.3rem);
	}

	.ucw-project-hero {
		min-height: 520px;
	}

	.ucw-products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 26px 16px;
	}

	.ucw-product-card__label {
		font-size: .95rem;
	}

	.ucw-projects-home__header {
		align-items: flex-end;
	}

	.ucw-projects-home__view-all {
		font-size: .9rem;
		text-align: right;
	}

	.ucw-projects-slider.ucw-slider-fallback .swiper-wrapper {
		grid-auto-columns: 86%;
	}

	.ucw-projects-navigation {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ucw-card__image,
	.ucw-product-card__image,
	.ucw-project-slide__image {
		transition: none;
	}
}

