/* =========================================================
   Fame — Design System
   Premium, minimal. Blue / violet accent on near-black & off-white.
   ========================================================= */

:root {
	/* Brand */
	--fame-primary: #4F46E5;
	--fame-primary-dark: #3730A3;
	--fame-violet: #8B5CF6;
	--fame-gradient: linear-gradient(135deg, var(--fame-primary) 0%, var(--fame-violet) 100%);

	/* Neutrals */
	--fame-ink: #0B0B14;
	--fame-body: #4B4B5A;
	--fame-muted: #8A8AA0;
	--fame-line: #E7E7EF;
	--fame-surface: #FFFFFF;
	--fame-surface-alt: #F7F7FC;
	--fame-on-dark: #F4F4FA;
	--fame-on-dark-muted: #A6A6BF;

	/* Type */
	--fame-font-display: "Sora", "Inter", sans-serif;
	--fame-font-body: "Inter", sans-serif;

	/* Shape */
	--fame-radius: 16px;
	--fame-radius-sm: 10px;
	--fame-shadow: 0 8px 30px rgba(11,11,20,.06);
	--fame-shadow-lg: 0 20px 60px rgba(11,11,20,.10);
	--fame-container: 1240px;
	--fame-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------------------------------------------------------
   Base
   --------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

/* Kill the parent theme's body gap WITHOUT overriding the WP admin-bar
   html margin (using html here would make the admin bar overlap content). */
body {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--fame-font-body);
	color: var(--fame-body);
	background: var(--fame-surface);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* WP admin bar: offset the fixed header so it sits below the bar */
.admin-bar .fc-header { top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar .fc-header { top: 46px; }
}

::selection { background: var(--fame-primary); color: #fff; }

img { border-radius: var(--fame-radius-sm); }

a { transition: color .2s var(--fame-ease); }

/* ---------------------------------------------------------
   Typography
   --------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.ekit-heading--title {
	font-family: var(--fame-font-display);
	color: var(--fame-ink);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

h1 { font-size: clamp(2.75rem, 5vw, 4.5rem); line-height: 1.08; letter-spacing: -0.03em; }
h2 { font-size: clamp(2rem, 3.4vw, 3rem); }
h3 { font-size: clamp(1.375rem, 2.2vw, 1.75rem); }

p, .elementor-widget-text-editor p, .ekit-wid-con p {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--fame-body);
}

.ekit-heading__description { margin-top: .25rem; }

/* Span highlights from ElementsKit heading editor */
.ekit-heading--title > span > span,
.elementor-heading-title > span { color: var(--fame-primary); }

/* Gradient text utility */
.fame-gradient-text {
	background: var(--fame-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

/* ---------------------------------------------------------
   Buttons
   --------------------------------------------------------- */
.elementor-button,
.ekit-btn,
.elementskit-btn,
.mf-button button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-family: var(--fame-font-display) !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	letter-spacing: -0.01em;
	border-radius: 999px !important;
	padding: 0.875em 1.875em !important;
	background: var(--fame-gradient) !important;
	border: none !important;
	color: #fff !important;
	box-shadow: 0 6px 20px rgba(79,70,229,.25);
	transition: transform .22s var(--fame-ease), box-shadow .22s var(--fame-ease), filter .22s var(--fame-ease);
	text-decoration: none !important;
	white-space: nowrap;
}

.elementor-button:hover,
.ekit-btn:hover,
.elementskit-btn:hover,
.mf-button button:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 32px rgba(79,70,229,.38);
	filter: brightness(1.08);
	color: #fff !important;
}

.fame-btn-outline .elementor-button,
.fame-btn-outline .ekit-btn,
.fame-btn-outline .elementskit-btn {
	background: transparent !important;
	color: var(--fame-ink) !important;
	box-shadow: none;
	border: 1.5px solid var(--fame-line) !important;
}
.fame-btn-outline .elementor-button:hover,
.fame-btn-outline .ekit-btn:hover,
.fame-btn-outline .elementskit-btn:hover {
	border-color: var(--fame-primary) !important;
	color: var(--fame-primary) !important;
	filter: none !important;
}

/* ---------------------------------------------------------
   Section rhythm
   Only apply generous padding to page-body section containers,
   NOT to the header template wrapper or page-level wrappers.
   --------------------------------------------------------- */
.e-con.e-parent {
	padding-top: clamp(64px, 8vw, 140px) !important;
	padding-bottom: clamp(64px, 8vw, 140px) !important;
}

/* Page wrapper (post 796) — zero padding so hero starts flush */
[data-id="d4f4cf8"] {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Header template wrapper — keep compact */
[data-id="6720c3c"] {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Footer template wrapper */
[data-id="cdd7905"] {
	padding-top: clamp(48px, 6vw, 96px) !important;
	padding-bottom: clamp(48px, 6vw, 96px) !important;
}

/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */
#masthead,
.hfe-header {
	background: rgba(255,255,255,.9) !important;
	backdrop-filter: blur(14px) !important;
	-webkit-backdrop-filter: blur(14px) !important;
	border-bottom: 1px solid var(--fame-line) !important;
	position: sticky;
	top: 0;
	z-index: 999;
}

/* =========================================================
   HERO  [data-id="8472c5b"]
   ========================================================= */
[data-id="8472c5b"] {
	background: linear-gradient(140deg, #0C0B1C 0%, #12103A 55%, #0C0B1C 100%) !important;
	position: relative;
	overflow: hidden;
	min-height: 90vh;
	display: flex;
	align-items: center;
	padding-top: clamp(80px, 10vw, 160px) !important;
	padding-bottom: clamp(80px, 10vw, 160px) !important;
}

/* Soft glow orbs */
[data-id="8472c5b"]::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 60% 80% at 70% 40%, rgba(79,70,229,.25) 0%, transparent 65%),
		radial-gradient(ellipse 45% 55% at 15% 75%, rgba(139,92,246,.15) 0%, transparent 60%);
	pointer-events: none;
	z-index: 0;
}

[data-id="8472c5b"] > * { position: relative; z-index: 1; }

/* Hero H1 */
[data-id="8472c5b"] .ekit-heading--title,
[data-id="8472c5b"] h1 {
	color: #fff !important;
	font-size: clamp(2.9rem, 5.5vw, 5.5rem) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.035em !important;
}

/* Force all spans inside hero h1 to inherit the parent size — Elementor
   sets different inline sizes on highlighted spans which breaks rhythm */
[data-id="8472c5b"] .ekit-heading--title span,
[data-id="8472c5b"] .ekit-heading--title span span {
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

[data-id="8472c5b"] .ekit-heading--title > span > span {
	background: var(--fame-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline;
}

[data-id="8472c5b"] .ekit-heading__description p {
	color: rgba(244,244,250,.72) !important;
	font-size: 1.125rem !important;
	max-width: 540px;
	margin-top: 1.25rem;
}

/* Hero badge / partner logos — hide the placeholder hexagons */
[data-id="8472c5b"] .elementor-widget-image {
	display: none !important;
}

/* MetForm inside hero */
[data-id="8472c5b"] .mf-widget-container,
[data-id="8472c5b"] .formpicker_warper {
	background: rgba(255,255,255,.06) !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	border-radius: var(--fame-radius) !important;
	padding: 2rem !important;
	backdrop-filter: blur(10px);
}

/* =========================================================
   WHO WE ARE  [data-id="d572652"]
   ========================================================= */
[data-id="d572652"] { background: var(--fame-surface-alt) !important; }

[data-id="d572652"] .ekit-heading--title {
	font-size: clamp(1.9rem, 3vw, 2.75rem) !important;
}
[data-id="d572652"] .ekit-heading__description p { max-width: 560px; }

[data-id="d572652"] .elementor-widget-image img {
	border-radius: var(--fame-radius) !important;
	box-shadow: var(--fame-shadow-lg);
}

/* =========================================================
   STATS  [data-id="5369d04"]
   ========================================================= */
[data-id="5369d04"] { background: var(--fame-ink) !important; }

[data-id="5369d04"] .ekit-heading--title {
	color: var(--fame-on-dark) !important;
	font-size: clamp(1.75rem, 2.8vw, 2.5rem) !important;
}
[data-id="5369d04"] .ekit-heading__description p { color: var(--fame-on-dark-muted) !important; }

[data-id="5369d04"] .custom-stats-card {
	background: rgba(255,255,255,.05) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: var(--fame-radius) !important;
	padding: 2rem 1.5rem !important;
	transition: background .25s var(--fame-ease), border-color .25s, transform .25s var(--fame-ease);
}
[data-id="5369d04"] .custom-stats-card:hover {
	background: rgba(79,70,229,.15) !important;
	border-color: rgba(79,70,229,.4) !important;
	transform: translateY(-4px);
}

/* Stat numbers */
[data-id="5369d04"] .custom-stats-card span.ekit-heading--title {
	font-size: clamp(2.25rem, 3.5vw, 3.5rem) !important;
	font-weight: 800 !important;
	background: var(--fame-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1.1 !important;
}

[data-id="5369d04"] .custom-stats-card .ekit-heading__description p {
	color: var(--fame-on-dark-muted) !important;
	font-size: .9375rem !important;
	margin-top: .375rem;
}

/* =========================================================
   MINI CTA (Harness Global Expertise)  [data-id="be324a4"]
   ========================================================= */
[data-id="be324a4"] {
	background: var(--fame-gradient) !important;
	border-radius: var(--fame-radius) !important;
	margin-left: clamp(1rem, 3vw, 3rem) !important;
	margin-right: clamp(1rem, 3vw, 3rem) !important;
	padding: clamp(2.5rem, 5vw, 5rem) clamp(2rem, 4vw, 4rem) !important;
}

/* Inner container Elementor sets to white — must be transparent */
[data-id="25cef99"] {
	background: transparent !important;
	background-color: transparent !important;
}

[data-id="be324a4"] .ekit-heading--title {
	color: #fff !important;
	font-size: clamp(1.6rem, 2.5vw, 2.25rem) !important;
}
[data-id="be324a4"] .ekit-heading__description p { color: rgba(255,255,255,.8) !important; }

[data-id="be324a4"] .elementskit-btn,
[data-id="be324a4"] .ekit-btn {
	background: #fff !important;
	color: var(--fame-primary) !important;
	box-shadow: 0 8px 24px rgba(11,11,20,.2) !important;
	filter: none !important;
}
[data-id="be324a4"] .elementskit-btn:hover,
[data-id="be324a4"] .ekit-btn:hover {
	background: #fff !important;
	color: var(--fame-primary-dark) !important;
	transform: translateY(-2px);
	filter: none !important;
}

/* =========================================================
   SERVICES — Comprehensive Digital Solutions  [data-id="6d39365"]
   ========================================================= */
[data-id="6d39365"] { background: var(--fame-surface) !important; }

[data-id="6d39365"] .ekit-heading--title {
	font-size: clamp(1.9rem, 3vw, 2.75rem) !important;
}
[data-id="6d39365"] .ekit-heading__description p { max-width: 540px; }

/* Accordion: strip all default chrome */
[data-id="6d39365"] .elementskit-accordion { border: none !important; background: none !important; }

[data-id="6d39365"] .elementskit-card {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--fame-line) !important;
	border-radius: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}

[data-id="6d39365"] .elementskit-card-header {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

[data-id="6d39365"] .ekit-accordion--toggler {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	padding: 1.25rem 0 !important;
	font-family: var(--fame-font-display) !important;
	font-weight: 600 !important;
	font-size: 1.0625rem !important;
	color: var(--fame-ink) !important;
	background: transparent !important;
	border: none !important;
	text-decoration: none !important;
}
[data-id="6d39365"] .ekit-accordion--toggler:hover { color: var(--fame-primary) !important; }
[data-id="6d39365"] .elementskit-card.active .ekit-accordion--toggler { color: var(--fame-primary) !important; }

[data-id="6d39365"] .ekit_accordion_icon_group { flex-shrink: 0; margin-left: 1rem; color: var(--fame-primary); }

[data-id="6d39365"] .elementskit-card-body {
	padding: 0 0 1.5rem !important;
	background: transparent !important;
	border: none !important;
}
[data-id="6d39365"] .elementskit-card-body p { margin: 0; color: var(--fame-body) !important; }

/* =========================================================
   HOW WE WORK  [data-id="60b5499"]
   ========================================================= */
[data-id="60b5499"] { background: var(--fame-surface-alt) !important; }
[data-id="60b5499"] .ekit-heading--title { font-size: clamp(1.9rem, 3vw, 2.75rem) !important; }
[data-id="60b5499"] .ekit-heading__description p { max-width: 560px; }

[data-id="60b5499"] .custom-stats-card {
	background: var(--fame-surface) !important;
	border: 1px solid var(--fame-line) !important;
	border-radius: var(--fame-radius) !important;
	padding: 2rem 1.75rem !important;
	transition: transform .25s var(--fame-ease), box-shadow .25s var(--fame-ease), border-color .25s;
}
[data-id="60b5499"] .custom-stats-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--fame-shadow-lg);
	border-color: var(--fame-primary);
}

[data-id="60b5499"] .elementor-icon { color: var(--fame-primary) !important; font-size: 2rem !important; }
[data-id="60b5499"] .elementor-icon svg { width: 2rem; height: 2rem; fill: var(--fame-primary); }

[data-id="60b5499"] .elementor-icon-box-title span {
	font-family: var(--fame-font-display) !important;
	font-weight: 700 !important;
	font-size: 1.125rem !important;
	color: var(--fame-ink) !important;
}
[data-id="60b5499"] .elementor-icon-box-description {
	color: var(--fame-body) !important;
	font-size: .9375rem !important;
	line-height: 1.7 !important;
}

/* =========================================================
   INDUSTRIES  [data-id="e3ae74d"]
   ========================================================= */
[data-id="e3ae74d"] { background: var(--fame-ink) !important; }

[data-id="e3ae74d"] .ekit-heading--title {
	color: var(--fame-on-dark) !important;
	font-size: clamp(1.9rem, 3vw, 2.75rem) !important;
}
[data-id="e3ae74d"] .ekit-heading__description p { color: var(--fame-on-dark-muted) !important; }

[data-id="e3ae74d"] .custom-stats-card {
	background: rgba(255,255,255,.05) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: var(--fame-radius) !important;
	padding: 1.75rem 1.5rem !important;
	transition: background .25s var(--fame-ease), border-color .25s, transform .25s var(--fame-ease);
}
[data-id="e3ae74d"] .custom-stats-card:hover {
	background: rgba(79,70,229,.2) !important;
	border-color: rgba(79,70,229,.5) !important;
	transform: translateY(-4px);
}

[data-id="e3ae74d"] .elementor-icon { color: var(--fame-violet) !important; }
[data-id="e3ae74d"] .elementor-icon svg { fill: var(--fame-violet); width: 1.75rem; height: 1.75rem; }

[data-id="e3ae74d"] .elementor-icon-box-title span { color: var(--fame-on-dark) !important; }
[data-id="e3ae74d"] .elementor-icon-box-description { color: var(--fame-on-dark-muted) !important; font-size: .875rem !important; }

/* =========================================================
   FAQ  [data-id="e910dfe"]
   ========================================================= */
[data-id="e910dfe"] { background: var(--fame-surface-alt) !important; }

[data-id="e910dfe"] .ekit-heading--title { font-size: clamp(1.9rem, 3vw, 2.75rem) !important; }
[data-id="e910dfe"] .ekit-heading__description p { max-width: 560px; }

[data-id="e910dfe"] .elementskit-accordion { border: none !important; }

[data-id="e910dfe"] .elementskit-card {
	background: var(--fame-surface) !important;
	border: 1px solid var(--fame-line) !important;
	border-radius: var(--fame-radius-sm) !important;
	margin-bottom: .625rem !important;
	box-shadow: none !important;
	transition: border-color .2s, box-shadow .2s;
	overflow: hidden;
}
[data-id="e910dfe"] .elementskit-card.active {
	border-color: var(--fame-primary) !important;
	box-shadow: 0 0 0 3px rgba(79,70,229,.12);
}

[data-id="e910dfe"] .elementskit-card-header {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

[data-id="e910dfe"] .ekit-accordion--toggler {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	padding: 1.125rem 1.375rem !important;
	font-family: var(--fame-font-display) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	color: var(--fame-ink) !important;
	background: transparent !important;
	border: none !important;
	text-decoration: none !important;
}
[data-id="e910dfe"] .elementskit-card.active .ekit-accordion--toggler { color: var(--fame-primary) !important; }

[data-id="e910dfe"] .elementskit-card-body {
	padding: 0 1.375rem 1.25rem !important;
	background: transparent !important;
	border: none !important;
}
[data-id="e910dfe"] .elementskit-card-body p { margin: 0; color: var(--fame-body) !important; }

/* =========================================================
   BLOG  [data-id="23c1bfe"]
   ========================================================= */
[data-id="23c1bfe"] { background: var(--fame-surface) !important; }
[data-id="23c1bfe"] .ekit-heading--title { font-size: clamp(1.9rem, 3vw, 2.75rem) !important; }

[data-id="23c1bfe"] .custom-stats-card {
	background: var(--fame-surface) !important;
	border: 1px solid var(--fame-line) !important;
	border-radius: var(--fame-radius) !important;
	overflow: hidden;
	transition: transform .25s var(--fame-ease), box-shadow .25s var(--fame-ease);
}
[data-id="23c1bfe"] .custom-stats-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--fame-shadow-lg);
}

[data-id="23c1bfe"] .ekit-heading--title {
	font-size: 1.0625rem !important;
	line-height: 1.45 !important;
	font-weight: 600 !important;
}

[data-id="23c1bfe"] .elementor-widget-image img {
	border-radius: 0 !important;
	width: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
}

/* =========================================================
   FOOTER
   ========================================================= */
[data-id="cdd7905"] { background: var(--fame-ink) !important; }

[data-id="cdd7905"] .ekit-heading--title,
[data-id="cdd7905"] h1, [data-id="cdd7905"] h2,
[data-id="cdd7905"] h3, [data-id="cdd7905"] h4,
[data-id="cdd7905"] h5, [data-id="cdd7905"] h6 {
	color: var(--fame-on-dark) !important;
}

[data-id="cdd7905"] p,
[data-id="cdd7905"] .ekit-heading__description p {
	color: var(--fame-on-dark-muted) !important;
}

[data-id="cdd7905"] a,
[data-id="cdd7905"] a:link,
[data-id="cdd7905"] a:visited { color: var(--fame-on-dark-muted) !important; text-decoration: none; }
[data-id="cdd7905"] a:hover { color: var(--fame-on-dark) !important; }
[data-id="cdd7905"] .elementor-icon,
[data-id="cdd7905"] .elementor-icon i,
[data-id="cdd7905"] .elementor-icon svg { color: var(--fame-primary) !important; fill: var(--fame-primary) !important; }
[data-id="cdd7905"] .elementor-widget-image img { border-radius: 0 !important; filter: brightness(0) invert(1); }

/* Copyright bar */
[data-id="3118350"],
.elementor-element-3118350 {
	background: #060610 !important;
	background-color: #060610 !important;
	padding-top: 1.25rem !important;
	padding-bottom: 1.25rem !important;
}
[data-id="3118350"] .ekit-heading--title,
[data-id="3118350"] span,
[data-id="3118350"] p,
.elementor-element-3118350 span {
	color: var(--fame-on-dark-muted) !important;
	font-size: .875rem !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}

/* =========================================================
   Scroll-reveal  (fame-frontend.js)
   ========================================================= */
.fame-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .7s var(--fame-ease), transform .7s var(--fame-ease);
}
.fame-reveal.fame-in { opacity: 1; transform: translateY(0); }
