/* ==========================================================================
   Mech & Tech — static-site additions
   Replaces the Revolution Slider hero on the home page. Everything else is
   the original theme CSS (bootstrap / motov4-style / responsive).
   ========================================================================== */

.mt-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	height: 937px;
	overflow: hidden;
	background-color: #111;
}
/* the hero is full-bleed, so nothing may push the page sideways */
html,
body {
	overflow-x: hidden;
}

.mt-hero-slide {
	position: absolute;
	inset: 0;
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.2s ease-in-out, visibility 1.2s ease-in-out;
}

.mt-hero-slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.mt-hero-body {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 15px;
}

.mt-hero-frame {
	box-sizing: border-box;
	width: 761px;
	max-width: 100%;
	padding: 43px 34px;
	text-align: center;
	background-color: rgba(0, 0, 0, 0.5);
}

.mt-hero-title {
	margin: 0;
	color: #ffffff;
	font-family: "Open Sans", sans-serif;
	font-size: 72px;
	font-weight: 700;
	line-height: 80px;
	text-align: center;
}

.mt-hero-sub {
	margin: 0;
	padding-top: 18px;
	color: #ffffff;
	font-family: "Open Sans", sans-serif;
	font-size: 19px;
	line-height: 29px;
	text-align: center;
}

/* slide 2 — wide band towards the bottom left */
.mt-hero-slide--2 .mt-hero-body {
	align-items: flex-end;
	justify-content: flex-start;
	padding: 0 0 48px 60px;
}

.mt-hero-slide--2 .mt-hero-frame {
	width: 938px;
	text-align: left;
}

.mt-hero-slide--2 .mt-hero-title {
	font-size: 76px;
	line-height: 84px;
	text-align: left;
}

.mt-hero-slide--2 .mt-hero-sub {
	font-size: 26px;
	line-height: 41px;
	text-align: left;
}

/* dots */
.mt-hero-controls {
	position: absolute;
	z-index: 3;
	left: 50%;
	bottom: 22px;
	transform: translateX(-50%);
	display: flex;
	gap: 12px;
}

.mt-hero-dot {
	width: 14px;
	height: 14px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.45);
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.mt-hero-dot.is-active,
.mt-hero-dot:hover {
	background-color: #c59d5f;
}

.mt-hero-dot span {
	display: none;
}

/* contact page map */
.mt-map {
	display: block;
	width: 100%;
	height: 450px;
}

@media (max-width: 1239px) {
	.mt-hero {
		height: auto;
		aspect-ratio: 1009 / 762;
	}

	.mt-hero-title {
		font-size: 59px;
		line-height: 65px;
	}

	.mt-hero-sub {
		font-size: 15px;
		line-height: 24px;
	}

	.mt-hero-slide--2 .mt-hero-title {
		font-size: 60px;
		line-height: 68px;
	}

	.mt-hero-slide--2 .mt-hero-sub {
		font-size: 20px;
		line-height: 32px;
	}
}

@media (max-width: 1023px) {
	.mt-hero {
		aspect-ratio: 753 / 532;
	}

	.mt-hero-frame {
		padding: 30px 25px;
	}

	.mt-hero-title {
		font-size: 34px;
		line-height: 37px;
	}

	.mt-hero-sub {
		font-size: 17px;
		line-height: 27px;
	}

	.mt-hero-slide--2 .mt-hero-title {
		font-size: 34px;
		line-height: 37px;
	}

	.mt-hero-slide--2 .mt-hero-sub {
		font-size: 17px;
		line-height: 27px;
	}

	.mt-hero-slide--2 .mt-hero-body {
		align-items: center;
		justify-content: center;
		padding: 0 15px;
	}

	.mt-hero-slide--2 .mt-hero-frame {
		text-align: center;
	}

	.mt-map {
		height: 380px;
	}
}

@media (max-width: 767px) {
	.mt-hero {
		aspect-ratio: 4 / 3;
	}

	.mt-hero-title,
	.mt-hero-slide--2 .mt-hero-title {
		font-size: 28px;
		line-height: 34px;
	}

	.mt-hero-sub,
	.mt-hero-slide--2 .mt-hero-sub {
		font-size: 15px;
		line-height: 24px;
	}

	.mt-hero-sub {
		padding-top: 10px;
	}

	.mt-map {
		height: 320px;
	}
}

@media (max-width: 479px) {
	.mt-hero {
		aspect-ratio: 375 / 352;
	}

	.mt-hero-title,
	.mt-hero-slide--2 .mt-hero-title {
		font-size: 20px;
		line-height: 26px;
	}

	.mt-hero-sub {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mt-hero-slide {
		transition: none;
	}
}
