.lh-page {
	--lh-navy: #071a3b;
	--lh-blue: #1455c0;
	--lh-orange: #edac21;
	--lh-ink: #152238;
	--lh-muted: #657085;
	--lh-line: #dce3ed;
	--lh-soft: #f4f7fb;
	color: var(--lh-ink);
}

.lh-page-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(4.5rem, 9vw, 8rem) 0;
	background:
		radial-gradient(circle at 88% 18%, rgba(237, 172, 33, .22), transparent 26rem),
		linear-gradient(135deg, #06152f 0%, #0b2d69 100%);
	color: #fff;
}

.lh-page-hero::after {
	content: "";
	position: absolute;
	right: -8rem;
	bottom: -16rem;
	width: 34rem;
	height: 34rem;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 50%;
	box-shadow: 0 0 0 4rem rgba(255, 255, 255, .035), 0 0 0 8rem rgba(255, 255, 255, .025);
}

.lh-page-hero .container {
	position: relative;
	z-index: 1;
}

.lh-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .65rem;
	margin-bottom: 1rem;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #ffd373;
}

.lh-eyebrow::before {
	content: "";
	width: 2.4rem;
	height: 2px;
	background: var(--lh-orange);
}

.lh-page-hero h1 {
	max-width: 850px;
	margin-bottom: 1.25rem;
	font-size: clamp(2.35rem, 5vw, 4.75rem);
	line-height: 1.04;
	letter-spacing: -.035em;
	color: #fff;
}

.lh-page-hero p {
	max-width: 760px;
	margin: 0;
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	line-height: 1.65;
	color: rgba(255, 255, 255, .8);
}

.lh-section {
	padding: clamp(4rem, 8vw, 7rem) 0;
}

.lh-section--soft {
	background: var(--lh-soft);
}

.lh-section-heading {
	max-width: 760px;
	margin-bottom: 2.5rem;
}

.lh-section-heading h2 {
	margin-bottom: .8rem;
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.12;
	letter-spacing: -.025em;
}

.lh-section-heading p,
.lh-section-heading .lh-note {
	color: var(--lh-muted);
}

.lh-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.lh-service-card {
	padding: 2rem;
	border: 1px solid var(--lh-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 1rem 2.5rem rgba(7, 26, 59, .07);
}

.lh-service-card img {
	width: 76px;
	height: 76px;
	margin-bottom: 1.5rem;
	object-fit: contain;
}

.lh-service-card h3 {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.4;
}

.lh-service-card h3 span {
	display: block;
	margin-top: .25rem;
	font-weight: 400;
	color: var(--lh-muted);
}

.lh-testimonial-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.lh-testimonial {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 1.75rem;
	border: 1px solid var(--lh-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 .75rem 2rem rgba(7, 26, 59, .06);
}

.lh-testimonial:first-child {
	grid-column: span 2;
}

.lh-stars {
	display: flex;
	gap: .25rem;
	margin-bottom: 1rem;
	color: var(--lh-orange);
}

.lh-testimonial blockquote {
	flex: 1;
	margin: 0 0 1.5rem;
	padding: 0;
	border: 0;
	font-size: 1.08rem;
	line-height: 1.7;
}

.lh-testimonial-person {
	display: flex;
	align-items: center;
	gap: .9rem;
}

.lh-testimonial-person img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
}

.lh-testimonial-person strong,
.lh-testimonial-person span {
	display: block;
}

.lh-testimonial-person span {
	font-size: .88rem;
	color: var(--lh-muted);
}

.lh-client-ticker {
	position: relative;
	overflow: hidden;
	padding: 1.25rem 0;
	border-block: 1px solid var(--lh-line);
	background: #fff;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
}

.lh-client-ticker__track {
	display: flex;
	width: max-content;
	animation: lh-client-scroll 180s linear infinite;
}

.lh-client-ticker:hover .lh-client-ticker__track,
.lh-client-ticker:focus-within .lh-client-ticker__track {
	animation-play-state: paused;
}

.lh-client-ticker__group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 1rem;
	padding-right: 1rem;
}

.lh-client-name {
	white-space: nowrap;
	padding: .8rem 1.15rem;
	border: 1px solid var(--lh-line);
	border-radius: 999px;
	font-weight: 600;
	color: #344258;
	background: var(--lh-soft);
}

@keyframes lh-client-scroll {
	to { transform: translateX(-50%); }
}

.lh-gdpr-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.lh-gdpr-copy p {
	color: #39475d;
}

.lh-gdpr-image {
	position: relative;
}

.lh-gdpr-image::before {
	content: "";
	position: absolute;
	inset: -1rem 1rem 1rem -1rem;
	border-radius: 1rem;
	background: linear-gradient(135deg, rgba(20, 85, 192, .15), rgba(237, 172, 33, .2));
}

.lh-gdpr-image img {
	position: relative;
	width: 100%;
	border-radius: 1rem;
	box-shadow: 0 1.5rem 3.5rem rgba(7, 26, 59, .14);
}

.lh-analysis-cta {
	position: relative;
	overflow: hidden;
	min-height: 420px;
	display: flex;
	align-items: center;
	background: #eef2f6 url('../images/06support.jpg') center / cover no-repeat;
}

.lh-analysis-cta::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.96) 48%, rgba(255,255,255,.18) 72%, rgba(5,25,60,.1) 100%);
}

.lh-analysis-cta__content {
	position: relative;
	z-index: 1;
	max-width: 720px;
	padding: 4.5rem 0;
}

.lh-analysis-cta h2 {
	margin-bottom: 1rem;
	font-size: clamp(2.25rem, 5vw, 4.5rem);
	line-height: 1;
	letter-spacing: -.04em;
	color: var(--lh-navy);
}

.lh-analysis-cta h2 span {
	display: block;
	color: var(--lh-blue);
}

.lh-analysis-cta p {
	max-width: 630px;
	color: #3b485d;
}

.lh-analysis-cta__points {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem 1.35rem;
	margin: 1.5rem 0 2rem;
	font-weight: 600;
	color: #263650;
}

.lh-analysis-cta__points span::before {
	content: "\2713";
	margin-right: .45rem;
	color: var(--lh-blue);
}

.lh-button {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	padding: .95rem 1.35rem;
	border-radius: .65rem;
	font-weight: 700;
	color: #fff !important;
	background: var(--lh-blue);
	box-shadow: 0 .65rem 1.5rem rgba(20, 85, 192, .23);
	transition: transform .2s ease, background-color .2s ease;
}

.lh-button:hover,
.lh-button:focus-visible {
	transform: translateY(-2px);
	color: #fff !important;
	background: #0c439e;
}

@media (max-width: 991.98px) {
	.lh-service-grid,
	.lh-gdpr-grid { grid-template-columns: 1fr; }
	.lh-analysis-cta { background-position: 68% center; }
	.lh-analysis-cta::after { background: rgba(255,255,255,.92); }
}

@media (max-width: 767.98px) {
	.lh-testimonial-grid { grid-template-columns: 1fr; }
	.lh-testimonial:first-child { grid-column: auto; }
	.lh-analysis-cta { min-height: 0; background-image: none; }
	.lh-analysis-cta__content { padding: 3.5rem 0; }
}

@media (prefers-reduced-motion: reduce) {
	.lh-client-ticker__track { animation-duration: 300s; }
}

/* English conversion-focused homepage */
.lh-home-ticker {
	overflow: hidden;
	padding: .85rem 0;
	border-bottom: 1px solid #d7dde6;
	background: #eef1f5;
}

.lh-home-ticker__track {
	display: flex;
	width: max-content;
	animation: lh-home-ticker-scroll 60s linear infinite;
}

.lh-home-ticker__group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 1.25rem;
	padding-right: 1.25rem;
	font-size: .86rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #46536a;
}

.lh-home-ticker__group span::after {
	content: "•";
	margin-left: 1.25rem;
	color: var(--lh-orange);
}

@keyframes lh-home-ticker-scroll {
	to { transform: translateX(-50%); }
}

.lh-home-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(4rem, 8vw, 7.5rem) 0;
	background: #fff url('../images/back-wave-minimal.jpg') center top / cover no-repeat;
}

.lh-home-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.72) 52%, rgba(255,255,255,.25));
}

.lh-home-hero .container {
	position: relative;
	z-index: 1;
}

.lh-home-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
	gap: clamp(2.5rem, 6vw, 6rem);
	align-items: center;
}

.lh-home-hero h1 {
	margin-bottom: 1.25rem;
	font-size: clamp(3rem, 6vw, 5.75rem);
	line-height: .98;
	letter-spacing: -.055em;
	color: var(--lh-navy);
}

.lh-home-hero h1 span {
	display: block;
	color: var(--lh-blue);
}

.lh-home-hero__copy {
	max-width: 660px;
	color: #48566b;
}

.lh-home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: 2rem;
}

.lh-button--secondary {
	border: 1px solid #b9c5d7;
	color: var(--lh-navy) !important;
	background: rgba(255,255,255,.82);
	box-shadow: none;
}

.lh-button--secondary:hover,
.lh-button--secondary:focus-visible {
	color: var(--lh-navy) !important;
	background: #fff;
}

.lh-home-collage {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	align-items: start;
}

.lh-home-collage__column {
	display: grid;
	gap: 1rem;
}

.lh-home-collage__column:last-child {
	padding-top: 2.5rem;
}

.lh-home-collage img {
	width: 100%;
	border-radius: 1rem;
	object-fit: cover;
	box-shadow: 0 1.25rem 3rem rgba(7, 26, 59, .14);
}

.lh-home-collage__column:first-child img:first-child { height: 270px; }
.lh-home-collage__column:first-child img:last-child { height: 225px; width: 86%; margin-left: auto; }
.lh-home-collage__column:last-child img:first-child { height: 180px; width: 82%; }
.lh-home-collage__column:last-child img:last-child { height: 290px; }

.lh-analysis-grid,
.lh-value-grid,
.lh-contact-grid,
.lh-division-grid,
.lh-management-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.lh-info-card,
.lh-contact-card,
.lh-division-card,
.lh-person-card,
.lh-form-card,
.lh-embed-card {
	border: 1px solid var(--lh-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 .85rem 2.4rem rgba(7, 26, 59, .065);
}

.lh-info-card,
.lh-contact-card,
.lh-division-card {
	padding: 1.75rem;
}

.lh-info-card__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	margin-bottom: 1.25rem;
	border-radius: 50%;
	font-weight: 800;
	color: var(--lh-blue);
	background: #eaf1ff;
}

.lh-info-card h3,
.lh-contact-card h3,
.lh-division-card h3 {
	margin-bottom: .65rem;
	font-size: 1.25rem;
}

.lh-info-card p,
.lh-contact-card p,
.lh-division-card p {
	margin-bottom: 0;
	font-size: 1rem;
	color: var(--lh-muted);
}

.lh-analysis-outcome {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	margin-top: 3rem;
	padding: clamp(2rem, 5vw, 4rem);
	border-radius: 1.25rem;
	background: linear-gradient(135deg, #071a3b, #0e3679);
	color: #fff;
}

.lh-analysis-outcome h3,
.lh-analysis-outcome p {
	color: #fff;
}

.lh-analysis-outcome p {
	margin-bottom: 0;
	opacity: .78;
}

.lh-analysis-outcome__list,
.lh-academy-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lh-analysis-outcome__list li,
.lh-academy-list li {
	position: relative;
	padding: .55rem 0 .55rem 1.75rem;
}

.lh-analysis-outcome__list li::before,
.lh-academy-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	font-weight: 800;
	color: var(--lh-orange);
}

.lh-academy-section {
	position: relative;
	overflow: hidden;
	background: var(--lh-soft);
}

.lh-academy-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr);
	gap: clamp(2.5rem, 6vw, 6rem);
	align-items: center;
}

.lh-academy-panel {
	padding: clamp(2rem, 5vw, 3.5rem);
	border-radius: 1.25rem;
	background: #fff;
	box-shadow: 0 1.5rem 4rem rgba(7, 26, 59, .1);
}

.lh-academy-panel h3 {
	margin-bottom: 1.25rem;
}

.lh-path-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.lh-path-card {
	position: relative;
	overflow: hidden;
	padding: clamp(2rem, 5vw, 3.5rem);
	border-radius: 1.25rem;
	color: #fff;
	background: linear-gradient(135deg, #071a3b, #134990);
}

.lh-path-card--academy {
	color: var(--lh-ink);
	background: linear-gradient(135deg, #fff4da, #f4f7fb);
}

.lh-path-card h3 {
	font-size: clamp(1.7rem, 3vw, 2.5rem);
	color: inherit;
}

.lh-path-card p {
	font-size: 1.05rem;
	color: inherit;
	opacity: .82;
}

/* Content pages sharing the GDPR visual language */
.lh-page-intro {
	max-width: 850px;
}

.lh-contact-card i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	margin-bottom: 1rem;
	border-radius: .8rem;
	font-size: 1.35rem;
	color: var(--lh-blue);
	background: #eaf1ff;
}

.lh-contact-card a:not(.lh-button) {
	font-weight: 700;
}

.lh-form-card,
.lh-embed-card {
	padding: clamp(1.25rem, 4vw, 2.5rem);
}

.lh-form-card label {
	font-weight: 700;
	color: #263650;
}

.lh-form-card .form-control {
	min-height: 48px;
	border-color: #cbd5e3;
	border-radius: .55rem;
}

.lh-form-card textarea.form-control {
	min-height: 150px;
}

.lh-embed-card iframe {
	display: block;
	width: 100%;
	border: 0;
	border-radius: .75rem;
	background: #fff;
}

.lh-division-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lh-company-diagram {
	display: block;
	width: min(100%, 1000px);
	margin: 3rem auto 0;
	border-radius: 1rem;
	box-shadow: 0 1.25rem 3rem rgba(7, 26, 59, .1);
}

.lh-management-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 900px;
	margin: 0 auto;
}

.lh-person-card {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	padding: 1.5rem;
}

.lh-person-card img {
	width: 76px;
	height: 76px;
	border-radius: 50%;
	object-fit: cover;
}

.lh-person-card h3,
.lh-person-card p {
	margin-bottom: .35rem;
}

.lh-person-card small {
	display: block;
	margin-bottom: .6rem;
	color: var(--lh-muted);
}

@media (max-width: 991.98px) {
	.lh-home-hero__grid,
	.lh-analysis-outcome,
	.lh-academy-layout { grid-template-columns: 1fr; }
	.lh-home-collage { max-width: 700px; }
	.lh-analysis-grid,
	.lh-value-grid,
	.lh-contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
	.lh-home-collage { display: none; }
	.lh-path-grid,
	.lh-division-grid,
	.lh-management-grid { grid-template-columns: 1fr; }
	.lh-home-actions { align-items: stretch; flex-direction: column; }
	.lh-home-actions .lh-button { justify-content: center; }
	.lh-person-card { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	.lh-home-ticker__track { animation-duration: 120s; }
}
