/**
 * Legal Shield — Premium Redesign Design System
 * Semantic classes applied via Elementor containers — no ID overrides.
 */

/* ─── Tokens ─── */
:root,
.elementor-kit-6,
.elementor {
	--ls-navy: #0f1f3d;
	--ls-navy-mid: #1a3358;
	--ls-charcoal: #2d2d2d;
	--ls-gold: #b08d57;
	--ls-gold-light: #d4b896;
	--ls-white: #ffffff;
	--ls-off-white: #fafaf8;
	--ls-gray-100: #f2f4f7;
	--ls-gray-200: #e8ecf1;
	--ls-text-muted: rgba(45, 45, 45, 0.72);
	--ls-text-light: rgba(255, 255, 255, 0.78);
	--ls-font-ar: "IBM Plex Sans Arabic", "Tajawal", sans-serif;
	--ls-font-en: "Inter", "Manrope", system-ui, sans-serif;
	--ls-container: 1280px;
	--ls-radius: 0;
	--ls-shadow-sm: 0 2px 8px rgba(15, 31, 61, 0.06);
	--ls-shadow-md: 0 8px 32px rgba(15, 31, 61, 0.1);
	--ls-shadow-lg: 0 16px 48px rgba(15, 31, 61, 0.14);
	--ls-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);

	--ast-global-color-0: var(--ls-navy);
	--ast-global-color-1: var(--ls-navy-mid);
	--ast-global-color-2: var(--ls-charcoal);
	--ast-global-color-3: var(--ls-text-muted);
	--ast-global-color-4: var(--ls-white);
	--ast-global-color-6: var(--ls-gray-100);
	--ast-global-color-8: var(--ls-gold);
}

html[lang="ar"],
html[lang="ar-SA"],
body.ls-lang-ar {
	--ls-font-current: var(--ls-font-ar);
}

html[lang="en"],
html[lang="en-US"],
body.ls-lang-en {
	--ls-font-current: var(--ls-font-en);
}

/* ─── Base ─── */
html {
	-webkit-font-smoothing: antialiased;
	scroll-behavior: smooth;
}

/* ─── Global modern transitions ─── */
a,
button,
input,
select,
textarea,
.elementor-widget-image img,
.ls-service-card-image,
.ls-blog-card-image {
	transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Content images (not header/logo/hero) get a soft hover zoom inside a clipped wrapper */
.elementor-widget-image:not(.ls-header-logo-wrap *):not(.ls-footer-logo *) {
	overflow: hidden;
	display: block;
}

.elementor-widget-image:not(.ls-header-logo-wrap *):not(.ls-footer-logo *) img:hover {
	transform: scale(1.04);
}

body.ls-premium {
	animation: lsPageIn 0.5s ease both;
}

@keyframes lsPageIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* Fade-out before leaving the page via an internal link */
html.ls-page-leaving body.ls-premium {
	animation: none;
	opacity: 0;
	transition: opacity 0.2s ease;
}

/* Header entrance — slides/fades in once on load, then stays fixed */
body.ls-premium #masthead {
	animation: lsHeaderIn 0.6s cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes lsHeaderIn {
	from {
		opacity: 0;
		transform: translateY(-100%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Heading reveal — larger rise + tracking-in for a more editorial feel */
.ls-reveal-heading {
	opacity: 0;
	transform: translateY(36px);
	transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.ls-reveal-heading.ls-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Floating WhatsApp button */
.ls-float-whatsapp {
	position: fixed;
	right: 30px;
	bottom: 96px; /* stacked above Astra's #ast-scroll-top (bottom: 30px) */
	z-index: 99998;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	color: #fff;
	background: #25d366;
	border-radius: 50%;
	box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
	transition: transform var(--ls-transition), box-shadow var(--ls-transition);
}

.ls-float-whatsapp:hover,
.ls-float-whatsapp:focus-visible {
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 12px 32px rgba(37, 211, 102, 0.5);
	color: #fff;
}

.ls-float-whatsapp svg {
	width: 26px;
	height: 26px;
}

html[dir="rtl"] .ls-float-whatsapp {
	right: auto;
	left: 30px;
}

@media (max-width: 767px) {
	.ls-float-whatsapp {
		right: 20px;
		bottom: 84px;
		width: 46px;
		height: 46px;
	}

	html[dir="rtl"] .ls-float-whatsapp {
		left: 20px;
	}
}

/* Cookie consent banner */
.ls-cookie-banner {
	position: fixed;
	left: 20px;
	right: 20px;
	bottom: 20px;
	z-index: 99999;
	max-width: 420px;
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	padding: 16px 20px;
	background: var(--ls-navy);
	color: rgba(255, 255, 255, 0.9);
	font-size: 14px;
	box-shadow: var(--ls-shadow-lg);
	transform: translateY(120%);
	opacity: 0;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
}

.ls-cookie-banner.is-visible {
	transform: translateY(0);
	opacity: 1;
}

.ls-cookie-banner p {
	margin: 0;
	flex: 1 1 220px;
}

html[dir="rtl"] .ls-cookie-banner {
	left: auto;
	right: 20px;
	margin-left: 0;
	margin-right: auto;
}

@media (prefers-reduced-motion: reduce) {
	.ls-cookie-banner {
		transition: none;
	}
}

/* Scroll-progress bar */
.ls-scroll-progress {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--ls-gold), var(--ls-gold-light));
	transform: scaleX(0);
	transform-origin: left;
	z-index: 100002;
	pointer-events: none;
}

html[dir="rtl"] .ls-scroll-progress {
	transform-origin: right;
}

body.ls-premium {
	font-family: var(--ls-font-current, var(--ls-font-ar));
	color: var(--ls-charcoal);
	background: var(--ls-white);
	font-size: 17px;
	line-height: 1.7;
}

body.ls-premium h1,
body.ls-premium h2,
body.ls-premium h3,
body.ls-premium h4,
body.ls-premium h5,
body.ls-premium h6,
body.ls-premium .elementor-heading-title {
	font-family: var(--ls-font-current, var(--ls-font-ar));
	font-weight: 600;
	line-height: 1.25;
	color: var(--ls-navy);
}

body.ls-premium .e-con.e-parent > .e-con-inner {
	max-width: var(--ls-container);
}

/* ─── Header — fixed, always visible on scroll (HFE uses #masthead) ─── */
body.ls-premium #masthead {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	width: 100%;
	background: #FAFAF8;
	border-bottom: 1px solid rgba(15, 31, 61, 0.08);
	transition: box-shadow var(--ls-transition), background var(--ls-transition);
}

body.ls-premium.admin-bar #masthead {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.ls-premium.admin-bar #masthead {
		top: 46px;
	}
}

body.ls-premium {
	padding-top: var(--ls-header-height, 72px);
}

.ls-site-header,
.elementor-location-header .ls-site-header,
#masthead .ls-site-header {
	transition: box-shadow var(--ls-transition), background var(--ls-transition);
}

body.ls-premium.scrolled #masthead {
	box-shadow: 0 4px 24px rgba(15, 31, 61, 0.08);
	background: rgba(250, 250, 248, 0.97);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.ls-header-logo-img,
.ls-header .hfe-site-logo img,
.ls-site-header .hfe-site-logo img,
#masthead .hfe-site-logo img {
	transition: max-height var(--ls-transition);
}

body.ls-premium.scrolled .ls-header-logo-img,
body.ls-premium.scrolled .ls-header .hfe-site-logo img,
body.ls-premium.scrolled .ls-site-header .hfe-site-logo img,
body.ls-premium.scrolled #masthead .hfe-site-logo img {
	max-height: 36px !important;
}

/* Header topbar — collapses on scroll-down, expands back on scroll-up */
.ls-header-topbar {
	max-height: 60px;
	overflow: hidden;
	transition: max-height var(--ls-transition), opacity var(--ls-transition), padding var(--ls-transition);
}

body.ls-premium.scrolled .ls-header-topbar {
	max-height: 0;
	opacity: 0;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.ls-header-inner,
.ls-header-modern,
.ls-header-modern > .e-con-inner,
.ls-header-mobile,
.ls-header-mobile > .e-con-inner {
	transition: padding var(--ls-transition), min-height var(--ls-transition);
}

body.ls-premium.scrolled .ls-header-inner,
body.ls-premium.scrolled .ls-header-modern,
body.ls-premium.scrolled .ls-header-modern > .e-con-inner,
body.ls-premium.scrolled .ls-header-mobile,
body.ls-premium.scrolled .ls-header-mobile > .e-con-inner {
	padding-top: 4px !important;
	padding-bottom: 4px !important;
	min-height: 0 !important;
}

.ls-header-whatsapp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: #25d366;
	border: 1px solid rgba(37, 211, 102, 0.35);
	transition: all var(--ls-transition);
	position: relative;
}

.ls-header-whatsapp::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	border: 1px solid rgba(37, 211, 102, 0.55);
	animation: lsPulseRing 2.2s ease-out infinite;
}

@keyframes lsPulseRing {
	0% { transform: scale(1); opacity: 0.7; }
	100% { transform: scale(1.6); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.ls-header-whatsapp::before {
		animation: none;
	}
}

.ls-header-whatsapp:hover {
	background: #25d366;
	color: var(--ls-white);
	border-color: #25d366;
	transform: translateY(-2px);
}

.ls-header-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	text-decoration: none;
}

.ls-header-logo-img,
.ls-header .hfe-site-logo img,
.ls-site-header .hfe-site-logo img,
#masthead .hfe-site-logo img,
.elementor-widget-site-logo .hfe-site-logo-container img {
	display: block;
	width: auto !important;
	max-width: 220px !important;
	height: auto !important;
	max-height: 56px !important;
	object-fit: contain !important;
	transition: max-height var(--ls-transition);
}

/* Top bar — slim centered contact strip */
.ls-header-topbar {
	background: var(--ls-navy);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.ls-header-topbar-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 20px;
	width: 100%;
	max-width: var(--ls-container);
	margin: 0 auto;
	padding: 7px 24px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: rgba(255, 255, 255, 0.82);
}

.ls-topbar-item a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: rgba(255, 255, 255, 0.88);
	text-decoration: none;
	transition: color var(--ls-transition);
	white-space: nowrap;
}

.ls-topbar-item a:hover,
.ls-topbar-item a:focus-visible {
	color: var(--ls-gold-light);
}

.ls-topbar-icon {
	flex-shrink: 0;
	opacity: 0.9;
}

.ls-topbar-item:first-child .ls-topbar-icon {
	color: #25d366;
}

.ls-topbar-sep {
	display: inline-block;
	width: 1px;
	height: 12px;
	background: rgba(255, 255, 255, 0.2);
	flex-shrink: 0;
}

@media screen and (max-width: 767px) {
	.ls-header-topbar-inner {
		padding: 5px 12px;
		font-size: 10px;
		gap: 6px 12px;
		justify-content: center;
		text-align: center;
	}

	.ls-topbar-sep {
		display: none;
	}

	.ls-topbar-item a {
		white-space: normal;
		justify-content: center;
		text-align: center;
		font-size: 10px;
		gap: 4px;
		line-height: 1.35;
	}

	.ls-topbar-icon {
		width: 12px;
		height: 12px;
	}
}

/* Header inner alignment */
.ls-header-inner,
.ls-header-modern {
	max-width: var(--ls-container);
	margin: 0 auto;
	width: 100%;
}

.ls-header-modern {
	border-bottom: none;
}

.ls-header-logo-wrap .hfe-site-logo,
.ls-header-logo-wrap .ls-header-logo-link {
	display: flex;
	align-items: center;
}

.ls-header-nav-wrap {
	display: flex;
	justify-content: center;
}

.ls-header-actions {
	display: flex;
	align-items: center;
}

/* Primary navigation */
.ls-primary-nav .ls-nav-list {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4px 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ls-nav-item a {
	display: block;
	padding: 8px 12px;
	font-size: 14px;
	font-weight: 500;
	color: var(--ls-charcoal);
	text-decoration: none;
	position: relative;
	transition: color var(--ls-transition), padding var(--ls-transition);
}

body.ls-premium.scrolled .ls-nav-item a {
	padding-top: 4px;
	padding-bottom: 4px;
}

/* Header actions (WhatsApp icon, CTA button) shrink with the rest of the header */
.ls-header-whatsapp,
.ls-btn-header-cta .elementor-button,
a.ls-btn.ls-btn-header-cta {
	transition: all var(--ls-transition);
}

body.ls-premium.scrolled .ls-header-whatsapp {
	width: 34px;
	height: 34px;
}

body.ls-premium.scrolled .ls-btn-header-cta .elementor-button,
body.ls-premium.scrolled a.ls-btn.ls-btn-header-cta {
	padding: 7px 16px !important;
	font-size: 12px;
}

.ls-nav-item a span {
	position: relative;
	z-index: 1;
}

.ls-nav-item a:hover {
	color: var(--ls-gold);
}

.ls-nav-item.current-menu-item a {
	color: var(--ls-gold);
	font-weight: 600;
}

.ls-nav-item a::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 3px;
	height: 2px;
	background: var(--ls-gold);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ls-nav-item a:hover::after,
.ls-nav-item.current-menu-item a::after {
	transform: scaleX(1);
}

.ls-nav-item-accent a {
	color: var(--ls-gold);
	font-weight: 600;
}

.ls-nav-item-accent a::after {
	background: var(--ls-navy);
}

/* Nav entrance animation */
.ls-nav-animate-in .ls-nav-item {
	opacity: 0;
	transform: translateY(-8px);
	animation: lsNavIn 0.5s ease forwards;
	animation-delay: calc(var(--i) * 0.06s + 0.1s);
}

@keyframes lsNavIn {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Language switch — pill toggle */
.ls-lang-pills {
	display: inline-flex;
	align-items: center;
	gap: 0;
	padding: 3px;
	background: rgba(15, 31, 61, 0.06);
	border-radius: 999px;
	border: 1px solid rgba(15, 31, 61, 0.1);
}

.ls-lang-pill {
	display: inline-block;
	padding: 6px 14px;
	font-size: 12px;
	font-weight: 600;
	color: var(--ls-text-muted);
	text-decoration: none;
	border-radius: 999px;
	transition:
		background 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	line-height: 1.2;
}

.ls-lang-pill.is-active {
	background: var(--ls-white);
	color: var(--ls-navy);
	box-shadow: 0 1px 4px rgba(15, 31, 61, 0.12);
}

.ls-lang-pill:not(.is-active):hover {
	color: var(--ls-navy);
	background: rgba(255, 255, 255, 0.85);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(15, 31, 61, 0.1);
}

/* Legacy lang switch (footer/mobile fallback) */
.ls-lang-switch {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
}

.ls-lang-active {
	color: var(--ls-navy);
	padding: 4px 8px;
	border-bottom: 2px solid var(--ls-gold);
}

.ls-lang-link {
	color: var(--ls-text-muted);
	text-decoration: none;
	padding: 4px 8px;
	transition: color var(--ls-transition);
}

.ls-lang-link:hover {
	color: var(--ls-gold);
}

.ls-site-footer .ls-lang-active {
	color: var(--ls-white);
}

/* Mobile / tablet header bar — logo + burger on one row */
@media (max-width: 1024px) {
	.ls-header-mobile.e-con {
		--flex-direction: row;
		--align-items: center;
		--justify-content: space-between;
		--flex-wrap: nowrap;
		--gap: 12px;
	}

	.ls-header-mobile > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		width: 100%;
		min-height: 52px;
	}

	.ls-header-mobile .ls-header-logo-wrap,
	.ls-header-mobile .ls-header-mobile-actions {
		flex: 0 1 auto !important;
		width: auto !important;
		max-width: none !important;
		align-self: center !important;
		--width: auto !important;
	}

	.ls-header-mobile .ls-header-logo-wrap > .e-con-inner,
	.ls-header-mobile .ls-header-mobile-actions > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 10px !important;
		padding: 0 !important;
		min-height: 0 !important;
		height: auto !important;
	}

	.ls-header-mobile .ls-header-logo-wrap > .e-con-inner {
		justify-content: flex-start !important;
	}

	.ls-header-mobile .ls-header-mobile-actions > .e-con-inner {
		justify-content: flex-end !important;
	}

	html[dir="rtl"] .ls-header-mobile .ls-header-logo-wrap > .e-con-inner {
		justify-content: flex-end !important;
	}

	html[dir="rtl"] .ls-header-mobile .ls-header-mobile-actions > .e-con-inner {
		justify-content: flex-start !important;
	}

	.ls-header-mobile .elementor-widget,
	.ls-header-mobile .elementor-widget-container {
		margin-block: 0 !important;
		padding-block: 0 !important;
	}

	.ls-header-mobile .hfe-site-logo,
	.ls-header-mobile .hfe-site-logo a,
	.ls-header-mobile .ls-header-logo-link {
		display: flex !important;
		align-items: center !important;
		line-height: 0;
	}

	.ls-header-mobile .hfe-site-logo img,
	.ls-header-mobile .ls-header-logo-img {
		display: block;
		max-height: 44px !important;
		max-width: 160px !important;
		width: auto !important;
		height: auto !important;
	}

	.ls-header-mobile .elementor-widget-html:has(.ls-mobile-toggle) {
		display: flex !important;
		align-items: center !important;
		align-self: center !important;
	}

	.ls-header-mobile .ls-mobile-toggle {
		margin: 0 !important;
		flex-shrink: 0;
	}
}

/* Mobile menu */
.ls-header-mobile,
.ls-site-header,
body.ls-premium #masthead {
	overflow: visible;
}

.ls-header-mobile-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.ls-header-mobile-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ls-white);
	background: var(--ls-gold);
	border: 1px solid var(--ls-gold);
	border-radius: 6px;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.ls-header-mobile-cta:hover,
.ls-header-mobile-cta:focus-visible {
	background: var(--ls-navy);
	border-color: var(--ls-navy);
	transform: translateY(-2px);
}

.ls-mobile-toggle {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 10px;
	background: transparent;
	border: 1px solid var(--ls-gray-200);
	cursor: pointer;
	transition: border-color var(--ls-transition);
	flex-shrink: 0;
}

.ls-mobile-toggle:hover,
.ls-mobile-toggle:focus-visible {
	border-color: var(--ls-gold);
}

.ls-mobile-toggle span {
	display: block;
	height: 2px;
	background: var(--ls-navy);
	transition: transform 0.35s ease, opacity 0.35s ease;
}

body.ls-mobile-open .ls-mobile-toggle span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

body.ls-mobile-open .ls-mobile-toggle span:nth-child(2) {
	opacity: 0;
}

body.ls-mobile-open .ls-mobile-toggle span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

body.ls-mobile-open {
	overflow: hidden;
}

.ls-mobile-overlay {
	position: fixed;
	inset: 0;
	background: rgba(15, 31, 61, 0.55);
	z-index: 100000;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0.35s ease;
	-webkit-tap-highlight-color: transparent;
}

body.ls-mobile-open .ls-mobile-overlay {
	opacity: 1;
	visibility: visible;
}

.ls-mobile-panel {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	width: min(340px, 92vw);
	max-width: 100%;
	background: var(--ls-white);
	z-index: 100001;
	padding: calc(var(--ls-header-height, 64px) + 12px) 24px 32px;
	box-shadow: var(--ls-shadow-lg);
	transform: translate3d(105%, 0, 0);
	visibility: hidden;
	pointer-events: none;
	transition:
		transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
		visibility 0.4s ease;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

body.ls-mobile-open .ls-mobile-panel {
	transform: translate3d(0, 0, 0);
	visibility: visible;
	pointer-events: auto;
}

.ls-mobile-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--ls-gray-200);
}

.ls-mobile-panel-title {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ls-navy);
}

.ls-mobile-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--ls-gray-200);
	background: transparent;
	color: var(--ls-navy);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	transition: border-color var(--ls-transition), color var(--ls-transition), background var(--ls-transition);
}

.ls-mobile-close:hover,
.ls-mobile-close:focus-visible {
	border-color: var(--ls-gold);
	color: var(--ls-gold);
	background: rgba(176, 141, 87, 0.08);
}

.ls-mobile-nav .ls-nav-list {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ls-mobile-nav .ls-nav-item {
	width: 100%;
}

.ls-mobile-nav .ls-nav-item a {
	display: block;
	width: 100%;
	padding: 16px 0;
	font-size: 17px;
	font-weight: 500;
	border-bottom: 1px solid var(--ls-gray-200);
}

.ls-mobile-nav .ls-nav-item a::after {
	display: none;
}

.ls-mobile-panel-actions {
	margin-top: 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: stretch;
}

.ls-mobile-panel-actions .ls-lang-pills {
	justify-content: center;
}

.ls-mobile-panel-actions .ls-btn-block {
	width: 100%;
}

.ls-site-header .elementor-widget-html:has(.ls-mobile-panel) {
	position: static !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.ls-site-header .ls-mobile-panel,
.ls-site-header .ls-mobile-overlay {
	display: none !important;
}

body > .ls-mobile-panel,
body > .ls-mobile-overlay {
	display: block;
}

.ls-site-header .elementor-widget-html:has(.ls-mobile-panel) .elementor-widget-container {
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

/* Legacy HFE nav — hide if present */
.ls-site-header .hfe-nav-menu {
	display: none;
}

/* ─── Buttons — unified hover color + lift animation ─── */
body.ls-premium .elementor-widget-button.ls-btn .elementor-button,
.ls-btn .elementor-button,
a.ls-btn {
	font-family: var(--ls-font-current);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 14px 32px !important;
	border-radius: 0 !important;
	position: relative;
	overflow: hidden;
	display: inline-block;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition:
		background-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

body.ls-premium .elementor-widget-button.ls-btn .elementor-button:hover,
body.ls-premium .elementor-widget-button.ls-btn .elementor-button:focus-visible,
.ls-btn .elementor-button:hover,
.ls-btn .elementor-button:focus-visible,
a.ls-btn:hover,
a.ls-btn:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(15, 31, 61, 0.2);
}

body.ls-premium .elementor-widget-button.ls-btn .elementor-button:active,
.ls-btn .elementor-button:active,
a.ls-btn:active {
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(15, 31, 61, 0.14);
	transition-duration: 0.12s;
}

body.ls-premium .elementor-widget-button.ls-btn-sm .elementor-button,
.ls-btn-sm .elementor-button,
a.ls-btn.ls-btn-sm {
	padding: 10px 20px !important;
	font-size: 14px;
}

body.ls-premium .elementor-widget-button.ls-btn-primary .elementor-button,
.ls-btn-primary .elementor-button,
a.ls-btn.ls-btn-primary {
	background-color: var(--ls-navy) !important;
	color: var(--ls-white) !important;
	border: 2px solid var(--ls-navy) !important;
}

body.ls-premium .elementor-widget-button.ls-btn .elementor-button::after,
.ls-btn .elementor-button::after,
a.ls-btn::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle 90px at var(--ls-mx, 50%) var(--ls-my, 50%), rgba(255, 255, 255, 0.28), transparent 70%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

body.ls-premium .elementor-widget-button.ls-btn .elementor-button:hover::after,
.ls-btn .elementor-button:hover::after,
a.ls-btn:hover::after {
	opacity: 1;
}

body.ls-premium .elementor-widget-button.ls-btn-primary .elementor-button:hover,
body.ls-premium .elementor-widget-button.ls-btn-primary .elementor-button:focus-visible,
.ls-btn-primary .elementor-button:hover,
.ls-btn-primary .elementor-button:focus-visible,
a.ls-btn.ls-btn-primary:hover,
a.ls-btn.ls-btn-primary:focus-visible {
	background-color: var(--ls-gold) !important;
	border-color: var(--ls-gold) !important;
	color: var(--ls-white) !important;
}

body.ls-premium .elementor-widget-button.ls-btn-gold .elementor-button,
.ls-btn-gold .elementor-button,
a.ls-btn.ls-btn-gold {
	background-color: var(--ls-gold) !important;
	color: var(--ls-white) !important;
	border: 2px solid var(--ls-gold) !important;
}

body.ls-premium .elementor-widget-button.ls-btn-gold .elementor-button:hover,
body.ls-premium .elementor-widget-button.ls-btn-gold .elementor-button:focus-visible,
.ls-btn-gold .elementor-button:hover,
.ls-btn-gold .elementor-button:focus-visible,
a.ls-btn.ls-btn-gold:hover,
a.ls-btn.ls-btn-gold:focus-visible {
	background-color: var(--ls-navy) !important;
	border-color: var(--ls-navy) !important;
	color: var(--ls-white) !important;
}

body.ls-premium .elementor-widget-button.ls-btn-header-cta .elementor-button,
.ls-btn-header-cta .elementor-button,
a.ls-btn.ls-btn-header-cta {
	background-color: var(--ls-gold) !important;
	color: var(--ls-white) !important;
	border: 2px solid var(--ls-gold) !important;
	border-radius: 6px !important;
	padding: 10px 22px !important;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

body.ls-premium .elementor-widget-button.ls-btn-header-cta .elementor-button:hover,
body.ls-premium .elementor-widget-button.ls-btn-header-cta .elementor-button:focus-visible,
.ls-btn-header-cta .elementor-button:hover,
.ls-btn-header-cta .elementor-button:focus-visible,
a.ls-btn.ls-btn-header-cta:hover,
a.ls-btn.ls-btn-header-cta:focus-visible {
	background-color: var(--ls-navy) !important;
	border-color: var(--ls-navy) !important;
	color: var(--ls-white) !important;
	box-shadow: 0 8px 22px rgba(176, 141, 87, 0.35);
}

.ls-mobile-panel-actions .ls-lang-pills {
	margin-bottom: 12px;
}

body.ls-premium .elementor-widget-button.ls-btn-outline .elementor-button,
.ls-btn-outline .elementor-button,
a.ls-btn.ls-btn-outline {
	background-color: transparent !important;
	color: var(--ls-navy) !important;
	border: 2px solid var(--ls-navy) !important;
}

.ls-section-hero .ls-btn-outline .elementor-button,
body.ls-premium .ls-section-hero .elementor-widget-button.ls-btn-outline .elementor-button {
	color: var(--ls-white) !important;
	border-color: rgba(255, 255, 255, 0.5) !important;
}

.ls-section-hero .ls-btn-outline .elementor-button:hover,
.ls-section-hero .ls-btn-outline .elementor-button:focus-visible,
body.ls-premium .ls-section-hero .elementor-widget-button.ls-btn-outline .elementor-button:hover,
body.ls-premium .ls-section-hero .elementor-widget-button.ls-btn-outline .elementor-button:focus-visible {
	background-color: var(--ls-white) !important;
	color: var(--ls-navy) !important;
	border-color: var(--ls-white) !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2);
}

body.ls-premium .elementor-widget-button.ls-btn-outline .elementor-button:hover,
body.ls-premium .elementor-widget-button.ls-btn-outline .elementor-button:focus-visible,
.ls-btn-outline .elementor-button:hover,
.ls-btn-outline .elementor-button:focus-visible,
a.ls-btn.ls-btn-outline:hover,
a.ls-btn.ls-btn-outline:focus-visible {
	background-color: var(--ls-navy) !important;
	color: var(--ls-white) !important;
	border-color: var(--ls-navy) !important;
}

@media (prefers-reduced-motion: reduce) {
	.ls-btn .elementor-button,
	a.ls-btn {
		transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	}

	.ls-btn .elementor-button:hover,
	.ls-btn .elementor-button:focus-visible,
	a.ls-btn:hover,
	a.ls-btn:focus-visible,
	.ls-btn .elementor-button:active,
	a.ls-btn:active {
		transform: none;
	}
}

/* Astra scroll-to-top */
body.ls-premium #ast-scroll-top {
	transition:
		background-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

body.ls-premium #ast-scroll-top:hover,
body.ls-premium #ast-scroll-top:focus-visible {
	background-color: var(--ls-gold) !important;
	color: var(--ls-white) !important;
	transform: translateY(-3px);
	box-shadow: 0 8px 22px rgba(176, 141, 87, 0.35);
}

/* ─── Hero ─── */
.ls-section-hero {
	position: relative;
	overflow: hidden;
	min-height: auto !important;
	padding-top: 64px !important;
	padding-bottom: 64px !important;
	background-color: #0F1F3D !important;
	background-image: url("/wp-content/uploads/2025/05/pattern-1024x1024.png") !important;
	background-repeat: repeat !important;
	background-position: center center !important;
	background-size: 420px auto !important;
}

.ls-section-hero > .e-con-inner {
	align-items: stretch;
	gap: 0 !important;
	max-width: 920px;
	width: 100%;
	margin-inline: auto;
}

.ls-hero-content {
	justify-content: center;
	width: 100% !important;
	max-width: 100% !important;
}

.ls-hero-visual {
	display: none !important;
}

.ls-section-hero .ls-hero-title,
.ls-section-hero .ls-hero-title .elementor-heading-title,
.ls-section-hero .elementor-widget-heading:not(.ls-eyebrow) .elementor-heading-title {
	color: var(--ls-white) !important;
}

.ls-section-hero .ls-hero-title .elementor-heading-title {
	font-size: clamp(2rem, 4.5vw, 3.25rem);
	font-weight: 700;
	line-height: 1.15;
}

.ls-section-hero .ls-eyebrow .elementor-heading-title {
	color: var(--ls-gold) !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ls-section-hero .ls-hero-sub {
	color: var(--ls-text-light);
	font-size: 18px;
	line-height: 1.75;
	max-width: 640px;
}

/* ─── Eyebrows & Section titles ─── */
.ls-eyebrow .elementor-heading-title {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ls-navy-mid);
}

.ls-eyebrow-gold .elementor-heading-title {
	color: var(--ls-gold);
}

.ls-section-title .elementor-heading-title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
}

/* ─── Stats ─── */
.ls-stat-card {
	text-align: center;
	padding: 16px;
}

.ls-stat {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 2px;
}

.ls-counter {
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	font-weight: 700;
	color: var(--ls-navy);
	line-height: 1;
}

.ls-stat-suffix {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--ls-gold);
}

.ls-stat-label {
	color: var(--ls-text-muted);
	font-size: 15px;
	margin-top: 8px;
}

/* ─── About ─── */
.ls-about-image {
	position: relative;
	overflow: hidden;
}

.ls-about-image::after {
	content: "";
	position: absolute;
	top: 24px;
	left: 24px;
	right: -24px;
	bottom: -24px;
	border: 2px solid var(--ls-gold);
	z-index: -1;
	pointer-events: none;
}

html[dir="rtl"] .ls-about-image::after {
	left: -24px;
	right: 24px;
}

/* ─── Native 3-column card grids (HTML widgets) ─── */
.ls-section-services .elementor-widget-html,
.ls-section-team .elementor-widget-html,
.ls-section-team-page .elementor-widget-html,
.ls-section-services .elementor-widget-html .elementor-widget-container,
.ls-section-team .elementor-widget-html .elementor-widget-container,
.ls-section-team-page .elementor-widget-html .elementor-widget-container {
	width: 100%;
	margin: 0;
	padding: 0;
}

.ls-cards-row-3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}

.ls-service-card-image {
	display: block;
	height: 220px;
	background-size: cover;
	background-position: center;
	position: relative;
	text-decoration: none;
	overflow: hidden;
}

.ls-service-card-body {
	padding: 24px;
}

.ls-service-card-body .ls-service-title {
	margin: 0 0 10px;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.3;
}

.ls-service-card-body .ls-service-title a {
	color: var(--ls-navy);
	text-decoration: none;
	transition: color var(--ls-transition);
}

.ls-service-card-body .ls-service-title a:hover {
	color: var(--ls-gold);
}

.ls-service-card-body p {
	margin: 0 0 14px;
	color: var(--ls-text-muted);
	font-size: 15px;
	line-height: 1.6;
}

.ls-team-cards .ls-team-photo {
	height: 520px;
	background-size: cover;
	background-position: center center;
}

.ls-team-info {
	padding: 20px 0 0;
}

.ls-team-name {
	margin: 0 0 6px;
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--ls-navy);
	line-height: 1.3;
}

.ls-team-role {
	margin: 0;
	color: var(--ls-text-muted);
	font-size: 15px;
	line-height: 1.5;
}

/* ─── Service cards — varied hovers ─── */
.ls-services-grid,
.ls-features-grid,
.ls-team-grid {
	width: 100%;
}

.ls-services-grid > .e-con-inner,
.ls-features-grid > .e-con-inner,
.ls-team-grid > .e-con-inner {
	display: grid !important;
	width: 100% !important;
	max-width: 100% !important;
	gap: 24px;
	flex-wrap: unset !important;
}

.ls-services-grid > .e-con-inner {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ls-features-grid > .e-con-inner {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ls-team-grid > .e-con-inner {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ls-services-grid > .e-con-inner > .e-con,
.ls-team-grid > .e-con-inner > .e-con {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
}

.ls-services-grid .ls-service-card,
.ls-features-grid .ls-feature-card,
.ls-team-grid .ls-team-card {
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
	min-width: 0;
}

.ls-section-services-page > .e-con-inner {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.ls-section-services-page .ls-service-row {
	width: 100% !important;
	max-width: 100% !important;
}

.ls-section-header > .e-con-inner {
	width: 100%;
	align-items: flex-end;
}

.ls-section-header-text {
	flex: 1 1 auto;
	min-width: 0;
}

.ls-section-team .ls-section-header > .e-con-inner {
	flex-wrap: wrap;
	gap: 16px;
}

.ls-team-name .elementor-heading-title {
	font-size: 1.25rem;
	font-weight: 600;
}

.ls-section-blog .elementor-widget-shortcode,
.ls-section-blog .elementor-widget-shortcode .elementor-widget-container {
	width: 100%;
}

.ls-service-card {
	background: var(--ls-white);
	border: 1px solid var(--ls-gray-200);
	overflow: hidden;
	transition: box-shadow var(--ls-transition), transform var(--ls-transition), border-color var(--ls-transition);
	position: relative;
}

.ls-service-index {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--ls-gold);
	background: rgba(15, 31, 61, 0.82);
	padding: 6px 10px;
}

html[dir="rtl"] .ls-service-index {
	right: auto;
	left: 16px;
}

.ls-service-card-image {
	position: relative;
	transition: transform 0.6s ease;
	overflow: hidden;
}

.ls-card-hover-1:hover {
	box-shadow: var(--ls-shadow-md);
	transform: translateY(-6px);
}

.ls-card-hover-2:hover {
	box-shadow: var(--ls-shadow-lg);
	border-color: var(--ls-gold);
}

.ls-card-hover-3:hover {
	transform: translateY(-4px);
	box-shadow: var(--ls-shadow-sm);
}

.ls-service-card-image {
	transition: transform 0.6s ease;
	overflow: hidden;
}

.ls-card-hover-1:hover .ls-service-card-image {
	transform: scale(1.05);
}

.ls-card-hover-2:hover .ls-service-card-image {
	transform: scale(1.08);
}

.ls-card-hover-3 .ls-service-title .elementor-heading-title {
	transition: color var(--ls-transition);
}

.ls-card-hover-3:hover .ls-service-title .elementor-heading-title {
	color: var(--ls-gold);
}

.ls-service-card-body {
	background: var(--ls-white);
}

.ls-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ls-navy);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	position: relative;
	padding: 4px 0;
	transition:
		color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		gap 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ls-link-arrow::after {
	content: "→";
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

html[dir="rtl"] .ls-link-arrow::after {
	content: "←";
}

.ls-link-arrow:hover,
.ls-link-arrow:focus-visible {
	color: var(--ls-gold);
	gap: 12px;
	transform: translateY(-2px);
}

.ls-link-arrow:hover::after,
.ls-link-arrow:focus-visible::after {
	transform: translateX(4px);
}

html[dir="rtl"] .ls-link-arrow:hover::after,
html[dir="rtl"] .ls-link-arrow:focus-visible::after {
	transform: translateX(-4px);
}

/* ─── Feature cards ─── */
.ls-feature-card {
	background: var(--ls-white);
	border: 1px solid var(--ls-gray-200);
	transition: border-color var(--ls-transition), box-shadow var(--ls-transition);
}

.ls-feature-card:hover {
	border-color: var(--ls-gold);
	box-shadow: var(--ls-shadow-sm);
}

.ls-feature-num {
	display: block;
	font-size: 48px;
	font-weight: 700;
	color: var(--ls-gray-200);
	line-height: 1;
	margin-bottom: 16px;
	transition: color var(--ls-transition);
}

.ls-feature-card:hover .ls-feature-num {
	color: var(--ls-gold);
}

/* ─── Team cards ─── */
.ls-team-card {
	overflow: hidden;
}

.ls-team-photo {
	position: relative;
	overflow: hidden;
	transition: transform 0.6s ease;
}

.ls-team-card:hover .ls-team-photo {
	transform: scale(1.04);
}

.ls-team-card:hover .ls-team-photo::after {
	opacity: 1;
}

.ls-team-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 31, 61, 0.6), transparent 50%);
	opacity: 0;
	transition: opacity var(--ls-transition);
}

.ls-team-role {
	color: var(--ls-gold);
	font-size: 15px;
	font-weight: 500;
}

/* ─── Quote ─── */
.ls-section-quote .ls-quote {
	text-align: center;
	max-width: 720px;
	margin: 0 auto;
	border: none;
	padding: 0;
}

.ls-section-quote .ls-quote p {
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-style: italic;
	color: var(--ls-white);
	line-height: 1.6;
	margin-bottom: 24px;
}

.ls-section-quote .ls-quote cite {
	color: var(--ls-gold);
	font-style: normal;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.ls-section-quote .ls-quote cite::before {
	content: "";
	display: block;
	width: 48px;
	height: 2px;
	background: var(--ls-gold);
	margin: 0 auto 16px;
}

/* ─── CTA ─── */
.ls-section-cta {
	text-align: center;
	position: relative;
}

.ls-section-cta::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 3px;
	background: var(--ls-gold);
}

.ls-cta-sub {
	color: var(--ls-text-muted);
	font-size: 18px;
	max-width: 560px;
	margin: 0 auto;
}

/* ─── Footer ─── */
.ls-site-footer {
	color: rgba(255, 255, 255, 0.75);
	position: relative;
}

.ls-site-footer .e-con.e-parent > .e-con-inner {
	max-width: 100%;
}

.ls-site-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--ls-gold), transparent);
}

.ls-footer-main {
	max-width: var(--ls-container);
	margin: 0 auto;
	width: 100%;
	padding-top: 32px !important;
	padding-bottom: 16px !important;
}

.ls-footer-main > .e-con-inner {
	width: 100%;
}

.ls-site-footer .elementor-widget-html,
.ls-site-footer .elementor-widget-html .elementor-widget-container {
	margin: 0;
	padding: 0;
}

.ls-footer-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr));
	gap: 16px 28px;
	align-items: start;
	width: 100%;
}

.ls-footer-col {
	min-width: 0;
}

.ls-footer-animate {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.ls-footer-animate.ls-visible {
	opacity: 1;
	transform: translateY(0);
}

.ls-footer-animate-delay { transition-delay: 0.08s; }
.ls-footer-animate-delay-2 { transition-delay: 0.16s; }
.ls-footer-animate-delay-3 { transition-delay: 0.24s; }

.ls-footer-about-text {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.65);
	max-width: 28ch;
}

.ls-footer-heading {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--ls-white);
	line-height: 1.3;
}

.ls-footer-logo-img,
.ls-footer-logo img {
	max-height: 72px !important;
	max-width: 220px !important;
	width: auto !important;
	height: auto !important;
	display: block;
	object-fit: contain;
}

.ls-site-footer .elementor-heading-title,
.ls-footer-heading.elementor-heading-title {
	color: var(--ls-white);
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 8px;
}

.ls-footer-list,
.ls-footer-contact {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ls-footer-list li,
.ls-footer-contact li {
	margin-bottom: 4px;
	line-height: 1.35;
}

.ls-footer-list a,
.ls-footer-contact a,
.ls-footer-contact span {
	color: rgba(255, 255, 255, 0.68);
	text-decoration: none;
	transition: color var(--ls-transition);
	font-size: 13px;
	display: inline-block;
}

.ls-footer-list a:hover,
.ls-footer-contact a:hover {
	color: var(--ls-gold);
}

.ls-footer-copy {
	color: rgba(255, 255, 255, 0.55);
	font-size: 13px;
	margin: 0;
}

.ls-footer-bar {
	max-width: var(--ls-container);
	margin: 0 auto;
	width: 100%;
}

.ls-footer-bar > .e-con-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
}

.ls-footer-bar .elementor-social-icons-wrapper {
	gap: 8px;
}

.ls-footer-bar .elementor-social-icon {
	width: 34px;
	height: 34px;
	font-size: 14px;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.12);
	transition:
		background 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ls-footer-bar .elementor-social-icon:hover,
.ls-footer-bar .elementor-social-icon:focus-visible {
	background: var(--ls-gold) !important;
	border-color: var(--ls-gold);
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(176, 141, 87, 0.35);
}

/* ─── Scroll reveal animations ─── */
.ls-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.ls-reveal.ls-visible {
	opacity: 1;
	transform: translateY(0);
}

.ls-reveal-delay { transition-delay: 0.15s; }
.ls-reveal-delay-1 { transition-delay: 0.1s; }
.ls-reveal-delay-2 { transition-delay: 0.2s; }
.ls-reveal-delay-3 { transition-delay: 0.3s; }

html[dir="rtl"] .ls-reveal {
	transform: translateY(28px);
}

/* ─── Page heroes ─── */
.ls-page-hero {
	padding-top: 56px !important;
	padding-bottom: 48px !important;
	min-height: auto !important;
}

.ls-page-hero > .e-con-inner {
	width: 100%;
	max-width: var(--ls-container);
}

.ls-page-hero .elementor-widget-heading,
.ls-page-hero .elementor-widget-text-editor {
	width: 100%;
}

.ls-page-hero .ls-page-title .elementor-heading-title,
.ls-page-hero .elementor-widget-heading:not(.ls-eyebrow) .elementor-heading-title {
	color: var(--ls-white) !important;
	font-size: clamp(2rem, 4vw, 3rem);
}

.ls-page-hero .ls-page-intro {
	color: var(--ls-text-light);
	font-size: 18px;
	max-width: 600px;
}

.ls-page-hero .ls-eyebrow .elementor-heading-title {
	color: var(--ls-gold) !important;
}

/* ─── Services page rows ─── */
.ls-service-row {
	background: var(--ls-white);
	border: 1px solid var(--ls-gray-200);
	overflow: hidden;
}

.ls-service-row-body {
	justify-content: center;
}

/* ─── Contact page ─── */
.ls-contact-info {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ls-contact-item strong {
	display: block;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ls-gold);
	margin-bottom: 6px;
}

.ls-contact-item a {
	color: var(--ls-navy);
	text-decoration: none;
	font-size: 17px;
	font-weight: 500;
	transition: color var(--ls-transition);
}

.ls-contact-item a:hover {
	color: var(--ls-gold);
}

.ls-contact-form-wrap {
	background: var(--ls-off-white);
	border: 1px solid var(--ls-gray-200);
	padding: 48px;
}

.ls-form-note {
	color: var(--ls-text-muted);
	margin-bottom: 32px;
	line-height: 1.7;
}

.ls-btn-block {
	display: block;
	text-align: center;
}

.ls-btn-block .elementor-button {
	width: 100%;
}

/* ─── Forms (Forminator + SSA) ─── */
.ls-forminator-wrap .forminator-ui,
.ls-booking-wrap .ssa-booking-app,
.ls-booking-wrap .simply-schedule-appointments {
	font-family: var(--ls-font-current) !important;
}

.ls-forminator-wrap .forminator-button,
.ls-booking-wrap .ssa-button,
.ls-booking-wrap button[type="submit"],
body.ls-premium .forminator-button-submit {
	background: var(--ls-navy) !important;
	border: 2px solid var(--ls-navy) !important;
	color: var(--ls-white) !important;
	border-radius: 0 !important;
	padding: 14px 28px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition:
		background-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.ls-forminator-wrap .forminator-button:hover,
.ls-forminator-wrap .forminator-button:focus-visible,
.ls-booking-wrap .ssa-button:hover,
.ls-booking-wrap .ssa-button:focus-visible,
.ls-booking-wrap button[type="submit"]:hover,
.ls-booking-wrap button[type="submit"]:focus-visible,
body.ls-premium .forminator-button-submit:hover,
body.ls-premium .forminator-button-submit:focus-visible {
	background: var(--ls-gold) !important;
	border-color: var(--ls-gold) !important;
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(15, 31, 61, 0.2);
}

.ls-forminator-wrap .forminator-button:active,
.ls-booking-wrap .ssa-button:active,
.ls-booking-wrap button[type="submit"]:active,
body.ls-premium .forminator-button-submit:active {
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(15, 31, 61, 0.14);
}

.ls-forminator-wrap .forminator-input,
.ls-forminator-wrap .forminator-textarea,
.ls-forminator-wrap .forminator-select,
.ls-booking-wrap input,
.ls-booking-wrap select,
.ls-booking-wrap textarea {
	border-radius: 0 !important;
	border-color: var(--ls-gray-200) !important;
	font-family: var(--ls-font-current) !important;
}

.ls-forminator-wrap .forminator-input:focus,
.ls-forminator-wrap .forminator-textarea:focus,
.ls-booking-wrap input:focus,
.ls-booking-wrap select:focus,
.ls-booking-wrap textarea:focus {
	border-color: var(--ls-gold) !important;
	box-shadow: 0 0 0 3px rgba(176, 141, 87, 0.15) !important;
}

.ls-booking-wrap {
	box-shadow: var(--ls-shadow-sm);
}

/* SSA booking — RTL on Arabic consultation page */
body.ls-lang-ar .ls-booking-wrap,
body.ls-lang-ar .ls-booking-wrap .ssa-booking-app,
body.ls-lang-ar .ls-booking-wrap .ssa_booking_iframe {
	direction: rtl;
}

body.ls-lang-ar .ls-booking-wrap {
	font-family: var(--ls-font-ar);
}

/* ─── Blog grid ─── */
.ls-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	width: 100%;
}

.ls-blog-card {
	background: var(--ls-white);
	border: 1px solid var(--ls-gray-200);
	overflow: hidden;
	transition: transform var(--ls-transition), box-shadow var(--ls-transition), border-color var(--ls-transition);
}

.ls-blog-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--ls-shadow-md);
	border-color: var(--ls-gold);
}

.ls-blog-card-image {
	display: block;
	height: 220px;
	background-size: cover;
	background-position: center;
	transition: transform 0.6s ease;
}

.ls-blog-card:hover .ls-blog-card-image {
	transform: scale(1.05);
}

.ls-blog-card-body {
	padding: 28px;
}

.ls-blog-date {
	display: block;
	font-size: 13px;
	color: var(--ls-gold);
	font-weight: 600;
	margin-bottom: 10px;
}

.ls-blog-title {
	font-size: 1.15rem;
	margin: 0 0 12px;
}

.ls-blog-title a {
	color: var(--ls-navy);
	text-decoration: none;
	transition: color var(--ls-transition);
}

.ls-blog-title a:hover {
	color: var(--ls-gold);
}

.ls-blog-excerpt {
	color: var(--ls-text-muted);
	font-size: 15px;
	margin-bottom: 16px;
}

/* ─── Map embed ─── */
.ls-map-embed {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--ls-gray-200);
}

.ls-map-embed iframe {
	display: block;
	width: 100%;
	height: 320px;
	border: 0;
}

.ls-footer-map .ls-map-embed iframe {
	height: 260px;
	filter: grayscale(20%);
}

/* ─── Social icons ─── */
.ls-social-icons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.ls-section-map .ls-social-icons {
	justify-content: center;
	width: 100%;
}

.ls-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: var(--ls-gold);
	background: transparent;
	border: 1px solid rgba(176, 141, 87, 0.45);
	border-radius: 4px;
	text-decoration: none;
	transition:
		background 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ls-social-link:hover,
.ls-social-link:focus-visible {
	background: var(--ls-gold);
	border-color: var(--ls-gold);
	color: #fff;
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(176, 141, 87, 0.35);
}

.ls-social-icon {
	display: block;
	flex-shrink: 0;
}

.ls-social-icons--footer .ls-social-link,
.ls-footer-bar .ls-social-link {
	border-color: rgba(255, 255, 255, 0.25);
}

.ls-social-icons .elementor-social-icon {
	background: transparent !important;
	border: 1px solid rgba(176, 141, 87, 0.45) !important;
	transition: all var(--ls-transition) !important;
}

.ls-social-icons .elementor-social-icon:hover {
	background: var(--ls-gold) !important;
	border-color: var(--ls-gold) !important;
	transform: translateY(-3px);
}

.ls-site-footer .ls-social-icons .elementor-social-icon {
	border-color: rgba(255, 255, 255, 0.25) !important;
}

.ls-site-footer .ls-social-icons .elementor-social-icon:hover {
	background: var(--ls-gold) !important;
}

/* ─── Reveal variants ─── */
.ls-reveal-left {
	opacity: 0;
	transform: translateX(-32px);
}

.ls-reveal-right {
	opacity: 0;
	transform: translateX(32px);
}

html[dir="rtl"] .ls-reveal-left {
	transform: translateX(32px);
}

html[dir="rtl"] .ls-reveal-right {
	transform: translateX(-32px);
}

.ls-reveal-scale {
	opacity: 0;
	transform: scale(0.96);
}

.ls-reveal-left.ls-visible,
.ls-reveal-right.ls-visible,
.ls-reveal-scale.ls-visible {
	opacity: 1;
	transform: none;
}

.ls-hero-visual {
	display: none !important;
}

/* ─── Mobile spacing (tight, intentional) ─── */
@media (max-width: 767px) {
	body.ls-premium {
		padding-top: var(--ls-header-height, 64px);
		font-size: 16px;
	}

	/* Section padding — override Elementor inline values */
	body.ls-premium .ls-section {
		padding-top: 36px !important;
		padding-bottom: 36px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.ls-premium .ls-section-hero {
		padding-top: 20px !important;
		padding-bottom: 32px !important;
		min-height: auto !important;
	}

	body.ls-premium .ls-section-stats {
		padding-top: 28px !important;
		padding-bottom: 28px !important;
	}

	body.ls-premium .ls-page-hero {
		padding-top: 88px !important;
		padding-bottom: 32px !important;
	}

	/* Collapse Elementor spacers inside sections */
	body.ls-premium .ls-section .elementor-widget-spacer .elementor-spacer-inner {
		height: 16px !important;
	}

	body.ls-premium .ls-section-hero .elementor-widget-spacer .elementor-spacer-inner {
		height: 10px !important;
	}

	/* Tighter flex gaps in Elementor containers */
	body.ls-premium .ls-section > .e-con-inner,
	body.ls-premium .ls-section .e-con {
		--gap: 16px;
		--row-gap: 16px;
		--column-gap: 16px;
	}

	body.ls-premium .ls-services-grid {
		gap: 16px !important;
	}

	/* Hero */
	.ls-section-hero .ls-hero-title .elementor-heading-title {
		font-size: 1.65rem;
		line-height: 1.2;
	}

	.ls-section-hero .ls-hero-sub {
		font-size: 15px;
		line-height: 1.6;
		margin-bottom: 0;
	}

	.ls-hero-visual {
		min-height: 200px !important;
		margin-top: 8px;
	}

	.ls-section-hero .e-con-inner {
		gap: 20px !important;
	}

	/* Stats — centered stack on small screens */
	.ls-section-stats {
		flex-direction: column !important;
		align-items: center !important;
	}

	.ls-section-stats > .e-con-inner {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 20px !important;
		width: 100%;
	}

	.ls-section-stats .ls-stat-card {
		width: 100% !important;
		max-width: 260px;
		padding: 8px 16px !important;
		text-align: center !important;
	}

	.ls-section-stats .ls-stat-card > .e-con-inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		width: 100%;
	}

	.ls-section-stats .elementor-widget-html,
	.ls-section-stats .elementor-widget-text-editor,
	.ls-section-stats .elementor-widget-text-editor .elementor-widget-container {
		text-align: center !important;
		width: 100%;
	}

	.ls-stat {
		justify-content: center !important;
	}

	.ls-stat-label {
		font-size: 13px;
		margin-top: 4px;
		text-align: center !important;
	}

	/* About */
	.ls-about-image {
		min-height: 240px !important;
		margin-bottom: 0;
	}

	.ls-about-image::after {
		top: 12px;
		left: 12px;
		right: -12px;
		bottom: -12px;
	}

	.ls-section-about {
		gap: 24px !important;
	}

	.ls-section-title .elementor-heading-title {
		font-size: 1.45rem;
	}

	.ls-section-header {
		margin-bottom: 0;
	}

	/* Service & team cards — single column on mobile */
	.ls-cards-row-3 {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.ls-service-card-image {
		height: 180px;
	}

	.ls-team-cards .ls-team-photo {
		height: 420px;
	}

	.ls-service-card-body {
		padding: 16px !important;
	}

	.ls-service-title .elementor-heading-title {
		font-size: 1.1rem;
	}

	/* Features — single column on mobile */
	.ls-feature-card {
		padding: 20px !important;
	}

	.ls-feature-num {
		font-size: 32px;
		margin-bottom: 8px;
	}

	.ls-section-why {
		gap: 12px !important;
	}

	.ls-section-why .ls-feature-card {
		width: 100% !important;
		padding: 16px !important;
	}

	.ls-features-grid > .e-con-inner {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	/* Team — slightly tighter cards */
	.ls-section-team {
		gap: 16px !important;
	}

	.ls-section-team .ls-team-card {
		width: 100% !important;
	}

	.ls-team-photo {
		min-height: 380px !important;
	}

	.ls-section-team .ls-section-header {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
	}

	.ls-section-team .ls-section-header > .e-con {
		width: 100% !important;
	}

	.ls-section-team .ls-section-header .elementor-widget-button,
	.ls-section-team .ls-section-header .ls-btn-block {
		width: 100%;
	}

	.ls-section-team .ls-section-header .elementor-button {
		width: 100%;
	}

	/* Quote & CTA */
	.ls-section-quote .ls-quote p {
		font-size: 1.1rem;
		margin-bottom: 16px;
	}

	.ls-cta-sub {
		font-size: 15px;
	}

	.ls-section-cta::before {
		width: 48px;
	}

	/* Buttons stack tighter */
	.ls-btn .elementor-button {
		padding: 12px 20px;
		font-size: 14px;
	}

	/* Header mobile */
	.ls-header-mobile {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.ls-header-mobile .hfe-site-logo img,
	.ls-header-mobile .ls-header-logo-img {
		max-height: 40px !important;
		max-width: 140px !important;
	}

	.ls-header-mobile-cta {
		display: none;
	}

	.ls-mobile-panel {
		width: min(320px, 100vw);
		padding-top: calc(var(--ls-header-height, 56px) + 8px);
		padding-left: 20px;
		padding-right: 20px;
	}

	/* Footer */
	.ls-footer-main {
		padding-top: 24px !important;
		padding-bottom: 12px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.ls-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 14px;
	}

	.ls-footer-col-about {
		grid-column: 1 / -1;
	}

	.ls-footer-logo-img {
		max-height: 56px !important;
		max-width: 170px !important;
	}

	.ls-footer-about-text {
		max-width: none;
		font-size: 12px;
		margin-top: 6px;
	}

	.ls-footer-heading {
		font-size: 13px;
		margin-bottom: 6px;
	}

	.ls-footer-bar {
		padding: 10px 16px !important;
	}

	.ls-footer-bar > .e-con-inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.ls-footer-list li,
	.ls-footer-contact li {
		margin-bottom: 4px;
	}

	/* Service page rows */
	.ls-service-row {
		flex-direction: column !important;
	}

	.ls-service-row .ls-service-card-image {
		width: 100% !important;
		min-height: 180px !important;
	}

	.ls-service-row-body {
		width: 100% !important;
		padding: 20px !important;
	}

	/* Contact */
	.ls-section-contact {
		flex-direction: column !important;
		gap: 28px !important;
	}

	.ls-contact-details,
	.ls-contact-form {
		width: 100% !important;
	}

	.ls-contact-form-wrap {
		padding: 24px;
	}

	.ls-contact-info {
		gap: 16px;
	}

	/* Blog */
	.ls-blog-card-image {
		height: 180px;
	}

	.ls-blog-card-body {
		padding: 20px;
	}

	/* Booking */
	.ls-booking-wrap {
		padding: 20px !important;
	}
}

@media (max-width: 1024px) {
	.ls-blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ls-header-topbar-inner {
		padding: 6px 16px;
		font-size: 11px;
		gap: 0 14px;
	}

	.ls-topbar-sep {
		height: 10px;
	}

	.ls-section-hero {
		flex-direction: column !important;
		min-height: auto !important;
		padding-top: 28px !important;
		padding-bottom: 40px !important;
	}

	.ls-hero-content,
	.ls-hero-visual {
		width: 100% !important;
	}

	.ls-hero-visual {
		min-height: 280px !important;
	}

	.ls-section-team .ls-section-header {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.ls-section-team .ls-section-header > .e-con-inner {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 16px !important;
	}

	.ls-section-team .ls-section-header .elementor-widget-button {
		width: 100%;
	}

	.ls-section-team .ls-btn-block .elementor-button {
		width: 100%;
	}

	.ls-feature-card {
		width: 50% !important;
	}

	.ls-cards-row-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ls-services-grid .ls-service-card,
	.ls-team-grid .ls-team-card {
		width: 100% !important;
	}

	.ls-about-image,
	.ls-about-content {
		width: 100% !important;
	}

	.ls-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 24px;
	}

	.ls-footer-col-about {
		grid-column: 1 / -1;
	}

	.ls-footer-about-text {
		max-width: none;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ls-section-stats > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: stretch !important;
		gap: 16px !important;
	}

	.ls-section-stats .ls-stat-card {
		width: calc(50% - 8px) !important;
		max-width: 220px;
		flex: 0 1 calc(50% - 8px) !important;
		text-align: center !important;
	}

	.ls-section-stats .ls-stat-card > .e-con-inner {
		align-items: center !important;
		text-align: center !important;
	}
}

@media (min-width: 768px) {
	.ls-cards-row-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.ls-service-card,
	.ls-team-card,
	.ls-feature-card {
		width: 100% !important;
	}

	.ls-counter {
		font-size: 2rem;
	}

	/* Stats — single centered column (wins over tablet rules) */
	.ls-section-stats > .e-con-inner {
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 20px !important;
	}

	.ls-section-stats .ls-stat-card {
		width: 100% !important;
		max-width: 260px !important;
		flex: 0 0 auto !important;
	}

	.ls-section-hero .ls-hero-sub {
		font-size: 15px;
	}

	.ls-blog-grid {
		grid-template-columns: 1fr;
	}
}

/* ─── Accessibility ─── */
.ls-btn .elementor-button:focus-visible,
.ls-link-arrow:focus-visible,
.ls-footer-list a:focus-visible {
	outline: 2px solid var(--ls-gold);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.ls-reveal,
	.ls-reveal-left,
	.ls-reveal-right,
	.ls-reveal-scale,
	.ls-reveal-heading {
		opacity: 1;
		transform: none;
		transition: none;
	}

	body.ls-premium,
	body.ls-premium #masthead {
		animation: none;
	}

	.ls-scroll-progress {
		display: none;
	}

	html {
		scroll-behavior: auto;
	}
}

/* Shorter, snappier reveal on small screens */
@media (max-width: 767px) {
	.ls-reveal,
	.ls-reveal-left,
	.ls-reveal-right,
	.ls-reveal-scale,
	.ls-reveal-heading,
	.ls-footer-animate {
		transition-duration: 0.45s;
	}

	.ls-reveal-left,
	.ls-reveal-right {
		transform: translateY(18px);
	}

	.ls-reveal-heading {
		transform: translateY(20px);
	}

	body.ls-premium #masthead {
		animation-duration: 0.4s;
	}
}

/* Elementor editor + live preview — reveal animations hide content otherwise */
body.ls-elementor-preview .ls-reveal,
body.ls-elementor-preview .ls-reveal-left,
body.ls-elementor-preview .ls-reveal-right,
body.ls-elementor-preview .ls-reveal-scale,
body.ls-elementor-preview .ls-reveal-heading,
body.ls-elementor-preview .ls-footer-animate,
body.elementor-editor-active .ls-reveal,
body.elementor-editor-active .ls-reveal-left,
body.elementor-editor-active .ls-reveal-right,
body.elementor-editor-active .ls-reveal-scale,
body.elementor-editor-active .ls-reveal-heading,
body.elementor-editor-active .ls-footer-animate {
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
}
