/**
 * Emergent reference parity — overrides Elementor kit + interaction tokens.
 * Loaded after Elementor CSS on the homepage.
 */

body.home.elementor-kit-5,
body.home .elementor-kit-5 {
	--e-global-color-primary: #ffffff;
	--e-global-color-secondary: #ffffff;
	--e-global-color-text: rgba(255, 255, 255, 0.7);
	--e-global-color-accent: #e63946;
	--e-global-typography-primary-font-family: "DM Sans", system-ui, sans-serif;
	--e-global-typography-primary-font-weight: 400;
	--e-global-typography-text-font-family: "DM Sans", system-ui, sans-serif;
	--e-global-typography-text-font-weight: 400;
	--e-global-typography-accent-font-family: "DM Sans", system-ui, sans-serif;
	--e-global-typography-accent-font-weight: 500;
}

body.home {
	background:
		radial-gradient(1200px 600px at 20% 0%, rgba(230, 57, 70, 0.08), transparent 60%),
		radial-gradient(900px 600px at 90% 20%, rgba(10, 14, 39, 1), transparent 70%),
		#050714 !important;
}

body.home::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0.06;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.85'/></svg>");
}

body.home .elementor,
body.home .elementor-location-header,
body.home .elementor-location-footer,
body.home .site-main {
	position: relative;
	z-index: 2;
}

/* Header scroll state (Navigation.jsx) */
body.home .duende-native-header {
	background: transparent !important;
	border-bottom: 1px solid transparent !important;
	backdrop-filter: none !important;
	transition:
		background 0.5s ease,
		border-color 0.5s ease,
		backdrop-filter 0.5s ease !important;
}

body.home .duende-native-header.is-scrolled {
	background: rgba(5, 7, 20, 0.8) !important;
	border-bottom-color: rgba(255, 255, 255, 0.1) !important;
	backdrop-filter: blur(24px) !important;
}

/* Nav — text-white/70 → hover:text-white (no underline) */
body.home .duende-native-menu .elementor-nav-menu--main .elementor-item,
body.home .duende-native-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
body.home .duende-native-menu .elementor-nav-menu--main .elementor-item:hover,
body.home .duende-native-menu .elementor-nav-menu--main .elementor-item:focus {
	color: rgba(255, 255, 255, 0.7) !important;
	fill: rgba(255, 255, 255, 0.7) !important;
	background: transparent !important;
	font-family: var(--duende-body) !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	line-height: 1.25rem !important;
	letter-spacing: 0.025em !important;
	padding: 0 !important;
	text-decoration: none !important;
	transition: color 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.home .duende-native-menu .elementor-nav-menu--main .elementor-item:hover,
body.home .duende-native-menu .elementor-nav-menu--main .elementor-item:focus,
body.home .duende-native-menu .elementor-nav-menu--main .menu-item-has-children:hover > .elementor-item {
	color: #fff !important;
	fill: #fff !important;
	text-decoration: none !important;
}

body.home .duende-native-menu .elementor-nav-menu--main .duende-nav-line {
	display: none !important;
}

body.home .duende-native-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
body.home .duende-native-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after,
body.home .duende-native-menu .e--pointer-framed .elementor-item:before,
body.home .duende-native-menu .e--pointer-framed .elementor-item:after {
	display: none !important;
	content: none !important;
}

body.home .duende-native-menu .elementor-nav-menu--main .menu-item-has-children {
	position: relative !important;
}

body.home .duende-native-menu .elementor-nav-menu--main .menu-item-has-children > .elementor-item {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.375rem !important;
}

body.home .duende-native-menu .elementor-nav-menu--main .menu-item-has-children > .elementor-item .sub-arrow {
	display: none !important;
}

body.home .duende-native-menu .duende-nav-chevron {
	flex-shrink: 0;
	display: block;
	width: 14px;
	height: 14px;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body.home .duende-native-menu .menu-item-has-children:hover > .elementor-item .duende-nav-chevron,
body.home .duende-native-menu .menu-item-has-children:focus-within > .elementor-item .duende-nav-chevron {
	transform: rotate(180deg);
}

body.home .duende-native-menu .elementor-nav-menu--main > .menu-item > .elementor-item {
	position: relative;
}

body.home .duende-native-menu .elementor-nav-menu--main .menu-item-has-children > .sub-menu {
	position: absolute !important;
	top: calc(100% + 1rem) !important;
	left: 0 !important;
	z-index: 10010 !important;
	display: block !important;
	min-width: 14rem !important;
	margin: 0 !important;
	padding: 0.5rem 0 !important;
	background: rgba(10, 14, 39, 0.95) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	box-shadow: none !important;
	backdrop-filter: blur(18px);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-0.5rem);
	pointer-events: none;
	transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
}

body.home .duende-native-menu .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
body.home .duende-native-menu .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

body.home .duende-native-menu .elementor-nav-menu--main .sub-menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -1rem;
	height: 1rem;
}

body.home .duende-native-menu .elementor-nav-menu--main .sub-menu .menu-item {
	display: block !important;
	width: 100%;
}

body.home .duende-native-menu .elementor-nav-menu--main .elementor-sub-item {
	color: rgba(255, 255, 255, 0.75) !important;
	font-size: 0.875rem !important;
	letter-spacing: 0.025em !important;
	transition: color 0.15s ease, background 0.15s ease !important;
}

body.home .duende-native-menu .elementor-nav-menu--main .elementor-sub-item:hover,
body.home .duende-native-menu .elementor-nav-menu--main .elementor-sub-item:focus,
body.home .duende-native-menu .elementor-nav-menu--main .elementor-sub-item.elementor-item-active {
	color: var(--duende-accent) !important;
	background: rgba(255, 255, 255, 0.03) !important;
}

/* Lang toggle */
body.home .duende-native-lang .elementor-heading-title {
	display: inline-flex !important;
	align-items: center;
	gap: 0;
	padding: 0.5rem 0.75rem !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	color: rgba(255, 255, 255, 0.8) !important;
	font-family: var(--duende-display) !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	line-height: 1rem !important;
	letter-spacing: 0.25em !important;
	transition:
		color 0.15s ease,
		border-color 0.15s ease !important;
}

body.home .duende-native-lang .elementor-heading-title:hover {
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.5) !important;
}

body.home .duende-native-lang .duende-lang-slash {
	margin-inline: 0.25rem;
	color: rgba(255, 255, 255, 0.3);
}

body.home .duende-native-lang .duende-lang-part.is-active {
	color: rgba(255, 255, 255, 0.8) !important;
}

/* Header CTAs — always text-style like reference (no red boxes) */
body.home .duende-native-header .duende-native-primary .elementor-button,
body.home .duende-native-header .duende-native-catalog .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 0 !important;
	padding: 0.95rem 1.6rem !important;
	border: 1px solid transparent !important;
	background: transparent !important;
	color: #fff !important;
	font-family: var(--duende-body) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	line-height: 1.25rem !important;
	letter-spacing: 0.02em !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition:
		background 0.3s ease,
		color 0.3s ease,
		border-color 0.3s ease !important;
}

body.home .duende-native-header .duende-native-primary .elementor-button:hover,
body.home .duende-native-header .duende-native-catalog .elementor-button:hover {
	background: #fff !important;
	color: #000 !important;
	border-color: #fff !important;
}

/* ========== HERO — Hero.jsx parity ========== */
body.home .duende-native-hero {
	position: relative !important;
	min-height: 100svh !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	isolation: isolate;
}

body.home .duende-native-hero::before {
	content: "" !important;
	position: absolute !important;
	top: -8rem !important;
	left: -8rem !important;
	width: 36rem !important;
	height: 36rem !important;
	border-radius: 9999px !important;
	background: rgba(230, 57, 70, 0.2) !important;
	filter: blur(140px) !important;
	opacity: 1 !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

body.home .duende-native-hero::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 40rem !important;
	height: 40rem !important;
	border-radius: 9999px !important;
	background: #0a0e27 !important;
	filter: blur(120px) !important;
	opacity: 1 !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

body.home .duende-native-hero > .elementor-container {
	position: relative !important;
	z-index: 1 !important;
	width: min(90rem, 100%) !important;
	max-width: 90rem !important;
	min-height: 100svh !important;
	padding-inline: clamp(1.5rem, 3vw, 3rem) !important;
	margin-inline: auto !important;
	background: transparent !important;
	background-image: none !important;
}

body.home .duende-native-hero .elementor-column,
body.home .duende-native-hero .elementor-widget-wrap {
	min-height: 100svh !important;
	background: transparent !important;
	background-image: none !important;
}

body.home .duende-native-hero .elementor-widget-wrap {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	position: relative !important;
	padding-top: 7rem !important;
	padding-bottom: 7rem !important;
}

body.home .duende-native-kicker,
body.home .duende-native-clock {
	position: absolute !important;
	top: 6rem !important;
	z-index: 3 !important;
	width: auto !important;
}

body.home .duende-native-kicker {
	left: 0 !important;
	margin-left: calc((min(90rem, 100vw) - 100vw) / 2) !important;
}

body.home .duende-native-clock {
	right: 0 !important;
	left: auto !important;
	margin-right: calc((min(90rem, 100vw) - 100vw) / 2) !important;
}

body.home .duende-native-kicker .elementor-heading-title,
body.home .duende-native-clock .elementor-heading-title {
	color: rgba(255, 255, 255, 0.5) !important;
	font-family: var(--duende-display) !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	line-height: 1rem !important;
	letter-spacing: 0.25em !important;
	text-transform: uppercase !important;
	font-variant-numeric: tabular-nums;
}

body.home .duende-native-title {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	z-index: 2 !important;
	margin: 0 !important;
	width: 100% !important;
}

body.home .duende-native-title .elementor-heading-title {
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-family: var(--duende-display) !important;
	font-size: clamp(5rem, 9.5vw, 11.4rem) !important;
	font-weight: 900 !important;
	line-height: 0.88 !important;
	letter-spacing: -0.03em !important;
	font-optical-sizing: auto !important;
	font-variation-settings: "opsz" 96 !important;
}

body.home .duende-native-title .duende-hero-line {
	display: block !important;
}

body.home .duende-native-title .duende-hero-line-b {
	display: inline-block;
	white-space: nowrap;
}

body.home .duende-native-title .duende-hero-line-b em,
body.home .duende-native-title .duende-hero-title-c {
	display: inline !important;
}

body.home .duende-native-title em {
	color: #fff !important;
	font-family: var(--duende-serif) !important;
	font-style: italic !important;
	font-weight: 500 !important;
	letter-spacing: -0.03em !important;
}

body.home .duende-native-title .duende-hero-title-c {
	color: rgba(255, 255, 255, 0.95) !important;
	font-family: var(--duende-display) !important;
	font-style: normal !important;
	font-weight: 900 !important;
}

body.home .duende-native-hero .duende-native-lead {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: min(36rem, 41.666%) !important;
	margin: 3.5rem 0 0 58.333% !important;
	z-index: 2 !important;
}

body.home .duende-native-hero .duende-native-lead,
body.home .duende-native-hero .duende-native-lead .elementor-widget-container {
	color: rgba(255, 255, 255, 0.7) !important;
	font-family: var(--duende-body) !important;
	font-size: 1.125rem !important;
	font-weight: 400 !important;
	line-height: 1.625 !important;
}

body.home .duende-hero-meta-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	margin-top: 4rem !important;
	position: relative !important;
	z-index: 2 !important;
}

body.home .duende-hero-meta-row .duende-native-scroll,
body.home .duende-hero-meta-row .duende-native-est {
	position: relative !important;
	top: auto !important;
	bottom: auto !important;
	left: auto !important;
	right: auto !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.home .duende-native-scroll .elementor-widget-container,
body.home .duende-scroll-hint {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
}

body.home .duende-native-scroll .elementor-heading-title,
body.home .duende-native-est .elementor-heading-title,
body.home .duende-scroll-label {
	color: rgba(255, 255, 255, 0.5) !important;
	font-family: var(--duende-display) !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	line-height: 1rem !important;
	letter-spacing: 0.3em !important;
	text-transform: uppercase !important;
}

body.home .duende-native-est .elementor-heading-title {
	color: rgba(255, 255, 255, 0.4) !important;
}

body.home .duende-scroll-arrow {
	flex: 0 0 auto;
	color: rgba(255, 255, 255, 0.5);
	animation: duende-scroll-bounce 1.4s ease-in-out infinite;
}

@keyframes duende-scroll-bounce {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(4px);
	}
}

body.home .duende-native-marquee {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	transform: none !important;
	width: calc(100vw - (100vw - 100%) / 2 * 0) !important;
	max-width: 100vw !important;
	margin-top: 2.5rem !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 1rem 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
	overflow: hidden !important;
	z-index: 2 !important;
	background: transparent !important;
	opacity: 1 !important;
}

body.home .duende-native-marquee .elementor-widget-container {
	display: block !important;
	width: 100% !important;
	overflow: hidden !important;
	padding: 0 !important;
	animation: none !important;
}

body.home .duende-native-marquee .duende-marquee-track {
	display: flex !important;
	width: max-content !important;
	animation: duende-marquee-ref 40s linear infinite !important;
}

@keyframes duende-marquee-ref {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

body.home .duende-native-marquee span {
	display: inline-block !important;
	margin-inline: 2rem !important;
	color: #fff !important;
	font-family: var(--duende-display) !important;
	font-size: clamp(1.875rem, 3vw, 3rem) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: -0.025em !important;
	font-optical-sizing: auto !important;
	font-variation-settings: "opsz" 96 !important;
	white-space: nowrap !important;
}

body.home .duende-native-marquee b {
	margin-inline: 1.5rem !important;
	color: #fff !important;
	font-weight: 700 !important;
}

@media (min-width: 1025px) {
	body.home .duende-native-marquee span {
		font-size: 3rem !important;
	}
}

@media (max-width: 1024px) {
	body.home .duende-native-hero .elementor-widget-wrap {
		padding-top: 6rem !important;
		padding-bottom: 5rem !important;
	}

	body.home .duende-native-title .elementor-heading-title {
		font-size: clamp(3.5rem, 18vw, 5.8rem) !important;
	}

	body.home .duende-native-hero .duende-native-lead {
		width: 100% !important;
		margin-left: 0 !important;
		margin-top: 2.5rem !important;
	}

	body.home .duende-native-clock .elementor-heading-title {
		display: none !important;
	}
}

/* Section labels */
body.home .duende-native-label .elementor-heading-title {
	color: #fff !important;
	font-family: var(--duende-display) !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0.3em !important;
	text-transform: uppercase;
}

/* Manifesto heading parity */
body.home .duende-native-manifesto-title .elementor-heading-title {
	color: #fff !important;
	font-family: var(--duende-display) !important;
	font-weight: 500 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.05 !important;
}

body.home .duende-native-manifesto-title .duende-manifesto-word:first-child {
	font-family: var(--duende-serif) !important;
	font-style: italic !important;
	color: #fff !important;
	font-weight: 500 !important;
}

body.home .duende-native-manifesto-title em {
	color: #fff !important;
	font-family: var(--duende-display) !important;
	font-style: normal !important;
	font-weight: 500 !important;
}

body.home .duende-native-section:nth-of-type(2) {
	padding-top: clamp(5rem, 8vw, 11rem) !important;
	padding-bottom: clamp(5rem, 8vw, 9.5rem) !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	background: transparent !important;
	isolation: isolate;
	z-index: 1;
}

body.home .duende-native-section:nth-of-type(2)::after {
	content: none !important;
	display: none !important;
}

body.home .duende-native-section:nth-of-type(2) .duende-native-text,
body.home .duende-native-section:nth-of-type(2) .duende-native-text .elementor-widget-container {
	margin-top: 3rem !important;
	max-width: 48rem !important;
	font-size: clamp(1rem, 1.1vw, 1.125rem) !important;
	line-height: 1.625 !important;
}

@media (min-width: 1025px) {
	body.home .duende-native-manifesto-title .elementor-heading-title {
		font-size: 3.75rem !important;
		line-height: 1 !important;
	}
}

/* Body copy */
body.home .duende-native-text,
body.home .duende-native-text .elementor-widget-container {
	color: rgba(255, 255, 255, 0.6) !important;
}

body.home .duende-native-hero .duende-native-lead,
body.home .duende-native-hero .duende-native-lead .elementor-widget-container {
	color: rgba(255, 255, 255, 0.7) !important;
}

/* Services block — unified #services (reference: py-28 md:py-40, single border-t) */
body.home .duende-native-section:has(+ .duende-native-services-wrap),
body.home .duende-services-header {
	position: relative;
	z-index: 2;
	overflow: visible;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	background: transparent !important;
	padding-top: 7rem !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

body.home .duende-native-services-wrap {
	position: relative;
	z-index: 2;
	border-top: 0 !important;
	margin-top: 0 !important;
	background: transparent !important;
	padding-top: 0 !important;
	padding-bottom: 7rem !important;
}

body.home .duende-native-section:has(+ .duende-native-services-wrap)::after {
	content: none !important;
	display: none !important;
}

@media (min-width: 768px) {
	body.home .duende-native-section:has(+ .duende-native-services-wrap) {
		padding-top: 10rem !important;
	}

	body.home .duende-native-services-wrap {
		padding-bottom: 10rem !important;
	}
}

body.home .duende-native-section:has(+ .duende-native-services-wrap) > .elementor-container {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: 1.5rem !important;
	align-items: start !important;
	width: min(90rem, 100%) !important;
	max-width: 90rem !important;
	margin-inline: auto !important;
	padding-inline: clamp(1.5rem, 3vw, 3rem) !important;
}

body.home .duende-native-section:has(+ .duende-native-services-wrap) > .elementor-container > .elementor-column:nth-child(1) {
	grid-column: span 3 !important;
}

body.home .duende-native-section:has(+ .duende-native-services-wrap) > .elementor-container > .elementor-column:nth-child(2) {
	grid-column: span 9 !important;
}

@media (max-width: 767px) {
	body.home .duende-native-section:has(+ .duende-native-services-wrap) > .elementor-container > .elementor-column:nth-child(1),
	body.home .duende-native-section:has(+ .duende-native-services-wrap) > .elementor-container > .elementor-column:nth-child(2) {
		grid-column: span 12 !important;
	}
}

body.home .duende-native-section:has(+ .duende-native-services-wrap) .duende-native-label,
body.home .duende-native-section:has(+ .duende-native-services-wrap) .duende-native-h2,
body.home .duende-native-section:has(+ .duende-native-services-wrap) .duende-native-text {
	text-align: start !important;
}

body.home .duende-native-section:has(+ .duende-native-services-wrap) .duende-native-h2 .elementor-heading-title,
body.home .duende-native-section:has(+ .duende-native-services-wrap) .duende-native-text .elementor-widget-container {
	margin-left: 0 !important;
	margin-right: auto !important;
}

body.home .duende-native-section:has(+ .duende-native-services-wrap) .duende-native-h2 .elementor-heading-title {
	font-size: clamp(3rem, 5vw, 4.5rem) !important;
	font-weight: 600 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.02em !important;
}

body.home .duende-native-section:has(+ .duende-native-services-wrap) .duende-native-text,
body.home .duende-native-section:has(+ .duende-native-services-wrap) .duende-native-text .elementor-widget-container {
	margin-top: 2rem !important;
	max-width: 42rem !important;
	font-size: clamp(1rem, 1.1vw, 1.125rem) !important;
	line-height: 1.625 !important;
}

body.home .duende-native-section:has(+ .duende-native-services-wrap) > .elementor-container {
	margin-bottom: 4rem !important;
}

@media (min-width: 768px) {
	body.home .duende-native-section:has(+ .duende-native-services-wrap) > .elementor-container {
		margin-bottom: 6rem !important;
	}
}

body.home .duende-native-services-wrap > .elementor-container {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: 2rem !important;
	align-items: start !important;
	width: min(90rem, 100%) !important;
	max-width: 90rem !important;
	margin-inline: auto !important;
	padding-inline: clamp(1.5rem, 3vw, 3rem) !important;
}

body.home .duende-native-services-wrap > .elementor-container > .elementor-column:nth-child(1) {
	grid-column: span 12 !important;
}

body.home .duende-native-services-wrap > .elementor-container > .elementor-column:nth-child(2) {
	grid-column: span 12 !important;
}

@media (min-width: 1025px) {
	body.home .duende-native-services-wrap > .elementor-container > .elementor-column:nth-child(1) {
		grid-column: span 7 !important;
	}

	body.home .duende-native-services-wrap > .elementor-container > .elementor-column:nth-child(2) {
		grid-column: span 5 !important;
	}

	body.home .duende-native-section:has(+ .duende-native-services-wrap) .duende-native-h2 .elementor-heading-title {
		font-size: 4.5rem !important;
	}
}

body.home .duende-native-service-row {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
	padding: 1.75rem 0 !important;
	cursor: pointer;
}

@media (min-width: 768px) {
	body.home .duende-native-service-row {
		padding: 2.25rem 0 !important;
	}
}

body.home .duende-native-service-row:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.home .duende-native-service-row::after {
	display: none !important;
}

body.home .duende-native-service-row .duende-red-bar {
	display: none !important;
}

body.home .duende-native-service-row:not(.is-active) .duende-native-service-title .elementor-heading-title,
body.home .duende-native-service-row:not(.is-active):hover .duende-native-service-title .elementor-heading-title,
body.home .duende-native-service-row:not(.is-active):focus-within .duende-native-service-title .elementor-heading-title,
body.home .duende-native-service-row.is-active .duende-native-service-title .elementor-heading-title,
body.home .duende-native-service-row.is-active:hover .duende-native-service-title .elementor-heading-title,
body.home .duende-native-service-row:hover .duende-native-service-title .elementor-heading-title {
	color: #fff !important;
}

body.home .duende-native-service-row:not(.is-active) .duende-native-service-desc,
body.home .duende-native-service-row:not(.is-active) .duende-native-service-tags,
body.home .duende-native-service-row:not(.is-active):hover .duende-native-service-desc,
body.home .duende-native-service-row:not(.is-active):hover .duende-native-service-tags,
body.home .duende-native-service-row:not(.is-active):focus-within .duende-native-service-desc,
body.home .duende-native-service-row:not(.is-active):focus-within .duende-native-service-tags {
	max-height: 0 !important;
	opacity: 0 !important;
	margin-top: 0 !important;
	transform: translateY(-0.25rem) !important;
}

body.home .duende-native-service-no .elementor-heading-title {
	color: rgba(255, 255, 255, 0.4) !important;
	font-family: var(--duende-display) !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	font-variant-numeric: tabular-nums;
}

body.home .duende-native-service-title .elementor-heading-title {
	color: #fff !important;
	font-family: var(--duende-display) !important;
	font-size: 1.875rem !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em !important;
	transition: color 0.5s ease !important;
}

@media (min-width: 768px) {
	body.home .duende-native-service-title .elementor-heading-title {
		font-size: 3rem !important;
	}
}

body.home .duende-native-service-row .duende-service-arrow {
	grid-area: arrow !important;
	align-self: start !important;
	flex: 0 0 auto;
	flex-shrink: 0;
	margin-top: 0.5rem;
	width: 1.75rem;
	height: 1.75rem;
	color: rgba(255, 255, 255, 0.4);
	transform: rotate(-45deg);
	transition:
		color 0.5s ease,
		transform 0.5s ease;
}

body.home .duende-native-service-row.is-active .duende-service-arrow {
	color: rgba(255, 255, 255, 0.4) !important;
	transform: rotate(0deg);
}

body.home .duende-native-service-row:not(.is-active) .duende-service-arrow {
	color: rgba(255, 255, 255, 0.4) !important;
	transform: rotate(-45deg) !important;
}

body.home .duende-native-service-row .duende-native-service-desc,
body.home .duende-native-service-row .duende-native-service-tags {
	max-height: 0 !important;
	opacity: 0;
	overflow: hidden;
	margin-top: 0 !important;
	transform: translateY(-0.25rem);
	transition:
		max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1),
		opacity 0.35s ease,
		transform 0.35s ease,
		margin 0.35s ease !important;
}

body.home .duende-native-service-row.is-active .duende-native-service-desc,
body.home .duende-native-service-row.is-active .duende-native-service-tags {
	max-height: 12rem !important;
	opacity: 1;
	transform: translateY(0);
}

body.home .duende-native-service-desc,
body.home .duende-native-service-desc .elementor-widget-container {
	color: rgba(255, 255, 255, 0.6) !important;
	font-size: 1rem !important;
	line-height: 1.65 !important;
	max-width: 36rem !important;
}

body.home .duende-native-service-row.is-active .duende-native-service-desc {
	margin-top: 1rem !important;
}

body.home .duende-native-service-row.is-active .duende-native-service-tags {
	margin-top: 1rem !important;
}

body.home .duende-native-service-tags,
body.home .duende-native-service-tags .elementor-widget-container {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
}

body.home .duende-native-service-tags span {
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	padding: 0.25rem 0.625rem !important;
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 0.625rem !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase;
}

body.home .duende-native-service-row .elementor-widget-wrap {
	display: grid !important;
	grid-template-columns: 3.5rem minmax(0, 1fr) 1.75rem !important;
	grid-template-areas:
		"no title arrow"
		". desc ."
		". tags ." !important;
	column-gap: clamp(1.5rem, 2.5vw, 2.5rem) !important;
	row-gap: 0 !important;
	align-items: start !important;
}

@media (min-width: 768px) {
	body.home .duende-native-service-row .elementor-widget-wrap {
		column-gap: 2.5rem !important;
	}
}

body.home .duende-native-service-no {
	grid-area: no !important;
	align-self: start !important;
	justify-self: start !important;
	width: 3.5rem !important;
	padding-top: 0.375rem !important;
	padding-left: 0 !important;
	text-align: left !important;
	margin-right: -0.3em !important;
}

@media (min-width: 768px) {
	body.home .duende-native-service-no {
		padding-top: 0.5rem !important;
	}
}

body.home .duende-native-service-title {
	grid-area: title !important;
	align-self: start !important;
}

body.home .duende-native-service-desc {
	grid-area: desc !important;
}

body.home .duende-native-service-tags {
	grid-area: tags !important;
}

body.home .duende-services-view-all {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 2.5rem;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	color: rgba(255, 255, 255, 0.8) !important;
	font-family: var(--duende-body) !important;
	font-size: 0.875rem !important;
	letter-spacing: 0.02em;
	text-decoration: none !important;
	transition:
		color 0.3s ease,
		border-color 0.3s ease;
}

body.home .duende-services-view-all:hover {
	color: var(--duende-accent) !important;
	border-bottom-color: var(--duende-accent) !important;
}

body.home .duende-native-service-image {
	position: sticky !important;
	top: 7rem !important;
	display: none !important;
	overflow: hidden !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	aspect-ratio: 4 / 5 !important;
}

@media (min-width: 1025px) {
	body.home .duende-native-service-image {
		display: block !important;
	}
}

body.home .duende-service-image-panel {
	position: relative;
	width: 100%;
	height: 100%;
}

body.home .duende-native-service-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border: 0 !important;
	transition:
		opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

body.home .duende-native-service-image img.is-swapping {
	opacity: 0;
	transform: none;
}

body.home .duende-service-image-gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, #050714 0%, transparent 45%, transparent 100%);
	pointer-events: none;
}

body.home .duende-service-caption {
	position: absolute;
	left: 1.5rem;
	right: 1.5rem;
	bottom: 1.5rem;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	text-align: left;
	pointer-events: none;
}

body.home .duende-service-caption-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	min-width: 0;
	text-align: left;
}

body.home .duende-service-caption-tag {
	display: block;
	width: max-content;
	max-width: 100%;
	text-align: left;
	color: rgba(255, 255, 255, 0.6);
	font-family: var(--duende-display);
	font-size: 0.75rem;
	font-weight: 400;
	font-variant-numeric: tabular-nums;
	line-height: 1;
	letter-spacing: 0.3em;
	margin-right: -0.3em;
	text-transform: uppercase;
}

body.home .duende-service-caption-title {
	display: block;
	width: 100%;
	max-width: 100%;
	text-align: left;
	margin-top: 0.5rem;
	color: #fff;
	font-family: var(--duende-display);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

/* Works block — unified #work (reference: py-28 md:py-40, single border-t) */
body.home .duende-native-section:has(+ .duende-native-work-grid),
body.home .duende-works-header {
	position: relative;
	z-index: 2;
	overflow: visible;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	background: transparent !important;
	padding-top: 7rem !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

body.home .duende-native-work-grid {
	position: relative;
	z-index: 2;
	border-top: 0 !important;
	margin-top: 0 !important;
	background: transparent !important;
	padding-top: 0 !important;
	padding-bottom: 7rem !important;
}

body.home .duende-native-section:has(+ .duende-native-work-grid)::after {
	content: none !important;
	display: none !important;
}

@media (min-width: 768px) {
	body.home .duende-native-section:has(+ .duende-native-work-grid) {
		padding-top: 10rem !important;
	}

	body.home .duende-native-work-grid {
		padding-bottom: 10rem !important;
	}
}

body.home .duende-native-section:has(+ .duende-native-work-grid) > .elementor-container {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: 1.5rem !important;
	align-items: start !important;
	width: min(90rem, 100%) !important;
	max-width: 90rem !important;
	margin-inline: auto !important;
	padding-inline: clamp(1.5rem, 3vw, 3rem) !important;
	margin-bottom: 4rem !important;
}

@media (min-width: 768px) {
	body.home .duende-native-section:has(+ .duende-native-work-grid) > .elementor-container {
		margin-bottom: 6rem !important;
	}
}

body.home .duende-native-section:has(+ .duende-native-work-grid) > .elementor-container > .elementor-column:nth-child(1) {
	grid-column: span 3 !important;
}

body.home .duende-native-section:has(+ .duende-native-work-grid) > .elementor-container > .elementor-column:nth-child(2) {
	grid-column: span 9 !important;
}

@media (max-width: 767px) {
	body.home .duende-native-section:has(+ .duende-native-work-grid) > .elementor-container > .elementor-column:nth-child(1),
	body.home .duende-native-section:has(+ .duende-native-work-grid) > .elementor-container > .elementor-column:nth-child(2) {
		grid-column: span 12 !important;
	}
}

body.home .duende-native-section:has(+ .duende-native-work-grid) .duende-native-label,
body.home .duende-native-section:has(+ .duende-native-work-grid) .duende-native-h2 {
	text-align: start !important;
}

body.home .duende-native-section:has(+ .duende-native-work-grid) .duende-native-label .elementor-heading-title {
	color: #fff !important;
	font-weight: 400 !important;
}

body.home .duende-native-section:has(+ .duende-native-work-grid) .duende-native-h2 .elementor-heading-title {
	margin-left: 0 !important;
	margin-right: auto !important;
	max-width: 48rem !important;
	font-size: clamp(2.25rem, 5vw, 3.75rem) !important;
	font-weight: 600 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.02em !important;
}

body.home .duende-works-head-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	width: 100%;
}

body.home .duende-works-head-row .duende-native-h2 {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0 !important;
}

body.home .duende-works-view-all {
	display: none;
	align-items: center;
	gap: 0.5rem;
	flex: 0 0 auto;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	color: rgba(255, 255, 255, 0.7) !important;
	font-family: var(--duende-body) !important;
	font-size: 0.875rem !important;
	letter-spacing: 0.02em;
	text-decoration: none !important;
	white-space: nowrap;
	transition:
		color 0.3s ease,
		border-color 0.3s ease;
}

@media (min-width: 768px) {
	body.home .duende-works-view-all {
		display: inline-flex;
	}
}

body.home .duende-works-view-all:hover {
	color: #fff !important;
	border-bottom-color: var(--duende-accent) !important;
}

body.home .duende-works-view-all-mobile {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	grid-column: 1 / -1;
	margin-top: 2.5rem;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	color: rgba(255, 255, 255, 0.8) !important;
	font-family: var(--duende-body) !important;
	font-size: 0.875rem !important;
	text-decoration: none !important;
}

@media (min-width: 768px) {
	body.home .duende-works-view-all-mobile {
		display: none !important;
	}
}

body.home .duende-native-work-grid .duende-works-grid__cards {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: 1rem !important;
	align-items: stretch !important;
	width: min(90rem, 100%) !important;
	max-width: 90rem !important;
	margin-inline: auto !important;
	padding-inline: clamp(1.5rem, 3vw, 3rem) !important;
}

@media (min-width: 768px) {
	body.home .duende-native-work-grid .duende-works-grid__cards {
		gap: 1.5rem !important;
	}
}

body.home .duende-native-work-grid > .elementor-container > .duende-native-work-card,
body.home .duende-native-work-grid .duende-works-grid__cards > .duende-native-work-card {
	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	min-height: 0 !important;
	position: relative !important;
	overflow: hidden !important;
	background: #0a0e27 !important;
	align-self: stretch !important;
}

body.home .duende-native-work-grid > .elementor-container > .duende-native-work-card.duende-work-card--wide,
body.home .duende-native-work-grid .duende-works-grid__cards > .duende-native-work-card.duende-work-card--wide {
	grid-column: span 12 !important;
	aspect-ratio: 16 / 10 !important;
}

body.home .duende-native-work-grid > .elementor-container > .duende-native-work-card.duende-work-card--tall,
body.home .duende-native-work-grid .duende-works-grid__cards > .duende-native-work-card.duende-work-card--tall {
	grid-column: span 12 !important;
	aspect-ratio: 4 / 5 !important;
}

@media (min-width: 768px) {
	body.home .duende-native-work-grid .duende-works-grid__cards {
		column-gap: 1.5rem !important;
		row-gap: 1.5rem !important;
	}

	body.home .duende-native-work-grid > .elementor-container > .duende-native-work-card.duende-work-card--wide,
	body.home .duende-native-work-grid .duende-works-grid__cards > .duende-native-work-card.duende-work-card--wide {
		grid-column: span 7 !important;
		aspect-ratio: unset !important;
		height: auto !important;
	}

	body.home .duende-native-work-grid > .elementor-container > .duende-native-work-card.duende-work-card--tall,
	body.home .duende-native-work-grid .duende-works-grid__cards > .duende-native-work-card.duende-work-card--tall {
		grid-column: span 5 !important;
		aspect-ratio: 4 / 5 !important;
		height: auto !important;
	}
}

body.home .duende-native-work-card .elementor-widget-wrap {
	position: relative !important;
	height: 100% !important;
	min-height: 0 !important;
}

body.home .duende-native-work-image,
body.home .duende-native-work-image .elementor-widget-container {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}

body.home .duende-native-work-card img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	object-fit: cover !important;
	opacity: 0.9 !important;
	transition:
		transform 1.2s cubic-bezier(0.16, 1, 0.3, 1),
		opacity 0.35s ease !important;
}

body.home .duende-native-work-card:hover img {
	transform: scale(1.05) !important;
	opacity: 1 !important;
}

body.home .duende-native-work-card::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(to top, #050714 0%, rgba(5, 7, 20, 0.3) 45%, transparent 100%) !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

body.home .duende-work-card-top,
body.home .duende-work-card-bottom {
	position: absolute !important;
	left: 1.25rem !important;
	right: 1.25rem !important;
	z-index: 2 !important;
}

body.home .duende-work-card-top {
	top: 1.25rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem !important;
}

body.home .duende-work-card-bottom {
	bottom: 1.25rem !important;
}

body.home .duende-native-work-card .duende-native-work-year,
body.home .duende-native-work-card .duende-native-work-client,
body.home .duende-native-work-card .duende-native-work-title,
body.home .duende-native-work-card .duende-native-work-cat {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
}

body.home .duende-native-work-year .elementor-heading-title {
	color: rgba(255, 255, 255, 0.8) !important;
	font-family: var(--duende-body) !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase;
}

body.home .duende-work-card-arrow {
	flex: 0 0 auto;
	width: 1.125rem;
	height: 1.125rem;
	color: rgba(255, 255, 255, 0.8);
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

body.home .duende-native-work-card:hover .duende-work-card-arrow {
	transform: rotate(45deg);
}

body.home .duende-native-work-client .elementor-heading-title {
	color: #fff !important;
	font-family: var(--duende-body) !important;
	font-size: 0.625rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.3em !important;
	text-transform: uppercase;
}

body.home .duende-native-work-title .elementor-heading-title {
	margin-top: 0.5rem !important;
	color: #fff !important;
	font-family: var(--duende-display) !important;
	font-size: 1.5rem !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.01em !important;
}

@media (min-width: 768px) {
	body.home .duende-native-work-title .elementor-heading-title {
		font-size: 1.875rem !important;
	}
}

body.home .duende-native-work-cat,
body.home .duende-native-work-cat .elementor-widget-container {
	margin-top: 0.25rem !important;
	color: rgba(255, 255, 255, 0.6) !important;
	font-family: var(--duende-body) !important;
	font-size: 0.75rem !important;
	line-height: 1.4 !important;
}

@media (min-width: 768px) {
	body.home .duende-native-work-cat,
	body.home .duende-native-work-cat .elementor-widget-container {
		font-size: 0.875rem !important;
	}
}

/* Stats — #stats reference parity */
body.home .duende-native-stats-section {
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	background: #06081c !important;
	padding-top: 6rem !important;
	padding-bottom: 6rem !important;
}

@media (min-width: 768px) {
	body.home .duende-native-stats-section {
		padding-top: 8rem !important;
		padding-bottom: 8rem !important;
	}
}

body.home .duende-native-stats-section > .elementor-container {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	row-gap: 3rem !important;
	column-gap: 0 !important;
	width: min(90rem, 100%) !important;
	max-width: 90rem !important;
	margin-inline: auto !important;
	padding-inline: clamp(1.5rem, 3vw, 3rem) !important;
}

@media (min-width: 768px) {
	body.home .duende-native-stats-section > .elementor-container {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		row-gap: 0 !important;
	}
}

body.home .duende-native-stats-section > .elementor-container > .elementor-column {
	width: auto !important;
	min-width: 0 !important;
}

body.home .duende-native-stats-section > .elementor-container > .elementor-column:first-child {
	grid-column: 1 / -1 !important;
	margin-bottom: 2.5rem !important;
}

body.home .duende-native-stats-section > .elementor-container > .elementor-column:not(:first-child) {
	padding-inline: 1rem !important;
}

@media (min-width: 768px) {
	body.home .duende-native-stats-section > .elementor-container > .elementor-column:not(:first-child):not(:last-child) {
		border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
	}
}

body.home .duende-native-stats-section .duende-native-label .elementor-heading-title {
	color: #fff !important;
	font-family: var(--duende-body) !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.3em !important;
	text-transform: uppercase !important;
}

body.home .duende-native-stat .elementor-counter {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	text-align: start !important;
}

body.home .duende-native-stat .elementor-counter-number-wrapper {
	order: 1 !important;
	display: flex !important;
	align-items: baseline !important;
	margin: 0 !important;
	font-family: var(--duende-display) !important;
	font-size: clamp(3.75rem, 8vw, 6rem) !important;
	font-weight: 600 !important;
	letter-spacing: -0.04em !important;
	line-height: 1 !important;
	color: #fff !important;
	font-variant-numeric: tabular-nums !important;
}

@media (min-width: 768px) {
	body.home .duende-native-stat .elementor-counter-number-wrapper {
		font-size: 4.5rem !important;
	}
}

@media (min-width: 1024px) {
	body.home .duende-native-stat .elementor-counter-number-wrapper {
		font-size: 6rem !important;
	}
}

body.home .duende-native-stat .elementor-counter-number,
body.home .duende-native-stat .elementor-counter-number-prefix,
body.home .duende-native-stat .elementor-counter-number-suffix {
	font: inherit !important;
	color: inherit !important;
	letter-spacing: inherit !important;
	line-height: inherit !important;
}

body.home .duende-native-stat .elementor-counter-title {
	order: 2 !important;
	margin-top: 1rem !important;
	margin-bottom: 0 !important;
	color: rgba(255, 255, 255, 0.5) !important;
	font-family: var(--duende-body) !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	line-height: 1.4 !important;
}

@media (min-width: 768px) {
	body.home .duende-native-stat .elementor-counter-title {
		font-size: 0.875rem !important;
	}
}

/* Process block — unified #process (reference: py-28 md:py-40) */
body.home .elementor-element-7f56505,
body.home .duende-process-header {
	position: relative;
	z-index: 2;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	background: transparent !important;
	padding-top: 7rem !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

@media (min-width: 768px) {
	body.home .elementor-element-7f56505,
	body.home .duende-process-header {
		padding-top: 10rem !important;
	}
}

body.home .elementor-element-7f56505 > .elementor-container,
body.home .duende-process-header > .elementor-container {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: 1.5rem !important;
	align-items: start !important;
	width: min(90rem, 100%) !important;
	max-width: 90rem !important;
	margin-inline: auto !important;
	padding-inline: clamp(1.5rem, 3vw, 3rem) !important;
	margin-bottom: 4rem !important;
}

@media (min-width: 768px) {
	body.home .elementor-element-7f56505 > .elementor-container,
	body.home .duende-process-header > .elementor-container {
		margin-bottom: 5rem !important;
	}
}

body.home .elementor-element-7f56505 > .elementor-container > .elementor-column,
body.home .duende-process-header > .elementor-container > .elementor-column {
	width: auto !important;
	min-width: 0 !important;
}

body.home .elementor-element-7f56505 > .elementor-container > .elementor-column:nth-child(1),
body.home .duende-process-header > .elementor-container > .elementor-column:nth-child(1) {
	grid-column: span 12 !important;
}

body.home .elementor-element-7f56505 > .elementor-container > .elementor-column:nth-child(2),
body.home .duende-process-header > .elementor-container > .elementor-column:nth-child(2) {
	grid-column: span 12 !important;
}

@media (min-width: 768px) {
	body.home .elementor-element-7f56505 > .elementor-container > .elementor-column:nth-child(1),
	body.home .duende-process-header > .elementor-container > .elementor-column:nth-child(1) {
		grid-column: span 3 !important;
	}

	body.home .elementor-element-7f56505 > .elementor-container > .elementor-column:nth-child(2),
	body.home .duende-process-header > .elementor-container > .elementor-column:nth-child(2) {
		grid-column: span 9 !important;
	}
}

body.home .elementor-element-7f56505 .duende-native-label,
body.home .elementor-element-7f56505 .duende-native-h2,
body.home .duende-process-header .duende-native-label,
body.home .duende-process-header .duende-native-h2 {
	text-align: start !important;
}

body.home .elementor-element-7f56505 .duende-native-label .elementor-heading-title,
body.home .duende-process-header .duende-native-label .elementor-heading-title {
	color: #fff !important;
	font-family: var(--duende-body) !important;
	font-weight: 400 !important;
}

body.home .elementor-element-7f56505 .duende-native-h2 .elementor-heading-title,
body.home .duende-process-header .duende-native-h2 .elementor-heading-title {
	margin-left: 0 !important;
	margin-right: auto !important;
	max-width: none !important;
	width: 100% !important;
	font-size: clamp(2.25rem, 5vw, 3.75rem) !important;
	font-weight: 600 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.02em !important;
	color: #fff !important;
	white-space: normal !important;
}

body.home .duende-native-process-grid,
body.home .elementor-element-441fdcd {
	border-top: 0 !important;
	margin-top: 0 !important;
	margin-inline: auto !important;
	padding-top: 0 !important;
	padding-bottom: 7rem !important;
	padding-inline: clamp(1.5rem, 3vw, 3rem) !important;
	width: min(90rem, 100%) !important;
	max-width: 90rem !important;
	background: transparent !important;
}

@media (min-width: 768px) {
	body.home .duende-native-process-grid,
	body.home .elementor-element-441fdcd {
		padding-bottom: 10rem !important;
	}
}

body.home .duende-native-process-grid > .elementor-container,
body.home .elementor-element-441fdcd > .elementor-container {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: 1px !important;
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
	padding-inline: 0 !important;
	background: rgba(255, 255, 255, 0.1) !important;
}

@media (min-width: 1024px) {
	body.home .duende-native-process-grid > .elementor-container {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

body.home .duende-native-process-grid > .elementor-container > .duende-native-process-card {
	grid-column: span 12 !important;
	width: auto !important;
	min-height: 280px !important;
	padding: 2rem !important;
	border: 0 !important;
	background-color: #050714 !important;
	transition: box-shadow 500ms ease, background-color 500ms ease !important;
}

@media (min-width: 768px) {
	body.home .duende-native-process-grid > .elementor-container > .duende-native-process-card {
		grid-column: span 6 !important;
		padding: 2.5rem !important;
	}
}

@media (min-width: 1024px) {
	body.home .duende-native-process-grid > .elementor-container > .duende-native-process-card {
		grid-column: auto !important;
	}
}

body.home .duende-native-process-grid > .elementor-container > .duende-native-process-card:hover,
body.home .duende-native-process-grid > .elementor-container > .duende-native-process-card.is-hover,
body.home .elementor-element-441fdcd > .elementor-container > .duende-native-process-card:hover,
body.home .elementor-element-441fdcd > .elementor-container > .duende-native-process-card.is-hover {
	box-shadow: inset 0 0 0 9999px #0a0e27 !important;
}

body.home .duende-native-process-card > .elementor-widget-wrap {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	height: 100% !important;
	min-height: 100% !important;
}

body.home .duende-process-card-top {
	display: block !important;
}

body.home .duende-native-process-grid .duende-native-process-no .elementor-heading-title,
body.home .elementor-element-441fdcd .duende-native-process-no .elementor-heading-title {
	color: #fff !important;
	font-family: var(--duende-serif) !important;
	font-size: 3rem !important;
	font-weight: 400 !important;
	font-style: italic !important;
	line-height: 1 !important;
}

body.home .duende-native-process-title .elementor-heading-title {
	margin-top: 1.5rem !important;
	margin-bottom: 0 !important;
	color: #fff !important;
	font-family: var(--duende-display) !important;
	font-size: 1.5rem !important;
	font-weight: 500 !important;
	letter-spacing: -0.01em !important;
	line-height: 1.1 !important;
}

@media (min-width: 768px) {
	body.home .duende-native-process-title .elementor-heading-title {
		font-size: 1.875rem !important;
	}
}

body.home .duende-native-process-card .duende-native-text {
	margin-top: 1.5rem !important;
}

body.home .duende-native-process-card .duende-native-text .elementor-widget-container {
	color: rgba(255, 255, 255, 0.55) !important;
	font-family: var(--duende-body) !important;
	font-size: 0.875rem !important;
	line-height: 1.625 !important;
}

@media (min-width: 768px) {
	body.home .duende-native-process-card .duende-native-text .elementor-widget-container {
		font-size: 1rem !important;
	}
}

/* Footer — reference Footer.jsx parity */
body.home .duende-native-footer-logo,
body.home .duende-native-footer-logo .elementor-widget-container,
body.home .duende-native-footer-logo .elementor-widget-container a {
	margin: 0 !important;
	text-align: left !important;
}

body.home .duende-native-footer-logo .elementor-widget-container a {
	display: block !important;
	width: fit-content !important;
}

body.home .duende-native-footer-logo img {
	height: 2.5rem !important;
	width: auto !important;
}

body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container > .elementor-column:first-child .duende-native-text .elementor-widget-container,
body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container > .elementor-column:first-child .duende-native-text p {
	margin: 2rem 0 0 !important;
	max-width: 36rem !important;
	color: rgba(255, 255, 255, 0.7) !important;
	font-family: var(--duende-serif) !important;
	font-size: clamp(1.5rem, 2vw, 1.875rem) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	line-height: 1.375 !important;
}

body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container > .elementor-column:first-child .duende-native-text em {
	font: inherit !important;
	color: inherit !important;
}

@media (min-width: 1024px) {
	body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		gap: 3.5rem !important;
	}

	body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container > .elementor-column:nth-child(1) {
		flex: 0 1 17.5rem !important;
		width: auto !important;
		max-width: 20rem !important;
		min-width: 0 !important;
	}

	body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container > .elementor-column:nth-child(n+2) {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container > .elementor-column:nth-child(2) {
		margin-left: 4rem !important;
	}

	body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container > .elementor-column:nth-child(4) {
		margin-left: 2rem !important;
	}
}

body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container > .elementor-column:not(:first-child) .elementor-widget-heading .elementor-heading-title {
	margin: 0 0 1.25rem !important;
	color: rgba(255, 255, 255, 0.4) !important;
	font-family: var(--duende-display) !important;
	font-size: 0.625rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.3em !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
}

body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container > .elementor-column:not(:first-child) .duende-native-text p {
	margin: 0 0 0.75rem !important;
}

body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) > .elementor-container > .elementor-column:not(:first-child) .duende-native-text p:last-child {
	margin-bottom: 0 !important;
}

body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) a {
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 0.875rem !important;
	line-height: 1.25rem !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
	white-space: normal !important;
}

body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) a.duende-footer-sub-link {
	padding-left: 0.75rem !important;
	color: rgba(255, 255, 255, 0.55) !important;
}

body.home .duende-native-footer:not(.duende-native-footer-bottom):not(.duende-native-footer-word) a:hover {
	color: var(--duende-accent) !important;
}

body.home .duende-native-footer-word {
	margin-top: 5rem !important;
	overflow: hidden !important;
}

body.home .duende-native-footer-word .elementor-heading-title {
	color: rgba(255, 255, 255, 0.95) !important;
	font-size: 22vw !important;
	font-weight: 900 !important;
	letter-spacing: -0.04em !important;
	line-height: 0.85 !important;
	text-transform: lowercase !important;
}

body.home .duende-native-footer-word .elementor-heading-title span {
	color: rgba(255, 255, 255, 0.95) !important;
}

body.home .duende-native-footer-bottom .elementor-widget-wrap,
body.home .duende-native-footer-bottom .elementor-widget-container,
body.home .duende-native-footer-bottom .duende-native-text {
	width: 100% !important;
}

body.home .duende-footer-bottomline {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	width: 100% !important;
	margin-top: 2.5rem !important;
	color: rgba(255, 255, 255, 0.4) !important;
	font-family: var(--duende-display) !important;
	font-size: 0.75rem !important;
	line-height: 1rem !important;
}

body.home .duende-footer-meta,
body.home .duende-footer-built {
	display: flex !important;
	align-items: center !important;
	gap: 1.5rem !important;
	flex-wrap: wrap !important;
}

body.home .duende-footer-built {
	flex-shrink: 0 !important;
}

body.home .duende-footer-bottomline a {
	color: rgba(255, 255, 255, 0.4) !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

body.home .duende-footer-bottomline a:hover {
	color: var(--duende-accent) !important;
}

body.home .duende-footer-lang {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 4rem !important;
	padding: 0.375rem 0.75rem !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	color: rgba(255, 255, 255, 0.75) !important;
	letter-spacing: 0.2em !important;
	cursor: pointer !important;
}

/* Focus ring */
body.home :focus-visible {
	outline: 2px solid var(--duende-accent);
	outline-offset: 2px;
}

/* ========== Scroll transitions (framer-motion parity) ========== */
body.home .duende-hero-scroll-layer {
	position: relative;
	z-index: 2;
	width: 100%;
	will-change: transform, opacity;
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

body.home .duende-reveal {
	opacity: 0;
	transform: translate3d(0, var(--duende-reveal-y, 28px), 0);
	transition:
		opacity var(--duende-reveal-duration, 1s) cubic-bezier(0.16, 1, 0.3, 1),
		transform var(--duende-reveal-duration, 1s) cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: var(--duende-reveal-delay, 0ms);
	will-change: opacity, transform;
}

body.home .duende-reveal.is-in {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

body.home .duende-reveal-manifesto .duende-manifesto-word {
	display: inline-block;
	margin-right: 0.25em;
	opacity: 0.15;
	transition: opacity 0.6s ease;
	transition-delay: var(--duende-word-delay, 0ms);
}

body.home .duende-reveal-manifesto .duende-manifesto-word:last-child {
	margin-right: 0;
}

body.home .duende-reveal-manifesto.is-in .duende-manifesto-word {
	opacity: 1;
}

body.home .duende-manifesto-parallax {
	position: absolute;
	right: -8rem;
	top: 50%;
	z-index: 0;
	pointer-events: none;
	user-select: none;
	opacity: 0.04;
	font-family: var(--duende-serif);
	font-style: italic;
	font-size: 28rem;
	line-height: 1;
	color: #fff;
	transform: translate3d(0, var(--duende-manifesto-parallax-y, 0), 0);
	will-change: transform;
}

body.home .duende-manifesto-parallax__img {
	display: block;
	width: 28rem;
	height: 28rem;
	max-width: none;
	object-fit: contain;
}

@media (prefers-reduced-motion: reduce) {
	body.home .duende-hero-scroll-layer,
	body.home .duende-manifesto-parallax {
		transform: none !important;
		opacity: 1 !important;
	}

	body.home .duende-reveal,
	body.home .duende-reveal-manifesto .duende-manifesto-word {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ── Cinematic loader (reference Loader.jsx parity) ── */

body.duende-loader-active {
	overflow: hidden !important;
}

#duende-loader.duende-loader {
	position: fixed;
	inset: 0;
	z-index: 100000;
	pointer-events: none;
	user-select: none;
	display: block;
	background: transparent;
	transition: none;
}

#duende-loader .duende-loader__top,
#duende-loader .duende-loader__bottom {
	position: absolute;
	left: 0;
	right: 0;
	height: 50%;
	background: #050714;
	overflow: hidden;
	transition: transform 0.95s cubic-bezier(0.83, 0, 0.17, 1);
	will-change: transform;
}

#duende-loader .duende-loader__top {
	top: 0;
}

#duende-loader .duende-loader__bottom {
	bottom: 0;
}

#duende-loader.is-exiting .duende-loader__top {
	transform: translateY(-100%);
}

#duende-loader.is-exiting .duende-loader__bottom {
	transform: translateY(100%);
}

#duende-loader.is-done {
	opacity: 0;
	visibility: hidden;
}

#duende-loader .duende-loader__glow {
	position: absolute;
	top: -10rem;
	left: 50%;
	width: 80vw;
	height: 80vw;
	border-radius: 999px;
	background: rgba(230, 57, 70, 0.15);
	filter: blur(140px);
	transform: translateX(-50%);
	pointer-events: none;
}

#duende-loader .duende-loader__brand {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5rem;
	display: flex;
	align-items: center;
	padding: 0 clamp(1.5rem, 3vw, 3rem);
}

#duende-loader .duende-loader__logo {
	height: clamp(1.75rem, 2.2vw, 2.25rem);
	width: auto;
	opacity: 0.9;
}

#duende-loader .duende-loader__brand-meta {
	position: absolute;
	top: 0;
	right: 0;
	height: 5rem;
	display: none;
	align-items: center;
	padding: 0 clamp(1.5rem, 3vw, 3rem);
	color: rgba(255, 255, 255, 0.4);
	font-family: var(--duende-display);
	font-size: 0.625rem;
	letter-spacing: 0.35em;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	#duende-loader .duende-loader__brand-meta {
		display: flex;
	}
}

#duende-loader .duende-loader__verb-wrap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 0.5rem;
}

#duende-loader .duende-loader__verb-reel {
	overflow: hidden;
	height: clamp(3.5rem, 12vw, 8rem);
	line-height: 1;
}

#duende-loader .duende-loader__verb {
	font-family: var(--duende-display);
	font-weight: 900;
	letter-spacing: -0.04em;
	font-size: clamp(3.5rem, 14vw, 9rem);
	color: #fff;
	transform: translateY(0);
	transition: transform 0.34s cubic-bezier(0.83, 0, 0.17, 1);
}

#duende-loader .duende-loader__verb.is-entering {
	transform: translateY(100%);
	transition: none;
}

#duende-loader .duende-loader__verb.is-exiting {
	transform: translateY(-100%);
}

#duende-loader .duende-loader__verb-dot {
	color: #fff;
}

#duende-loader .duende-loader__seam {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: rgba(255, 255, 255, 0.1);
}

#duende-loader .duende-loader__tagline {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
	padding-top: clamp(1.5rem, 2.5vw, 2rem);
	text-align: center;
	transform: none;
	color: rgba(255, 255, 255, 0.4);
	font-family: var(--duende-serif);
	font-style: italic;
	font-size: clamp(1rem, 2.2vw, 1.25rem);
	line-height: 1.2;
	white-space: nowrap;
	z-index: 2;
}

#duende-loader .duende-loader__footer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 0 clamp(1.5rem, 3vw, 3rem) clamp(1.75rem, 3vw, 2.5rem);
}

#duende-loader .duende-loader__meta {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	color: rgba(255, 255, 255, 0.4);
	font-family: var(--duende-display);
	font-size: 0.625rem;
	letter-spacing: 0.35em;
	text-transform: uppercase;
}

#duende-loader .duende-loader__count {
	color: rgba(255, 255, 255, 0.8);
	font-size: clamp(0.875rem, 1.2vw, 1rem);
	letter-spacing: 0.2em;
	font-variant-numeric: tabular-nums;
}

#duende-loader .duende-loader__bar {
	margin-top: 1rem;
	height: 1px;
	width: 100%;
	background: rgba(255, 255, 255, 0.1);
	position: relative;
	overflow: hidden;
}

#duende-loader .duende-loader__bar-fill {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 0;
	background: #fff;
	transition: width 0.08s linear;
}

#duende-loader .duende-loader__grain {
	position: absolute;
	inset: 0;
	opacity: 0.05;
	mix-blend-mode: overlay;
	pointer-events: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

@media (prefers-reduced-motion: reduce) {
	#duende-loader .duende-loader__top,
	#duende-loader .duende-loader__bottom {
		transition-duration: 0.2s;
	}

	#duende-loader .duende-loader__verb {
		transition: none;
	}
}

/* Beat style.css desktop services overrides */
@media (min-width: 1280px) {
	body.home .duende-native-section:has(+ .duende-native-services-wrap),
	body.home .duende-services-header {
		padding-top: 10rem !important;
		padding-bottom: 0 !important;
	}

	body.home .duende-native-services-wrap {
		margin-top: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 10rem !important;
		border-top: 0 !important;
	}
}
