.ghpv-section{
	--ghpv-accent:#ef3123;
	font-family:"Titillium Web",Arial,sans-serif;
	background:#fff;
	color:#252a2e;
}
.ghpv-section *,
.ghpv-section *::before,
.ghpv-section *::after{
	box-sizing:border-box;
}
.ghpv-inner{
	width:100%;
	margin:0 auto;
}
.ghpv-header{
	max-width:900px;
	margin:0 auto 50px;
	text-align:center;
}
.ghpv-heading,
.ghpv-card__title{
	font-family:"Tungsten","Arial Narrow",Arial,sans-serif;
	text-transform:uppercase;
}
.ghpv-heading{
	font-size:clamp(48px,5vw,82px);
	line-height:.92;
	margin:0 0 20px;
}
.ghpv-divider{
	display:block;
	width:64px;
	height:4px;
	background:var(--ghpv-accent);
	margin:24px auto 28px;
}
.ghpv-header[style*="text-align: left"]{
	margin-left:0;
	margin-right:auto;
}
.ghpv-header[style*="text-align: left"] .ghpv-divider{
	margin-left:0;
	margin-right:auto;
}
.ghpv-header[style*="text-align: center"]{
	margin-left:auto;
	margin-right:auto;
}
.ghpv-header[style*="text-align: center"] .ghpv-divider{
	margin-left:auto;
	margin-right:auto;
}
.ghpv-header[style*="text-align: right"]{
	margin-left:auto;
	margin-right:0;
}
.ghpv-header[style*="text-align: right"] .ghpv-divider{
	margin-left:auto;
	margin-right:0;
}
.ghpv-intro{
	max-width:900px;
	margin:0 auto;
	font-size:19px;
	line-height:1.6;
}
.ghpv-intro p,
.ghpv-card__body p{
	margin:0;
}
.ghpv-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:30px;
}
.ghpv-card{
	display:flex;
	flex-direction:column;
	min-width:0;
	overflow:hidden;
	background:#f3f3f3;
	border:1px solid #e0e0e0;
	border-top:4px solid var(--ghpv-accent);
}
.ghpv-card__image{
	position:relative;
	height:260px;
	overflow:hidden;
}
.ghpv-card__image::after{
	content:"";
	position:absolute;
	inset:0;
	background:transparent;
	pointer-events:none;
}
.ghpv-card__image img{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
	transition:transform .35s ease;
}
.ghpv-card:hover .ghpv-card__image img{
	transform:scale(1.03);
}
.ghpv-card__content{
	padding:38px 40px 42px;
	display:flex;
	flex-direction:column;
	flex:1;
}
.ghpv-card__label{
	color:var(--ghpv-accent);
	font-size:16px;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
	margin-bottom:20px;
}
.ghpv-card__title{
	font-size:clamp(40px,3.6vw,62px);
	line-height:.98;
	margin:0 0 24px;
}
.ghpv-card__body{
	font-size:18px;
	line-height:1.6;
}
@media(max-width:767px){
	.ghpv-section{
		padding-left:18px!important;
		padding-right:18px!important;
	}
	.ghpv-grid{
		grid-template-columns:1fr;
	}
	.ghpv-card__image{
		height:220px;
	}
	.ghpv-card__content{
		padding:30px 24px 34px;
	}
}


/* v1.0.1 header alignment refinements */
.ghpv-header[style*="text-align: left"] .ghpv-intro{
	margin-left:0;
	margin-right:auto;
}
.ghpv-header[style*="text-align: right"] .ghpv-intro{
	margin-left:auto;
	margin-right:0;
}

/* v1.1.1 icon overlap and compact matched desktop/tablet content alignment */
.ghpv-grid{
	align-items:stretch;
}
.ghpv-card{
	--ghpv-image-height:260px;
	position:relative;
	height:100%;
}
.ghpv-card__icon{
	position:absolute;
	left:50%;
	top:var(--ghpv-image-height);
	z-index:4;
	width:68px;
	height:68px;
	border:4px solid #fff;
	border-radius:50%;
	background:var(--ghpv-accent);
	color:#fff;
	box-shadow:0 7px 16px rgba(0,0,0,.18);
	display:flex;
	align-items:center;
	justify-content:center;
	transform:translate(-50%,-50%);
}
.ghpv-card__icon i,
.ghpv-card__icon svg{
	width:27px;
	height:27px;
	font-size:27px;
	fill:currentColor;
}
.ghpv-card--has-icon .ghpv-card__content::before{
	content:"";
	display:block;
	flex:0 0 24px;
	height:24px;
}
@media(min-width:768px){
	.ghpv-card__content{
		display:grid;
		grid-template-rows:24px auto minmax(96px,auto) auto;
		align-content:start;
	}
	.ghpv-card--has-icon .ghpv-card__content::before{
		grid-column:1;
		grid-row:1;
		height:24px;
	}
	.ghpv-card--has-icon .ghpv-card__label{
		grid-row:2;
	}
	.ghpv-card--has-icon .ghpv-card__title{
		grid-row:3;
		min-height:10px;
		display:flex;
		align-items:flex-start;
	}
	.ghpv-card--has-icon .ghpv-card__body{
		grid-row:4;
	}
	.ghpv-card:not(.ghpv-card--has-icon) .ghpv-card__label{
		grid-row:1;
	}
	.ghpv-card:not(.ghpv-card--has-icon) .ghpv-card__title{
		grid-row:2;
		min-height:10px;
	}
	.ghpv-card:not(.ghpv-card--has-icon) .ghpv-card__body{
		grid-row:3;
	}
}
@media(max-width:767px){
	.ghpv-card__icon{
		width:60px;
		height:60px;
	}
	.ghpv-card__icon i,
	.ghpv-card__icon svg{
		width:24px;
		height:24px;
		font-size:24px;
	}
}
