/* ==========================================================================
   Upper Echelon Auto — Theme Styles
   Palette: Graphite Black · Champagne Gold · Ivory
   Designed and Developed by Zentora Solutions
   ========================================================================== */

:root {
	--ue-ink: #0D1014;
	--ue-ink-2: #141920;
	--ue-ink-3: #1D232C;
	--ue-steel: #2A323D;
	--ue-gold: #C9A44C;
	--ue-gold-2: #E6CB82;
	--ue-gold-d: #9C7A2C;
	--ue-ivory: #F7F5F0;
	--ue-sand: #EFEADF;
	--ue-white: #FFFFFF;
	--ue-text: #2A2F37;
	--ue-muted: #69707B;
	--ue-line: rgba(13, 16, 20, .10);
	--ue-line-d: rgba(255, 255, 255, .10);
	--ue-ok: #1F9D6B;
	--ue-radius: 16px;
	--ue-radius-sm: 10px;
	--ue-shadow: 0 18px 50px -18px rgba(13, 16, 20, .28);
	--ue-shadow-lg: 0 30px 80px -24px rgba(13, 16, 20, .45);
	--ue-ff-h: "Barlow Condensed", "Oswald", "Arial Narrow", sans-serif;
	--ue-ff-b: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ue-ease: cubic-bezier(.22, .8, .2, 1);
	--ue-header-h: 84px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--ue-ff-b);
	font-size: 16.5px;
	line-height: 1.75;
	color: var(--ue-text);
	background: var(--ue-ivory);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ue-gold-d); text-decoration: none; transition: color .25s; }
a:hover { color: var(--ue-ink); }
p { margin: 0 0 1.1em; }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--ue-ff-h);
	font-weight: 800;
	line-height: 1.08;
	color: var(--ue-ink);
	margin: 0 0 .5em;
	letter-spacing: .2px;
}
h1 { font-size: clamp(2.6rem, 5.6vw, 4.6rem); text-transform: uppercase; }
h2 { font-size: clamp(2.1rem, 3.8vw, 3.2rem); text-transform: uppercase; }
h3 { font-size: clamp(1.45rem, 2.2vw, 1.9rem); }
h4 { font-size: 1.35rem; }
::selection { background: var(--ue-gold); color: var(--ue-ink); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.skip-link:focus { clip: auto; width: auto; height: auto; z-index: 100000; top: 8px; left: 8px; padding: 10px 16px; background: var(--ue-gold); color: var(--ue-ink); }
:focus-visible { outline: 2px solid var(--ue-gold); outline-offset: 3px; }

.ue-container { width: 100%; max-width: 1270px; margin: 0 auto; padding: 0 22px; }
.ue-narrow { max-width: 860px; }
.ue-ico { flex: none; }

/* ---------- Buttons ---------- */
.ue-btn,
.ue-btn-w .elementor-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 30px;
	border-radius: 8px;
	border: 2px solid transparent;
	font-family: var(--ue-ff-h);
	font-weight: 700;
	font-size: 1.08rem;
	line-height: 1;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	cursor: pointer;
	overflow: hidden;
	isolation: isolate;
	transition: transform .35s var(--ue-ease), box-shadow .35s var(--ue-ease), background .3s, color .3s, border-color .3s;
}
.ue-btn::after,
.ue-btn-w .elementor-button::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, .45) 50%, transparent 80%);
	transform: translateX(-120%);
	transition: transform .7s var(--ue-ease);
}
.ue-btn:hover::after,
.ue-btn-w .elementor-button:hover::after { transform: translateX(120%); }
.ue-btn:hover,
.ue-btn-w .elementor-button:hover { transform: translateY(-3px); }
.ue-btn-w .elementor-button .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 10px; }
.ue-btn-w .elementor-button .elementor-button-icon { display: inline-flex; font-size: .95em; }
.ue-btn-w .elementor-button .elementor-button-icon svg { width: 1em; height: 1em; fill: currentColor; }

.ue-btn.ue-btn-gold,
.ue-btn-gold .elementor-button { background: linear-gradient(135deg, var(--ue-gold-2), var(--ue-gold) 55%, var(--ue-gold-d)); color: var(--ue-ink) !important; box-shadow: 0 12px 28px -12px rgba(201, 164, 76, .8); }
.ue-btn.ue-btn-gold:hover,
.ue-btn-gold .elementor-button:hover { box-shadow: 0 18px 36px -12px rgba(201, 164, 76, .9); color: var(--ue-ink) !important; }
.ue-btn.ue-btn-dark,
.ue-btn-dark .elementor-button { background: var(--ue-ink); color: var(--ue-ivory) !important; }
.ue-btn.ue-btn-dark:hover,
.ue-btn-dark .elementor-button:hover { background: var(--ue-ink-3); color: var(--ue-gold-2) !important; box-shadow: var(--ue-shadow); }
.ue-btn-ghost .elementor-button,
.ue-btn.ue-btn-outline { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .35); color: #fff !important; backdrop-filter: blur(6px); }
.ue-btn-ghost .elementor-button:hover,
.ue-btn.ue-btn-outline:hover { border-color: var(--ue-gold); color: var(--ue-gold-2) !important; }
.ue-btn-outline-dark .elementor-button { background: transparent; border-color: var(--ue-ink); color: var(--ue-ink) !important; }
.ue-btn-outline-dark .elementor-button:hover { background: var(--ue-ink); color: var(--ue-gold-2) !important; }
.ue-btn-link .elementor-button {
	padding: 0; background: none; color: var(--ue-ink) !important; letter-spacing: 1.2px; font-size: 1rem; border: 0; overflow: visible;
}
.ue-btn-link .elementor-button::after { display: none; }
.ue-btn-link .elementor-button .elementor-button-text::after { content: " \2192"; display: inline-block; transition: transform .3s; color: var(--ue-gold-d); }
.ue-btn-link .elementor-button:hover { transform: none; color: var(--ue-gold-d) !important; }
.ue-btn-link .elementor-button:hover .elementor-button-text::after { transform: translateX(6px); }
.ue-btn-sm { padding: 12px 20px; font-size: .98rem; }
.ue-btn-block { width: 100%; }
.elementor-widget-button.elementor-widget__width-auto { margin-right: 12px; }

/* ---------- Preloader & progress ---------- */
.ue-preloader {
	position: fixed; inset: 0; z-index: 99999;
	display: grid; place-content: center; justify-items: center; gap: 22px;
	background: radial-gradient(circle at 50% 45%, var(--ue-ink-3), var(--ue-ink) 70%);
	transition: opacity .6s var(--ue-ease), visibility .6s;
}
.ue-preloader img { animation: uePulse 1.4s ease-in-out infinite; }
.ue-preloader-bar { width: 140px; height: 3px; border-radius: 3px; background: var(--ue-line-d); overflow: hidden; position: relative; }
.ue-preloader-bar::after { content: ""; position: absolute; inset: 0; width: 40%; background: var(--ue-gold); animation: ueLoad 1.1s ease-in-out infinite; }
body.ue-loaded .ue-preloader { opacity: 0; visibility: hidden; }
.ue-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 10001; pointer-events: none; }
.ue-progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--ue-gold-d), var(--ue-gold-2)); box-shadow: 0 0 12px var(--ue-gold); }

/* ---------- Header ---------- */
.ue-site-header { position: sticky; top: 0; z-index: 1000; }
.admin-bar .ue-site-header { top: 32px; }
.ue-topbar { background: var(--ue-ink); color: #B9BEC6; font-size: .86rem; border-bottom: 1px solid var(--ue-line-d); transition: margin .4s var(--ue-ease); }
.ue-topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; }
.ue-topbar-info { display: flex; flex-wrap: wrap; gap: 6px 26px; }
.ue-topbar-info a, .ue-topbar-info span { display: inline-flex; align-items: center; gap: 8px; color: #B9BEC6; }
.ue-topbar-info .ue-ico { color: var(--ue-gold); }
.ue-topbar-info a:hover { color: var(--ue-gold-2); }
.ue-topbar-info strong { color: #fff; font-weight: 700; }
.ue-socials { display: flex; gap: 8px; }
.ue-socials a {
	display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%;
	color: #C8CCD2; border: 1px solid var(--ue-line-d); transition: all .3s var(--ue-ease);
}
.ue-socials a:hover { background: var(--ue-gold); border-color: var(--ue-gold); color: var(--ue-ink); transform: translateY(-3px) rotate(-6deg); }

.ue-navbar { background: rgba(13, 16, 20, .92); backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid var(--ue-line-d); transition: background .4s, box-shadow .4s; }
.ue-site-header.is-scrolled .ue-navbar { background: rgba(13, 16, 20, .97); box-shadow: 0 14px 40px -18px rgba(0, 0, 0, .7); }
.ue-site-header.is-scrolled .ue-topbar { margin-top: -45px; }
.ue-navbar-inner { display: flex; align-items: center; gap: 24px; min-height: var(--ue-header-h); }
.ue-brand { flex: none; }
.ue-brand img, .ue-brand .custom-logo { height: 58px; width: auto; transition: height .35s var(--ue-ease); }
.ue-site-header.is-scrolled .ue-brand img { height: 50px; }
.ue-nav { flex: 1; display: flex; justify-content: center; }
.ue-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
.ue-menu > li { position: relative; }
.ue-menu > li > a {
	display: flex; align-items: center; gap: 6px; padding: 30px 14px;
	color: #E9E6DF; font-family: var(--ue-ff-h); font-weight: 700; font-size: 1.1rem; letter-spacing: 1.2px; text-transform: uppercase;
	position: relative;
}
.ue-menu > li > a::before {
	content: ""; position: absolute; left: 14px; right: 14px; bottom: 22px; height: 2px;
	background: var(--ue-gold); transform: scaleX(0); transform-origin: right; transition: transform .4s var(--ue-ease);
}
.ue-menu > li:hover > a::before,
.ue-menu > li.current-menu-item > a::before,
.ue-menu > li.current-menu-ancestor > a::before { transform: scaleX(1); transform-origin: left; }
.ue-menu > li:hover > a, .ue-menu > li.current-menu-item > a, .ue-menu > li.current-menu-ancestor > a { color: var(--ue-gold-2); }
.ue-menu > li.menu-item-has-children > a::after {
	content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-3px); opacity: .7; transition: transform .3s;
}
.ue-menu > li.menu-item-has-children:hover > a::after { transform: rotate(225deg) translateY(-1px); }
.ue-menu .sub-menu {
	list-style: none; margin: 0; padding: 12px; position: absolute; top: 100%; left: 0; min-width: 250px;
	background: var(--ue-ink-2); border: 1px solid var(--ue-line-d); border-top: 2px solid var(--ue-gold); border-radius: 0 0 12px 12px;
	box-shadow: var(--ue-shadow-lg);
	opacity: 0; visibility: hidden; transform: translateY(14px); transition: all .35s var(--ue-ease);
}
.ue-menu li:hover > .sub-menu, .ue-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.ue-menu .sub-menu a {
	display: block; padding: 10px 14px; border-radius: 8px; color: #C9CDD3; font-weight: 600; font-size: .95rem; transition: all .25s;
}
.ue-menu .sub-menu a:hover { background: rgba(201, 164, 76, .12); color: var(--ue-gold-2); padding-left: 20px; }
.ue-menu > li.ue-mega > .sub-menu { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 2px 8px; min-width: 520px; left: 50%; transform: translate(-50%, 14px); }
.ue-menu > li.ue-mega:hover > .sub-menu, .ue-menu > li.ue-mega:focus-within > .sub-menu { transform: translate(-50%, 0); }

.ue-nav-actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.ue-nav-call { display: flex; align-items: center; gap: 11px; color: #fff; }
.ue-nav-call-ico {
	display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
	background: rgba(201, 164, 76, .14); color: var(--ue-gold-2); position: relative;
}
.ue-nav-call-ico::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid rgba(201, 164, 76, .5); animation: ueRing 2.2s infinite; }
.ue-nav-call-txt { display: flex; flex-direction: column; font-family: var(--ue-ff-h); font-weight: 800; font-size: 1.2rem; letter-spacing: .6px; line-height: 1.1; }
.ue-nav-call-txt small { font-family: var(--ue-ff-b); font-weight: 600; font-size: .72rem; color: #9DA3AC; letter-spacing: .4px; text-transform: uppercase; }
.ue-nav-call:hover { color: var(--ue-gold-2); }

.ue-burger { display: none; width: 46px; height: 46px; border-radius: 10px; border: 1px solid var(--ue-line-d); background: transparent; cursor: pointer; padding: 12px; flex-direction: column; justify-content: space-between; }
.ue-burger span { display: block; height: 2px; background: #fff; border-radius: 2px; transition: transform .3s, opacity .3s; }
.ue-burger span:nth-child(2) { width: 70%; margin-left: auto; background: var(--ue-gold); }

.ue-drawer { position: fixed; inset: 0; z-index: 2000; background: rgba(5, 7, 9, .6); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: all .4s var(--ue-ease); }
.ue-drawer.is-open { opacity: 1; visibility: visible; }
.ue-drawer-panel {
	position: absolute; top: 0; right: 0; bottom: 0; width: min(380px, 88vw); background: var(--ue-ink); color: #fff;
	display: flex; flex-direction: column; transform: translateX(100%); transition: transform .5s var(--ue-ease); overflow-y: auto;
	border-left: 2px solid var(--ue-gold);
}
.ue-drawer.is-open .ue-drawer-panel { transform: none; }
.ue-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--ue-line-d); }
.ue-drawer-head img { height: 46px; width: auto; }
.ue-drawer-close { background: none; border: 1px solid var(--ue-line-d); color: #fff; border-radius: 10px; width: 42px; height: 42px; display: grid; place-items: center; cursor: pointer; }
.ue-drawer-nav { padding: 12px 20px; flex: 1; }
.ue-menu-mobile { flex-direction: column; align-items: stretch; gap: 0; }
.ue-drawer .ue-menu-mobile > li > a { padding: 14px 0; border-bottom: 1px solid var(--ue-line-d); font-size: 1.25rem; }
.ue-drawer.is-open ~ .ue-chat, .ue-drawer.is-open ~ .ue-mobile-call, .ue-drawer.is-open ~ .ue-totop { display: none; }
.ue-menu-mobile > li > a::before { display: none; }
.ue-menu-mobile .sub-menu { position: static; opacity: 1; visibility: visible; transform: none !important; display: none !important; min-width: 0; box-shadow: none; border: 0; background: transparent; padding: 4px 0 10px 12px; }
.ue-menu-mobile li.is-open > .sub-menu { display: block !important; }
.ue-menu-mobile > li.menu-item-has-children > a::after { margin-left: auto; }
.ue-menu-mobile > li.is-open > a::after { transform: rotate(225deg); }
.ue-drawer-foot { padding: 20px; display: grid; gap: 12px; border-top: 1px solid var(--ue-line-d); }
.ue-drawer-foot .ue-socials { justify-content: center; margin-top: 6px; }

/* ---------- Generic section helpers (work inside Elementor) ---------- */
.ue-main { display: block; }
.ue-pad { padding-top: 110px !important; padding-bottom: 110px !important; }
.ue-pad-t { padding-top: 90px !important; }
.ue-pad-b { padding-bottom: 110px !important; }
.ue-center, .ue-center .elementor-widget { text-align: center; }
.ue-center .elementor-button-wrapper { text-align: center; }
.ue-sec-head { padding-top: 110px !important; padding-bottom: 26px !important; }
.ue-sec-head.ue-center .elementor-container { margin: 0 auto; }
.ue-eyebrow .elementor-heading-title, .ue-eyebrow {
	display: inline-flex; align-items: center; gap: 12px;
	font-family: var(--ue-ff-h); font-weight: 700; font-size: 1.05rem !important; letter-spacing: 3.2px; text-transform: uppercase;
	color: var(--ue-gold-d) !important; margin: 0;
}
.ue-eyebrow .elementor-heading-title::before, span.ue-eyebrow::before {
	content: ""; width: 38px; height: 2px; background: linear-gradient(90deg, var(--ue-gold), transparent);
}
.ue-center .ue-eyebrow .elementor-heading-title::after { content: ""; width: 38px; height: 2px; background: linear-gradient(270deg, var(--ue-gold), transparent); }
.elementor-widget.ue-eyebrow { margin-bottom: 10px !important; }
.ue-sec-title .elementor-heading-title { font-size: clamp(2.1rem, 3.8vw, 3.3rem); text-transform: uppercase; color: var(--ue-ink); }
.ue-sec-sub .elementor-heading-title { font-family: var(--ue-ff-b); font-weight: 600; font-size: 1.15rem; color: var(--ue-gold-d); text-transform: none; line-height: 1.5; }
.ue-sec-desc { color: var(--ue-muted); font-size: 1.06rem; }
.ue-h3 .elementor-heading-title { font-size: clamp(1.6rem, 2.4vw, 2.1rem); text-transform: uppercase; margin-top: 18px; position: relative; padding-left: 18px; }
.ue-h3 .elementor-heading-title::before { content: ""; position: absolute; left: 0; top: .12em; bottom: .12em; width: 4px; border-radius: 4px; background: var(--ue-gold); }
.ue-dark, .ue-on-dark { background: var(--ue-ink); color: #B8BDC5; }
.ue-dark .elementor-heading-title, .ue-on-dark .elementor-heading-title { color: #fff; }
.ue-on-dark .ue-eyebrow .elementor-heading-title, .ue-dark .ue-eyebrow .elementor-heading-title { color: var(--ue-gold) !important; }
.ue-on-dark .ue-sec-desc, .ue-dark p { color: #AEB4BD; }
.ue-v-center > .elementor-widget-wrap, .ue-v-center { align-content: center !important; align-items: center; }
.ue-rounded-img img { border-radius: var(--ue-radius); box-shadow: var(--ue-shadow-lg); width: 100%; object-fit: cover; aspect-ratio: 4 / 3; }

/* ---------- Page hero (inner pages) ---------- */
.ue-page-hero {
	position: relative; overflow: hidden; isolation: isolate;
	padding: 150px 0 120px !important; background-color: var(--ue-ink);
	background-image: var(--ue-hero-img, none); background-size: cover; background-position: center;
	text-align: center;
}
.ue-page-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 0;
	background:
		radial-gradient(ellipse at 50% 120%, rgba(201, 164, 76, .28), transparent 60%),
		linear-gradient(180deg, rgba(13, 16, 20, .88), rgba(13, 16, 20, .72) 45%, rgba(13, 16, 20, .95));
}
.ue-page-hero::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 70px; z-index: 1;
	background: var(--ue-ivory); clip-path: polygon(0 100%, 100% 30%, 100% 100%);
}
.ue-page-hero > .elementor-container, .ue-page-hero > .ue-container { position: relative; z-index: 2; }
.ue-page-title .elementor-heading-title, h1.ue-page-title { color: #fff; font-size: clamp(2.4rem, 5vw, 4.2rem); max-width: 980px; margin: 0 auto 10px; text-shadow: 0 6px 30px rgba(0, 0, 0, .4); }
.ue-page-sub p { color: #CBD0D6; max-width: 700px; margin: 0 auto; font-size: 1.1rem; }
.ue-breadcrumb { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 10px 0 0; padding: 9px 20px; border-radius: 40px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); color: var(--ue-gold-2); font-weight: 600; font-size: .92rem; backdrop-filter: blur(6px); }
.ue-breadcrumb a { color: #fff; }
.ue-breadcrumb a:hover { color: var(--ue-gold-2); }
.ue-breadcrumb span { color: rgba(255, 255, 255, .4); }

/* ---------- Home hero ---------- */
.ue-hero {
	position: relative; overflow: hidden; isolation: isolate;
	min-height: calc(100vh - 128px); display: flex; align-items: center;
	padding: 120px 0 190px !important; background-color: var(--ue-ink);
}
.ue-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 0;
	background:
		linear-gradient(100deg, rgba(13, 16, 20, .96) 0%, rgba(13, 16, 20, .86) 42%, rgba(13, 16, 20, .45) 75%, rgba(13, 16, 20, .7) 100%),
		radial-gradient(circle at 80% 20%, rgba(201, 164, 76, .25), transparent 45%);
}
.ue-hero::after {
	content: ""; position: absolute; inset: -50%; z-index: 0; pointer-events: none;
	background: repeating-linear-gradient(115deg, transparent 0 120px, rgba(230, 203, 130, .05) 120px 122px);
	animation: ueStreak 18s linear infinite;
}
.ue-hero > .elementor-container { position: relative; z-index: 2; width: 100%; align-items: center; }
.ue-hero-badge {
	display: inline-flex; align-items: center; gap: 10px; padding: 9px 18px; border-radius: 40px;
	background: rgba(201, 164, 76, .12); border: 1px solid rgba(201, 164, 76, .35); color: var(--ue-gold-2);
	font-weight: 700; font-size: .88rem; letter-spacing: .5px;
}
.ue-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ue-ok); box-shadow: 0 0 0 0 rgba(31, 157, 107, .7); animation: ueDot 1.8s infinite; }
.ue-hero-title .elementor-heading-title { color: #fff; font-size: clamp(2.8rem, 6vw, 5.2rem); line-height: .98; margin: 6px 0 6px; }
.ue-hero-title .elementor-heading-title::first-line { color: var(--ue-gold-2); }
.ue-hero-lead p { color: #C9CED5; font-size: clamp(1.05rem, 1.4vw, 1.22rem); max-width: 620px; }
.ue-hero-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 18px; color: #AEB4BD; font-size: .95rem; }
.ue-hero-trust strong { color: #fff; }
.ue-sep { width: 1px; height: 22px; background: var(--ue-line-d); }
.ue-ase { display: inline-flex; align-items: center; gap: 8px; color: var(--ue-gold-2); font-weight: 700; }
.ue-stars { color: var(--ue-gold); letter-spacing: 3px; font-size: 1.1rem; line-height: 1; }

.ue-glass > .elementor-widget-wrap, .ue-fallback .ue-glass > .elementor-widget-wrap {
	background: linear-gradient(160deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .03));
	border: 1px solid rgba(255, 255, 255, .16); border-radius: 22px; padding: 30px !important;
	backdrop-filter: blur(16px); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7);
	position: relative; overflow: hidden;
}
.ue-glass > .elementor-widget-wrap::before { content: ""; position: absolute; top: 0; left: 30px; right: 30px; height: 2px; background: linear-gradient(90deg, transparent, var(--ue-gold), transparent); }
.ue-glass-head { display: flex; gap: 16px; align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--ue-line-d); }
.ue-glass-head > i { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--ue-gold); color: var(--ue-ink); font-size: 1.35rem; }
.ue-glass-head h4 { color: #fff; margin: 0; font-size: 1.6rem; text-transform: uppercase; }
.ue-glass-head p { margin: 0; color: #9EA5AF; font-size: .88rem; }
.ue-glass .ue-hours li { color: #C9CED5; border-color: var(--ue-line-d); }
.ue-glass .ue-hours strong { color: #fff; }
.ue-glass-call { display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 14px; background: rgba(201, 164, 76, .12); border: 1px dashed rgba(201, 164, 76, .5); color: #fff; font-family: var(--ue-ff-h); font-weight: 800; font-size: 1.6rem; letter-spacing: .5px; transition: background .3s; }
.ue-glass-call i { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--ue-gold); color: var(--ue-ink); font-size: 1.05rem; animation: ueShake 3s infinite; }
.ue-glass-call small { display: block; font-family: var(--ue-ff-b); font-size: .75rem; font-weight: 700; color: var(--ue-gold-2); letter-spacing: 1.5px; text-transform: uppercase; }
.ue-glass-call:hover { background: rgba(201, 164, 76, .22); color: #fff; }

/* Hours list */
.ue-hours { list-style: none; margin: 8px 0; padding: 0; }
.ue-hours li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px dashed var(--ue-line); font-size: .96rem; }
.ue-hours li:last-child { border-bottom: 0; }
.ue-hours strong { font-weight: 700; color: var(--ue-ink); }
.ue-hours li.is-today { color: var(--ue-gold-d); }
.ue-hours li.is-today span::after { content: "Today"; margin-left: 8px; padding: 2px 8px; border-radius: 20px; background: var(--ue-gold); color: var(--ue-ink); font-size: .68rem; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; vertical-align: middle; }
.ue-glass .ue-hours li.is-today span, .ue-glass .ue-hours li.is-today strong { color: var(--ue-gold-2); }

/* ---------- Info strip ---------- */
.ue-infostrip { margin-top: -110px !important; position: relative; z-index: 5; padding: 0 !important; }
.ue-infostrip > .elementor-container {
	background: var(--ue-white); border-radius: 22px; box-shadow: var(--ue-shadow-lg); padding: 14px !important;
	border-bottom: 4px solid var(--ue-gold);
}
.ue-info .elementor-icon-box-wrapper { display: flex; align-items: flex-start; gap: 18px; text-align: left; padding: 22px 18px; border-radius: 14px; transition: background .3s; }
.ue-info .elementor-icon-box-wrapper:hover { background: var(--ue-ivory); }
.ue-info .elementor-icon-box-icon { margin: 0 !important; }
.ue-info .elementor-icon, .ue-feature .elementor-icon, .ue-item .elementor-icon {
	display: grid !important; place-items: center; width: 60px; height: 60px; border-radius: 16px; font-size: 1.45rem !important;
	background: var(--ue-ink); color: var(--ue-gold) !important; fill: var(--ue-gold) !important; transition: transform .5s var(--ue-ease), background .3s;
}
.ue-info .elementor-icon svg, .ue-feature .elementor-icon svg, .ue-item .elementor-icon svg { width: 1em; height: 1em; fill: currentColor; }
.ue-info:hover .elementor-icon { transform: rotateY(180deg); background: var(--ue-gold); color: var(--ue-ink) !important; fill: var(--ue-ink) !important; }
.ue-info .elementor-icon-box-title { font-size: 1.45rem; text-transform: uppercase; margin: 0 0 4px; color: var(--ue-ink); }
.ue-info .elementor-icon-box-title a { color: inherit; }
.ue-info .elementor-icon-box-description { margin: 0; color: var(--ue-muted); font-size: .97rem; line-height: 1.6; }
.ue-info-light .elementor-icon-box-wrapper { flex-direction: column; align-items: center; text-align: center; background: var(--ue-white); border: 1px solid var(--ue-line); padding: 36px 24px; box-shadow: 0 10px 30px -20px rgba(0, 0, 0, .3); }
.ue-info-light .elementor-icon-box-description a { color: var(--ue-ink); font-weight: 800; font-family: var(--ue-ff-h); font-size: 1.5rem; }

/* ---------- Marquee ---------- */
.ue-marquee-sec { padding: 70px 0 0 !important; overflow: hidden; }
.ue-marquee { overflow: hidden; padding: 22px 0; transform: rotate(-1.4deg); background: var(--ue-ink); border-top: 2px solid var(--ue-gold); border-bottom: 2px solid var(--ue-gold); margin: 0 -40px; }
.ue-marquee-track { display: inline-flex; align-items: center; gap: 34px; white-space: nowrap; animation: ueMarquee 40s linear infinite; }
.ue-marquee-track span { font-family: var(--ue-ff-h); font-weight: 800; font-size: clamp(1.6rem, 3vw, 2.5rem); color: transparent; -webkit-text-stroke: 1px rgba(230, 203, 130, .85); text-transform: uppercase; letter-spacing: 1.5px; }
.ue-marquee-track span:nth-child(4n+1) { color: var(--ue-gold-2); -webkit-text-stroke: 0; }
.ue-marquee-track i { color: var(--ue-gold); font-size: 1.1rem; }
.ue-marquee:hover .ue-marquee-track { animation-play-state: paused; }

/* ---------- About ---------- */
.ue-about-media > .elementor-widget-wrap { position: relative; padding-right: 60px !important; padding-bottom: 70px !important; }
.ue-about-img img { width: 100%; border-radius: 20px; aspect-ratio: 5 / 4; object-fit: cover; box-shadow: var(--ue-shadow-lg); }
.ue-about-img2 { position: absolute !important; right: 0; bottom: 0; width: 50% !important; z-index: 2; }
.ue-about-img2 img { border-radius: 18px; border: 8px solid var(--ue-ivory); aspect-ratio: 1; object-fit: cover; box-shadow: var(--ue-shadow-lg); }
.ue-about-media .elementor-widget-html:last-child { position: absolute; left: -10px; bottom: 30px; z-index: 3; margin: 0 !important; width: auto !important; max-width: 80%; }
.ue-exp-badge {
	display: flex; align-items: center; gap: 14px; padding: 18px 24px; border-radius: 16px;
	background: var(--ue-ink); color: #fff; box-shadow: var(--ue-shadow-lg); border-left: 4px solid var(--ue-gold);
	animation: ueFloat 5s ease-in-out infinite;
}
.ue-exp-badge strong { font-family: var(--ue-ff-h); font-size: 2.6rem; color: var(--ue-gold-2); line-height: 1; }
.ue-exp-badge span { font-size: .82rem; line-height: 1.35; color: #C3C8CF; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
.ue-media-right > .elementor-widget-wrap { padding-left: 30px !important; }
.ue-about-copy > .elementor-widget-wrap { padding-left: 40px !important; }
.ue-about-copy .elementor-widget-button { margin-top: 10px; }

.ue-checks .elementor-icon-list-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ue-checks .elementor-icon-list-item { display: flex; align-items: flex-start; gap: 12px; font-weight: 600; color: var(--ue-ink); }
.ue-checks .elementor-icon-list-icon { color: var(--ue-gold); font-size: 1.15rem; margin-top: 2px; display: inline-flex; }
.ue-checks .elementor-icon-list-icon svg { width: 1.1em; height: 1.1em; fill: var(--ue-gold); }

/* ---------- Service cards ---------- */
.ue-cards { padding-bottom: 6px !important; }
.ue-card > .elementor-widget-wrap {
	background: var(--ue-white); border-radius: var(--ue-radius); overflow: hidden; height: 100%;
	padding: 0 0 26px !important; border: 1px solid var(--ue-line);
	box-shadow: 0 14px 40px -28px rgba(13, 16, 20, .45);
	transition: transform .5s var(--ue-ease), box-shadow .5s var(--ue-ease), border-color .4s;
	position: relative; align-content: flex-start;
}
.ue-card > .elementor-widget-wrap::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
	background: linear-gradient(90deg, var(--ue-gold-d), var(--ue-gold-2)); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ue-ease);
}
.ue-card:hover > .elementor-widget-wrap { transform: translateY(-10px); box-shadow: var(--ue-shadow-lg); border-color: rgba(201, 164, 76, .5); }
.ue-card:hover > .elementor-widget-wrap::after { transform: scaleX(1); }
.ue-card .elementor-widget { padding: 0 26px; width: 100%; }
.ue-card .ue-card-img { padding: 0; margin-bottom: 0 !important; overflow: hidden; }
.ue-card .ue-card-img img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; transition: transform 1.1s var(--ue-ease), filter .6s; filter: saturate(.92); }
.ue-card:hover .ue-card-img img { transform: scale(1.09); filter: saturate(1.1); }
.ue-card .ue-card-icon-w { margin-top: -32px !important; margin-bottom: 14px !important; position: relative; z-index: 2; }
.ue-card-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 16px; background: var(--ue-ink); color: var(--ue-gold); font-size: 1.5rem; border: 4px solid var(--ue-white); box-shadow: 0 10px 22px -10px rgba(0, 0, 0, .5); transition: transform .6s var(--ue-ease), background .3s, color .3s; }
.ue-card:hover .ue-card-icon { transform: rotate(-8deg) scale(1.06); background: var(--ue-gold); color: var(--ue-ink); }
.ue-card-title .elementor-heading-title { font-size: 1.6rem; text-transform: uppercase; margin: 0; }
.ue-card-title a { color: var(--ue-ink); }
.ue-card-title a:hover { color: var(--ue-gold-d); }
.ue-card-text p { color: var(--ue-muted); font-size: .97rem; line-height: 1.65; margin: 0; }
.ue-cards-more { padding: 34px 0 0 !important; }

/* ---------- Why (dark) ---------- */
.ue-why-head { padding-bottom: 30px !important; }
.ue-why-head, .ue-why, .ue-counters { background: var(--ue-ink); position: relative; }
.ue-why-head { margin-top: 110px; }
.ue-why-head::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(ellipse at 50% 0%, rgba(201, 164, 76, .18), transparent 60%);
}
.ue-why { padding-bottom: 40px !important; }
.ue-feature .elementor-icon-box-wrapper {
	text-align: left; height: 100%; padding: 38px 32px; border-radius: 20px;
	background: linear-gradient(160deg, var(--ue-ink-3), var(--ue-ink-2)); border: 1px solid var(--ue-line-d);
	transition: transform .5s var(--ue-ease), border-color .4s, box-shadow .5s;
	position: relative; overflow: hidden;
}
.ue-feature .elementor-icon-box-wrapper::before { content: ""; position: absolute; width: 220px; height: 220px; right: -90px; top: -90px; border-radius: 50%; background: radial-gradient(circle, rgba(201, 164, 76, .22), transparent 70%); transition: transform .6s var(--ue-ease); }
.ue-feature:hover .elementor-icon-box-wrapper { transform: translateY(-8px); border-color: rgba(201, 164, 76, .5); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .9); }
.ue-feature:hover .elementor-icon-box-wrapper::before { transform: scale(1.5); }
.ue-feature .elementor-icon-box-icon { margin-bottom: 22px !important; display: flex; }
.ue-feature .elementor-icon { background: var(--ue-gold); color: var(--ue-ink) !important; fill: var(--ue-ink) !important; }
.ue-feature .elementor-icon-box-title { color: #fff; font-size: 1.6rem; text-transform: uppercase; }
.ue-feature .elementor-icon-box-description { color: #A9AFB8; font-size: .97rem; margin: 0; }
.ue-feature-light .elementor-icon-box-wrapper { background: var(--ue-white); border: 1px solid var(--ue-line); box-shadow: 0 14px 40px -28px rgba(13, 16, 20, .45); }
.ue-feature-light .elementor-icon-box-title { color: var(--ue-ink); }
.ue-feature-light .elementor-icon-box-description { color: var(--ue-muted); }
.ue-feature-light .elementor-icon { background: var(--ue-ink); color: var(--ue-gold) !important; fill: var(--ue-gold) !important; }
.ue-features { padding-bottom: 50px !important; }

.ue-counters { padding: 30px 0 110px !important; }
.ue-counters > .elementor-container { border-top: 1px solid var(--ue-line-d); padding-top: 50px !important; }
.ue-pad.ue-areas ~ .ue-counters, .ue-features + .ue-counters { background: transparent; }
.ue-counter .elementor-counter { text-align: center; display: flex; flex-direction: column; align-items: center; }
.ue-counter .elementor-counter-number-wrapper { font-family: var(--ue-ff-h); font-weight: 800; font-size: clamp(3rem, 5vw, 4.4rem); line-height: 1; display: flex; justify-content: center; background: linear-gradient(180deg, var(--ue-gold-2), var(--ue-gold-d)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ue-counter .elementor-counter-title { color: #AEB4BD; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; font-size: .84rem; margin-top: 10px; }
.ue-features + .ue-counters .ue-counter .elementor-counter-title { color: var(--ue-muted); }
.ue-features + .ue-counters > .elementor-container { border-top-color: var(--ue-line); }

/* ---------- Coupons ---------- */
.ue-coupons { padding-bottom: 6px !important; }
.ue-coupon > .elementor-widget-wrap {
	position: relative; height: 100%; padding: 38px 32px 32px !important; border-radius: 20px;
	background: var(--ue-white); border: 2px dashed rgba(201, 164, 76, .55); overflow: hidden;
	transition: transform .5s var(--ue-ease), box-shadow .5s, border-color .3s; align-content: flex-start;
}
.ue-coupon > .elementor-widget-wrap::before, .ue-coupon > .elementor-widget-wrap::after {
	content: ""; position: absolute; top: 50%; width: 34px; height: 34px; border-radius: 50%; background: var(--ue-ivory); transform: translateY(-50%);
}
.ue-coupon > .elementor-widget-wrap::before { left: -19px; border-right: 2px dashed rgba(201, 164, 76, .55); }
.ue-coupon > .elementor-widget-wrap::after { right: -19px; border-left: 2px dashed rgba(201, 164, 76, .55); }
.ue-coupon:hover > .elementor-widget-wrap { transform: translateY(-8px) rotate(-.4deg); box-shadow: var(--ue-shadow-lg); border-color: var(--ue-gold); }
.ue-coupon .elementor-widget { width: 100%; }
.ue-coupon-tag { display: inline-block; padding: 6px 14px; border-radius: 30px; background: var(--ue-ink); color: var(--ue-gold-2); font-size: .74rem; font-weight: 800; letter-spacing: 1.8px; }
.ue-coupon-title .elementor-heading-title { font-size: 1.85rem; text-transform: uppercase; margin: 6px 0 0; }
.ue-coupon-price .elementor-heading-title { font-family: var(--ue-ff-h); font-size: 1.5rem; color: var(--ue-gold-d); margin: 0; }
.ue-coupon-text p { color: var(--ue-muted); margin: 0; }
.ue-coupon-logo { position: absolute; right: 24px; top: 26px; width: 46px; opacity: .9; }
.ue-coupon .elementor-widget-html:has(.ue-coupon-logo) { margin: 0 !important; height: 0; position: static !important; }
.ue-coupon > .elementor-widget-wrap, .ue-card > .elementor-widget-wrap { display: flex; flex-direction: column; flex-wrap: nowrap; }
.ue-card .elementor-widget-button { margin-top: auto; }
.ue-coupon .elementor-widget-button { margin-top: auto; padding-top: 8px; }
.ue-coupon .elementor-button { width: 100%; }
.ue-coupons-last > .elementor-container { justify-content: center; }

/* ---------- Reviews ---------- */
.ue-reviews { padding-bottom: 6px !important; }
.ue-review-card > .elementor-widget-wrap {
	position: relative; height: 100%; padding: 40px 38px 34px !important; border-radius: 20px; background: var(--ue-white);
	border: 1px solid var(--ue-line); box-shadow: 0 14px 40px -28px rgba(13, 16, 20, .45); align-content: flex-start;
	transition: transform .5s var(--ue-ease), box-shadow .5s;
}
.ue-review-card > .elementor-widget-wrap::before {
	content: "\201C"; position: absolute; right: 30px; top: 6px; font-family: Georgia, serif; font-size: 8rem; line-height: 1; color: rgba(201, 164, 76, .25);
}
.ue-review-card:hover > .elementor-widget-wrap { transform: translateY(-6px); box-shadow: var(--ue-shadow-lg); }
.ue-review-card .elementor-widget { width: 100%; }
.ue-testimonial .elementor-testimonial-wrapper { text-align: left; }
.ue-testimonial .elementor-testimonial-content { font-size: 1.08rem; line-height: 1.75; color: var(--ue-text); font-style: normal; margin-bottom: 22px; }
.ue-testimonial .elementor-testimonial-meta-inner { display: flex; align-items: center; gap: 14px; }
.ue-testimonial .elementor-testimonial-details { padding-left: 62px; position: relative; min-height: 48px; display: flex; flex-direction: column; justify-content: center; }
.ue-testimonial .elementor-testimonial-details::before {
	content: "\f007"; font-family: "Font Awesome 6 Free"; font-weight: 900;
	position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%;
	display: grid; place-items: center; background: var(--ue-ink); color: var(--ue-gold);
}
.ue-testimonial .elementor-testimonial-name { font-family: var(--ue-ff-h); font-weight: 800; font-size: 1.3rem; text-transform: uppercase; color: var(--ue-ink); }
.ue-testimonial .elementor-testimonial-job { color: var(--ue-muted); font-size: .88rem; }
.ue-reviews-more { padding-bottom: 0 !important; }

/* ---------- Areas & map ---------- */
.ue-chips { list-style: none; margin: 6px 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ue-chips li { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 40px; background: var(--ue-white); border: 1px solid var(--ue-line); font-weight: 700; font-size: .92rem; color: var(--ue-ink); transition: all .3s var(--ue-ease); }
.ue-chips li i { color: var(--ue-gold); }
.ue-chips li:hover { background: var(--ue-ink); color: #fff; transform: translateY(-3px); border-color: var(--ue-ink); }
.ue-map iframe, .ue-map .elementor-custom-embed iframe { width: 100%; border: 0; border-radius: 20px; filter: grayscale(.65) contrast(1.05); box-shadow: var(--ue-shadow-lg); transition: filter .6s; display: block; }
.ue-map:hover iframe { filter: none; }
.ue-map-sec { padding: 0 !important; }
.ue-map-wide iframe { border-radius: 0; }
.ue-map-col > .elementor-widget-wrap { padding-left: 20px !important; }

/* ---------- CTA band ---------- */
.ue-cta-band { margin: 20px auto 110px !important; max-width: 1240px; }
.ue-cta-band > .elementor-container {
	background: linear-gradient(120deg, var(--ue-gold-2), var(--ue-gold) 50%, var(--ue-gold-d)); border-radius: 26px; padding: 50px 40px !important;
	position: relative; overflow: hidden; align-items: center; box-shadow: 0 40px 70px -40px rgba(156, 122, 44, .9);
}
.ue-cta-band > .elementor-container::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, transparent 0 40px, rgba(255, 255, 255, .08) 40px 42px); }
.ue-cta-band .elementor-column { position: relative; }
.ue-cta-title .elementor-heading-title { color: var(--ue-ink); font-size: clamp(2rem, 3.4vw, 2.9rem); text-transform: uppercase; margin: 0; }
.ue-cta-band p { color: rgba(13, 16, 20, .78); font-weight: 500; margin: 0; }
.ue-cta-btns > .elementor-widget-wrap { justify-content: flex-end; align-content: center; gap: 12px 0; }

/* ---------- Service page layout ---------- */
.ue-svc-main > .elementor-widget-wrap { padding-right: 40px !important; }
.ue-lead-text p:first-child { font-size: 1.12rem; color: var(--ue-ink); font-weight: 500; }
.ue-svc-img img { width: 100%; border-radius: 20px; aspect-ratio: 16 / 8; object-fit: cover; box-shadow: var(--ue-shadow-lg); margin: 10px 0; }
.ue-item .elementor-icon-box-wrapper {
	display: flex; gap: 20px; align-items: flex-start; text-align: left; padding: 24px 26px; border-radius: 16px; background: var(--ue-white);
	border: 1px solid var(--ue-line); transition: transform .4s var(--ue-ease), box-shadow .4s, border-color .3s;
}
.ue-item .elementor-icon-box-wrapper:hover { transform: translateX(6px); box-shadow: 0 18px 40px -26px rgba(13, 16, 20, .5); border-color: rgba(201, 164, 76, .5); }
.ue-item .elementor-icon-box-icon { margin: 0 !important; }
.ue-item .elementor-icon { width: 46px; height: 46px; border-radius: 12px; font-size: 1.05rem !important; }
.ue-item .elementor-icon-box-title { font-size: 1.4rem; text-transform: uppercase; margin: 2px 0 6px; color: var(--ue-ink); }
.ue-item .elementor-icon-box-description { margin: 0; color: var(--ue-muted); font-size: .98rem; }
.ue-item .elementor-icon-box-description ul, .ue-item .elementor-icon-box-description ol { margin: 10px 0; padding-left: 20px; }
.ue-item-sm .elementor-icon-box-wrapper { padding: 16px 20px; align-items: center; }
.ue-item-sm .elementor-icon-box-description { color: var(--ue-text); }
.ue-item .elementor-icon-box-title:empty { display: none; }
.elementor-widget.ue-item { margin-bottom: 14px !important; }

.ue-faq .elementor-toggle-item { background: var(--ue-white); border: 1px solid var(--ue-line); border-radius: 14px; margin-bottom: 12px; overflow: hidden; transition: box-shadow .3s, border-color .3s; }
.ue-faq .elementor-toggle-item:hover { border-color: rgba(201, 164, 76, .5); }
.ue-faq .elementor-tab-title { display: flex; align-items: center; gap: 14px; padding: 20px 24px !important; border: 0 !important; cursor: pointer; flex-direction: row-reverse; justify-content: space-between; }
.ue-faq .elementor-toggle-title { font-family: var(--ue-ff-h); font-weight: 700; font-size: 1.25rem; color: var(--ue-ink) !important; letter-spacing: .2px; }
.ue-faq .elementor-toggle-icon { flex: none; display: grid !important; place-items: center; width: 34px !important; height: 34px; border-radius: 50%; background: var(--ue-ink); color: var(--ue-gold); font-size: .8rem; }
.ue-faq .elementor-toggle-icon svg { fill: var(--ue-gold); width: .8em; height: .8em; }
.ue-faq .elementor-tab-title.elementor-active { background: var(--ue-ink); }
.ue-faq .elementor-tab-title.elementor-active .elementor-toggle-title { color: var(--ue-gold-2) !important; }
.ue-faq .elementor-tab-title.elementor-active .elementor-toggle-icon { background: var(--ue-gold); color: var(--ue-ink); }
.ue-faq .elementor-tab-content { padding: 20px 24px 24px !important; border: 0 !important; color: var(--ue-text); }

.ue-quote-box {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px; margin-top: 24px;
	padding: 34px 34px; border-radius: 20px; background: var(--ue-ink); position: relative; overflow: hidden;
}
.ue-quote-box::before { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(201, 164, 76, .35), transparent 70%); }
.ue-quote-box h4 { color: #fff; font-size: 1.8rem; text-transform: uppercase; margin: 0 0 6px; }
.ue-quote-box p { color: #AEB4BD; margin: 0; max-width: 460px; }
.ue-quote-btns { display: flex; flex-wrap: wrap; gap: 12px; position: relative; }

.ue-sidebar > .elementor-widget-wrap { align-content: flex-start; position: sticky; top: 120px; }
.ue-side-title .elementor-heading-title { font-size: 1.5rem; text-transform: uppercase; margin: 0 0 6px; display: flex; align-items: center; gap: 10px; }
.ue-side-title .elementor-heading-title::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, var(--ue-gold), transparent); }
.ue-side-nav .elementor-icon-list-items { list-style: none; margin: 0 0 24px; padding: 8px; background: var(--ue-white); border: 1px solid var(--ue-line); border-radius: 16px; }
.ue-side-nav .elementor-icon-list-item a { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; gap: 10px; padding: 12px 14px; border-radius: 10px; color: var(--ue-ink); font-weight: 700; transition: all .3s var(--ue-ease); }
.ue-side-nav .elementor-icon-list-icon { color: var(--ue-gold); display: inline-flex; }
.ue-side-nav .elementor-icon-list-icon svg { fill: var(--ue-gold); width: .9em; height: .9em; }
.ue-side-nav .elementor-icon-list-item a:hover { background: var(--ue-ink); color: var(--ue-gold-2); padding-left: 20px; }
.ue-contact-card { padding: 30px 26px; border-radius: 20px; background: var(--ue-ink); color: #B8BDC5; margin-bottom: 24px; position: relative; overflow: hidden; }
.ue-contact-card::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--ue-gold-d), var(--ue-gold-2)); }
.ue-contact-card h4 { color: #fff; font-size: 1.7rem; text-transform: uppercase; margin-bottom: 6px; }
.ue-contact-card p { font-size: .95rem; margin-bottom: 14px; }
.ue-cc-phone { display: flex; align-items: center; gap: 12px; padding: 14px 16px; margin-bottom: 14px; border-radius: 12px; background: rgba(201, 164, 76, .12); color: #fff; font-family: var(--ue-ff-h); font-weight: 800; font-size: 1.6rem; }
.ue-cc-phone .ue-ico { color: var(--ue-gold); }
.ue-cc-phone:hover { color: var(--ue-gold-2); }
.ue-cc-addr { display: flex; gap: 8px; align-items: flex-start; }
.ue-cc-addr .ue-ico { color: var(--ue-gold); margin-top: 5px; }
.ue-contact-card .ue-hours li { border-color: var(--ue-line-d); color: #AEB4BD; font-size: .9rem; padding: 7px 0; }
.ue-contact-card .ue-hours strong { color: #fff; }
.ue-contact-card .ue-btn { margin-top: 14px; }
.ue-side-promo {
	display: block; padding: 28px 26px; border-radius: 20px; color: var(--ue-ink); position: relative; overflow: hidden;
	background: linear-gradient(135deg, var(--ue-gold-2), var(--ue-gold) 60%, var(--ue-gold-d));
}
.ue-side-promo span { display: block; font-size: .78rem; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; }
.ue-side-promo strong { display: block; font-family: var(--ue-ff-h); font-size: 1.9rem; line-height: 1.05; text-transform: uppercase; margin: 6px 0; }
.ue-side-promo em { display: block; font-style: normal; font-weight: 700; margin-bottom: 14px; }
.ue-side-promo b { display: inline-flex; gap: 8px; align-items: center; font-family: var(--ue-ff-h); text-transform: uppercase; letter-spacing: 1.2px; }
.ue-side-promo:hover { color: var(--ue-ink); transform: translateY(-4px); transition: transform .4s var(--ue-ease); }
.ue-download { display: flex; align-items: center; gap: 16px; padding: 20px 22px; border-radius: 16px; background: var(--ue-white); border: 2px dashed rgba(201, 164, 76, .6); color: var(--ue-ink); }
.ue-download i { font-size: 2rem; color: var(--ue-gold-d); }
.ue-download strong { display: block; font-family: var(--ue-ff-h); font-size: 1.35rem; text-transform: uppercase; }
.ue-download small { color: var(--ue-muted); }
.ue-download:hover { border-color: var(--ue-ink); color: var(--ue-ink); }
.ue-hours-card .ue-hours { background: var(--ue-white); border: 1px solid var(--ue-line); border-radius: 16px; padding: 10px 20px; margin-bottom: 24px; }

/* ---------- Forms ---------- */
.ue-form-card .ue-form, .ue-form-card { width: 100%; }
.ue-form { background: var(--ue-white); border-radius: 22px; padding: 34px; border: 1px solid var(--ue-line); box-shadow: 0 30px 60px -40px rgba(13, 16, 20, .5); }
.ue-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 20px; }
.ue-span-2 { grid-column: 1 / -1; }
.ue-form label span { display: block; font-size: .8rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--ue-ink); margin-bottom: 7px; }
.ue-form input, .ue-form select, .ue-form textarea {
	width: 100%; padding: 14px 16px; border-radius: 10px; border: 1.5px solid #DCD7CB; background: var(--ue-ivory);
	font: inherit; font-size: .98rem; color: var(--ue-ink); transition: border-color .25s, box-shadow .25s, background .25s;
}
.ue-form input:focus, .ue-form select:focus, .ue-form textarea:focus { outline: 0; border-color: var(--ue-gold); background: #fff; box-shadow: 0 0 0 4px rgba(201, 164, 76, .18); }
.ue-form .ue-btn { min-width: 240px; }
.ue-form-note { font-size: .85rem; color: var(--ue-muted); margin: 12px 0 0; }
.ue-hp { position: absolute !important; left: -9999px !important; }
.ue-form-msg:empty { display: none; }
.ue-form-msg { margin-top: 16px; padding: 14px 18px; border-radius: 10px; font-weight: 600; }
.ue-form-msg.is-ok { background: rgba(31, 157, 107, .1); color: #12704a; border: 1px solid rgba(31, 157, 107, .3); }
.ue-form-msg.is-err { background: rgba(190, 40, 40, .08); color: #a32020; border: 1px solid rgba(190, 40, 40, .25); }
.ue-form.is-loading .ue-btn { opacity: .7; pointer-events: none; }
.ue-form-col > .elementor-widget-wrap { padding-right: 36px !important; }

/* ---------- Footer ---------- */
.ue-footer { position: relative; background: var(--ue-ink); color: #A9AFB8; padding-top: 0; overflow: hidden; }
.ue-footer-glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 15% 0%, rgba(201, 164, 76, .14), transparent 50%), radial-gradient(ellipse at 90% 100%, rgba(201, 164, 76, .08), transparent 50%); }
.ue-footer .ue-container { position: relative; }
.ue-footer-cta {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px;
	padding: 56px 0; border-bottom: 1px solid var(--ue-line-d);
}
.ue-footer-cta h3 { color: #fff; font-size: clamp(1.7rem, 3vw, 2.5rem); text-transform: uppercase; max-width: 720px; margin: 6px 0 0; }
.ue-footer-cta .ue-eyebrow { color: var(--ue-gold) !important; font-size: .95rem !important; }
.ue-footer-cta-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.ue-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding: 70px 0 50px; }
.ue-footer-about img { height: 60px; width: auto; margin-bottom: 20px; }
.ue-footer-about p { font-size: .95rem; margin-bottom: 22px; }
.ue-footer h4 { color: #fff; font-size: 1.45rem; text-transform: uppercase; margin-bottom: 22px; position: relative; padding-bottom: 12px; }
.ue-footer h4::after { content: ""; position: absolute; left: 0; bottom: 0; width: 40px; height: 3px; background: var(--ue-gold); border-radius: 3px; }
.ue-footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ue-footer-links a { color: #A9AFB8; display: inline-flex; align-items: center; gap: 8px; transition: all .3s var(--ue-ease); }
.ue-footer-links a::before { content: ""; width: 6px; height: 6px; border-radius: 50%; border: 1.5px solid var(--ue-gold); transition: all .3s; }
.ue-footer-links a:hover { color: var(--ue-gold-2); transform: translateX(5px); }
.ue-footer-links a:hover::before { background: var(--ue-gold); }
.ue-footer-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.ue-footer-contact li { display: flex; gap: 12px; align-items: flex-start; font-size: .95rem; }
.ue-footer-contact .ue-ico { color: var(--ue-gold); margin-top: 4px; }
.ue-footer-contact a { color: #fff; font-weight: 600; }
.ue-footer-contact a:hover { color: var(--ue-gold-2); }
.ue-footer-trust { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; padding: 22px 0; border-top: 1px solid var(--ue-line-d); font-size: .86rem; }
.ue-trust-badge { display: inline-flex; align-items: center; gap: 8px; color: var(--ue-gold-2); font-weight: 700; }
.ue-trust-pay em { font-style: normal; display: inline-block; margin: 3px 0 3px 6px; padding: 3px 10px; border-radius: 6px; border: 1px solid var(--ue-line-d); color: #C9CED5; font-size: .78rem; font-weight: 700; }
.ue-footer-bottom { background: #080A0D; border-top: 1px solid var(--ue-line-d); position: relative; }
.ue-footer-bottom-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding-top: 20px; padding-bottom: 20px; font-size: .9rem; }
.ue-footer-bottom p { margin: 0; }
.ue-credit strong { color: var(--ue-gold-2); letter-spacing: .3px; }
.ue-credit a:hover strong { color: #fff; }

.ue-totop {
	position: fixed; right: 26px; bottom: 104px; z-index: 900; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center;
	background: var(--ue-ink); color: var(--ue-gold); border: 1px solid rgba(201, 164, 76, .4); box-shadow: var(--ue-shadow);
	opacity: 0; visibility: hidden; transform: translateY(20px); transition: all .4s var(--ue-ease);
}
.ue-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.ue-totop:hover { background: var(--ue-gold); color: var(--ue-ink); }
.ue-mobile-call { display: none; }

/* ---------- Blog / entries / 404 ---------- */
.ue-content-wrap { padding-top: 80px; padding-bottom: 100px; }
.ue-entry-content > * { max-width: 100%; }
.ue-entry-content h2, .ue-entry-content h3 { margin-top: 1.4em; }
.ue-entry-thumb img { border-radius: 18px; margin-bottom: 30px; }
.ue-meta { color: var(--ue-muted); font-size: .88rem; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; }
.ue-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.ue-post-card { background: var(--ue-white); border-radius: 18px; overflow: hidden; border: 1px solid var(--ue-line); transition: transform .5s var(--ue-ease), box-shadow .5s; }
.ue-post-card:hover { transform: translateY(-8px); box-shadow: var(--ue-shadow-lg); }
.ue-post-card-img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.ue-post-card-img .ue-ph { object-fit: contain; padding: 40px; background: var(--ue-ink); }
.ue-post-card-body { padding: 24px 26px 28px; }
.ue-post-card h2 { font-size: 1.6rem; text-transform: none; }
.ue-post-card h2 a { color: var(--ue-ink); }
.ue-link { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ue-ff-h); font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; }
.ue-404 { padding: 140px 0; text-align: center; }
.ue-404-code { display: block; font-family: var(--ue-ff-h); font-weight: 800; font-size: clamp(7rem, 20vw, 14rem); line-height: 1; background: linear-gradient(180deg, var(--ue-gold-2), var(--ue-gold-d)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ==========================================================================
   Fallback layout (only when Elementor is NOT active — mirrors Elementor grid)
   ========================================================================== */
.ue-fallback .elementor-section { position: relative; }
.ue-fallback .elementor-container { display: flex; flex-wrap: wrap; margin: 0 auto; padding: 0 7px; }
.ue-fallback .elementor-column { width: var(--ue-col, 100%); display: flex; padding: 15px; min-height: 1px; }
.ue-fallback .elementor-column-gap-no .elementor-column { padding: 0; }
.ue-fallback .elementor-widget-wrap { display: flex; flex-wrap: wrap; align-content: flex-start; width: 100%; position: relative; }
.ue-fallback .elementor-widget { width: 100%; position: relative; margin-bottom: 20px; }
.ue-fallback .elementor-widget:last-child { margin-bottom: 0; }
.ue-fallback .elementor-widget__width-auto { width: auto; }
.ue-fallback .elementor-icon-list-items { list-style: none; padding: 0; margin: 0; }
.ue-fallback .elementor-icon-box-wrapper .elementor-icon { display: inline-grid; }
.ue-fallback .ue-feature .elementor-icon-box-wrapper, .ue-fallback .ue-info-light .elementor-icon-box-wrapper { display: flex; flex-direction: column; }
.ue-fallback .elementor-tab-content { display: block; }
.ue-fallback .elementor-toggle-icon-opened { display: none; }
.ue-fallback .elementor-heading-title { margin: 0; }
.ue-fallback .ue-hero > .elementor-container { display: flex; }
.ue-fallback .ue-why, .ue-fallback .ue-why-head, .ue-fallback .ue-counters { color: #B8BDC5; }

/* ---------- Animations (theme JS, used when Elementor is inactive) ---------- */
html.ue-js [data-ue-anim]:not(.ue-in) { opacity: 0; }
[data-ue-anim].ue-in { animation-duration: .9s; animation-fill-mode: both; animation-timing-function: var(--ue-ease); }
[data-ue-anim="fadeInUp"].ue-in { animation-name: ueFadeUp; }
[data-ue-anim="fadeInDown"].ue-in { animation-name: ueFadeDown; }
[data-ue-anim="fadeInLeft"].ue-in { animation-name: ueFadeLeft; }
[data-ue-anim="fadeInRight"].ue-in { animation-name: ueFadeRight; }
[data-ue-anim="fadeIn"].ue-in { animation-name: ueFade; }
[data-ue-anim="zoomIn"].ue-in { animation-name: ueZoomIn; }

@keyframes ueFadeUp { from { opacity: 0; transform: translate3d(0, 46px, 0); } to { opacity: 1; transform: none; } }
@keyframes ueFadeDown { from { opacity: 0; transform: translate3d(0, -30px, 0); } to { opacity: 1; transform: none; } }
@keyframes ueFadeLeft { from { opacity: 0; transform: translate3d(-60px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes ueFadeRight { from { opacity: 0; transform: translate3d(60px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes ueFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ueZoomIn { from { opacity: 0; transform: scale(.8); } to { opacity: 1; transform: none; } }
@keyframes uePulse { 0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(201, 164, 76, 0)); } 50% { transform: scale(1.08); filter: drop-shadow(0 0 22px rgba(201, 164, 76, .55)); } }
@keyframes ueLoad { 0% { transform: translateX(-100%); } 100% { transform: translateX(260%); } }
@keyframes ueRing { 0% { transform: scale(.9); opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } }
@keyframes ueDot { 0% { box-shadow: 0 0 0 0 rgba(31, 157, 107, .7); } 70% { box-shadow: 0 0 0 10px rgba(31, 157, 107, 0); } 100% { box-shadow: 0 0 0 0 rgba(31, 157, 107, 0); } }
@keyframes ueStreak { from { transform: translateX(0); } to { transform: translateX(244px); } }
@keyframes ueMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes ueFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes ueShake { 0%, 88%, 100% { transform: rotate(0); } 90% { transform: rotate(-14deg); } 92% { transform: rotate(14deg); } 94% { transform: rotate(-10deg); } 96% { transform: rotate(8deg); } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	[data-ue-anim] { opacity: 1 !important; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1200px) {
	.ue-nav-call-txt { display: none; }
	.ue-menu > li > a { padding: 30px 10px; font-size: 1.02rem; }
}
@media (max-width: 1024px) {
	:root { --ue-header-h: 74px; }
	.ue-nav, .ue-hide-md { display: none; }
	.ue-burger { display: flex; }
	.ue-brand img, .ue-brand .custom-logo { height: 50px; }
	.ue-pad { padding-top: 80px !important; padding-bottom: 80px !important; }
	.ue-sec-head { padding-top: 80px !important; }
	.ue-hero { min-height: 0; padding: 90px 0 170px !important; }
	.ue-about-copy > .elementor-widget-wrap, .ue-media-right > .elementor-widget-wrap { padding-left: 15px !important; }
	.ue-svc-main > .elementor-widget-wrap, .ue-form-col > .elementor-widget-wrap { padding-right: 15px !important; }
	.ue-footer-grid { grid-template-columns: 1fr 1fr; }
	.ue-post-grid { grid-template-columns: 1fr 1fr; }
	.ue-sidebar > .elementor-widget-wrap { position: static; }
	.ue-fallback .elementor-column[style*="--ue-col-t"] { width: var(--ue-col-t); }
	.ue-fallback .ue-hero .elementor-column, .ue-fallback .ue-about .elementor-column, .ue-fallback .ue-svc-layout .elementor-column,
	.ue-fallback .ue-areas .elementor-column, .ue-fallback .ue-promise .elementor-column, .ue-fallback .ue-cta-band .elementor-column { width: 100%; }
	.ue-cta-btns > .elementor-widget-wrap { justify-content: flex-start; }
}
@media (max-width: 767px) {
	body { font-size: 16px; }
	.ue-topbar { display: none; }
	.ue-site-header.is-scrolled .ue-topbar { margin-top: 0; }
	.ue-hide-sm { display: none !important; }
	.ue-nav-call-ico { width: 40px; height: 40px; }
	.ue-brand img, .ue-brand .custom-logo { height: 42px; }
	.ue-pad { padding-top: 64px !important; padding-bottom: 64px !important; }
	.ue-sec-head { padding-top: 64px !important; }
	.ue-page-hero { padding: 100px 0 90px !important; }
	.ue-hero { padding: 64px 0 150px !important; }
	.ue-glass > .elementor-widget-wrap { padding: 22px !important; }
	.ue-infostrip { margin-top: -100px !important; }
	.ue-infostrip > .elementor-container { margin: 0 15px; }
	.ue-about-media > .elementor-widget-wrap { padding-right: 30px !important; padding-bottom: 50px !important; }
	.ue-about-media .elementor-widget-html:last-child { left: 0; bottom: 10px; }
	.ue-exp-badge { padding: 12px 16px; }
	.ue-exp-badge strong { font-size: 2rem; }
	.ue-cta-band { margin: 10px 15px 70px !important; }
	.ue-cta-band > .elementor-container { padding: 34px 18px !important; }
	.ue-form { padding: 22px; }
	.ue-form-grid { grid-template-columns: 1fr; }
	.ue-form .ue-btn { width: 100%; min-width: 0; }
	.ue-footer-grid { grid-template-columns: 1fr; gap: 34px; padding: 50px 0 30px; }
	.ue-footer-bottom-inner { flex-direction: column; text-align: center; align-items: center; padding-bottom: 86px; }
	.ue-post-grid { grid-template-columns: 1fr; }
	.ue-quote-box { padding: 26px 22px; }
	.ue-menu > li.ue-mega > .sub-menu { min-width: 0; display: none; }
	.elementor-widget-button.elementor-widget__width-auto { margin-bottom: 10px; }
	.ue-mobile-call {
		display: inline-flex; align-items: center; gap: 8px; position: fixed; left: 16px; bottom: 18px; z-index: 900;
		padding: 13px 20px; border-radius: 40px; background: linear-gradient(135deg, var(--ue-gold-2), var(--ue-gold)); color: var(--ue-ink);
		font-family: var(--ue-ff-h); font-weight: 800; letter-spacing: 1px; text-transform: uppercase; box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .5);
	}
	.ue-mobile-call:hover { color: var(--ue-ink); }
	.ue-totop { right: 18px; bottom: 92px; }
	.ue-fallback .elementor-column, .ue-fallback .elementor-column[style*="--ue-col-t"] { width: 100%; }
	.ue-marquee-sec { padding-top: 50px !important; }
}
