/* ==========================================================================
   Main page (index.asp) and product landing pages (/products/*.asp) refresh.
   Loaded only on those pages and scoped to body.home (set in header_inc.asp).
   ========================================================================== */

body.home {
	--hm-blue: #005d97;
	--hm-orange: #ff9004;
	--hm-ink: #0f172a;
	--hm-text: #475569;
	--hm-border: #e5e7eb;
}

/* ---------- hero (public/includes/slide_inc.asp) ---------- */
body.home .fullwidth-home .text { width: 360px; }
body.home .fullwidth-home h3 {
	color: var(--hm-ink);
	font-family: 'Source Sans Pro', Arial, sans-serif;
	font-size: 30px;
	font-weight: normal;
	line-height: 1.15;
	margin-bottom: 10px;
}
body.home .fullwidth-home h3 span {
	color: var(--hm-blue);
	font-family: 'Source Sans Pro', Arial, sans-serif;
	font-size: 46px;
	font-weight: bold;
	line-height: 1.05;
	letter-spacing: -.01em;
}
body.home .fullwidth-home p {
	color: var(--hm-text);
	font-family: 'Source Sans Pro', Arial, sans-serif;
	font-size: 19px;
	line-height: 1.45;
}

/* ---------- intro (index.asp) ---------- */
.home-intro { padding: 72px 0 24px; }
body.home .home-lead {
	max-width: 900px;
	margin: 0 auto 56px;
	padding: 0;
	color: var(--hm-ink);
	font-family: 'Source Sans Pro', Arial, sans-serif;
	font-size: 30px;
	font-weight: normal;
	line-height: 1.35;
	text-align: center;
}
.home-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
}
body.home .home-intro-text p {
	margin: 0 0 18px;
	color: var(--hm-text);
	font-size: 17px;
	line-height: 1.75;
	text-align: left;
}
.home-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
body.home .home-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 48px;
	padding: 0 26px;
	border: 2px solid transparent;
	border-radius: 999px;
	font-family: 'Source Sans Pro', Arial, sans-serif;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	transition: filter .15s ease, background-color .15s ease, color .15s ease;
}
/* !important: legacy mobile link colors would otherwise win */
body.home .home-btn-primary { background: var(--hm-orange); color: #fff !important; }
body.home .home-btn-primary:hover { filter: brightness(.95); }
body.home .home-btn-ghost { border-color: var(--hm-blue); color: var(--hm-blue) !important; }
body.home .home-btn-ghost:hover { background: var(--hm-blue); color: #fff !important; }

/* the video include is a legacy .span5 column; let it fill the grid cell */
body.home .home-intro-video #video { float: none; width: auto; margin: 0; }
body.home .home-intro-video img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
	box-shadow: 0 20px 48px rgba(15, 23, 42, .18);
	transition: transform .2s ease;
}
body.home .home-intro-video a:hover img { transform: translateY(-3px); }

/* ---------- product pages: same intro, older markup ---------- */
body.home .section_big_title { float: none; width: auto; margin: 0; padding: 72px 0 0; }
body.home .section_big_title h5 {
	max-width: 900px;
	margin: 0 auto 56px;
	color: var(--hm-ink);
	font-family: 'Source Sans Pro', Arial, sans-serif;
	font-size: 30px;
	font-weight: normal;
	line-height: 1.35;
	text-align: center;
}
body.home .section_big_title h5 br { display: none !important; }
body.home #content > .row:has(> .span6 + .span1 + #video) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
	padding-top: 56px;
	padding-bottom: 24px;
}
body.home #content > .row:has(> .span6 + .span1 + #video)::before,
body.home #content > .row:has(> .span6 + .span1 + #video)::after,
body.home #content > .row > .span1:has(.vertical-divider) { display: none; }
body.home #content > .row > .span6:has(+ .span1) { float: none; width: auto; margin: 0; }
body.home #content > .row > .span6:has(+ .span1),
body.home #content > .row > .span6:has(+ .span1) p {
	color: var(--hm-text);
	font-size: 17px;
	line-height: 1.75;
	text-align: left;
}
body.home #content > .row > #video { float: none; width: auto; margin: 0; }
body.home #content > .row > #video img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
	box-shadow: 0 20px 48px rgba(15, 23, 42, .18);
}
body.home #content > .divider.single-line { display: none; }

/* ---------- feature cards (public/includes/features_inc.asp) ---------- */
body.home #features-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 48px;
	margin-bottom: 8px;
}
body.home #features-grid::before,
body.home #features-grid::after { display: none; }
body.home #features-grid > .span4 { float: none; width: auto; margin: 0; }
body.home #features-grid + .clearfix { display: none; }
body.home #features-grid .icon-box-2 {
	height: 100%;
	box-sizing: border-box;
	padding: 36px 32px 32px;
	border: 1px solid var(--hm-border);
	border-radius: 16px;
	background: #fff;
	text-align: left;
	transition: box-shadow .2s ease, transform .2s ease;
}
body.home #features-grid .icon-box-2:hover { box-shadow: 0 16px 40px rgba(15, 23, 42, .1); transform: translateY(-2px); }
body.home #features-grid .icon-box-2 > span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 0 22px;
	border-radius: 14px;
	background: #e6f0f7;
}
body.home #features-grid .icon-box-2 > span i { margin: 0; color: var(--hm-blue); font-size: 26px; line-height: 1; }
body.home #features-grid .icon-box-2 h3 {
	margin: 0 0 10px;
	color: var(--hm-ink);
	font-family: 'Source Sans Pro', Arial, sans-serif;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0;
	text-align: left;
}
body.home #features-grid .icon-box-2 p { color: var(--hm-text); font-size: 15px; line-height: 1.7; text-align: left; }
body.home #features-grid .icon-box-2 a.mobile_content {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 4px;
	text-decoration: none;
}

/* ---------- results section (public/includes/modules_inc.asp) ---------- */
body.home #bg-2 { padding-top: 72px; padding-bottom: 72px; }
body.home #bg-2 h3 {
	margin: 0 0 14px;
	color: var(--hm-ink);
	font-family: 'Source Sans Pro', Arial, sans-serif;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.25;
}
body.home #bg-2 p { color: var(--hm-text); font-size: 16px; line-height: 1.75; text-align: left; }
body.home #bg-2 ul { margin: 18px 0 18px; padding: 0; list-style: none; }
body.home #bg-2 ul li {
	position: relative;
	margin: 0 0 12px;
	padding: 0 0 0 30px;
	list-style: none;
	background: none;
	color: var(--hm-ink);
	font-size: 16px;
	line-height: 1.5;
}
body.home #bg-2 ul li::before {
	content: "\f00c";
	position: absolute;
	left: 0;
	top: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #e6f0f7;
	color: var(--hm-blue);
	font-family: FontAwesome;
	font-size: 11px;
	line-height: 1;
}

/* ---------- tablet / phone ---------- */
@media (max-width: 979px) {
	.home-intro { padding: 48px 0 8px; }
	body.home .home-lead { font-size: 24px; margin-bottom: 36px; }
	.home-intro-grid,
	body.home #content > .row:has(> .span6 + .span1 + #video) { grid-template-columns: 1fr; gap: 36px; }
	body.home .section_big_title { padding-top: 48px; }
	body.home .section_big_title h5 { font-size: 24px; margin-bottom: 0; }
	body.home #features-grid { grid-template-columns: 1fr; }
	body.home #bg-2 { padding-top: 48px; padding-bottom: 48px; }
	body.home #bg-2 h3 { font-size: 24px; }
}
@media (max-width: 767px) {
	.home-intro .row, body.home #features-grid { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
}
