/**
 * LinePro Hero - standalone styles.
 *
 * Everything is scoped by #lp-hero (an id) plus "lp-" prefixed classes, so
 * nothing leaks into the rest of the page and Elementor / theme rules
 * (which are class- or element-based) cannot win the specificity fight
 * over the h1, p and buttons.
 */

#lp-hero,
#lp-hero *,
#lp-hero *::before,
#lp-hero *::after {
	box-sizing: border-box;
}

#lp-hero {
	position: relative;
	overflow: hidden;
	min-height: 600px;
	display: flex;
	align-items: center;
	background: #c3c9cf;
	color: #14263a;
	font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	margin: 0;
	padding: 0;
	max-width: none;
	width: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* --- sliding image track --------------------------------------------- */

#lp-hero .lp-slides {
	position: absolute;
	inset: 0;
	display: flex;
	height: 100%;
	margin: 0;
	transition: transform .7s cubic-bezier(.6, .05, .2, 1);
	will-change: transform;
}

#lp-hero .lp-sl {
	min-width: 100%;
	flex: 0 0 auto;
	height: 100%;
	margin: 0;
	overflow: hidden;
	background: linear-gradient(135deg, #b9c1c9, #d3d8dd);
}

#lp-hero .lp-sl img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	border: 0;
	object-fit: cover;
	object-position: center center;
}

/* --- grey overlay: opaque at the left, fading out to the right -------- */

#lp-hero .lp-ov {
	position: absolute;
	inset: 0;
	z-index: 1;
	margin: 0;
	background: linear-gradient(90deg, #c3c9cf 0%, rgba(195, 201, 207, .96) 40%, rgba(195, 201, 207, .15) 100%);
}

/* --- fixed text block -------------------------------------------------- */

#lp-hero .lp-ht {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	max-width: 820px;
	margin: 0;
	padding: 70px clamp(24px, 5vw, 84px) 130px;
}

#lp-hero .lp-eb {
	display: block;
	font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 13px;
	letter-spacing: 4px;
	font-weight: 600;
	color: #0b4a8a;
	line-height: 1.5;
	margin: 0 0 18px;
	text-transform: none;
	font-style: normal;
}

#lp-hero .lp-ht h1 {
	font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-weight: 800;
	font-size: clamp(28px, 3.4vw, 46px);
	line-height: 1.12;
	letter-spacing: -1px;
	margin: 0 0 20px;
	padding: 0;
	color: #14263a;
	max-width: 100%;
	font-style: normal;
	text-transform: none;
}

#lp-hero .lp-ht p {
	font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.55;
	color: #4f5963;
	max-width: 600px;
	margin: 0 0 30px;
	padding: 0;
}

/* --- buttons ------------------------------------------------------------ */

#lp-hero .lp-hb {
	display: inline-block;
	background: #c8552f;
	color: #fff;
	border: 0;
	border-radius: 12px;
	padding: 20px 30px;
	font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 12px 10px 0;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .25s ease, box-shadow .25s ease;
}

#lp-hero .lp-hb:hover,
#lp-hero .lp-hb:focus {
	background: #b04a29;
	color: #fff;
	text-decoration: none;
}

#lp-hero .lp-hb:focus-visible {
	outline: 2px solid #1456a8;
	outline-offset: 3px;
}

#lp-hero .lp-hb.lp-o {
	background: #1456a8;
	color: #fff;
	border: 0;
}

#lp-hero .lp-hb.lp-o:hover,
#lp-hero .lp-hb.lp-o:focus {
	background: #0f4590;
	color: #fff;
}

/* --- round arrows -------------------------------------------------------- */

#lp-hero .lp-arrow {
	position: absolute;
	top: 45%;
	z-index: 3;
	width: 52px;
	height: 52px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(20, 38, 58, .6);
	color: #fff;
	font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: background-color .25s ease;
	-webkit-appearance: none;
	appearance: none;
}

#lp-hero .lp-arrow:hover,
#lp-hero .lp-arrow:focus {
	background: rgba(20, 38, 58, .8);
}

#lp-hero .lp-arrow:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

#lp-hero .lp-l {
	left: 20px;
}

#lp-hero .lp-r {
	right: 20px;
}

/* --- dots ----------------------------------------------------------------- */

#lp-hero .lp-dots {
	position: absolute;
	bottom: 70px;
	left: 0;
	right: 0;
	z-index: 3;
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
}

#lp-hero .lp-dots i {
	display: block;
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 99px;
	background: rgba(20, 38, 58, .33);
	cursor: pointer;
	transition: width .3s ease, background-color .3s ease;
	-webkit-tap-highlight-color: transparent;
}

#lp-hero .lp-dots i.on {
	width: 34px;
	background: #c8552f;
}

/* --- screens narrower than 820px --------------------------------------- */

@media (max-width: 820px) {

	#lp-hero .lp-ov {
		background: linear-gradient(180deg, rgba(195, 201, 207, .95), rgba(195, 201, 207, .8));
	}

	#lp-hero .lp-arrow {
		width: 40px;
		height: 40px;
		font-size: 20px;
		/* the text block spans the full width here, so the arrows move to the
		   bottom row and flank the dots instead of covering the paragraph */
		top: auto;
		bottom: 55px;
	}
}
