:root{
	--t2-midnight: #2c414e;
	--t2-earth: #eae2de;
	--t2-white: #ffffff;
	--t2-sunset: #c2a797;
	--t2-rust: #8b5b4c;
	--t2-intro-bg: #ffffff;
	--t2-accordion-bg: #eae2de;
	--t2-informa-bg: #2c414e;
	--t2-inst-bg: #ffffff;
}

.t2-hero-section{
	position: relative;
	min-height: 870px;
	overflow: hidden;
	background: var(--t2-earth);
}

/* Earth section below */
.t2-hero-bottom-band{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 28%;
	background: var(--t2-earth);
	border-top: 1px solid var(--t2-midnight);
	z-index: 2;
}

/* Floating midnight blue panel */
.t2-hero-card{
	position: absolute;
	top: 60px;
	left: 120px;
	width: 640px;
	background: var(--t2-midnight);
	color: var(--t2-white);
	padding: 100px 75px 68px;
	border-radius: 6px;
	z-index: 4;
	box-shadow: 0 18px 40px rgba(0,0,0,0.20);
}

.t2-hero-card .t2-eyebrow{
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--t2-sunset);
	margin-bottom: 36px;
}

.t2-hero-card .t2-eyebrow::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 1px;
	background: var(--t2-sunset);
}

.t2-hero-card h1{
	font-size: 40pt;
	font-weight: 500;
	margin-bottom: 0px;
	color: var(--t2-white);
}

.t2-hero-card h2{
	font-size: 34pt;
	font-style: normal;
	font-weight: 300;
	color: var(--t2-earth);
}

.t2-hero-card p{
	font-size: 17px;
	height: 320px;
	line-height: 1.5;
	font-weight: 300;
	max-width: 700px;
	color: var(--t2-earth);
	display: flex;
	align-items: center;
}

.t2-hero-buttons{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.t2-hero-buttons a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: auto;
	height: 45px;
	padding: 0 24px;
	border: 2px solid var(--t2-earth);
	border-radius: 12px;
	color: var(--t2-earth);
	text-decoration: none;
	font-size: 17px;
	transition: 0.25s ease;
}

.t2-hero-buttons a:hover{
	background: var(--t2-earth);
	color: var(--t2-midnight);
}

/* Feature icons section */
.t2-hero-features{
	position: absolute;
	right: 40px;
	left: 46%;
	bottom: 18px;
	z-index: 4;
	display: flex;
	justify-content: space-evenly;
	align-items: flex-start;
	gap: 24px;
}

.t2-hero-feature-item{
	text-align: center;
	width: 140px;
}

.t2-hero-feature-icon{
	width: 100px;
	height: 100px;
	margin: 0 auto 10px;
	border-radius: 50%;
	background: var(--t2-midnight);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--t2-white);
	font-size: 24px;
	font-weight: bold;
}

.t2-hero-feature-item p{
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 11pt;
	color: var(--t2-midnight);
}

/* Responsive */
@media (max-width: 1660px){
	.t2-hero-wrapper{
		padding: 0;
		margin: 0;
	}

	.t2-hero-section{
		min-height: auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"card image"
			"features features";
		align-items: stretch;
		background: var(--t2-earth);
		position: relative;
	}

	.t2-hero-image{
		grid-area: image;
		position: relative;
		inset: auto;
		min-height: 620px;
		height: 100%;
	}

	.t2-hero-bottom-band{
		display: none;
	}

	.t2-hero-card{
		grid-area: card;
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		margin: 0;
		padding: 70px 50px 55px;
		border-radius: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		box-shadow: none;
		min-height: 620px;
	}

	.t2-hero-buttons a{
		height: 40px;
		font-size: 15px;
	}

	.t2-hero-card h1{
		font-size: 38px;
	}

	.t2-hero-card h2{
		font-size: 26px;
		margin-bottom: 30px;
	}

	.t2-hero-card p{
		font-size: 16px;
		max-width: none;
		height: auto;
		margin-bottom: 30px;
	}

	.t2-hero-features{
		grid-area: features;
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
		margin: 0;
		padding: 35px 30px 40px;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 24px 16px;
		background: var(--t2-earth);
	}

	.t2-hero-feature-item{
		width: 100%;
	}
}

@media (max-width: 1000px){
	.t2-hero-wrapper{
		padding: 0;
		margin: 0;
	}

	.t2-hero-section{
		min-height: auto;
		display: flex;
		flex-direction: column;
		position: relative;
	}

	.t2-hero-image{
		position: relative;
		height: 340px;
		min-height: 340px;
	}

	.t2-hero-bottom-band{
		position: relative;
		height: auto;
		padding: 24px 20px 30px;
	}

	.t2-hero-card{
		position: relative;
		top: auto;
		left: auto;
		width: calc(100%);
		margin: -60px auto 0;
		padding: 35px 24px 28px;
		min-height: 400px;
	}

	.t2-hero-card .t2-eyebrow{
		font-size: 8px;
	}

	.t2-hero-card .t2-eyebrow::before{
		width: 25px;
	}
	.t2-hero-buttons a{
		height: 40px;
		font-size: 14px;
		min-width: 100%;
	}

	.t2-hero-card h1{
		font-size: 38px;
	}

	.t2-hero-card h2{
		font-size: 20px;
		margin-bottom: 30px;
	}

	.t2-hero-card p{
		font-size: 16px;
		max-width: none;
		margin-bottom: 30px;
		height: auto;
	}

	.t2-hero-features{
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
		margin-top: 25px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 24px 16px;
	}

	.t2-hero-feature-item{
		width: 100%;
	}
}

.t2-intro-section{
	background: var(--t2-intro-bg);
	padding: 110px 0;
}

.t2-intro-container{
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 70px;
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 70px;
	align-items: center;
}

.t2-intro-content{
	max-width: 650px;
}

.t2-intro-content h1{
	font-size: 40px;
	line-height: 1.05;
	font-weight: 500;
	color: var(--t2-midnight);
	margin: 0 0 6px;
}

.t2-intro-content h2{
	font-size: 34px;
	line-height: 1.05;
	font-style: normal;
	font-weight: 300;
	color: var(--t2-sunset);
	margin: 0 0 42px;
}

.t2-intro-content p{
	font-size: 17px;
	line-height: 1.45;
	font-weight: 300;
	color: var(--t2-midnight);
	margin: 0 0 28px;
	max-width: 700px;
}

.t2-intro-button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: auto;
	height: 45px;
	padding: 0 24px;
	margin-top: 18px;
	border: 3px solid var(--t2-midnight);
	border-radius: 12px;
	color: var(--t2-midnight);
	text-decoration: none;
	font-size: 17px;
	transition: 0.25s ease;
}

.t2-intro-button:hover{
	background: var(--t2-midnight);
	color: var(--t2-white);
	text-decoration: none;
}

.t2-intro-images{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: center;
}

.t2-intro-image-card{
	border-radius: 12px;
	overflow: hidden;
	background: #ddd;
}

.t2-intro-image-card img{
	display: block;
	width: 100%;
	height: 460px;
	object-fit: cover;
}

@media (max-width: 1660px){
	.t2-intro-container{
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.t2-intro-content{
		max-width: none;
	}

	.t2-intro-content h1{
		font-size: 38px;
	}

	.t2-intro-content h2{
		font-size: 26px;
	}
	
	.t2-intro-content p{
		font-size: 16px;
	}
	
	.t2-intro-image-card img{
		height: 420px;
	}
	
	.t2-intro-button a{
		height: 40px;
		font-size: 15px;
	}
}

@media (max-width: 768px){
	.t2-intro-section{
		padding: 70px 0;
	}

	.t2-intro-container{
		padding: 0 24px;
		gap: 35px;
	}

	.t2-intro-content h1{
		font-size: 38px;
	}

	.t2-intro-content h2{
		font-size: 20px;
		margin-bottom: 24px;
	}

	.t2-intro-content p{
		font-size: 16px;
		margin-bottom: 20px;
	}

	.t2-intro-button{
		min-width: 100%;
		height: 40px;
		font-size: 14px;
	}
	
	.t2-intro-images{
		grid-template-columns: 1fr 1fr;
		gap: 18px;
	}

	.t2-intro-image-card img{
		height: 160px;
	}
}

.t2-accordion-section{
	background: var(--t2-accordion-bg);
	padding: 110px 0;
}

.t2-accordion-container{
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 70px;
}

.t2-accordion-content{
	max-width: 1500px;
	margin: 0 auto;
	text-align: center;
}

.t2-accordion-content .t2-eyebrow{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 12.5px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--t2-midnight);
	margin-bottom: 20px;
}

.t2-accordion-content .t2-eyebrow::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 1px;
	background: var(--t2-midnight);
}

.t2-accordion-content .t2-eyebrow::after{
	content: "";
	display: inline-block;
	width: 50px;
	height: 1px;
	background: var(--t2-midnight);
}

.t2-accordion-content h1{
	font-size: 40px;
	line-height: 1.05;
	font-weight: 500;
	color: var(--t2-midnight);
	margin: 0 0 6px;
}

.t2-accordion-content h2{
	font-size: 34px;
	line-height: 1.05;
	font-style: normal;
	font-weight: 300;
	color: var(--t2-rust);
	margin: 0 0 50px;
}

.accordion-header h1{
	font-size: 20px;
	font-weight: 400;
	font-style: normal;
	color: var(--t2-midnight);
	padding-bottom: 0px;
	margin-bottom: 0px;
}
		
.dz-accordion .accordion-item {
	border-radius: 12px;
}

.dz-accordion .accordion-header .accordion-button {
	border: 0px;
	font-style: normal;
	background: var(--t2-white);
}

.dz-accordion.accordion-sm .accordion-header .accordion-button .toggle-close {
	background: var(--t2-earth);
	border-radius: 7px;
	font-size: 20px;
}

.t2-accordion-content p{
	font-size: 17px;
	line-height: 1.45;
	font-weight: 300;
	color: var(--t2-midnight);
	margin: 0 auto 28px;
	max-width: 700px;
}


@media (max-width: 1660px){
	.t2-accordion-content h1{
		font-size: 38px;
	}
	.t2-accordion-content h2{
		font-size: 26px;
	}
	.accordion-header h1{
		font-size: 17px;
	}
	.dz-accordion.accordion-sm .accordion-header .accordion-button .toggle-close {
		font-size: 16px;
	}
}

@media (max-width: 768px){
	.t2-accordion-section{
		padding: 50px 0;
	}

	.t2-accordion-container{
		padding: 0 15px;
	}

	.t2-accordion-content h1{
		font-size: 38px;
	}
	.t2-accordion-content h2{
		font-size: 20px;
		margin-bottom: 24px;
	}
	
	.t2-accordion-content .t2-eyebrow{
		font-size: 8px;
	}

	.t2-accordion-content .t2-eyebrow::before{
		width: 25px;
	}

	.t2-accordion-content .t2-eyebrow::after{
		width: 25px;
	}
	
	.accordion-header h1{
		font-size: 14px;
	}
	.dz-accordion.accordion-sm .accordion-header .accordion-button .toggle-close {
		font-size: 14px;
	}
}

.t2-informa-section{
	background: var(--t2-informa-bg);
	padding: 110px 0;
}

.t2-informa-content h1{
	font-size: 40px;
	line-height: 1.05;
	font-weight: 500;
	color: var(--t2-white);
	margin: 0 0 6px;
}

.t2-informa-image {
	max-width:300px;
	padding-right: 20px;
}

.t2-informa-content h2{
	font-size: 34px;
	line-height: 1.05;
	font-style: normal;
	font-weight: 300;
	color: var(--t2-sunset);
	margin-bottom:15px;
}

.t2-informa-content .t2-eyebrow{
	font-size: 12.5px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--t2-sunset);
	margin-bottom: 26px;
}

.t2-informa-content .t2-eyebrow span + span::before{
	content: "\00a0\2022\00a0\00a0";
}

.t2-informa-content .t2-eyebrow::before{
	content: "";
	display: inline-block;
	width: 50px;
	height: 1px;
	background: var(--t2-sunset);
	vertical-align: middle;
}

.t2-informa-buttons{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.t2-informa-buttons a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: auto;
	height: 45px;
	padding: 0 24px;
	border: 2px solid var(--t2-earth);
	border-radius: 12px;
	color: var(--t2-earth);
	text-decoration: none;
	font-size: 17px;
	transition: 0.25s ease;
}

.t2-informa-buttons a:hover{
	background: var(--t2-earth);
	color: var(--t2-midnight);
	text-decoration: none;
}



@media (max-width: 1660px){
	.t2-informa-container{
		flex-direction: column;
		text-align: center;
		gap: 35px;
	}
	
	.t2-informa-buttons a{
		height: 40px;
		font-size: 15px;
	}
	
	.t2-informa-image {
		max-width:250px;
		padding-bottom: 30px;
	}
}

@media (max-width: 1000px){
	.t2-informa-section{
		padding: 45px 25px;
		justify-content: center;
		text-align: center;
	}
	
	.t2-informa-content {
		text-align: center;
	}
	
	.t2-informa-content h1{
		font-size: 30px;
	}
	
	.t2-informa-content h2{
		font-size: 20px;
	}
	
	.t2-informa-image {
		max-width:250px;
		padding-bottom: 30px;
	}
			
	.t2-informa-content .t2-eyebrow{
		font-size: 8px;
	}
	
	.t2-informa-content .t2-eyebrow::before,
	.t2-informa-content .t2-eyebrow::after{
		content: "";
		display: inline-block;
		width: 25px;
		height: 1px;
		background: var(--t2-sunset);
		vertical-align: middle;
	}
	
	.t2-informa-content .t2-eyebrow span{
		display: block;
	}

	.t2-informa-content .t2-eyebrow span + span::before{
		content: none;
	}
	
	.t2-informa-buttons {
		min-width: 100%;
		justify-content: center;
		text-align: center;
	}
	
	.t2-informa-buttons a{
		min-width: auto;
		height: 40px;
		font-size: 14px;
	}
}

.t2-installations-section{
	background: var(--inst-bg);
	padding: 70px 40px 90px;
}

.t2-installations-header{
	max-width: 1500px;
	margin: 0 auto;
	text-align: center;
}

.t2-installations-header .t2-eyebrow{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 12.5px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--t2-midnight);
	margin-bottom: 20px;
}

.t2-installations-header .t2-eyebrow::before,
.t2-installations-header .t2-eyebrow::after{
	content: "";
	display: inline-block;
	width: 50px;
	height: 1px;
	background: var(--t2-midnight);
}

.t2-installations-header h1{
	font-size: 40px;
	line-height: 1.05;
	font-weight: 500;
	color: var(--t2-midnight);
	margin: 0 0 6px;
}

.t2-installations-header h2{
	font-size: 34px;
	line-height: 1.05;
	font-style: normal;
	font-weight: 300;
	color: var(--t2-sunset);
	margin: 0 0 42px;
}
	
.t2-installations-grid{
	max-width: 940px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1.1fr 1fr;
	gap: 16px;
	height: 362px; /* desktop overall height */
}

.t2-card-1{
	height: 100%;
}

.t2-stack{
	display: grid;
	height: 100%;
	gap: 16px;
	min-height: 0;
}

/* column 2 split */
.t2-stack-2{
	grid-template-rows: 50fr 50fr;
}

/* column 3 split */
.t2-stack-3{
	grid-template-rows: 35fr 65fr;
}

.t2-installations-card{
	overflow: hidden;
	border-radius: 6px;
	min-height: 0;
}

.t2-installations-card img{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

@media (max-width: 1660px){
	.t2-installations-grid{
		grid-template-columns: 1fr 1fr;
		max-width: 600px;
		height: auto;
	}

	.t2-card-1{
		grid-column: 1 / -1;
		height: 240px;
	}

	.t2-stack{
		display: contents;
	}

	.t2-card-2,
	.t2-card-3,
	.t2-card-4,
	.t2-card-5{
		height: 240px;
	}
}

@media (max-width: 1000px){
	.t2-installations-section{
		padding: 55px 20px 70px;
	}

	.t2-installations-header h1{
		font-size: 38px;
	}

	.t2-installations-header h2{
		font-size: 24px;
	}

	.t2-installations-header .t2-eyebrow{
		font-size: 8px;
	}

	.t2-installations-header .t2-eyebrow::before,
	.t2-installations-header .t2-eyebrow::after{
		width: 25px;
	}

	.t2-installations-grid{
		grid-template-columns: 1fr 1fr;
		max-width: 270px;
		height: auto;
	}

	.t2-card-1{
		grid-column: 1 / -1;
		height: 120px;
	}

	.t2-stack{
		display: contents;
	}

	.t2-card-2,
	.t2-card-3,
	.t2-card-4,
	.t2-card-5{
		height: 120px;
	}

}