/* Existing Elementor header: responsive layout only, no menu markup is added. */
:root {
	--tunixx-color-paper: #f4f2ee;
	--tunixx-color-ink: #2b2b2b;
	--tunixx-color-navy: #1e3a4b;
	--tunixx-color-sage: #7a846f;
	--tunixx-color-sand: #e6d9c3;
	--tunixx-color-coral: #c47a5a;
	--tunixx-font-body: "Satoshi", Arial, sans-serif;
	--tunixx-font-display: "Times New Roman", Georgia, serif;
	--tunixx-content-width: 1200px;
	--tunixx-radius: 24px;
	--tunixx-transition: .3s ease;
}

/* Force the first process connector itself to be centred at every breakpoint. */
body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd > .elementor-element-bb380bc {
	width: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
	flex: 0 0 auto !important;
}

/* Immobilien & Ankommen — seven services: a shared, compact card system. */
.tunixx-property-service-card {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	border: 1px solid rgba(43, 43, 43, .12);
	border-radius: 18px;
	background: linear-gradient(135deg, #ffffff 0%, #f4f2ee 100%) !important;
	box-shadow: 0 8px 24px rgba(33, 34, 31, .06);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.tunixx-property-service-card::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: #b7864a;
	opacity: .9;
}

.tunixx-property-service-card > .e-con-inner {
	display: grid !important;
	grid-template-columns: 58px minmax(0, 1fr);
	align-items: start !important;
	gap: 18px !important;
	min-height: 100%;
	padding: 26px 28px !important;
	box-sizing: border-box;
}

.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon,
.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon-wrapper {
	position: static !important;
	width: 58px !important;
	margin: 0 !important;
	transform: none !important;
}

.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	padding: 0 !important;
	border-radius: 50%;
	background: #2b2b2b !important;
	color: #fff !important;
}

.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon i,
.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon svg {
	color: #fff !important;
	fill: currentColor !important;
	font-size: 24px;
}

.tunixx-property-service-card > .e-con-inner > .e-con {
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

.tunixx-property-service-card .elementor-widget-heading {
	margin: 0 0 7px !important;
}

.tunixx-property-service-card .elementor-heading-title {
	margin: 0 !important;
	font-size: clamp(1.08rem, 1.45vw, 1.28rem) !important;
	line-height: 1.2 !important;
}

.tunixx-property-service-card .elementor-widget-text-editor,
.tunixx-property-service-card .elementor-widget-text-editor p {
	margin: 0 !important;
	font-size: .98rem;
	line-height: 1.5;
}

@media (hover: hover) {
	.tunixx-property-service-card:hover {
		transform: translateY(-4px);
		border-color: rgba(183, 134, 74, .5);
		box-shadow: 0 15px 32px rgba(33, 34, 31, .13);
	}
}

@media (max-width: 767px) {
	.tunixx-property-service-card > .e-con-inner {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 14px !important;
		padding: 21px 20px !important;
	}

	.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon,
	.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon-wrapper {
		width: 48px !important;
	}

	.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon {
		width: 48px;
		height: 48px;
	}

	.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon i,
	.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon svg {
		font-size: 21px;
	}
}

/* Immobilien & Ankommen — "Drei Bereiche. Ein Ansprechpartner."
 * Give the three offer cards one calm, premium visual system without
 * affecting the separate seven-service-card grid below. */
.elementor-element-5605952 .elementor-element-f43a991,
.elementor-element-5605952 .elementor-element-37744ec,
.elementor-element-5605952 .elementor-element-1578412 {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 22px;
	min-height: 390px;
	padding: clamp(26px, 3vw, 40px) !important;
	box-sizing: border-box;
	overflow: hidden;
	border: 1px solid rgba(43, 43, 43, .13);
	border-radius: 24px;
	background: linear-gradient(145deg, #ffffff 0%, #f4f2ee 100%) !important;
	box-shadow: 0 12px 30px rgba(33, 34, 31, .07);
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.elementor-element-5605952 .elementor-element-f43a991::after,
.elementor-element-5605952 .elementor-element-37744ec::after,
.elementor-element-5605952 .elementor-element-1578412::after {
	content: "";
	position: absolute;
	right: -54px;
	bottom: -54px;
	width: 148px;
	aspect-ratio: 1;
	border: 1px solid rgba(183, 134, 74, .24);
	border-radius: 50%;
	pointer-events: none;
}

.elementor-element-5605952 .elementor-element-f43a991:hover,
.elementor-element-5605952 .elementor-element-37744ec:hover,
.elementor-element-5605952 .elementor-element-1578412:hover {
	transform: translateY(-6px);
	border-color: rgba(183, 134, 74, .48);
	box-shadow: 0 18px 42px rgba(33, 34, 31, .13);
}

.elementor-element-5605952 .elementor-element-f43a991 > .e-con:first-child,
.elementor-element-5605952 .elementor-element-37744ec > .e-con:first-child,
.elementor-element-5605952 .elementor-element-1578412 > .e-con:first-child {
	width: auto !important;
	min-height: 220px !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto;
	border-radius: 18px !important;
	overflow: hidden;
}

/* Elementor uses these first inner containers as background-image holders.
 * Clip their background layers as well, otherwise only the left image edge
 * inherits the original Elementor radius. */
.elementor-element-5605952 .elementor-element-f43a991 > .e-con:first-child,
.elementor-element-5605952 .elementor-element-37744ec > .e-con:first-child,
.elementor-element-5605952 .elementor-element-1578412 > .e-con:first-child,
.elementor-element-5605952 .elementor-element-f43a991 > .e-con:first-child > .elementor-background-slideshow,
.elementor-element-5605952 .elementor-element-37744ec > .e-con:first-child > .elementor-background-slideshow,
.elementor-element-5605952 .elementor-element-1578412 > .e-con:first-child > .elementor-background-slideshow,
.elementor-element-5605952 .elementor-element-f43a991 > .e-con:first-child > .elementor-motion-effects-container,
.elementor-element-5605952 .elementor-element-37744ec > .e-con:first-child > .elementor-motion-effects-container,
.elementor-element-5605952 .elementor-element-1578412 > .e-con:first-child > .elementor-motion-effects-container {
	border-radius: 18px !important;
}

.elementor-element-5605952 .elementor-element-f43a991 .elementor-icon-wrapper,
.elementor-element-5605952 .elementor-element-37744ec .elementor-icon-wrapper,
.elementor-element-5605952 .elementor-element-1578412 .elementor-icon-wrapper {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #2b2b2b;
}

.elementor-element-5605952 .elementor-element-f43a991 .elementor-icon,
.elementor-element-5605952 .elementor-element-37744ec .elementor-icon,
.elementor-element-5605952 .elementor-element-1578412 .elementor-icon,
.elementor-element-5605952 .elementor-element-f43a991 .elementor-icon i,
.elementor-element-5605952 .elementor-element-37744ec .elementor-icon i,
.elementor-element-5605952 .elementor-element-1578412 .elementor-icon i {
	color: #fff !important;
	font-size: 25px;
}

.elementor-element-5605952 .elementor-element-f43a991 > .e-con:last-child,
.elementor-element-5605952 .elementor-element-37744ec > .e-con:last-child,
.elementor-element-5605952 .elementor-element-1578412 > .e-con:last-child {
	position: relative;
	z-index: 1;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-element-5605952 .elementor-element-f43a991 h2,
.elementor-element-5605952 .elementor-element-37744ec h2,
.elementor-element-5605952 .elementor-element-1578412 h2 {
	margin: 0 0 14px !important;
	font-size: clamp(1.55rem, 2vw, 2rem);
	line-height: 1.12;
}

.elementor-element-5605952 .elementor-element-f43a991 p,
.elementor-element-5605952 .elementor-element-37744ec p,
.elementor-element-5605952 .elementor-element-1578412 p {
	margin: 0 0 16px !important;
	line-height: 1.55;
}

.elementor-element-5605952 .elementor-element-f43a991 ul,
.elementor-element-5605952 .elementor-element-37744ec ul,
.elementor-element-5605952 .elementor-element-1578412 ul {
	display: grid;
	gap: 8px;
	margin: 20px 0 0 !important;
	padding: 16px 0 0 !important;
	border-top: 1px solid rgba(43, 43, 43, .12);
	list-style: none;
}

.elementor-element-5605952 .elementor-element-f43a991 li,
.elementor-element-5605952 .elementor-element-37744ec li,
.elementor-element-5605952 .elementor-element-1578412 li {
	position: relative;
	padding-left: 20px;
}

.elementor-element-5605952 .elementor-element-f43a991 li::before,
.elementor-element-5605952 .elementor-element-37744ec li::before,
.elementor-element-5605952 .elementor-element-1578412 li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .6em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #b7864a;
}

@media (max-width: 767px) {
	.elementor-element-5605952 .elementor-element-f43a991,
	.elementor-element-5605952 .elementor-element-37744ec,
	.elementor-element-5605952 .elementor-element-1578412 {
		min-height: 0;
		gap: 18px;
		padding: 26px 22px !important;
		border-radius: 20px;
	}

	.elementor-element-5605952 .elementor-element-f43a991 > .e-con:first-child,
	.elementor-element-5605952 .elementor-element-37744ec > .e-con:first-child,
	.elementor-element-5605952 .elementor-element-1578412 > .e-con:first-child {
		min-height: 190px !important;
	}
}

/* Tablet uses the same navigation as mobile; desktop begins at 1025px. */
@media (min-width: 768px) and (max-width: 1024px) {
	#tn-header { display:none !important; }
	#tahefobu-header { background:transparent !important; box-shadow:none !important; }
	.tunixx-site-mobile-header { position:fixed !important; top:0 !important; right:0; left:0; z-index:19950 !important; display:flex !important; align-items:center; justify-content:space-between; min-height:64px; padding:10px 28px; box-sizing:border-box; border-bottom:1px solid rgba(43,43,43,.12); background:rgba(244,242,238,.96); box-shadow:0 4px 18px rgba(43,43,43,.08); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
	.tunixx-site-mobile-header__brand { display:flex; align-items:center; min-height:34px; }
	.tunixx-site-mobile-header__brand img { display:block; width:auto; max-width:150px; max-height:38px; object-fit:contain; }
	.tunixx-site-mobile-header__contact { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 16px; border-radius:999px; background:var(--tunixx-color-ink); color:#fff !important; font-size:15px; font-weight:600; line-height:1; text-decoration:none !important; }
	.tunixx-site-menu-button { display:flex !important; position:fixed; right:28px; bottom:calc(max(20px, env(safe-area-inset-bottom)) + 132px); z-index:10005; width:48px; height:48px; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0; border:0; border-radius:50%; background:#2b2b2b; color:#fff; cursor:pointer; transform:none !important; }
	.tunixx-site-menu-button span:not(.screen-reader-text) { width:20px; height:2px; background:currentColor; transition:transform .2s ease, opacity .2s ease; }
	.tunixx-site-menu-button[aria-expanded="true"] span:nth-of-type(2) { transform:translateY(7px) rotate(45deg); }
	.tunixx-site-menu-button[aria-expanded="true"] span:nth-of-type(3) { opacity:0; }
	.tunixx-site-menu-button[aria-expanded="true"] span:nth-of-type(4) { transform:translateY(-7px) rotate(-45deg); }
	.tunixx-site-mobile-menu:not([hidden]) { display:block; position:fixed; inset:0; z-index:10004; }
	.tunixx-site-mobile-menu__backdrop { position:absolute; inset:0; background:rgba(20,20,20,.42); opacity:0; transition:opacity .26s ease; }
	.tunixx-site-mobile-menu__panel { position:relative; width:min(78vw, 540px); height:100%; overflow-y:auto; box-sizing:border-box; padding:86px 38px 38px; background:#f4f2ee; box-shadow:10px 0 35px rgba(0,0,0,.12); transform:translateX(-100%); opacity:.7; transition:transform .26s ease, opacity .26s ease; }
	.tunixx-site-mobile-menu.is-open .tunixx-site-mobile-menu__backdrop { opacity:1; }
	.tunixx-site-mobile-menu.is-open .tunixx-site-mobile-menu__panel { transform:translateX(0); opacity:1; }
	.tunixx-site-mobile-menu__close { display:none; }
	.tunixx-site-mobile-menu__brand { display:inline-flex; align-items:center; min-height:48px; margin:0 0 42px; }
	.tunixx-site-mobile-menu__brand img { display:block; width:auto; max-width:210px; max-height:58px; object-fit:contain; }
	.tunixx-site-mobile-menu__nav { display:flex; flex-direction:column; }
	.tunixx-site-mobile-menu__nav .ih-header-link { display:block; width:100%; margin:0; padding:0; border-bottom:1px solid rgba(43,43,43,.18); }
	.tunixx-site-mobile-menu__nav .ih-header-link,
	.tunixx-site-mobile-menu__nav .ih-header-link * { opacity:1 !important; visibility:visible !important; transform:none !important; animation:none !important; }
	.tunixx-site-mobile-menu__nav .ih-header-link a { display:flex; align-items:center; min-height:66px; padding:10px 0; color:var(--tunixx-color-ink) !important; font-family:var(--tunixx-font-display); font-size:clamp(1.7rem, 4vw, 2.35rem); line-height:1.15; text-decoration:none !important; }
	body.tunixx-dark-mode .tunixx-site-mobile-header,
	body.tunixx-dark-mode .tunixx-site-mobile-menu__panel { background:#20211f; }
	body.tunixx-dark-mode .tunixx-site-mobile-header__brand img,
	body.tunixx-dark-mode .tunixx-site-mobile-menu__brand img { filter:brightness(0) invert(1); }
	body.tunixx-dark-mode .tunixx-site-mobile-header__contact { background:#f4f2ee; color:#20211f !important; }
	body.tunixx-dark-mode .tunixx-site-mobile-menu__nav .ih-header-link { border-color:rgba(244,242,238,.24); }
	body.tunixx-dark-mode .tunixx-site-mobile-menu__nav .ih-header-link a { color:#f4f2ee !important; }
}

/* Final hero overrides: must follow Elementor/mobile rules so each page keeps
   its own image instead of inheriting the generic service hero background. */
body .tunixx-service-hero.tunixx-service-hero--properties {
	background-image: linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.87) 38%, rgba(244,242,238,.12) 78%), url('../images/tunixx-hero-properties.png') !important;
	background-attachment: fixed !important;
}

body .tunixx-service-hero.tunixx-service-hero--experiences {
	background-image: linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.87) 38%, rgba(244,242,238,.12) 78%), url('../images/tunixx-hero-experiences.png') !important;
	background-attachment: fixed !important;
}

.tunixx-service-hero--experiences .tunixx-service-hero__content {
	margin-bottom: 90px;
}

body.tunixx-dark-mode .tunixx-service-hero.tunixx-service-hero--properties {
	background-image: linear-gradient(90deg, rgba(32,33,31,.98) 0%, rgba(32,33,31,.87) 38%, rgba(32,33,31,.16) 78%), url('../images/tunixx-hero-properties.png') !important;
}

body.tunixx-dark-mode .tunixx-service-hero.tunixx-service-hero--experiences {
	background-image: linear-gradient(90deg, rgba(32,33,31,.98) 0%, rgba(32,33,31,.87) 38%, rgba(32,33,31,.16) 78%), url('../images/tunixx-hero-experiences.png') !important;
}

/* Hero imagery for Immobilien & Ankommen and Erlebnisse & Events. */
.tunixx-service-hero--properties {
	background-image: linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.87) 38%, rgba(244,242,238,.12) 78%), url('../images/tunixx-hero-properties.png');
	background-attachment: fixed;
}

.tunixx-service-hero--experiences {
	background-image: linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.87) 38%, rgba(244,242,238,.12) 78%), url('../images/tunixx-hero-experiences.png');
	background-attachment: fixed;
}

body.tunixx-dark-mode .tunixx-service-hero--properties {
	background-image: linear-gradient(90deg, rgba(32,33,31,.98) 0%, rgba(32,33,31,.87) 38%, rgba(32,33,31,.16) 78%), url('../images/tunixx-hero-properties.png');
}

body.tunixx-dark-mode .tunixx-service-hero--experiences {
	background-image: linear-gradient(90deg, rgba(32,33,31,.98) 0%, rgba(32,33,31,.87) 38%, rgba(32,33,31,.16) 78%), url('../images/tunixx-hero-experiences.png');
}

/* Minimal branded page intro/outro. The layer is removed from interaction as
   soon as the page is visible, but returns briefly for internal navigation. */
.tunixx-site-page-transition {
	position: fixed;
	inset: 0;
	z-index: 20000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px;
	box-sizing: border-box;
	background: var(--tunixx-color-paper);
	opacity: 1;
	visibility: visible;
	transition: opacity .42s ease, visibility .42s step-end;
}

.tunixx-site-page-transition__brand {
	max-width: min(64vw, 280px);
	color: var(--tunixx-color-ink);
	font-family: var(--tunixx-font-display);
	font-size: clamp(2rem, 5vw, 3.75rem);
	letter-spacing: .12em;
	line-height: 1;
	text-align: center;
	animation: tunixx-page-brand-in .56s ease both;
}

.tunixx-site-page-transition__brand img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 96px;
	object-fit: contain;
}

.tunixx-site-page-transition.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.tunixx-site-page-transition.is-leaving {
	visibility: visible;
	pointer-events: all;
	transition: opacity .3s ease, visibility 0s;
}

.tunixx-site-page-transition.is-leaving .tunixx-site-page-transition__brand {
	animation: tunixx-page-brand-out .3s ease both;
}

body.tunixx-dark-mode .tunixx-site-page-transition {
	background: #20211f;
}

body.tunixx-dark-mode .tunixx-site-page-transition__brand {
	color: #fff;
}

body.tunixx-dark-mode .tunixx-site-page-transition__brand img {
	filter: invert(1);
}

@keyframes tunixx-page-brand-in {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes tunixx-page-brand-out {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.tunixx-site-page-transition,
	.tunixx-site-page-transition__brand { transition: none; animation: none; }
}

/* Final desktop guard: never render mobile-only navigation on desktop. */
@media screen and (min-width: 1025px) {
	.tunixx-site-mobile-header,
	.tunixx-site-menu-button,
	.tunixx-site-mobile-menu,
	#tunixx-site-mobile-menu {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

html,
body {
	font-family: var(--tunixx-font-body);
	color: var(--tunixx-color-ink);
}

body {
	background-color: var(--tunixx-color-paper);
	font-size: 18px;
	line-height: 1.5;
}

/* Keep the homepage sections on one consistent content grid while their
 * section backgrounds continue to span the full viewport width. */
body.home [data-elementor-type="wp-page"] .e-con.e-parent > .e-con-inner,
body.home [data-elementor-type="wp-page"] .elementor-section > .elementor-container {
	width: min(calc(100% - 96px), var(--tunixx-content-width)) !important;
	max-width: var(--tunixx-content-width) !important;
	margin-inline: auto !important;
}

/* Most homepage sections have one direct child as their content wrapper.
 * Keep that content aligned while retaining a full-width outer background. */
body.home [data-elementor-type="wp-page"] > .e-con.e-parent:has(> .e-con.e-child:only-child) > .e-con.e-child {
	width: min(calc(100% - 96px), var(--tunixx-content-width)) !important;
	max-width: var(--tunixx-content-width) !important;
	margin-inline: auto !important;
}

/* Homepage CTA: full-bleed background image with a contained content area. */
body.home [data-elementor-type="wp-page"] > .elementor-element-2a51668 {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.home [data-elementor-type="wp-page"] > .elementor-element-2a51668 > .elementor-element-0c8b587 {
	width: min(calc(100% - 96px), var(--tunixx-content-width)) !important;
	max-width: var(--tunixx-content-width) !important;
	margin-inline: auto !important;
}

/* Homepage profile section: full-bleed background with aligned inner copy. */
body.home [data-elementor-type="wp-page"] > .elementor-element-f578ac0 {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

body.home [data-elementor-type="wp-page"] > .elementor-element-f578ac0 > .elementor-element-cb5fd18 {
	width: min(calc(100% - 96px), var(--tunixx-content-width)) !important;
	max-width: var(--tunixx-content-width) !important;
	margin-inline: auto !important;
}

/* Homepage services: its heading and card wrapper are sibling elements. */
body.home [data-elementor-type="wp-page"] > .elementor-element-1b21ad7 > .elementor-element-b7d7511,
body.home [data-elementor-type="wp-page"] > .elementor-element-1b21ad7 > .elementor-element-5791a8f {
	width: min(calc(100% - 96px), var(--tunixx-content-width)) !important;
	max-width: var(--tunixx-content-width) !important;
	margin-inline: auto !important;
}

/* Homepage trust cards: reserve a dedicated, non-overlapping icon column. */
.tunixx-home-trust-card {
	display: block !important;
	box-sizing: border-box;
	padding: clamp(20px, 2.25vw, 28px) !important;
	border: 1px solid rgba(43,43,43,.1);
	border-radius: 18px;
	background: rgba(255,255,255,.56);
}

.tunixx-home-trust-card > .e-con {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
}

.tunixx-home-trust-card > .e-con:first-child {
	display: block !important;
	width: auto !important;
	height: auto;
	margin: 0 0 10px !important;
	border-radius: 0;
	background: transparent;
}

.tunixx-home-trust-card > .e-con:first-child .elementor-widget-icon,
.tunixx-home-trust-card > .e-con:first-child .elementor-icon-wrapper {
	margin: 0 !important;
	line-height: 1;
}

.tunixx-home-trust-card > .e-con:first-child .elementor-icon,
.tunixx-home-trust-card > .e-con:first-child .elementor-icon i {
	color: var(--tunixx-color-sage) !important;
	font-size: 22px;
}

.tunixx-home-trust-card .elementor-widget-heading,
.tunixx-home-trust-card .elementor-widget-text-editor {
	margin: 0 !important;
}

.tunixx-home-trust-card .elementor-heading-title { margin: 0 0 8px !important; }
.tunixx-home-trust-card p { margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--tunixx-font-display);
	font-weight: 400;
	line-height: 1.08;
	color: var(--tunixx-color-ink);
}

h1 { font-size: clamp(2.75rem, 6vw, 6.75rem); }
h2 { font-size: clamp(2.25rem, 4.5vw, 4rem); }
h3 { font-size: clamp(1.75rem, 3vw, 2.75rem); }

a {
	color: inherit;
	transition: color var(--tunixx-transition), background-color var(--tunixx-transition), border-color var(--tunixx-transition);
}

button,
.elementor-button,
.elementor-cta__button,
.elementor-cta__content a,
.elementor-widget-button a {
	font-family: var(--tunixx-font-body);
	text-decoration: none !important;
	transition: color var(--tunixx-transition), background-color var(--tunixx-transition), border-color var(--tunixx-transition), transform var(--tunixx-transition);
}

.elementor-button *,
.elementor-cta__button *,
.elementor-widget-button a * {
	text-decoration: none !important;
}

.tunixx-retreats-button,
.tunixx-retreats-button *,
.tunixx-concierge-section a[href^="mailto:"] {
	text-decoration: none !important;
}

button:hover,
.elementor-button:hover { transform: translateY(-1px); background-color:var(--tunixx-color-coral) !important; border-color:var(--tunixx-color-coral) !important; color:#fff !important; }

.tunixx-retreats-button:hover,
.tunixx-service-hero__button--secondary:hover { background-color:var(--tunixx-color-ink) !important; border-color:var(--tunixx-color-ink) !important; color:#fff !important; }

.tunixx-service-hero__button--primary:hover,
.tunixx-retreats-button--coral:hover { background-color:var(--tunixx-color-sage) !important; border-color:var(--tunixx-color-sage) !important; color:#fff !important; }

:focus-visible { outline: 3px solid var(--tunixx-color-coral); outline-offset: 3px; }

.elementor-section > .elementor-container,
.e-con > .e-con-inner {
	width: min(100%, var(--tunixx-content-width));
}

body.tunixx-dark-mode {
	--tunixx-color-paper: #20211f;
	--tunixx-color-ink: #f4f2ee;
	--tunixx-color-navy: #d4e3e8;
}

#tn-header {
	position: relative;
	z-index: 100;
}

#tahefobu-header {
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	box-sizing: border-box;
	background: transparent !important;
	background-color: transparent !important;
	opacity: 1 !important;
	pointer-events: none !important;
}

#tahefobu-header * {
	pointer-events: auto !important;
}

#tahefobu-header::before,
#tahefobu-header::after {
	background: transparent !important;
	background-color: transparent !important;
	opacity: 0 !important;
	box-shadow: none !important;
	pointer-events: none !important;
}

#tahefobu-header,
#tahefobu-header.e-sticky--active,
#tahefobu-header.elementor-sticky--active,
#tahefobu-header[class*="sticky"] {
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
}

#tahefobu-header > .e-con,
#tahefobu-header > .elementor-container,
#tahefobu-header > .e-con > .e-con-inner {
	background: transparent !important;
}

#tn-contact-section {
	position: fixed !important;
	left: auto !important;
	right: 16px !important;
	top: auto !important;
	bottom: calc(max(16px, env(safe-area-inset-bottom)) + 12px) !important;
	z-index: 10003 !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-width: calc(100vw - 32px) !important;
	transform: none !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-end !important;
	align-content: flex-end !important;
	gap: 0 !important;
}

#tn-contact-section > * {
	flex: 0 0 auto !important;
}

/* Keep the floating phone, mail and colour-mode controls anchored at the lower right. */
#tn-contact-section > .elementor-widget-icon {
	transform: scale(.52) !important;
	transform-origin: right bottom !important;
	margin-bottom: -34px !important;
}

#tn-contact-section > .elementor-widget-icon:last-child {
	margin-bottom: 0 !important;
}

#tn-contact-section > .toggle-darkmode,
#tn-contact-section > .elementor-element-bfffe45 {
	display: none !important;
}

#tn-contact-section .elementor-icon {
	background: #2b2b2b !important;
	color: #fff !important;
}

#tn-contact-section .elementor-icon i {
	color: #fff !important;
}

@media (min-width: 768px) {
	#tn-contact-section {
		right: 24px !important;
		bottom: 36px !important;
		left: auto !important;
		top: auto !important;
		max-width: calc(100vw - 48px) !important;
	}
}

html,
body {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	background-color: var(--tunixx-color-paper);
}

img,
iframe,
video {
	max-width: 100%;
}

html.tunixx-dark-mode,
body.tunixx-dark-mode {
	background-color: #20211f;
	color: #f4f2ee;
}

body.tunixx-dark-mode #tahefobu-header,
body.tunixx-dark-mode #tn-header,
body.tunixx-dark-mode .elementor-location-footer,
body.tunixx-dark-mode .elementor-section,
body.tunixx-dark-mode .e-con {
	--e-global-color-secondary: #20211f;
	--e-global-color-text: #f4f2ee;
	--e-global-color-accent: #f4f2ee;
}

.tunixx-contact-page { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:clamp(32px, 7vw, 110px); width:min(100% - 48px, var(--tunixx-content-width)); margin:0 auto; padding:clamp(72px, 10vw, 140px) 0; }
.tunixx-contact-page__eyebrow { margin:0 0 14px; color:var(--tunixx-color-coral); font-size:14px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.tunixx-contact-page h1 { margin:0 0 24px; max-width:600px; }
.tunixx-contact-page h2 { margin:0; font-size:clamp(2rem, 3.5vw, 3.25rem); }
.tunixx-contact-page__intro > p:not(.tunixx-contact-page__eyebrow) { max-width:480px; font-size:20px; }
.tunixx-contact-page__details { display:flex; flex-direction:column; gap:8px; margin-top:40px; font-size:17px; }
.tunixx-contact-page__details a { color:var(--tunixx-color-coral); font-weight:600; }
.tunixx-contact-page__details strong { font-size:20px; font-weight:600; }
.tunixx-contact-page__details small { margin-top:10px; color:rgba(43,43,43,.62); font-size:12px; }
.tunixx-contact-page__form { padding:clamp(30px, 5vw, 62px); border:1px solid rgba(43,43,43,.1); border-radius:28px; background:linear-gradient(145deg, #eee5d8 0%, var(--tunixx-color-sand) 100%); box-shadow:0 22px 60px rgba(43,43,43,.12); }
.tunixx-contact-page__form-head { margin-bottom:28px; }
.tunixx-contact-page__form-head h2 { margin-bottom:12px; font-size:clamp(2rem, 3.2vw, 3rem); letter-spacing:-.025em; }
.tunixx-contact-page__form-head > p:last-child { max-width:410px; margin:0; color:rgba(43,43,43,.68); font-size:16px; }
.tunixx-contact-page__shortcode { margin-top:30px; }
.tunixx-contact-page__shortcode form { display:grid; gap:18px; margin:0; }
.tunixx-contact-page__shortcode label { display:grid; gap:8px; color:var(--tunixx-color-ink); font:600 13px/1.35 var(--tunixx-font-body); letter-spacing:.02em; }
.tunixx-contact-page__shortcode .forminator-label { display:block; margin-bottom:8px; color:var(--tunixx-color-ink); font:600 13px/1.35 var(--tunixx-font-body); letter-spacing:.02em; }
.tunixx-contact-page__shortcode input:not([type="checkbox"]):not([type="radio"]),
.tunixx-contact-page__shortcode textarea,
.tunixx-contact-page__shortcode select { width:100%; min-height:52px; box-sizing:border-box; padding:13px 15px; border:1px solid rgba(43,43,43,.22); border-radius:12px; background:rgba(244,242,238,.86); color:var(--tunixx-color-ink); font:400 16px/1.4 var(--tunixx-font-body); box-shadow:0 4px 12px rgba(43,43,43,.04); transition:border-color .25s ease, box-shadow .25s ease, background-color .25s ease; }
.tunixx-contact-page__shortcode .forminator-input,
.tunixx-contact-page__shortcode .forminator-textarea,
.tunixx-contact-page__shortcode .forminator-select { min-height:52px !important; box-sizing:border-box; border:1px solid rgba(43,43,43,.22) !important; border-radius:12px !important; background:rgba(244,242,238,.86) !important; color:var(--tunixx-color-ink) !important; font:400 16px/1.4 var(--tunixx-font-body) !important; box-shadow:0 4px 12px rgba(43,43,43,.04) !important; }
.tunixx-contact-page__shortcode textarea { min-height:140px; resize:vertical; }
.tunixx-contact-page__shortcode input:focus,
.tunixx-contact-page__shortcode textarea:focus,
.tunixx-contact-page__shortcode select:focus { outline:2px solid var(--tunixx-color-coral); outline-offset:2px; border-color:var(--tunixx-color-coral); }
.tunixx-contact-page__shortcode button[type="submit"],
.tunixx-contact-page__shortcode input[type="submit"],
.tunixx-contact-page__shortcode .forminator-button-submit { width:auto !important; min-height:52px; margin-top:6px; padding:14px 26px !important; border:0 !important; border-radius:999px !important; background:var(--tunixx-color-coral) !important; color:#fff !important; font:600 15px/1 var(--tunixx-font-body) !important; letter-spacing:.02em; box-shadow:0 8px 18px rgba(196,122,90,.28) !important; transition:transform .25s ease, background-color .25s ease, box-shadow .25s ease !important; }
.tunixx-contact-page__shortcode button[type="submit"]:hover,
.tunixx-contact-page__shortcode input[type="submit"]:hover,
.tunixx-contact-page__shortcode .forminator-button-submit:hover { background:var(--tunixx-color-sage) !important; }
.tunixx-contact-page__shortcode .forminator-row { margin-bottom:0 !important; }
.tunixx-contact-page__shortcode .forminator-error-message { margin-top:6px; font-size:13px; }
.tunixx-forminator-placeholder { display:grid; place-items:center; min-height:260px; margin-top:32px; padding:28px; border:2px dashed rgba(43,43,43,.35); border-radius:16px; text-align:center; }
.tunixx-forminator-placeholder span { font-size:20px; font-weight:600; }
.tunixx-forminator-placeholder p { margin:8px 0 0; }
.tunixx-form-preview { display:grid; gap:14px; width:100%; margin-top:22px; text-align:left; }
.tunixx-form-preview label { display:grid; gap:6px; color:var(--tunixx-color-ink); font-size:14px; font-weight:600; }
.tunixx-form-preview input,
.tunixx-form-preview textarea { width:100%; box-sizing:border-box; padding:12px 14px; border:1px solid rgba(43,43,43,.25); border-radius:10px; background:rgba(244,242,238,.75); color:var(--tunixx-color-ink); font:inherit; resize:vertical; }
.tunixx-form-preview input::placeholder,
.tunixx-form-preview textarea::placeholder { color:rgba(43,43,43,.55); }
.tunixx-form-preview button { justify-self:start; padding:12px 22px; border:0; border-radius:999px; background:var(--tunixx-color-coral); color:#fff; font:inherit; opacity:.72; }
.tunixx-contact-footer { display:flex; align-items:center; justify-content:space-between; gap:28px; width:min(100% - 48px, var(--tunixx-content-width)); margin:0 auto; padding:30px 0 42px; border-top:1px solid rgba(43,43,43,.18); font-size:15px; }
.tunixx-contact-footer p { margin:0; }
.tunixx-contact-footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; }
.tunixx-contact-footer nav a { text-decoration:none; }
.tunixx-contact-footer nav a:hover { color:var(--tunixx-color-coral); }
.tunixx-contact-footer__cta { color:var(--tunixx-color-coral); font-weight:600; text-decoration:none; white-space:nowrap; }
body.tunixx-dark-mode .tunixx-contact-page__form { border-color:rgba(244,242,238,.12); background:linear-gradient(145deg, #30362f 0%, #282c28 100%); box-shadow:0 22px 60px rgba(0,0,0,.24); }
body.tunixx-dark-mode .tunixx-contact-page__form-head > p:last-child { color:rgba(244,242,238,.68); }
body.tunixx-dark-mode .tunixx-forminator-placeholder { border-color:rgba(244,242,238,.4); }

.tunixx-service-hero { min-height:clamp(620px, 78vh, 900px); display:flex; align-items:center; box-sizing:border-box; padding:clamp(100px, 11vw, 170px) 6vw 80px; background-color:var(--tunixx-color-paper); background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.9) 34%, rgba(244,242,238,.1) 74%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_luxury_Mediterranean_villa_terrace_at_golden_hour_p_ac6c6db5-e65f-4a1c-a0d3-bdc7ecfc4de0_3.png'); background-position:center; background-size:cover; }
.tunixx-service-hero--concierge { background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.86) 38%, rgba(244,242,238,.12) 78%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_professional_stock_photo_premium_concierge_and_esse_d8006974-5bc9-4458-aa7d-22e4db40d49f_2-2048x1146.png'); }
.tunixx-service-hero--retreats { background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.84) 38%, rgba(244,242,238,.1) 78%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_professional_stock_photo_serene_Mallorca_coastline__07b41fe1-752b-4610-95df-a2c75cf618dd_0-2048x1146.png'); }

/* Keep the two service hero images visually anchored while the page scrolls. */
.tunixx-service-hero--concierge,
.tunixx-service-hero--retreats {
	background-attachment: fixed;
}
.tunixx-service-hero--retreats { background-position:center; }
.tunixx-original-hero-hidden { display:none !important; }
.home .elementor-element-1b1f14e,
.home #tn-hero-section { display:none !important; }
.home .elementor-element-714317e { display:none !important; }
.tunixx-home-hero { background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.88) 36%, rgba(244,242,238,.12) 78%), url('../images/tunixx-home-hero-mallorca.png'); background-attachment:fixed; }
.tunixx-app-demo { position:relative; width:min(100% - 40px, 480px); min-height:760px; margin:clamp(64px, 8vw, 110px) auto; padding:28px 24px 24px; box-sizing:border-box; overflow:hidden; border:8px solid #2b2b2b; border-radius:42px; background:var(--tunixx-color-paper); box-shadow:0 24px 70px rgba(43,43,43,.24); }
.tunixx-app-demo::before { content:""; display:block; width:92px; height:5px; margin:0 auto 28px; border-radius:10px; background:#2b2b2b; opacity:.7; }
.tunixx-app-demo__intro { max-width:none; margin-bottom:28px; padding:0 6px; }
.tunixx-app-demo__intro .tunixx-contact-page__eyebrow { display:none; }
.tunixx-app-demo__intro .tunixx-contact-page__eyebrow { margin-bottom:8px; font-size:11px; }
.tunixx-app-demo__intro h2 { margin:0 0 12px; font-size:clamp(2rem, 8vw, 2.8rem); }
.tunixx-app-demo__intro > p:last-child { font-size:16px; line-height:1.4; }
.tunixx-app-demo h2,
.tunixx-app-demo p,
.tunixx-app-demo button,
.tunixx-app-demo__chat-head,
.tunixx-app-demo__bubble { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; word-break:normal; hyphens:auto; }
.tunixx-app-demo__layout { display:flex; flex-direction:column; gap:16px; }
.tunixx-app-demo__choices { display:grid; gap:12px; }
.tunixx-app-demo__choices button { width:100%; min-width:0; box-sizing:border-box; padding:20px 22px; border:1px solid rgba(43,43,43,.2); border-radius:16px; background:#fff; color:var(--tunixx-color-ink); text-align:left; font:400 17px/1.35 var(--tunixx-font-body); overflow-wrap:anywhere; word-break:normal; cursor:pointer; }
.tunixx-app-demo__choices button:hover,.tunixx-app-demo__choices button.is-selected { border-color:var(--tunixx-color-coral); background:var(--tunixx-color-sand); transform:translateX(4px); }
.tunixx-app-demo__chat { align-self:stretch; min-height:220px; padding:22px; border-radius:24px; background:var(--tunixx-color-sage); color:#fff; }
.tunixx-app-demo__chat-head { display:flex; align-items:center; gap:10px; font-weight:600; }
.tunixx-app-demo__dot { width:10px; height:10px; border-radius:50%; background:#d8e5c7; }
.tunixx-app-demo__message { min-height:92px; margin:32px 0 24px; font-size:20px; line-height:1.45; }
.tunixx-app-demo__history { display:flex; flex-direction:column; gap:10px; max-height:270px; margin:20px 0; overflow-y:auto; }
.tunixx-app-demo__bubble { max-width:88%; padding:11px 14px; border-radius:16px; font-size:14px; line-height:1.35; }
.tunixx-app-demo__bubble--user { align-self:flex-end; border-bottom-right-radius:5px; background:#d8e5c7; color:var(--tunixx-color-ink); }
.tunixx-app-demo__bubble--reply { align-self:flex-start; border-bottom-left-radius:5px; background:rgba(255,255,255,.92); color:var(--tunixx-color-ink); }
.tunixx-app-demo__choices button.is-used { opacity:.45; cursor:default; pointer-events:none; }
.tunixx-app-demo__send { padding:13px 24px; border:0; border-radius:999px; background:#fff; color:var(--tunixx-color-ink); cursor:pointer; }
.tunixx-app-demo__send:disabled { opacity:.5; cursor:not-allowed; }
body.tunixx-dark-mode .tunixx-app-demo__choices button { background:#2d312d; color:#f4f2ee; border-color:rgba(244,242,238,.25); }

#tn-hero-section {
	min-height:clamp(620px, 78vh, 900px);
	display:flex;
	align-items:center;
	box-sizing:border-box;
	padding:clamp(100px, 11vw, 170px) 6vw 80px;
	background-color:var(--tunixx-color-paper) !important;
	background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.88) 36%, rgba(244,242,238,.12) 78%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_luxury_Mediterranean_villa_terrace_at_golden_hour_p_ac6c6db5-e65f-4a1c-a0d3-bdc7ecfc4de0_3.png') !important;
	background-position:center;
	background-size:cover;
}

#tn-hero-section h1,
#tn-hero-section h2,
#tn-hero-section h3,
#tn-hero-section .elementor-heading-title { font-family:var(--tunixx-font-display); font-size:clamp(3rem, 6vw, 6rem); font-weight:400; line-height:1.08; color:var(--tunixx-color-ink); }
#tn-hero-section p { max-width:600px; font-size:clamp(1.2rem, 2vw, 1.65rem); line-height:1.45; }

/* Homepage hero content container supplied by Elementor. */
.elementor-element-1b1f14e {
	min-height:clamp(620px, 78vh, 900px) !important;
	box-sizing:border-box !important;
	padding:clamp(100px, 11vw, 170px) 6vw 80px !important;
	background-color:var(--tunixx-color-paper) !important;
	background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.88) 36%, rgba(244,242,238,.12) 78%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_luxury_Mediterranean_villa_terrace_at_golden_hour_p_ac6c6db5-e65f-4a1c-a0d3-bdc7ecfc4de0_3.png') !important;
	background-position:center !important;
	background-size:cover !important;
}
.elementor-element-1b1f14e .elementor-element-ba341a3,
.elementor-element-1b1f14e .elementor-element-85822c0 { max-width:760px; }
.elementor-element-1b1f14e .elementor-element-ba341a3 p { margin:0; font-family:var(--tunixx-font-display); font-size:clamp(3rem, 6vw, 6rem); line-height:1.08; color:var(--tunixx-color-ink); }
.elementor-element-1b1f14e .elementor-element-85822c0 .elementor-heading-title { font-family:var(--tunixx-font-body); font-size:clamp(1.2rem, 2vw, 1.65rem); font-weight:400; line-height:1.45; color:var(--tunixx-color-ink); }
.elementor-element-1b1f14e .elementor-element-f9a46d4 { gap:0 !important; }
.elementor-element-1b1f14e .elementor-element-f9a46d4 { width:100% !important; max-width:760px !important; align-items:flex-start !important; justify-content:center !important; padding:0 !important; }
.elementor-element-1b1f14e .elementor-element-f9a46d4 > .elementor-element { width:auto; max-width:100%; }
.elementor-element-1b1f14e .elementor-element-568dc60 > .e-con { flex:0 0 auto; }
.elementor-element-1b1f14e .elementor-element-7a16ed7 { width:180px !important; max-width:180px !important; margin:26px 0 !important; }
.elementor-element-1b1f14e .elementor-element-568dc60 { display:flex; flex-wrap:wrap; gap:12px 36px; margin:34px 0 32px !important; }
.elementor-element-1b1f14e .elementor-element-8ce15d7 { display:flex; flex-wrap:wrap; gap:16px; margin-top:0 !important; }
.elementor-element-1b1f14e .elementor-element-8ce15d7 .elementor-button { min-height:52px; padding:12px 28px; border-radius:30px; text-decoration:none !important; }
.elementor-element-1b1f14e .elementor-element-0e3d5b5 .elementor-button { background:var(--tunixx-color-sage) !important; color:#fff !important; }
.elementor-element-1b1f14e .elementor-element-143e672 .elementor-button { background:var(--tunixx-color-coral) !important; color:#fff !important; }
.tunixx-retreats-page { display:block !important; }
/* The page already has its existing hero; keep the two additional content sections below it. */
.tunixx-retreats-page .tunixx-retreats-section--hero { display:none !important; }
.tunixx-concierge-section--hero { display:none !important; }
.tunixx-service-hero__content { max-width:760px; }
.tunixx-service-hero__eyebrow { margin:0 0 20px; color:var(--tunixx-color-coral); font-size:14px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.tunixx-service-hero h1 { margin:0; max-width:800px; font-size:clamp(3rem, 6vw, 6rem); }
.tunixx-service-hero__rule { display:block; width:180px; height:3px; margin:26px 0; background:var(--tunixx-color-coral); }
.tunixx-service-hero__subtitle { max-width:600px; font-size:clamp(1.2rem, 2vw, 1.65rem); }
.tunixx-service-hero__values { display:flex; flex-wrap:wrap; gap:12px 36px; margin:38px 0 34px; color:var(--tunixx-color-coral); font-size:17px; }
.tunixx-service-hero__actions { display:flex; flex-wrap:wrap; gap:16px; }
.tunixx-service-hero__button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:12px 28px; border-radius:30px; text-decoration:none!important; }
.tunixx-service-hero__button--primary { background:var(--tunixx-color-coral); color:#fff!important; }
.tunixx-service-hero__button--secondary { background:var(--tunixx-color-sage); color:#fff!important; }
.tunixx-global-hero { min-height:clamp(620px, 78vh, 900px); display:flex; align-items:center; box-sizing:border-box; padding:clamp(100px, 11vw, 170px) 6vw 80px; background-color:var(--tunixx-color-paper)!important; background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.9) 34%, rgba(244,242,238,.1) 74%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_luxury_Mediterranean_villa_terrace_at_golden_hour_p_ac6c6db5-e65f-4a1c-a0d3-bdc7ecfc4de0_3.png') !important; background-position:center!important; background-size:cover!important; }
.tunixx-global-hero > .elementor-container,
.tunixx-global-hero > .e-con-inner { width:min(100%, var(--tunixx-content-width)); }
.tunixx-global-hero h1,
.tunixx-global-hero h2,
.tunixx-global-hero h3,
.tunixx-global-hero .elementor-heading-title { margin:0 0 24px; font-family:var(--tunixx-font-display); font-size:clamp(3rem, 6vw, 6rem); font-weight:400; line-height:1.08; color:var(--tunixx-color-ink); }
.tunixx-global-hero p { max-width:600px; font-family:var(--tunixx-font-body); font-size:clamp(1.2rem, 2vw, 1.65rem); line-height:1.45; }
.tunixx-global-hero .elementor-button { border-radius:30px; text-decoration:none!important; }
body.tunixx-dark-mode .tunixx-service-hero { background-image:linear-gradient(90deg, rgba(32,33,31,.98) 0%, rgba(32,33,31,.88) 38%, rgba(32,33,31,.2) 78%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_luxury_Mediterranean_villa_terrace_at_golden_hour_p_ac6c6db5-e65f-4a1c-a0d3-bdc7ecfc4de0_3.png'); }
body.tunixx-dark-mode .tunixx-service-hero--concierge { background-image:linear-gradient(90deg, rgba(32,33,31,.98) 0%, rgba(32,33,31,.86) 38%, rgba(32,33,31,.16) 78%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_professional_stock_photo_premium_concierge_and_esse_d8006974-5bc9-4458-aa7d-22e4db40d49f_2-2048x1146.png'); }
body.tunixx-dark-mode .tunixx-service-hero--retreats { background-image:linear-gradient(90deg, rgba(32,33,31,.98) 0%, rgba(32,33,31,.84) 38%, rgba(32,33,31,.14) 78%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_professional_stock_photo_serene_Mallorca_coastline__07b41fe1-752b-4610-95df-a2c75cf618dd_0-2048x1146.png'); }
/* Keep the dedicated homepage image above the concierge background in both colour modes. */
body .tunixx-home-hero,
body.tunixx-dark-mode .tunixx-home-hero { background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.88) 36%, rgba(244,242,238,.12) 78%), url('../images/tunixx-home-hero-mallorca.png') !important; }
body.tunixx-dark-mode .tunixx-contact-page__details small { color:rgba(244,242,238,.62); }
body.tunixx-dark-mode .tunixx-form-preview input,
body.tunixx-dark-mode .tunixx-form-preview textarea { background:#20211f; color:#f4f2ee; border-color:rgba(244,242,238,.3); }
body.tunixx-dark-mode .tunixx-contact-page__shortcode input:not([type="checkbox"]):not([type="radio"]),
body.tunixx-dark-mode .tunixx-contact-page__shortcode textarea,
body.tunixx-dark-mode .tunixx-contact-page__shortcode select,
body.tunixx-dark-mode .tunixx-contact-page__shortcode .forminator-input,
body.tunixx-dark-mode .tunixx-contact-page__shortcode .forminator-textarea,
body.tunixx-dark-mode .tunixx-contact-page__shortcode .forminator-select { background:#20211f !important; color:#f4f2ee !important; border-color:rgba(244,242,238,.3) !important; }
body.tunixx-dark-mode .tunixx-contact-footer { border-color:rgba(244,242,238,.2); }

/* Hide the old team block on the homepage; the current page design no longer
   uses this Elementor section. Keep the same section available on other pages. */
body.home .elementor-element-93d8f5d { display:none !important; }
body.home .elementor-element-c2be3a6 { display:none !important; }
body.home .elementor-element-254bc8f { display:none !important; }

/* Über Tunixx: editorial, spacious and deliberately calm. */
.tunixx-about-page { --about-line:rgba(43,43,43,.18); overflow:hidden; background:var(--tunixx-color-paper); }
.tunixx-about-eyebrow, .tunixx-about-section__label { margin:0; color:var(--tunixx-color-coral); font:600 12px/1.2 var(--tunixx-font-body); letter-spacing:.16em; text-transform:uppercase; }
.tunixx-about-hero { position:relative; display:flex; min-height:clamp(560px, 76vh, 820px); align-items:flex-end; box-sizing:border-box; padding:clamp(100px, 13vw, 190px) 6vw 80px; background:linear-gradient(135deg, #e8dfd2 0%, #f4f2ee 55%, #cbd0c3 100%); }
.tunixx-service-hero.tunixx-about-hero { align-items:center; background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.86) 38%, rgba(244,242,238,.12) 78%), url('../images/tunixx-about-hero.png') !important; background-attachment:fixed !important; background-position:center !important; background-size:cover !important; }
.tunixx-service-hero.tunixx-about-hero .tunixx-service-hero__content { max-width:780px; }
.tunixx-service-hero.tunixx-about-hero h1 { color:var(--tunixx-color-ink); }
.tunixx-service-hero.tunixx-about-hero h1 em { color:inherit; font-style:normal; }
.tunixx-about-hero::after { content:""; position:absolute; top:16%; right:10%; width:clamp(180px, 28vw, 420px); aspect-ratio:1; border:1px solid rgba(43,43,43,.22); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.12), 0 0 0 56px rgba(255,255,255,.1); }
.tunixx-about-hero::after { display:none; }
.tunixx-about-hero__inner { position:relative; z-index:1; max-width:850px; }
.tunixx-about-hero h1 { margin:24px 0 28px; font-size:clamp(3rem, 6vw, 6rem); letter-spacing:-.045em; line-height:.92; }
.tunixx-about-hero h1 em, .tunixx-about-process h2 em, .tunixx-about-trust h2 em, .tunixx-about-cta h2 em { color:var(--tunixx-color-sage); font-style:normal; }
.tunixx-about-hero__lead { max-width:520px; margin:0; font-size:clamp(18px, 2vw, 24px); }
.tunixx-about-hero__number { position:absolute; right:6vw; bottom:34px; color:rgba(43,43,43,.55); font-size:12px; letter-spacing:.12em; }
.tunixx-about-section { display:grid; grid-template-columns:minmax(150px,.35fr) minmax(0,1fr); gap:clamp(36px, 10vw, 160px); width:min(100% - 12vw, var(--tunixx-content-width)); margin:0 auto; padding:clamp(90px, 12vw, 170px) 0; border-bottom:1px solid var(--about-line); }
.tunixx-about-section__body { max-width:720px; }
.tunixx-about-section h2, .tunixx-about-process h2, .tunixx-about-trust h2, .tunixx-about-cta h2 { margin:0 0 28px; font-size:clamp(2.8rem, 5vw, 5.5rem); letter-spacing:-.04em; line-height:.98; }
.tunixx-about-section__body > p:not(.tunixx-about-highlight) { max-width:620px; margin:0 0 20px; font-size:clamp(18px, 2vw, 23px); }
.tunixx-about-highlight { display:inline-block; margin:28px 0 0; padding:12px 18px; border-left:2px solid var(--tunixx-color-coral); font-size:18px; font-weight:600; }
.tunixx-about-island-card { display:flex; min-height:280px; flex-direction:column; justify-content:space-between; padding:28px; box-sizing:border-box; background:var(--tunixx-color-sage); color:#fff; }
.tunixx-about-island-card__mark { font:400 clamp(6rem, 12vw, 11rem)/.7 var(--tunixx-font-display); }
.tunixx-about-island-card__caption { font-size:14px; letter-spacing:.13em; text-transform:uppercase; }
.tunixx-about-text-link { display:inline-flex; gap:14px; margin-top:25px; color:var(--tunixx-color-coral); font-weight:600; text-decoration:none; }
.tunixx-about-text-link span, .tunixx-about-cta__button span { transition:transform .3s ease; }
.tunixx-about-text-link:hover span, .tunixx-about-cta__button:hover span { transform:translateX(5px); }
.tunixx-about-process { padding:clamp(90px, 12vw, 170px) 6vw; background:var(--tunixx-color-ink); color:#fff; }
.tunixx-about-process h2 { margin-top:28px; color:#fff; }
.tunixx-about-process h2 em { color:var(--tunixx-color-sand); }
.tunixx-about-process__head { display:flex; align-items:end; justify-content:space-between; gap:40px; max-width:var(--tunixx-content-width); margin:0 auto 75px; }
.tunixx-about-process > .tunixx-about-section__label { width:min(100%, var(--tunixx-content-width)); margin:0 auto; }
.tunixx-about-process__head p { max-width:330px; margin:0 0 10px; color:rgba(255,255,255,.7); font-size:18px; }
.tunixx-about-steps { display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; width:min(100%, var(--tunixx-content-width)); margin:0 auto; }
.tunixx-about-steps article { padding-top:20px; border-top:1px solid rgba(255,255,255,.35); }
.tunixx-about-steps b { color:var(--tunixx-color-sand); font-size:13px; letter-spacing:.15em; }
.tunixx-about-steps h3 { margin:32px 0 10px; color:#fff; font:600 24px/1.1 var(--tunixx-font-body); }
.tunixx-about-steps p { max-width:270px; margin:0; color:rgba(255,255,255,.72); font-size:16px; }
.tunixx-about-trust { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px, 10vw, 160px); padding:clamp(90px, 12vw, 170px) 6vw; background:var(--tunixx-color-sand); }
.tunixx-about-trust__copy { align-self:end; max-width:480px; font-size:21px; }
.tunixx-about-trust__tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.tunixx-about-trust__tags span { padding:8px 14px; border:1px solid rgba(43,43,43,.3); border-radius:999px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.tunixx-about-cta { padding:clamp(90px, 13vw, 190px) 6vw; background:var(--tunixx-color-sage); color:#fff; text-align:center; }
.tunixx-about-cta .tunixx-about-eyebrow { color:#fff; }
.tunixx-about-cta h2 { margin:24px auto 42px; color:#fff; }
.tunixx-about-cta h2 em { color:var(--tunixx-color-sand); }
.tunixx-about-cta__button { display:inline-flex; align-items:center; gap:18px; padding:16px 24px; border-radius:999px; background:#fff; color:var(--tunixx-color-ink); font-weight:600; text-decoration:none; }
body.tunixx-dark-mode .tunixx-about-page { --about-line:rgba(244,242,238,.2); }
body.tunixx-dark-mode .tunixx-about-hero { background:linear-gradient(135deg, #292c29 0%, #20211f 55%, #394239 100%); }
body.tunixx-dark-mode .tunixx-service-hero.tunixx-about-hero { background-image:linear-gradient(90deg, rgba(32,33,31,.98) 0%, rgba(32,33,31,.88) 38%, rgba(32,33,31,.16) 78%), url('../images/tunixx-about-hero.png') !important; }
body.tunixx-dark-mode .tunixx-about-hero::after { border-color:rgba(244,242,238,.2); }
body.tunixx-dark-mode .tunixx-about-hero__number { color:rgba(244,242,238,.55); }

.tunixx-legal-page { width:min(100% - 48px, 920px); margin:0 auto; padding:clamp(90px, 12vw, 160px) 0 110px; }
.tunixx-legal-page h1 { margin:20px 0 70px; font-size:clamp(3.5rem, 8vw, 7rem); letter-spacing:-.06em; line-height:.9; }
.tunixx-legal-page h2 { margin:52px 0 14px; font-size:clamp(1.35rem, 2.5vw, 2rem); letter-spacing:-.02em; }
.tunixx-legal-page p { max-width:700px; margin:0 0 18px; font-size:17px; line-height:1.7; }
.tunixx-legal-page a { color:var(--tunixx-color-coral); text-decoration-color:var(--tunixx-color-coral); text-underline-offset:4px; }
.tunixx-legal-page__notice { margin-top:60px !important; padding:18px 20px; border-left:2px solid var(--tunixx-color-coral); background:rgba(230,217,195,.5); }
body.tunixx-dark-mode .tunixx-legal-page__notice { background:rgba(122,132,111,.2); }


@media (max-width: 767px) {
	.tunixx-about-hero { min-height:620px; padding:120px 22px 70px; }
	.tunixx-about-hero h1 { font-size:clamp(2.7rem, 13vw, 4.2rem); }
	.tunixx-about-hero::after { top:16%; right:-12%; width:240px; }
	.tunixx-about-section { display:block; width:min(100% - 44px, var(--tunixx-content-width)); padding:76px 0; }
	.tunixx-about-section__label { margin-bottom:34px; }
	.tunixx-about-island-card { min-height:250px; margin-bottom:42px; }
	.tunixx-about-process { padding:76px 22px; }
	.tunixx-about-process__head { display:block; margin-bottom:52px; }
	.tunixx-about-process__head p { margin-top:24px; }
	.tunixx-about-steps { display:block; }
	.tunixx-about-steps article { margin-bottom:32px; }
	.tunixx-about-steps article:last-child { margin-bottom:0; }
	.tunixx-about-trust { display:block; padding:76px 22px; }
	.tunixx-about-trust__copy { margin-top:38px; }
	.tunixx-about-cta { padding:80px 22px; }
}

.tunixx-retreats-page { width:100%; }
.tunixx-retreats-section { padding:clamp(76px, 10vw, 140px) 24px; }
.tunixx-retreats-section__inner { width:min(100%, var(--tunixx-content-width)); margin:0 auto; }
.tunixx-retreats-section h1,
.tunixx-retreats-section h2 { max-width:780px; margin:0 0 24px; }
.tunixx-retreats-section h1 { font-size:clamp(3.5rem, 8vw, 7rem); }
.tunixx-retreats-section h2 { font-size:clamp(2.5rem, 5vw, 4.75rem); }
.tunixx-retreats-section p { max-width:650px; font-size:19px; }
.tunixx-retreats-section--hero { min-height:86vh; display:flex; align-items:flex-end; box-sizing:border-box; background-image:linear-gradient(90deg, #f4f2ee 0%, rgba(244,242,238,.98) 30%, rgba(244,242,238,.18) 68%, rgba(244,242,238,0) 100%), url('/wp-content/uploads/2026/06/tianshii_luxury_Mediterranean_villa_terrace_at_golden_hour_p_9ddf93dd-2959-48fa-8819-0b17f8af7abb_3-scaled.png'); background-position:center; background-repeat:no-repeat; background-size:cover; }
.tunixx-retreats-section--hero p { font-size:clamp(20px, 2vw, 26px); }
.tunixx-retreats-button { display:inline-flex; margin-top:18px; padding:14px 26px; border-radius:999px; background:var(--tunixx-color-sage); color:#fff; text-decoration:none; }
.tunixx-retreats-button:hover { background:var(--tunixx-color-ink); color:#fff; }
.tunixx-retreats-button--coral { background:var(--tunixx-color-coral); }
.tunixx-retreats-section--offers { background:#fff; }
.tunixx-retreats-lead { margin-bottom:52px; color:var(--tunixx-color-navy); }
.tunixx-retreats-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.tunixx-retreats-grid article { padding:28px; border-top:2px solid var(--tunixx-color-coral); background:var(--tunixx-color-paper); }
.tunixx-retreats-grid article > span { color:var(--tunixx-color-coral); font-weight:600; letter-spacing:.12em; }
.tunixx-retreats-grid h3, .tunixx-retreats-steps h3 { margin:24px 0 10px; font-family:var(--tunixx-font-body); font-size:22px; font-weight:600; }
.tunixx-retreats-grid p, .tunixx-retreats-steps p { margin:0; font-size:16px; }
.tunixx-retreats-section--process { background:var(--tunixx-color-sage); color:#fff; }
.tunixx-retreats-section--process h2, .tunixx-retreats-section--process .tunixx-contact-page__eyebrow { color:#fff; }
.tunixx-retreats-steps { display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; margin:46px 0 12px; }
.tunixx-retreats-steps > div { border-top:1px solid rgba(255,255,255,.55); padding-top:18px; }
.tunixx-retreats-steps b { display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(255,255,255,.7); border-radius:50%; font-weight:400; }
.tunixx-retreats-steps h3 { margin-top:16px; }
.tunixx-retreats-section--process .tunixx-retreats-button { background:#fff; color:var(--tunixx-color-ink); }
.tunixx-concierge-section { padding:clamp(76px, 10vw, 140px) 24px; }
.tunixx-concierge-section__inner { width:min(100%, var(--tunixx-content-width)); margin:0 auto; }
.tunixx-concierge-section h1, .tunixx-concierge-section h2 { max-width:820px; margin:0 0 24px; }
.tunixx-concierge-section h1 { font-size:clamp(3.25rem, 7vw, 6.5rem); }
.tunixx-concierge-section h2 { font-size:clamp(2.5rem, 5vw, 4.75rem); }
.tunixx-concierge-section p { max-width:660px; font-size:19px; }
.tunixx-concierge-section--hero { min-height:86vh; display:flex; align-items:flex-end; box-sizing:border-box; background-image:linear-gradient(270deg, rgba(244,242,238,0) 20%, rgba(244,242,238,.32) 52%, #f4f2ee 78%), url('/wp-content/uploads/2026/06/tianshii_A_realistic_lifestyle_photograph_for_a_premium_Mall_a2814b33-5208-48d2-a0c9-995d22559332_3-scaled.png'); background-position:center; background-repeat:no-repeat; background-size:cover; }
.tunixx-concierge-section--hero p { font-size:clamp(20px, 2vw, 26px); }
.tunixx-concierge-section--offers { background:#fff; }
.tunixx-concierge-section--offers .tunixx-retreats-lead { margin-bottom:52px; color:var(--tunixx-color-navy); }
.tunixx-concierge-section--offers .tunixx-retreats-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; }
.tunixx-concierge-section--offers .tunixx-retreats-grid article { min-height:360px; display:flex; flex-direction:column; justify-content:flex-end; box-sizing:border-box; padding:28px; border:0; border-radius:var(--tunixx-radius); overflow:hidden; color:#fff; background-color:#596052; background-position:center; background-size:cover; position:relative; }
.tunixx-concierge-section--offers .tunixx-retreats-grid article::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,20,20,0) 28%, rgba(20,20,20,.78) 100%); }
.tunixx-concierge-section--offers .tunixx-retreats-grid article > * { position:relative; z-index:1; }
.tunixx-concierge-section--offers .tunixx-retreats-grid article:nth-child(1) { background-image:url('/wp-content/uploads/2026/06/tianshii_A_realistic_editorial_lifestyle_photograph_for_a_pr_8e439036-a771-4e71-b170-7fe1e7605e85_1-1536x860.png'); }
.tunixx-concierge-section--offers .tunixx-retreats-grid article:nth-child(2) { background-image:url('/wp-content/uploads/2026/06/tianshii_A_realistic_editorial_portrait-style_lifestyle_phot_0c7c3db7-d5a1-44f3-a3c5-da9840fd9907_0-1536x860.png'); }
.tunixx-concierge-section--offers .tunixx-retreats-grid article:nth-child(3) { background-image:url('/wp-content/uploads/2026/06/tianshii_A_realistic_lifestyle_photograph_for_a_premium_Mall_a2814b33-5208-48d2-a0c9-995d22559332_3-1536x860.png'); }
.tunixx-concierge-section--offers .tunixx-retreats-grid article > span { color:#fff; }
.tunixx-concierge-section--offers .tunixx-retreats-grid h3 { margin-top:14px; color:#fff; }
.tunixx-concierge-section--offers .tunixx-retreats-grid p { color:rgba(255,255,255,.92); }
.tunixx-concierge-section--process { background:var(--tunixx-color-sage); color:#fff; }
.tunixx-concierge-section--process h2, .tunixx-concierge-section--process .tunixx-contact-page__eyebrow { color:#fff; }
.tunixx-concierge-section--process .tunixx-retreats-steps > div { border-top-color:rgba(255,255,255,.55); }

body.tunixx-dark-mode a,
body.tunixx-dark-mode .elementor-widget-text-editor,
body.tunixx-dark-mode .elementor-heading-title {
	color: #f4f2ee;
}

body.tunixx-dark-mode .elementor-element-bfffe45,
body.tunixx-dark-mode #bfffe45 {
	cursor: pointer;
}

@media (min-width: 768px) and (max-width: 1100px) {
	.tunixx-service-hero { min-height:680px; padding:120px 40px 72px; }
	.tunixx-service-hero h1 { font-size:clamp(3.2rem, 7vw, 5rem); }
	.tunixx-service-hero.tunixx-about-hero h1 { font-size:clamp(3.2rem, 7vw, 5rem); }
	.tunixx-service-hero__content { max-width:680px; }
	.tunixx-retreats-section,
	.tunixx-concierge-section { padding:88px 32px; }
	.tunixx-retreats-grid,
	.tunixx-retreats-steps,
	.tunixx-concierge-section--offers .tunixx-retreats-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; }
	.tunixx-concierge-section--offers .tunixx-retreats-grid article { min-height:300px; }
}

@media (min-width: 768px) {
	#tahefobu-header {
		height: auto !important;
		min-height: 0 !important;
		transition: background-color .3s ease, box-shadow .3s ease;
	}

	#tahefobu-header.e-sticky--active,
	#tahefobu-header.elementor-sticky--active,
	#tahefobu-header[class*="sticky"] {
		background: rgba(244, 242, 238, .96) !important;
		box-shadow: 0 4px 18px rgba(43, 43, 43, .10) !important;
	}

	#tn-header {
		height: auto !important;
		min-height: 0 !important;
	}

	#tn-header > .elementor-container,
	#tn-header > .e-con,
	#tn-header > .e-con > .e-con-inner {
		min-height: 0 !important;
		padding-block: 10px;
		box-sizing: border-box;
	}

	#tn-header .elementor-widget-image img,
	#tn-header .elementor-logo img {
		max-height: 64px;
		width: auto;
	}
}

/* Cleanup for markup served from an older page cache. This is not a menu. */
.tunixx-mobile-menu-toggle,
#tunixx-mobile-menu,
.tunixx-mobile-menu {
	display: none !important;
}

.tunixx-site-menu-button,
.tunixx-site-mobile-menu {
	display: none;
}

#tunixx-site-mobile-menu[hidden] {
	display: none !important;
}

/* The brand remains in the fixed mobile header, not inside the menu panel. */
#tunixx-site-mobile-menu .tunixx-site-mobile-menu__brand {
	display: none !important;
}

/* The custom off-canvas navigation exists only below the mobile breakpoint.
 * Keep it out of desktop layouts even when theme or cache styles override
 * the generic display declaration above. */
@media (min-width: 1025px) {
	.tunixx-site-menu-button,
	#tunixx-site-mobile-menu,
	.tunixx-site-mobile-menu,
	.tahefobu-mobile-nav-menu-container {
		display: none !important;
	}
}

@media (max-width: 767px) {
	body.home [data-elementor-type="wp-page"] .e-con.e-parent > .e-con-inner,
	body.home [data-elementor-type="wp-page"] .elementor-section > .elementor-container {
		width: min(calc(100% - 40px), var(--tunixx-content-width)) !important;
	}

	body.home [data-elementor-type="wp-page"] > .e-con.e-parent:has(> .e-con.e-child:only-child) > .e-con.e-child {
		width: min(calc(100% - 40px), var(--tunixx-content-width)) !important;
	}

	body.home [data-elementor-type="wp-page"] > .elementor-element-2a51668 {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
	margin-right: 0 !important;
	}

	body.home [data-elementor-type="wp-page"] > .elementor-element-2a51668 > .elementor-element-0c8b587 {
		width: min(calc(100% - 40px), var(--tunixx-content-width)) !important;
	}

	body.home [data-elementor-type="wp-page"] > .elementor-element-f578ac0 {
		width: 100% !important;
		max-width: none !important;
		margin-inline: 0 !important;
	}

	body.home [data-elementor-type="wp-page"] > .elementor-element-f578ac0 > .elementor-element-cb5fd18 {
		width: min(calc(100% - 40px), var(--tunixx-content-width)) !important;
	}

	body.home [data-elementor-type="wp-page"] > .elementor-element-1b21ad7 > .elementor-element-b7d7511,
	body.home [data-elementor-type="wp-page"] > .elementor-element-1b21ad7 > .elementor-element-5791a8f {
		width: min(calc(100% - 40px), var(--tunixx-content-width)) !important;
	}

	.tunixx-home-trust-card {
		padding: 20px !important;
	}

	.tunixx-home-trust-card > .e-con:first-child {
		width: auto !important;
		height: auto;
	}

	.tunixx-home-trust-card > .e-con:first-child .elementor-icon,
	.tunixx-home-trust-card > .e-con:first-child .elementor-icon i {
		font-size: 21px;
	}

	.tunixx-site-mobile-header { position:fixed !important; top:0 !important; right:0; left:0; z-index:19950 !important; display:flex !important; align-items:center; justify-content:space-between; min-height:64px; padding:10px 20px; box-sizing:border-box; border-bottom:1px solid rgba(43,43,43,.12); background:rgba(244,242,238,.96); box-shadow:0 4px 18px rgba(43,43,43,.08); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
	.admin-bar .tunixx-site-mobile-header { top:46px; }
	.tunixx-site-mobile-header__brand { display:flex; align-items:center; min-height:34px; }
	.tunixx-site-mobile-header__brand img { display:block; width:auto; max-width:132px; max-height:34px; object-fit:contain; }
	.tunixx-site-mobile-header__contact { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 14px; border-radius:999px; background:var(--tunixx-color-ink); color:#fff !important; font-size:14px; font-weight:600; line-height:1; text-decoration:none !important; }
	body.tunixx-dark-mode .tunixx-site-mobile-header { border-color:rgba(244,242,238,.16); background:rgba(32,33,31,.96); box-shadow:0 4px 18px rgba(0,0,0,.22); }
	body.tunixx-dark-mode .tunixx-site-mobile-header__brand img { filter:brightness(0) invert(1); }
	body.tunixx-dark-mode .tunixx-site-mobile-header__contact { background:#f4f2ee; color:#20211f !important; }

	/* Immobilien & Ankommen: keep service icons inside their mobile cards. */
	.tunixx-property-needs .elementor-widget-icon,
	.tunixx-property-needs .elementor-icon-wrapper {
		position: relative !important;
		top: auto !important;
		bottom: auto !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		margin: 0 auto 16px !important;
	}

	.tunixx-property-needs .elementor-icon-wrapper {
		display: flex;
		justify-content: center;
	}

	.tunixx-property-needs .elementor-widget-icon .elementor-icon {
		display: grid;
		place-items: center;
	}

	.tunixx-property-needs .e-con,
	.tunixx-property-needs .elementor-column,
	.tunixx-property-needs .elementor-widget-wrap {
		overflow: visible !important;
	}

	/* The seven service cards themselves: stack icon and copy safely inside. */
	.tunixx-property-service-card,
	.tunixx-property-service-card > .e-con-inner {
		box-sizing: border-box;
	}

	.tunixx-property-service-card > .e-con-inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 14px !important;
		padding: 24px !important;
	}

	.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon,
	.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon-wrapper {
		position: static !important;
		align-self: flex-start !important;
		width: auto !important;
		margin: 0 !important;
		transform: none !important;
	}

	.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon {
		display: grid;
		place-items: center;
	}

	.tunixx-property-service-card > .e-con-inner > .e-con {
		width: 100% !important;
	}

	/* Immobilien process: horizontal arrows become downward arrows on mobile. */
	.tunixx-property-process .elementor-widget-icon .elementor-icon {
		transform: rotate(90deg) !important;
	}

	/* Hide Elementor's legacy mobile navigation immediately, before the
	 * custom Tunixx menu script runs, so the old menu never flashes on load. */
	#tn-header .elementor-menu-toggle,
	#tn-header .elementor-nav-menu--dropdown,
	#tn-header .tahefobu-mobile-toggle-wrap,
	#tn-header .tahefobu-mobile-nav-menu-container {
		display:none !important;
		visibility:hidden !important;
	}
	.tunixx-app-demo { width:calc(100% - 24px); padding:64px 12px 80px; }
	.tunixx-app-demo__layout { grid-template-columns:1fr; gap:20px; }
	.tunixx-app-demo__intro > p:last-child { font-size:18px; }
	.tunixx-app-demo__chat { min-height:240px; }
	.elementor-element-1b1f14e { min-height:720px !important; padding:110px 22px 64px !important; background-position:62% center !important; background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.84) 100%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_luxury_Mediterranean_villa_terrace_at_golden_hour_p_ac6c6db5-e65f-4a1c-a0d3-bdc7ecfc4de0_3.png') !important; }
	.elementor-element-1b1f14e .elementor-element-ba341a3 p { font-size:clamp(2.7rem, 13vw, 4.2rem); }
	.elementor-element-1b1f14e .elementor-element-568dc60 { gap:10px 18px; margin:28px 0 !important; }
	.elementor-element-1b1f14e .elementor-element-8ce15d7 { flex-direction:column; align-items:flex-start; }
	.elementor-element-1b1f14e .elementor-element-8ce15d7 .elementor-button { min-width:220px; }
	#tn-hero-section { min-height:720px; padding:110px 22px 64px; background-position:62% center; background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.84) 100%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_luxury_Mediterranean_villa_terrace_at_golden_hour_p_ac6c6db5-e65f-4a1c-a0d3-bdc7ecfc4de0_3.png') !important; }
	#tn-hero-section h1,
	#tn-hero-section h2,
	#tn-hero-section h3,
	#tn-hero-section .elementor-heading-title { font-size:clamp(2.7rem, 13vw, 4.2rem); }

	.tunixx-global-hero { min-height:720px; padding:110px 22px 64px; background-position:62% center!important; }
	.tunixx-global-hero h1,
	.tunixx-global-hero h2,
	.tunixx-global-hero h3,
	.tunixx-global-hero .elementor-heading-title { font-size:clamp(2.7rem, 13vw, 4.2rem); }

	.tunixx-service-hero { min-height:720px; padding:110px 22px 64px; background-position:62% center; background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.84) 100%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_luxury_Mediterranean_villa_terrace_at_golden_hour_p_ac6c6db5-e65f-4a1c-a0d3-bdc7ecfc4de0_3.png'); }
	.tunixx-service-hero--concierge { background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.84) 100%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_professional_stock_photo_premium_concierge_and_esse_d8006974-5bc9-4458-aa7d-22e4db40d49f_2-2048x1146.png'); }
	.tunixx-service-hero--retreats { background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.84) 100%), url('https://bdg57.myrdbx.io/wp-content/uploads/2026/06/tianshii_professional_stock_photo_serene_Mallorca_coastline__07b41fe1-752b-4610-95df-a2c75cf618dd_0-2048x1146.png'); }
	.tunixx-home-hero { background-image:linear-gradient(90deg, rgba(244,242,238,.98) 0%, rgba(244,242,238,.84) 100%), url('../images/tunixx-home-hero-mallorca.png'); }
	.tunixx-service-hero--properties,
	.tunixx-service-hero--experiences,
	.tunixx-service-hero--concierge,
	.tunixx-service-hero--retreats,
	.tunixx-service-hero.tunixx-about-hero,
	.tunixx-home-hero { background-attachment:fixed !important; background-size:auto 100% !important; background-position:center center !important; background-repeat:no-repeat !important; }
	.tunixx-service-hero h1 { font-size:clamp(2.7rem, 13vw, 4.2rem); }
	.tunixx-service-hero__values { gap:10px 18px; margin:28px 0; font-size:15px; }
	.tunixx-service-hero__actions { flex-direction:column; align-items:flex-start; }
	.tunixx-service-hero__button { width:auto; min-width:220px; }

	.tunixx-contact-page { grid-template-columns:1fr; width:min(100% - 32px, var(--tunixx-content-width)); gap:44px; padding:64px 0 88px; }
	.tunixx-contact-page__intro > p:not(.tunixx-contact-page__eyebrow) { font-size:18px; }
	.tunixx-contact-page__form { padding:28px 20px; }
	.tunixx-contact-footer { align-items:flex-start; flex-direction:column; width:min(100% - 32px, var(--tunixx-content-width)); padding-bottom:32px; }
	.tunixx-contact-footer nav { justify-content:flex-start; }
	.tunixx-retreats-section { padding-inline:16px; }
	.tunixx-retreats-section--hero { min-height:70vh; }
	.tunixx-retreats-grid, .tunixx-retreats-steps { grid-template-columns:1fr; gap:16px; }
	.tunixx-concierge-section { padding-inline:16px; }
	.tunixx-concierge-section--hero { min-height:70vh; }
	.tunixx-retreats-section h1,
	.tunixx-concierge-section h1 { font-size:clamp(2.8rem, 12vw, 4.4rem); }
	.tunixx-retreats-section h2,
	.tunixx-concierge-section h2 { font-size:clamp(2.2rem, 9vw, 3.4rem); }
	.tunixx-retreats-section p,
	.tunixx-concierge-section p { font-size:17px; }
	.tunixx-concierge-section--offers .tunixx-retreats-grid article { min-height:280px; padding:24px; }
	.tunixx-retreats-button { width:100%; box-sizing:border-box; justify-content:center; }

	#tahefobu-header,
	#tahefobu-header.e-sticky--active,
	#tahefobu-header.elementor-sticky--active {
		background: transparent !important;
		box-shadow: none !important;
	}

	#tn-contact-section {
		bottom: calc(max(16px, env(safe-area-inset-bottom)) + 12px) !important;
	}

	/* The original header is replaced visually by the mobile menu trigger. */
	#tn-header {
		display: none;
	}

	.tunixx-site-menu-button,
	.tunixx-site-menu-button:hover,
	.tunixx-site-menu-button:focus { display:flex; position:fixed; top:auto; right:28px; bottom:calc(max(16px, env(safe-area-inset-bottom)) + 132px); z-index:10005; width:46px; height:46px; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0; border:0; border-radius:50%; background:#2b2b2b; color:#fff; cursor:pointer; transform:none !important; }
	.admin-bar .tunixx-site-menu-button { top:auto; }
	.tunixx-site-menu-button span:not(.screen-reader-text) { width:20px; height:2px; background:currentColor; transition:transform .2s ease, opacity .2s ease; }
	.tunixx-site-menu-button[aria-expanded="true"] span:nth-of-type(2) { transform:translateY(7px) rotate(45deg); }
	.tunixx-site-menu-button[aria-expanded="true"] span:nth-of-type(3) { opacity:0; }
	.tunixx-site-menu-button[aria-expanded="true"] span:nth-of-type(4) { transform:translateY(-7px) rotate(-45deg); }
	.tunixx-site-mobile-menu:not([hidden]) { display:block; position:fixed; inset:0; z-index:10004; }
	.tunixx-site-mobile-menu__backdrop { position:absolute; inset:0; background:rgba(20,20,20,.42); opacity:0; transition:opacity .26s ease; }
	.tunixx-site-mobile-menu__panel { position:relative; width:100vw; max-width:100vw; height:100%; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; box-sizing:border-box; padding:76px 28px 34px; background:#f4f2ee; box-shadow:none; transform:translateX(-100%); opacity:.7; transition:transform .26s ease, opacity .26s ease; }
	.tunixx-site-mobile-menu__close { display:none; }
	.tunixx-site-mobile-menu__brand { display:inline-flex; align-items:center; min-height:48px; margin:0 0 42px; color:var(--tunixx-color-ink); font-family:var(--tunixx-font-display); font-size:30px; font-weight:600; letter-spacing:.06em; text-decoration:none; }
	.tunixx-site-mobile-menu__brand img { display:block; width:auto; max-width:min(56vw, 210px); max-height:58px; object-fit:contain; }
	.tunixx-site-mobile-menu.is-open .tunixx-site-mobile-menu__backdrop { opacity:1; }
	.tunixx-site-mobile-menu.is-open .tunixx-site-mobile-menu__panel { transform:translateX(0); opacity:1; }
	.tunixx-site-mobile-menu__close { display:none; }
	.tunixx-site-mobile-menu__nav { display:flex; flex-direction:column; }
	.tunixx-site-mobile-menu__nav .ih-header-link { display:block; width:100%; min-height:0; margin:0; padding:0; border-bottom:1px solid rgba(43,43,43,.18); background:transparent !important; }
	.tunixx-site-mobile-menu__nav .ih-header-link h2,
	.tunixx-site-mobile-menu__nav .ih-header-link .elementor-heading-title { margin:0; padding:0; font-family:var(--tunixx-font-display); font-size:clamp(1.65rem, 7vw, 2.4rem); font-weight:400; line-height:1.15; }
	.tunixx-site-mobile-menu__nav .ih-header-link a,
	.tunixx-site-mobile-menu__nav .ih-header-link a:visited { display:flex; align-items:center; min-height:64px; padding:10px 0; color:var(--tunixx-color-ink) !important; text-decoration:none !important; }
	/* Elementor may retain its entrance-animation state on cloned header links after navigation. */
	.tunixx-site-mobile-menu__nav .ih-header-link,
	.tunixx-site-mobile-menu__nav .ih-header-link * { opacity:1 !important; visibility:visible !important; transform:none !important; animation:none !important; }
	.tunixx-site-mobile-menu__nav .ih-header-link:hover a,
	.tunixx-site-mobile-menu__nav .ih-header-link:focus-within a { color:var(--tunixx-color-coral) !important; background:transparent !important; }
	body.tunixx-dark-mode .tunixx-site-mobile-menu__panel { background:#20211f; }
	body.tunixx-dark-mode .tunixx-site-mobile-menu__brand { color:#f4f2ee; }
	body.tunixx-dark-mode .tunixx-site-mobile-menu__brand img { filter:brightness(0) invert(1); }
	body.tunixx-dark-mode .tunixx-site-mobile-menu__nav .ih-header-link { border-color:rgba(244,242,238,.24); }
	body.tunixx-dark-mode .tunixx-site-mobile-menu__nav .ih-header-link a,
	body.tunixx-dark-mode .tunixx-site-mobile-menu__nav .ih-header-link a:visited { color:#f4f2ee !important; }
	.tunixx-site-mobile-menu__nav .ih-header-link:focus-visible,.tunixx-site-mobile-menu__close:focus-visible,.tunixx-site-menu-button:focus-visible { outline:3px solid #b7864a; outline-offset:3px; }
	body.tunixx-site-menu-open { overflow:hidden; }
	#tn-header,
	#tn-header > .elementor-container,
	#tn-header > .e-con {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	/* Keep the existing logo and the existing menu toggle on one compact row. */
	#tn-header > .elementor-container,
	#tn-header > .e-con > .e-con-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding-inline: 20px;
		box-sizing: border-box;
	}

	#tn-header .elementor-widget-image img,
	#tn-header .elementor-logo img {
		width: auto;
		max-width: min(48vw, 180px);
		height: auto;
	}

	/* Mobile hero images vary strongly in brightness. A full-surface overlay
	 * keeps every headline and button readable without removing the image. */
	#tn-hero-section,
	.elementor-element-1b1f14e,
	.tunixx-global-hero,
	.tunixx-service-hero,
	.tunixx-home-hero,
	.tunixx-retreats-section--hero,
	.tunixx-concierge-section--hero {
		position: relative;
		isolation: isolate;
	}

	#tn-hero-section::before,
	.elementor-element-1b1f14e::before,
	.tunixx-global-hero::before,
	.tunixx-service-hero::before,
	.tunixx-home-hero::before,
	.tunixx-retreats-section--hero::before,
	.tunixx-concierge-section--hero::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 0;
		pointer-events: none;
		background: linear-gradient(180deg, rgba(244,242,238,.94) 0%, rgba(244,242,238,.91) 100%);
	}

	#tn-hero-section > *,
	.elementor-element-1b1f14e > *,
	.tunixx-global-hero > *,
	.tunixx-service-hero > *,
	.tunixx-home-hero > *,
	.tunixx-retreats-section--hero > *,
	.tunixx-concierge-section--hero > * {
		position: relative;
		z-index: 1;
	}

	body.tunixx-dark-mode #tn-hero-section::before,
	body.tunixx-dark-mode .elementor-element-1b1f14e::before,
	body.tunixx-dark-mode .tunixx-global-hero::before,
	body.tunixx-dark-mode .tunixx-service-hero::before,
	body.tunixx-dark-mode .tunixx-home-hero::before,
	body.tunixx-dark-mode .tunixx-retreats-section--hero::before,
	body.tunixx-dark-mode .tunixx-concierge-section--hero::before {
		background: linear-gradient(180deg, rgba(32,33,31,.94) 0%, rgba(32,33,31,.91) 100%);
	}

	/* Elementor's own navigation widget: only style its supplied toggle and panel. */
	#tn-header .elementor-menu-toggle,
	#tn-header .tahefobu-mobile-toggle-wrap {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		margin-left: auto;
	}

	#tn-header .elementor-menu-toggle,
	#tn-header .tahefobu-mobile-toggle {
		min-width: 44px;
		min-height: 44px;
		padding: 10px;
	}

	#tn-header .elementor-nav-menu--dropdown,
	#tn-header .tahefobu-mobile-nav-menu-container {
		z-index: 101;
		width: 100%;
		max-width: none;
	}

	#tn-header .elementor-nav-menu--dropdown a,
	#tn-header .tahefobu-mobile-nav-menu a {
		min-height: 44px;
		display: flex;
		align-items: center;
		padding-block: 12px;
	}
}

/* All seven service cards use the icon as an eyebrow above their copy.
 * The final rules cover both Elementor card structures used in this section. */
.tunixx-property-service-card > .e-con-inner,
.tunixx-property-service-card--direct {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0 !important;
	padding: 26px 28px !important;
	box-sizing: border-box;
}

.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon,
.tunixx-property-service-card--direct > .elementor-widget-icon {
	width: auto !important;
	margin: 0 0 13px !important;
	align-self: flex-start !important;
}

.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon-wrapper,
.tunixx-property-service-card--direct > .elementor-widget-icon .elementor-icon-wrapper {
	width: 46px !important;
	margin: 0 !important;
}

.tunixx-property-service-card > .e-con-inner > .elementor-widget-icon .elementor-icon,
.tunixx-property-service-card--direct > .elementor-widget-icon .elementor-icon {
	display: grid !important;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0 !important;
	border-radius: 50%;
	background: #2b2b2b !important;
	color: #fff !important;
}

.tunixx-property-service-card--direct > .elementor-widget-icon .elementor-icon i,
.tunixx-property-service-card--direct > .elementor-widget-icon .elementor-icon svg {
	color: #fff !important;
	fill: currentColor !important;
	font-size: 21px;
}

.tunixx-property-service-card > .e-con-inner > .e-con,
.tunixx-property-service-card--direct > .e-con {
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

.tunixx-property-service-card .elementor-heading-title,
.tunixx-property-service-card .elementor-widget-text-editor,
.tunixx-property-service-card .elementor-widget-text-editor p {
	overflow-wrap: anywhere;
	word-break: normal;
}

@media (max-width: 767px) {
	.tunixx-property-service-card > .e-con-inner,
	.tunixx-property-service-card--direct {
		padding: 21px 20px !important;
	}
}

/* Immobilien & Ankommen — the five-step care process. */
.tunixx-property-process .elementor-element-df16611,
.tunixx-property-process .elementor-element-f74675f,
.tunixx-property-process .elementor-element-b06d7d5,
.tunixx-property-process .elementor-element-ccc6faa,
.tunixx-property-process .elementor-element-316822a {
	position: relative;
	display: flex !important;
	flex: 1 1 0;
	flex-direction: column !important;
	align-items: center !important;
	min-width: 0;
	min-height: 290px;
	padding: 26px 18px 24px !important;
	box-sizing: border-box;
	overflow: hidden;
	border: 1px solid rgba(43, 43, 43, .12);
	border-radius: 18px;
	background: linear-gradient(145deg, #fff 0%, #f4f2ee 100%) !important;
	box-shadow: 0 8px 22px rgba(33, 34, 31, .06);
}

.tunixx-property-process .elementor-element-196a592,
.tunixx-property-process .elementor-element-0f585cc,
.tunixx-property-process .elementor-element-21e923e,
.tunixx-property-process .elementor-element-21a004b,
.tunixx-property-process .elementor-element-f8b7e21 {
	display: grid !important;
	place-items: center;
	width: 30px !important;
	min-height: 30px !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	border-radius: 50%;
	background: #b7864a !important;
}

.tunixx-property-process .elementor-element-196a592 .elementor-heading-title,
.tunixx-property-process .elementor-element-0f585cc .elementor-heading-title,
.tunixx-property-process .elementor-element-21e923e .elementor-heading-title,
.tunixx-property-process .elementor-element-21a004b .elementor-heading-title,
.tunixx-property-process .elementor-element-f8b7e21 .elementor-heading-title {
	margin: 0 !important;
	color: #fff !important;
	font-family: var(--tunixx-font-body) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 30px !important;
}

.tunixx-property-process .elementor-element-6d0c870,
.tunixx-property-process .elementor-element-ad5c25f,
.tunixx-property-process .elementor-element-e4cd060,
.tunixx-property-process .elementor-element-e25c4c0,
.tunixx-property-process .elementor-element-6070c68 {
	width: auto !important;
	max-width: none !important;
	margin: 0 0 16px !important;
}

.tunixx-property-process .elementor-element-6d0c870 .elementor-icon,
.tunixx-property-process .elementor-element-ad5c25f .elementor-icon,
.tunixx-property-process .elementor-element-e4cd060 .elementor-icon,
.tunixx-property-process .elementor-element-e25c4c0 .elementor-icon,
.tunixx-property-process .elementor-element-6070c68 .elementor-icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	padding: 0 !important;
	border-radius: 50%;
	background: #2b2b2b !important;
	color: #fff !important;
}

.tunixx-property-process .elementor-element-6d0c870 .elementor-icon i,
.tunixx-property-process .elementor-element-ad5c25f .elementor-icon i,
.tunixx-property-process .elementor-element-e4cd060 .elementor-icon i,
.tunixx-property-process .elementor-element-e25c4c0 .elementor-icon i,
.tunixx-property-process .elementor-element-6070c68 .elementor-icon i {
	color: #fff !important;
	font-size: 25px;
}

.tunixx-property-process .elementor-element-a8fd7f6,
.tunixx-property-process .elementor-element-b584995,
.tunixx-property-process .elementor-element-f27d2bd,
.tunixx-property-process .elementor-element-9024851,
.tunixx-property-process .elementor-element-63abaf3 {
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
}

.tunixx-property-process .elementor-heading-title,
.tunixx-property-process .elementor-widget-text-editor,
.tunixx-property-process .elementor-widget-text-editor p {
	overflow-wrap: anywhere;
	word-break: normal;
}

.tunixx-property-process .elementor-element-1f7ebd6 .elementor-heading-title,
.tunixx-property-process .elementor-element-0b3a1e0 .elementor-heading-title,
.tunixx-property-process .elementor-element-78d32cb .elementor-heading-title,
.tunixx-property-process .elementor-element-0830710 .elementor-heading-title,
.tunixx-property-process .elementor-element-734270d .elementor-heading-title {
	margin: 0 0 10px !important;
	font-size: clamp(1rem, 1.25vw, 1.14rem) !important;
	line-height: 1.2 !important;
}

.tunixx-property-process .elementor-element-7cb0bbf,
.tunixx-property-process .elementor-element-057cf89,
.tunixx-property-process .elementor-element-872a0e0,
.tunixx-property-process .elementor-element-df31431,
.tunixx-property-process .elementor-element-57920f5 {
	margin: 0 !important;
	font-size: .93rem !important;
	line-height: 1.48 !important;
}

.tunixx-property-process .elementor-element-7ab6edd,
.tunixx-property-process .elementor-element-d3bc885,
.tunixx-property-process .elementor-element-33937fa,
.tunixx-property-process .elementor-element-8ea79f2 {
	display: grid !important;
	place-items: center;
	flex: 0 0 38px;
	width: 38px !important;
	min-width: 38px;
	padding: 0 !important;
}

.tunixx-property-process .elementor-element-7ab6edd .elementor-icon,
.tunixx-property-process .elementor-element-d3bc885 .elementor-icon,
.tunixx-property-process .elementor-element-33937fa .elementor-icon,
.tunixx-property-process .elementor-element-8ea79f2 .elementor-icon {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(183, 134, 74, .16);
	color: #b7864a !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.tunixx-property-process .elementor-element-4007bf2 > .e-con-inner {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		padding: 8px 4px 18px !important;
	}

	.tunixx-property-process .elementor-element-df16611,
	.tunixx-property-process .elementor-element-f74675f,
	.tunixx-property-process .elementor-element-b06d7d5,
	.tunixx-property-process .elementor-element-ccc6faa,
	.tunixx-property-process .elementor-element-316822a {
		flex: 0 0 220px;
	}
}

@media (max-width: 767px) {
	.tunixx-property-process .elementor-element-4007bf2 > .e-con-inner {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
	}

	.tunixx-property-process .elementor-element-df16611,
	.tunixx-property-process .elementor-element-f74675f,
	.tunixx-property-process .elementor-element-b06d7d5,
	.tunixx-property-process .elementor-element-ccc6faa,
	.tunixx-property-process .elementor-element-316822a {
		width: 100% !important;
		min-height: 0;
		padding: 24px 20px !important;
	}

	.tunixx-property-process .elementor-element-7ab6edd,
	.tunixx-property-process .elementor-element-d3bc885,
	.tunixx-property-process .elementor-element-33937fa,
	.tunixx-property-process .elementor-element-8ea79f2 {
		width: 100% !important;
		height: 42px;
		min-height: 42px;
	}

	/* Only the connector arrows rotate downward on mobile, never the step icons. */
	.tunixx-property-process .elementor-element-6d0c870 .elementor-icon,
	.tunixx-property-process .elementor-element-ad5c25f .elementor-icon,
	.tunixx-property-process .elementor-element-e4cd060 .elementor-icon,
	.tunixx-property-process .elementor-element-e25c4c0 .elementor-icon,
	.tunixx-property-process .elementor-element-6070c68 .elementor-icon {
		transform: none !important;
	}

	.tunixx-property-process .elementor-element-7ab6edd .elementor-icon,
	.tunixx-property-process .elementor-element-d3bc885 .elementor-icon,
	.tunixx-property-process .elementor-element-33937fa .elementor-icon,
	.tunixx-property-process .elementor-element-8ea79f2 .elementor-icon {
		transform: rotate(90deg) !important;
	}
}

/* Direct Elementor selectors: the process remains styled even before any
 * frontend helper script has initialized. */
body .elementor-912 .elementor-element-97501ca .elementor-element-df16611,
body .elementor-912 .elementor-element-97501ca .elementor-element-f74675f,
body .elementor-912 .elementor-element-97501ca .elementor-element-b06d7d5,
body .elementor-912 .elementor-element-97501ca .elementor-element-ccc6faa,
body .elementor-912 .elementor-element-97501ca .elementor-element-316822a {
	display: flex !important;
	flex: 1 1 0 !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	min-width: 0 !important;
	min-height: 286px !important;
	padding: 26px 18px 24px !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	border: 1px solid rgba(43, 43, 43, .13) !important;
	border-radius: 18px !important;
	background: linear-gradient(145deg, #ffffff 0%, #f4f2ee 100%) !important;
	box-shadow: 0 8px 22px rgba(33, 34, 31, .07) !important;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-196a592,
body .elementor-912 .elementor-element-97501ca .elementor-element-0f585cc,
body .elementor-912 .elementor-element-97501ca .elementor-element-21e923e,
body .elementor-912 .elementor-element-97501ca .elementor-element-21a004b,
body .elementor-912 .elementor-element-97501ca .elementor-element-f8b7e21 {
	display: grid !important;
	place-items: center !important;
	width: 30px !important;
	min-height: 30px !important;
	margin: 0 0 13px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: #b7864a !important;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-196a592 .elementor-heading-title,
body .elementor-912 .elementor-element-97501ca .elementor-element-0f585cc .elementor-heading-title,
body .elementor-912 .elementor-element-97501ca .elementor-element-21e923e .elementor-heading-title,
body .elementor-912 .elementor-element-97501ca .elementor-element-21a004b .elementor-heading-title,
body .elementor-912 .elementor-element-97501ca .elementor-element-f8b7e21 .elementor-heading-title {
	margin: 0 !important;
	color: #fff !important;
	font-family: var(--tunixx-font-body) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 30px !important;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-6d0c870,
body .elementor-912 .elementor-element-97501ca .elementor-element-ad5c25f,
body .elementor-912 .elementor-element-97501ca .elementor-element-e4cd060,
body .elementor-912 .elementor-element-97501ca .elementor-element-e25c4c0,
body .elementor-912 .elementor-element-97501ca .elementor-element-6070c68 {
	width: auto !important;
	max-width: none !important;
	margin: 0 0 16px !important;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-6d0c870 .elementor-icon,
body .elementor-912 .elementor-element-97501ca .elementor-element-ad5c25f .elementor-icon,
body .elementor-912 .elementor-element-97501ca .elementor-element-e4cd060 .elementor-icon,
body .elementor-912 .elementor-element-97501ca .elementor-element-e25c4c0 .elementor-icon,
body .elementor-912 .elementor-element-97501ca .elementor-element-6070c68 .elementor-icon {
	display: grid !important;
	place-items: center !important;
	width: 54px !important;
	height: 54px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: #2b2b2b !important;
	color: #fff !important;
	transform: none !important;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-6d0c870 .elementor-icon i,
body .elementor-912 .elementor-element-97501ca .elementor-element-ad5c25f .elementor-icon i,
body .elementor-912 .elementor-element-97501ca .elementor-element-e4cd060 .elementor-icon i,
body .elementor-912 .elementor-element-97501ca .elementor-element-e25c4c0 .elementor-icon i,
body .elementor-912 .elementor-element-97501ca .elementor-element-6070c68 .elementor-icon i {
	color: #fff !important;
	font-size: 25px !important;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-a8fd7f6,
body .elementor-912 .elementor-element-97501ca .elementor-element-b584995,
body .elementor-912 .elementor-element-97501ca .elementor-element-f27d2bd,
body .elementor-912 .elementor-element-97501ca .elementor-element-9024851,
body .elementor-912 .elementor-element-97501ca .elementor-element-63abaf3 {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-1f7ebd6 .elementor-heading-title,
body .elementor-912 .elementor-element-97501ca .elementor-element-0b3a1e0 .elementor-heading-title,
body .elementor-912 .elementor-element-97501ca .elementor-element-78d32cb .elementor-heading-title,
body .elementor-912 .elementor-element-97501ca .elementor-element-0830710 .elementor-heading-title,
body .elementor-912 .elementor-element-97501ca .elementor-element-734270d .elementor-heading-title {
	margin: 0 0 10px !important;
	font-size: clamp(1rem, 1.25vw, 1.14rem) !important;
	line-height: 1.2 !important;
	overflow-wrap: anywhere;
}

body .elementor-912 .elementor-element-97501ca .elementor-widget-text-editor,
body .elementor-912 .elementor-element-97501ca .elementor-widget-text-editor p {
	margin: 0 !important;
	font-size: .93rem !important;
	line-height: 1.48 !important;
	overflow-wrap: anywhere;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd,
body .elementor-912 .elementor-element-97501ca .elementor-element-d3bc885,
body .elementor-912 .elementor-element-97501ca .elementor-element-33937fa,
body .elementor-912 .elementor-element-97501ca .elementor-element-8ea79f2 {
	display: grid !important;
	place-items: center !important;
	flex: 0 0 38px !important;
	width: 38px !important;
	min-width: 38px !important;
	padding: 0 !important;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd .elementor-icon,
body .elementor-912 .elementor-element-97501ca .elementor-element-d3bc885 .elementor-icon,
body .elementor-912 .elementor-element-97501ca .elementor-element-33937fa .elementor-icon,
body .elementor-912 .elementor-element-97501ca .elementor-element-8ea79f2 .elementor-icon {
	display: grid !important;
	place-items: center !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #b7864a !important;
}

@media (max-width: 767px) {
	body .elementor-912 .elementor-element-97501ca .elementor-element-df16611,
	body .elementor-912 .elementor-element-97501ca .elementor-element-f74675f,
	body .elementor-912 .elementor-element-97501ca .elementor-element-b06d7d5,
	body .elementor-912 .elementor-element-97501ca .elementor-element-ccc6faa,
	body .elementor-912 .elementor-element-97501ca .elementor-element-316822a {
		width: 100% !important;
		min-height: 0 !important;
		padding: 24px 20px !important;
	}

	body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd,
	body .elementor-912 .elementor-element-97501ca .elementor-element-d3bc885,
	body .elementor-912 .elementor-element-97501ca .elementor-element-33937fa,
	body .elementor-912 .elementor-element-97501ca .elementor-element-8ea79f2 {
		width: 100% !important;
		height: 42px !important;
		min-height: 42px !important;
	}

	body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd .elementor-icon,
	body .elementor-912 .elementor-element-97501ca .elementor-element-d3bc885 .elementor-icon,
	body .elementor-912 .elementor-element-97501ca .elementor-element-33937fa .elementor-icon,
	body .elementor-912 .elementor-element-97501ca .elementor-element-8ea79f2 .elementor-icon {
		transform: rotate(90deg) !important;
	}
}

/* Über Tunixx — turn the opening statement into a distinctive brand moment. */
.tunixx-about-section--intro {
	position: relative;
	isolation: isolate;
	grid-template-columns: minmax(150px, .42fr) minmax(0, 1.35fr) !important;
	gap: clamp(32px, 8vw, 110px) !important;
	width: min(100% - 8vw, var(--tunixx-content-width)) !important;
	margin: clamp(36px, 6vw, 80px) auto 0 !important;
	padding: clamp(56px, 8vw, 110px) clamp(28px, 7vw, 100px) !important;
	overflow: hidden;
	border: 0 !important;
	border-radius: 28px;
	background: linear-gradient(135deg, #20211f 0%, #30342e 100%);
	color: #f4f2ee;
}

.tunixx-about-section--intro::before {
	content: "";
	position: absolute;
	z-index: 0;
	right: clamp(-180px, -9vw, -80px);
	top: 50%;
	width: clamp(280px, 34vw, 510px);
	aspect-ratio: 1;
	border: 1px solid rgba(244, 242, 238, .19);
	border-radius: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.tunixx-about-section--intro::after {
	content: "T";
	position: absolute;
	right: clamp(20px, 5vw, 78px);
	bottom: clamp(-60px, -4vw, -20px);
	z-index: 0;
	color: rgba(244, 242, 238, .06);
	font-family: var(--tunixx-font-display);
	font-size: clamp(13rem, 27vw, 28rem);
	font-weight: 400;
	line-height: .7;
	pointer-events: none;
}

.tunixx-about-section--intro > * {
	position: relative;
	z-index: 1;
}

.tunixx-about-section--intro .tunixx-about-section__label {
	align-self: start;
	margin-top: 10px;
	padding-top: 14px;
	border-top: 1px solid rgba(244, 242, 238, .42);
	color: #c6a06d;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
}

.tunixx-about-section--intro .tunixx-about-section__body {
	max-width: 760px;
}

.tunixx-about-section--intro h2 {
	max-width: 630px;
	margin: 0 0 30px !important;
	color: #f4f2ee;
	font-size: clamp(3.3rem, 6.5vw, 6.6rem) !important;
	line-height: .92 !important;
}

.tunixx-about-section--intro .tunixx-about-section__body > p:not(.tunixx-about-highlight) {
	max-width: 590px;
	margin: 0 !important;
	color: rgba(244, 242, 238, .86);
	font-size: clamp(1.08rem, 1.55vw, 1.35rem);
	line-height: 1.58;
}

.tunixx-about-section--intro .tunixx-about-highlight {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	margin: 34px 0 0 !important;
	padding: 14px 20px !important;
	border: 1px solid rgba(244, 242, 238, .3) !important;
	border-left: 4px solid #c6a06d !important;
	border-radius: 0 12px 12px 0;
	background: rgba(244, 242, 238, .08);
	color: #fff;
	font-size: clamp(1rem, 1.4vw, 1.16rem) !important;
	font-weight: 600;
}

@media (max-width: 767px) {
	.tunixx-about-section--intro {
		display: block !important;
		width: min(100% - 40px, var(--tunixx-content-width)) !important;
		margin-top: 28px !important;
		padding: 48px 24px 44px !important;
		border-radius: 20px;
	}

	.tunixx-about-section--intro .tunixx-about-section__label {
		width: max-content;
		margin: 0 0 38px;
	}

	.tunixx-about-section--intro h2 {
		font-size: clamp(3rem, 15vw, 4.4rem) !important;
	}

	.tunixx-about-section--intro::before {
		right: -135px;
		width: 280px;
	}
}

/* Über Tunixx: remove editorial numbering and give the opening statement
 * the complete content width. */
.tunixx-about-page .tunixx-about-hero__number,
.tunixx-about-page .tunixx-about-section__label,
.tunixx-about-page .tunixx-about-eyebrow {
	display: none !important;
}

.tunixx-about-section--intro {
	grid-template-columns: minmax(0, 1fr) !important;
}

.tunixx-about-section--intro::before {
	display: none;
}

.tunixx-about-section--intro .tunixx-about-section__body,
.tunixx-about-section--intro h2,
.tunixx-about-section--intro .tunixx-about-section__body > p:not(.tunixx-about-highlight) {
	max-width: none;
}

/* Immobilien process — mobile-only reset: one stable vertical step at a time. */
@media (max-width: 767px) {
	body .elementor-912 .elementor-element-97501ca .elementor-element-4007bf2 > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	overflow: visible !important;
	}

	body .elementor-912 .elementor-element-97501ca .elementor-element-df16611,
	body .elementor-912 .elementor-element-97501ca .elementor-element-f74675f,
	body .elementor-912 .elementor-element-97501ca .elementor-element-b06d7d5,
	body .elementor-912 .elementor-element-97501ca .elementor-element-ccc6faa,
	body .elementor-912 .elementor-element-97501ca .elementor-element-316822a {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 24px 20px !important;
	}

	body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd,
	body .elementor-912 .elementor-element-97501ca .elementor-element-d3bc885,
	body .elementor-912 .elementor-element-97501ca .elementor-element-33937fa,
	body .elementor-912 .elementor-element-97501ca .elementor-element-8ea79f2 {
		display: grid !important;
		place-items: center !important;
		flex: 0 0 46px !important;
		width: 100% !important;
		height: 46px !important;
		min-height: 46px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd .elementor-icon-wrapper,
	body .elementor-912 .elementor-element-97501ca .elementor-element-d3bc885 .elementor-icon-wrapper,
	body .elementor-912 .elementor-element-97501ca .elementor-element-33937fa .elementor-icon-wrapper,
	body .elementor-912 .elementor-element-97501ca .elementor-element-8ea79f2 .elementor-icon-wrapper {
		width: 100% !important;
		text-align: center !important;
	}

	body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd > .elementor-widget-icon,
	body .elementor-912 .elementor-element-97501ca .elementor-element-d3bc885 > .elementor-widget-icon,
	body .elementor-912 .elementor-element-97501ca .elementor-element-33937fa > .elementor-widget-icon,
	body .elementor-912 .elementor-element-97501ca .elementor-element-8ea79f2 > .elementor-widget-icon {
		width: auto !important;
		margin-inline: auto !important;
		align-self: center !important;
		justify-self: center !important;
	}

	/* First connector: force both its Elementor container and widget to centre. */
	body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
	}

	body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd > .elementor-element-bb380bc {
		width: auto !important;
		margin: 0 !important;
		flex: 0 0 auto !important;
	}

	body .elementor-912 .elementor-element-97501ca .elementor-widget-text-editor,
	body .elementor-912 .elementor-element-97501ca .elementor-widget-text-editor p,
	body .elementor-912 .elementor-element-97501ca .elementor-heading-title {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}
}

/* Final connector alignment override. */
body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd > .elementor-element-bb380bc {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	width: auto !important;
	margin: 0 auto !important;
	transform: none !important;
	flex: 0 0 auto !important;
}

@media (max-width: 767px) {
	/* Elementor gives the arrow widgets an intrinsic left alignment. Pin each
	 * widget to the exact horizontal centre of its full-width connector row. */
	body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd,
	body .elementor-912 .elementor-element-97501ca .elementor-element-d3bc885,
	body .elementor-912 .elementor-element-97501ca .elementor-element-33937fa,
	body .elementor-912 .elementor-element-97501ca .elementor-element-8ea79f2 {
		position: relative !important;
	}

	body .elementor-912 .elementor-element-97501ca .elementor-element-7ab6edd > .elementor-widget-icon,
	body .elementor-912 .elementor-element-97501ca .elementor-element-d3bc885 > .elementor-widget-icon,
	body .elementor-912 .elementor-element-97501ca .elementor-element-33937fa > .elementor-widget-icon,
	body .elementor-912 .elementor-element-97501ca .elementor-element-8ea79f2 > .elementor-widget-icon {
		position: absolute !important;
		left: 50% !important;
		top: 50% !important;
		width: auto !important;
		margin: 0 !important;
		transform: translate(-50%, -50%) !important;
	}

	/* This is the actual parent of all five steps and four connectors.
	 * Stack this container itself; styling only its inner wrapper leaves the
	 * original horizontal layout active. */
	body .elementor-912 .elementor-element-97501ca .elementor-element-9344722 {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
}

/* Contact page — guided multi-step enquiry, adapted to the Tunixx system. */
.tunixx-contact-page__form:has(.tnw) {
	padding: clamp(20px, 3.6vw, 42px);
	background: linear-gradient(145deg, #eee5d8 0%, #f4f2ee 100%);
}

.tnw { color: var(--tunixx-color-ink); font-family: var(--tunixx-font-body); }
.tnw *, .tnw *::before, .tnw *::after { box-sizing: border-box; }
.tnw-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.tnw-tabs button { min-height: 38px; padding: 8px 12px; border: 1px solid rgba(43,43,43,.18); border-radius: 999px; background: transparent; color: var(--tunixx-color-ink); font: 600 12px/1.2 var(--tunixx-font-body); cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.tnw-tabs button:hover, .tnw-tabs button.is-active { border-color: #2b2b2b; background: #2b2b2b; color: #fff; }
.tnw-card { padding: clamp(20px, 3vw, 32px); border: 1px solid rgba(43,43,43,.12); border-radius: 20px; background: rgba(255,255,255,.72); box-shadow: 0 14px 36px rgba(33,34,31,.08); }
.tnw-head > p { margin: 0 0 7px; color: #b7864a; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.tnw-head h3 { margin: 0 0 8px; color: var(--tunixx-color-ink); font-family: var(--tunixx-font-display); font-size: clamp(1.7rem, 2.5vw, 2.35rem); font-weight: 400; line-height: 1.05; }
.tnw-head > span { display: block; max-width: 560px; color: rgba(43,43,43,.72); font-size: 15px; line-height: 1.5; }
.tnw-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 24px 0 9px; }
.tnw-progress i { display: block; height: 3px; border-radius: 999px; background: rgba(43,43,43,.13); }
.tnw-progress i.is-on { background: #b7864a; }
.tnw-step { margin: 0 0 22px; color: rgba(43,43,43,.58); font-size: 12px; font-weight: 600; }
.tnw-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(175px, .42fr); gap: 24px; align-items: start; }
.tnw-layout form { min-width: 0; margin: 0; }
.tnw-fields { display: grid; gap: 18px; }
.tnw-field { display: block; min-width: 0; margin: 0; padding: 0; border: 0; }
.tnw-field > span, .tnw-field legend { display: block; margin: 0 0 8px; color: var(--tunixx-color-ink); font-size: 14px; font-weight: 700; }
.tnw-field small { display: block; margin-top: 7px; color: rgba(43,43,43,.58); font-size: 12px; }
.tnw-field input[type="text"], .tnw-field input[type="email"], .tnw-field input[type="tel"], .tnw-field input[type="date"], .tnw-field input[type="number"], .tnw-field textarea { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid rgba(43,43,43,.2); border-radius: 11px; outline: 0; background: #fff; color: var(--tunixx-color-ink); font: 400 15px/1.4 var(--tunixx-font-body); transition: border-color .2s ease, box-shadow .2s ease; }
.tnw-field textarea { min-height: 108px; resize: vertical; }
.tnw-field input:focus, .tnw-field textarea:focus { border-color: #b7864a; box-shadow: 0 0 0 3px rgba(183,134,74,.16); }
.tnw-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tnw-chips label { position: relative; cursor: pointer; }
.tnw-chips input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.tnw-chips span { display: block; padding: 9px 11px; border: 1px solid rgba(43,43,43,.18); border-radius: 10px; background: rgba(255,255,255,.8); color: var(--tunixx-color-ink); font-size: 13px; line-height: 1.28; transition: background .18s ease, border-color .18s ease, color .18s ease; }
.tnw-chips input:checked + span { border-color: #7a846f; background: #7a846f; color: #fff; }
.tnw-chips input:focus-visible + span { outline: 3px solid rgba(183,134,74,.42); outline-offset: 2px; }
.tnw-consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 2px; color: rgba(43,43,43,.72); font-size: 12px; line-height: 1.45; }
.tnw-consent input { flex: 0 0 auto; margin-top: 3px; accent-color: #7a846f; }
.tnw-consent a { color: inherit; text-decoration: underline; }
.tnw-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 26px; }
.tnw-actions button { min-height: 45px; padding: 11px 18px; border-radius: 999px; font: 600 14px/1 var(--tunixx-font-body); cursor: pointer; }
.tnw-back { border: 1px solid rgba(43,43,43,.25); background: transparent; color: var(--tunixx-color-ink); }
.tnw-back:disabled { visibility: hidden; }
.tnw-next { margin-left: auto; border: 1px solid #2b2b2b; background: #2b2b2b; color: #fff; }
.tnw-next:hover { background: #7a846f; border-color: #7a846f; }
.tnw-summary { padding: 18px; border-radius: 14px; background: rgba(122,132,111,.13); color: var(--tunixx-color-ink); }
.tnw-summary h4 { margin: 0 0 10px; font-size: 13px; font-weight: 700; }
.tnw-summary p { margin: 0; font-size: 13px; line-height: 1.5; }
.tnw-summary .tnw-empty { color: rgba(43,43,43,.58); }
body.tunixx-dark-mode .tunixx-contact-page__form:has(.tnw) { background: linear-gradient(145deg, #30362f, #282c28); }
body.tunixx-dark-mode .tnw, body.tunixx-dark-mode .tnw-head h3, body.tunixx-dark-mode .tnw-field > span, body.tunixx-dark-mode .tnw-field legend, body.tunixx-dark-mode .tnw-tabs button, body.tunixx-dark-mode .tnw-summary { color: #f4f2ee; }
body.tunixx-dark-mode .tnw-card { border-color: rgba(244,242,238,.14); background: rgba(32,33,31,.62); }
body.tunixx-dark-mode .tnw-head > span, body.tunixx-dark-mode .tnw-step, body.tunixx-dark-mode .tnw-field small, body.tunixx-dark-mode .tnw-consent, body.tunixx-dark-mode .tnw-summary .tnw-empty { color: rgba(244,242,238,.7); }
body.tunixx-dark-mode .tnw-field input, body.tunixx-dark-mode .tnw-field textarea, body.tunixx-dark-mode .tnw-chips span { border-color: rgba(244,242,238,.2); background: rgba(244,242,238,.08); color: #f4f2ee; }
body.tunixx-dark-mode .tnw-tabs button { border-color: rgba(244,242,238,.24); }
@media (max-width: 800px) { .tnw-layout { grid-template-columns: 1fr; } .tnw-summary { order: -1; } }
@media (max-width: 480px) { .tunixx-contact-page__form:has(.tnw) { padding: 14px; } .tnw-card { padding: 20px 16px; border-radius: 16px; } .tnw-tabs { gap: 6px; } .tnw-tabs button { flex: 1 1 calc(50% - 6px); padding-inline: 8px; font-size: 11px; } .tnw-chips { gap: 7px; } .tnw-chips span { padding: 8px 9px; font-size: 12px; } }

@media (min-width: 801px) {
	.tunixx-contact-page:has(.tnw) {
		grid-template-columns: minmax(210px, .58fr) minmax(0, 1.42fr);
		gap: clamp(30px, 4vw, 64px);
		width: min(100% - 64px, 1360px);
	}

	.tunixx-contact-page:has(.tnw) .tunixx-contact-page__intro {
		max-width: 370px;
	}

	.tunixx-contact-page:has(.tnw) .tunixx-contact-page__intro h1 {
		font-size: clamp(2.5rem, 3.45vw, 4.25rem);
	}
}

/* Private Tunixx Lounge: internal overview for protocol and form submissions. */
.tunixx-lounge {
	--tunixx-lounge-ink: #202421;
	--tunixx-lounge-paper: #f7f5f0;
	--tunixx-lounge-line: rgba(32, 36, 33, .12);
	width: min(100% - 48px, 1280px);
	margin: clamp(90px, 12vw, 150px) auto 80px;
	color: var(--tunixx-lounge-ink);
	font-family: var(--tunixx-font-body);
}
.tunixx-lounge *, .tunixx-lounge *::before, .tunixx-lounge *::after { box-sizing: border-box; }
.tunixx-lounge__hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding: clamp(28px, 5vw, 62px); overflow: hidden; border-radius: 28px; background: radial-gradient(circle at 89% 12%, rgba(183,134,74,.42), transparent 28%), linear-gradient(135deg, #2c302c, #1f221f); color: #f9f7f1; box-shadow: 0 22px 55px rgba(25,28,25,.18); }
.tunixx-lounge__eyebrow { margin: 0 0 11px; color: #b7864a; font-size: 11px; font-weight: 700; letter-spacing: .16em; line-height: 1; text-transform: uppercase; }
.tunixx-lounge__hero h1 { margin: 0; color: inherit; font-family: var(--tunixx-font-display); font-size: clamp(2.7rem, 5vw, 5.1rem); font-weight: 400; line-height: .94; }
.tunixx-lounge__hero p:not(.tunixx-lounge__eyebrow) { max-width: 515px; margin: 18px 0 0; color: rgba(249,247,241,.72); font-size: clamp(15px, 1.6vw, 18px); line-height: 1.55; }
.tunixx-lounge__count { display: grid; place-items: center; flex: 0 0 142px; width: 142px; min-height: 142px; border: 1px solid rgba(249,247,241,.25); border-radius: 50%; background: rgba(255,255,255,.07); text-align: center; }
.tunixx-lounge__count strong { display: block; color: #fff; font-family: var(--tunixx-font-display); font-size: 45px; font-weight: 400; line-height: .9; }
.tunixx-lounge__count span { display: block; margin-top: 7px; color: rgba(249,247,241,.72); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tunixx-lounge__panel { margin-top: 24px; padding: clamp(22px, 4vw, 48px); border: 1px solid var(--tunixx-lounge-line); border-radius: 24px; background: var(--tunixx-lounge-paper); box-shadow: 0 14px 36px rgba(25,28,25,.06); }
.tunixx-lounge__panel-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid var(--tunixx-lounge-line); }
.tunixx-lounge__panel-head h2 { margin: 0; color: var(--tunixx-lounge-ink); font-family: var(--tunixx-font-display); font-size: clamp(2rem, 3vw, 3rem); font-weight: 400; line-height: 1; }
.tunixx-lounge__notice { padding: 8px 11px; border-radius: 999px; background: rgba(122,132,111,.14); color: #53604f; font-size: 11px; font-weight: 700; letter-spacing: .05em; white-space: nowrap; }
.tunixx-lounge__entries { display: grid; gap: 14px; margin-top: 24px; }
.tunixx-lounge-entry { padding: 24px; border: 1px solid var(--tunixx-lounge-line); border-radius: 17px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.tunixx-lounge-entry:hover { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(25,28,25,.07); }
.tunixx-lounge-entry > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; padding-bottom: 17px; border-bottom: 1px solid var(--tunixx-lounge-line); }
.tunixx-lounge-entry__tag { display: inline-block; margin-bottom: 7px; color: #9c703b; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tunixx-lounge-entry h3 { margin: 0; color: var(--tunixx-lounge-ink); font-family: var(--tunixx-font-display); font-size: 24px; font-weight: 400; line-height: 1; }
.tunixx-lounge-entry time { color: rgba(32,36,33,.55); font-size: 12px; white-space: nowrap; }
.tunixx-lounge-entry dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; margin: 18px 0 0; }
.tunixx-lounge-entry dl div { min-width: 0; }
.tunixx-lounge-entry dt { margin-bottom: 4px; color: #7a846f; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.tunixx-lounge-entry dd { margin: 0; overflow-wrap: anywhere; color: var(--tunixx-lounge-ink); font-size: 14px; line-height: 1.55; }
.tunixx-lounge-entry__muted { margin: 17px 0 0; color: rgba(32,36,33,.62); font-size: 14px; }
.tunixx-lounge__empty { max-width: 620px; margin: 48px auto 18px; padding: clamp(25px, 5vw, 55px); border: 1px dashed rgba(32,36,33,.22); border-radius: 18px; background: rgba(255,255,255,.55); text-align: center; }
.tunixx-lounge__empty > span { display: grid; place-items: center; width: 47px; height: 47px; margin: 0 auto 16px; border-radius: 50%; background: #7a846f; color: #fff; font-size: 22px; }
.tunixx-lounge__empty h3 { margin: 0; color: var(--tunixx-lounge-ink); font-family: var(--tunixx-font-display); font-size: 28px; font-weight: 400; }
.tunixx-lounge__empty p { max-width: 390px; margin: 11px auto 0; color: rgba(32,36,33,.65); font-size: 15px; line-height: 1.55; }
body.tunixx-dark-mode .tunixx-lounge { --tunixx-lounge-ink: #f5f2ea; --tunixx-lounge-paper: #292d29; --tunixx-lounge-line: rgba(245,242,234,.15); }
body.tunixx-dark-mode .tunixx-lounge__panel, body.tunixx-dark-mode .tunixx-lounge-entry { background: #252925; }
body.tunixx-dark-mode .tunixx-lounge-entry dt { color: #b8c0ad; }
body.tunixx-dark-mode .tunixx-lounge-entry time, body.tunixx-dark-mode .tunixx-lounge-entry__muted, body.tunixx-dark-mode .tunixx-lounge__empty p { color: rgba(245,242,234,.66); }
body.tunixx-dark-mode .tunixx-lounge__empty { background: rgba(255,255,255,.035); }
@media (max-width: 640px) { .tunixx-lounge { width: min(100% - 28px, 1280px); margin-top: 94px; } .tunixx-lounge__hero { align-items: flex-start; flex-direction: column; border-radius: 20px; } .tunixx-lounge__count { flex-basis: 105px; width: 105px; min-height: 105px; } .tunixx-lounge__count strong { font-size: 36px; } .tunixx-lounge__panel { border-radius: 20px; } .tunixx-lounge__panel-head { align-items: flex-start; flex-direction: column; } .tunixx-lounge-entry { padding: 19px; } .tunixx-lounge-entry > header { flex-direction: column; } .tunixx-lounge-entry dl { grid-template-columns: 1fr; gap: 12px; } }

/* Startseite: das Netzwerk-Icon als prägnantes grafisches Element. */
body.home .elementor-element-02fd0c4,
body.home .elementor-element-6e96ad5,
body.home .elementor-element-d22843b {
	min-height: 128px;
	align-items: center;
	justify-content: center;
}
body.home .elementor-element-363b249,
body.home .elementor-element-628315e,
body.home .elementor-element-bfe32da,
body.home .elementor-element-363b249 .elementor-icon-wrapper,
body.home .elementor-element-628315e .elementor-icon-wrapper,
body.home .elementor-element-bfe32da .elementor-icon-wrapper,
body.home .elementor-element-363b249 .elementor-icon,
body.home .elementor-element-628315e .elementor-icon,
body.home .elementor-element-bfe32da .elementor-icon {
	display: grid;
	place-items: center;
	width: 128px;
	height: 128px;
	line-height: 1;
}
body.home .elementor-element-363b249 .elementor-icon i,
body.home .elementor-element-628315e .elementor-icon i,
body.home .elementor-element-bfe32da .elementor-icon i {
	/* Elementor sets a smaller font-size directly on the icon widget. */
	font-size: 120px !important;
	line-height: 1 !important;
	width: auto !important;
	height: auto !important;
}
@media (max-width: 767px) {
	body.home .elementor-element-02fd0c4,
	body.home .elementor-element-6e96ad5,
	body.home .elementor-element-d22843b { min-height: 100px; }
	body.home .elementor-element-363b249,
	body.home .elementor-element-628315e,
	body.home .elementor-element-bfe32da,
	body.home .elementor-element-363b249 .elementor-icon-wrapper,
	body.home .elementor-element-628315e .elementor-icon-wrapper,
	body.home .elementor-element-bfe32da .elementor-icon-wrapper,
	body.home .elementor-element-363b249 .elementor-icon,
	body.home .elementor-element-628315e .elementor-icon,
	body.home .elementor-element-bfe32da .elementor-icon { width: 100px; height: 100px; }
	body.home .elementor-element-363b249 .elementor-icon i,
	body.home .elementor-element-628315e .elementor-icon i,
	body.home .elementor-element-bfe32da .elementor-icon i { font-size: 92px !important; }
}

/* Final enquiry section on each individual Tunixx service page. */
.tunixx-service-enquiry {
	display: grid;
	grid-template-columns: minmax(240px, .68fr) minmax(0, 1.32fr);
	gap: clamp(30px, 6vw, 100px);
	align-items: start;
	width: min(100% - 64px, 1280px);
	margin: clamp(75px, 11vw, 150px) auto clamp(70px, 9vw, 120px);
	padding: clamp(30px, 5vw, 64px);
	border-radius: 28px;
	background: linear-gradient(135deg, #e9e1d4 0%, #f5f3ee 52%, #e7ece3 100%);
}
.tunixx-service-enquiry__intro { position: sticky; top: 110px; }
.tunixx-service-enquiry__intro h2 { margin: 0; color: var(--tunixx-color-ink); font-family: var(--tunixx-font-display); font-size: clamp(2.15rem, 3.4vw, 4rem); font-weight: 400; line-height: .98; }
.tunixx-service-enquiry__intro > p:last-child { max-width: 360px; margin: 17px 0 0; color: rgba(43,43,43,.72); font-size: 16px; line-height: 1.6; }
.tunixx-service-enquiry__form { min-width: 0; padding: clamp(19px, 3vw, 37px); border: 1px solid rgba(43,43,43,.13); border-radius: 20px; background: rgba(255,255,255,.7); box-shadow: 0 16px 35px rgba(33,34,31,.08); }
.tunixx-service-enquiry__form .tnw-card { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.tunixx-service-enquiry__form .tnw-layout { grid-template-columns: minmax(0, 1fr) minmax(160px, .36fr); }
body.tunixx-dark-mode .tunixx-service-enquiry { background: linear-gradient(135deg, #2c312c, #222622); }
body.tunixx-dark-mode .tunixx-service-enquiry__intro h2 { color: #f4f2ee; }
body.tunixx-dark-mode .tunixx-service-enquiry__intro > p:last-child { color: rgba(244,242,238,.72); }
body.tunixx-dark-mode .tunixx-service-enquiry__form { border-color: rgba(244,242,238,.14); background: rgba(21,24,21,.48); }
@media (max-width: 800px) { .tunixx-service-enquiry { grid-template-columns: 1fr; width: min(100% - 30px, 1280px); margin-top: 70px; padding: 25px 17px; border-radius: 20px; } .tunixx-service-enquiry__intro { position: static; } .tunixx-service-enquiry__form { padding: 18px 14px; } .tunixx-service-enquiry__form .tnw-layout { grid-template-columns: 1fr; } }

/* Header language switcher: compact, accessible and clearly stateful. */
.elementor-element-ac05dd6 {
	display: inline-flex !important;
	align-items: center;
	gap: 3px !important;
	width: auto !important;
	min-height: 38px;
	padding: 3px !important;
	border: 1px solid rgba(43, 43, 43, .14);
	border-radius: 999px;
	background: rgba(244, 242, 238, .78);
	box-shadow: 0 5px 15px rgba(24, 28, 24, .07);
	backdrop-filter: blur(8px);
}
.elementor-element-ac05dd6 > .elementor-element {
	display: block !important;
	position: relative !important;
	z-index: 2 !important;
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
	pointer-events: auto !important;
}
.elementor-element-ac05dd6 h1,
.elementor-element-ac05dd6 h2,
.elementor-element-ac05dd6 h3,
.elementor-element-ac05dd6 h4,
.elementor-element-ac05dd6 h5,
.elementor-element-ac05dd6 h6 {
	display: grid;
	place-items: center;
	min-width: 34px;
	height: 30px;
	margin: 0 !important;
	padding: 0 9px;
	border-radius: 999px;
	color: rgba(43, 43, 43, .54) !important;
	font-family: var(--tunixx-font-body) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	line-height: 1 !important;
	transition: color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.elementor-element-ac05dd6 h1:hover,
.elementor-element-ac05dd6 h2:hover,
.elementor-element-ac05dd6 h3:hover,
.elementor-element-ac05dd6 h4:hover,
.elementor-element-ac05dd6 h5:hover,
.elementor-element-ac05dd6 h6:hover { color: #2b2b2b !important; transform: translateY(-1px); }
.elementor-element-ac05dd6 .is-current-language h1,
.elementor-element-ac05dd6 .is-current-language h2,
.elementor-element-ac05dd6 .is-current-language h3,
.elementor-element-ac05dd6 .is-current-language h4,
.elementor-element-ac05dd6 .is-current-language h5,
.elementor-element-ac05dd6 .is-current-language h6 {
	background: #2b2b2b;
	color: #fff !important;
	box-shadow: 0 3px 9px rgba(24, 28, 24, .2);
}
.elementor-element-ac05dd6 h1:focus-visible,
.elementor-element-ac05dd6 h2:focus-visible,
.elementor-element-ac05dd6 h3:focus-visible,
.elementor-element-ac05dd6 h4:focus-visible,
.elementor-element-ac05dd6 h5:focus-visible,
.elementor-element-ac05dd6 h6:focus-visible { outline: 2px solid #b7864a; outline-offset: 2px; }
body.tunixx-dark-mode .elementor-element-ac05dd6 { border-color: rgba(244, 242, 238, .18); background: rgba(35, 39, 35, .82); }
body.tunixx-dark-mode .elementor-element-ac05dd6 h1,
body.tunixx-dark-mode .elementor-element-ac05dd6 h2,
body.tunixx-dark-mode .elementor-element-ac05dd6 h3,
body.tunixx-dark-mode .elementor-element-ac05dd6 h4,
body.tunixx-dark-mode .elementor-element-ac05dd6 h5,
body.tunixx-dark-mode .elementor-element-ac05dd6 h6 { color: rgba(244, 242, 238, .62) !important; }
body.tunixx-dark-mode .elementor-element-ac05dd6 .is-current-language h1,
body.tunixx-dark-mode .elementor-element-ac05dd6 .is-current-language h2,
body.tunixx-dark-mode .elementor-element-ac05dd6 .is-current-language h3,
body.tunixx-dark-mode .elementor-element-ac05dd6 .is-current-language h4,
body.tunixx-dark-mode .elementor-element-ac05dd6 .is-current-language h5,
body.tunixx-dark-mode .elementor-element-ac05dd6 .is-current-language h6 { background: #f4f2ee; color: #252925 !important; }
@media (hover: hover) and (min-width: 768px) {
	.elementor-element-ac05dd6 { gap: 0 !important; transition: padding .24s ease, box-shadow .24s ease; }
	.elementor-element-ac05dd6 > .elementor-element:not(.is-current-language) { max-width: 0; overflow: hidden; opacity: 0; pointer-events: none !important; transition: max-width .28s ease, opacity .18s ease; }
	.elementor-element-ac05dd6:hover,
	.elementor-element-ac05dd6:focus-within { padding-inline: 4px !important; box-shadow: 0 8px 20px rgba(24, 28, 24, .13); }
	.elementor-element-ac05dd6:hover > .elementor-element,
	.elementor-element-ac05dd6:focus-within > .elementor-element { max-width: 58px; opacity: 1; pointer-events: auto !important; }
}

/* Rebuilt language picker; the Elementor headings only provide its placement. */
.elementor-element-ac05dd6:has(.tunixx-language-picker) { display: block !important; min-height: 0; padding: 0 !important; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.tunixx-language-picker { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid rgba(43,43,43,.14); border-radius: 999px; background: rgba(244,242,238,.92); box-shadow: 0 6px 18px rgba(24,28,24,.1); }
.tunixx-language-picker__button { display: grid; place-items: center; min-width: 35px; height: 30px; padding: 0 9px; border: 0; border-radius: 999px; background: transparent; color: rgba(43,43,43,.55); font: 700 10px/1 var(--tunixx-font-body); letter-spacing: .12em; cursor: pointer; transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease; }
.tunixx-language-picker__button:hover { color: #2b2b2b; background: rgba(43,43,43,.08); transform: translateY(-1px); }
.tunixx-language-picker__button.is-active { background: #2b2b2b; color: #fff; box-shadow: 0 3px 9px rgba(24,28,24,.2); }
.tunixx-language-picker__button:focus-visible { outline: 2px solid #b7864a; outline-offset: 2px; }
body.tunixx-dark-mode .tunixx-language-picker { border-color: rgba(244,242,238,.18); background: rgba(35,39,35,.92); }
body.tunixx-dark-mode .tunixx-language-picker__button { color: rgba(244,242,238,.62); }
body.tunixx-dark-mode .tunixx-language-picker__button:hover { color: #f4f2ee; background: rgba(244,242,238,.1); }
body.tunixx-dark-mode .tunixx-language-picker__button.is-active { background: #f4f2ee; color: #252925; }

.tunixx-mobile-language-picker { display: inline-flex; align-items: center; align-self: flex-start; gap: 3px; margin-top: 28px; padding: 3px; border: 1px solid rgba(43,43,43,.14); border-radius: 999px; background: rgba(43,43,43,.06); }
.tunixx-mobile-language-picker button { display: grid; place-items: center; min-width: 42px; height: 34px; padding: 0 10px; border: 0; border-radius: 999px; background: transparent; color: rgba(43,43,43,.58); font: 700 11px/1 var(--tunixx-font-body); letter-spacing: .12em; cursor: pointer; }
.tunixx-mobile-language-picker button.is-active { background: #2b2b2b; color: #fff; box-shadow: 0 3px 9px rgba(24,28,24,.18); }
.tunixx-mobile-language-picker button:focus-visible { outline: 2px solid #b7864a; outline-offset: 2px; }
body.tunixx-dark-mode .tunixx-mobile-language-picker { border-color: rgba(244,242,238,.18); background: rgba(244,242,238,.08); }
body.tunixx-dark-mode .tunixx-mobile-language-picker button { color: rgba(244,242,238,.62); }
body.tunixx-dark-mode .tunixx-mobile-language-picker button.is-active { background: #f4f2ee; color: #252925; }
.tunixx-site-mobile-header .tunixx-mobile-language-picker--header { flex: 0 0 auto; align-self: center; margin: 0 0 0 auto; transform: scale(.88); transform-origin: right center; }
.tunixx-site-mobile-header .tunixx-mobile-language-picker--header + .tunixx-site-mobile-header__contact { margin-left: 8px; }

/* Startseite: Vertrauens-Karten – Icon als stabiler Eyebrow über dem Text. */
body.home .elementor-element-633fbdd,
body.home .elementor-element-fd65a9e,
body.home .elementor-element-a4a7f00 {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
}
body.home .elementor-element-02fd0c4,
body.home .elementor-element-6e96ad5,
body.home .elementor-element-d22843b {
	display: flex !important;
	width: 100% !important;
	min-height: 128px !important;
	margin: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	transform: none !important;
}
body.home .elementor-element-c9743cd,
body.home .elementor-element-b5f7ca8,
body.home .elementor-element-ad1d538 {
	width: 100% !important;
	margin: 0 !important;
	padding-top: 10px !important;
	align-items: center !important;
	text-align: center !important;
}
@media (max-width: 767px) {
	body.home .elementor-element-02fd0c4,
	body.home .elementor-element-6e96ad5,
	body.home .elementor-element-d22843b { min-height: 104px !important; }
}

/* Exact trust-card alignment: icon and copy share the same left edge. */
.tunixx-home-trust-card > .e-con:first-child {
	display: flex !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: -30px 0 68px !important;
	padding: 0 !important;
	align-items: center !important;
	justify-content: flex-start !important;
}
.tunixx-home-trust-card > .e-con:first-child .elementor-widget-icon,
.tunixx-home-trust-card > .e-con:first-child .elementor-icon-wrapper,
.tunixx-home-trust-card > .e-con:first-child .elementor-icon {
	margin: 0 !important;
	text-align: left !important;
}
.tunixx-home-trust-card > .e-con:nth-child(2) {
	width: 100% !important;
	margin: 0 !important;
	padding-top: 0 !important;
	text-align: left !important;
}
.tunixx-home-trust-card > .e-con:nth-child(2) .elementor-widget-heading,
.tunixx-home-trust-card > .e-con:nth-child(2) .elementor-widget-text-editor { text-align: left !important; }
@media (max-width: 767px) { .tunixx-home-trust-card > .e-con:first-child { min-height: 0 !important; margin: -18px 0 48px !important; } }

/* Third trust card: long translated title stays optically centred. */
body.home .elementor-element-a4a7f00 .elementor-element-438ec48,
body.home .elementor-element-a4a7f00 .elementor-element-438ec48 .elementor-heading-title { text-align: center !important; }

/* Mobile: a calmer, more compact reading scale across all page content. */
@media (max-width: 767px) {
	/* One deliberate mobile headline scale across the entire site. */
	main .elementor-widget-heading .elementor-heading-title,
	main h1,
	main h2,
	main h3,
	main h4,
	main h5,
	main h6,
	.tunixx-service-hero h1,
	.tunixx-global-hero h1,
	#tn-hero-section h1,
	body.home .elementor-element-08cad60,
	body.home .elementor-element-08cad60 p { font-size: 36px !important; line-height: 1.14 !important; }

	main .elementor-widget-heading h1,
	main h1 { font-size: clamp(2rem, 8.3vw, 2.8rem) !important; line-height: 1.08 !important; }
	main .elementor-widget-heading h2,
	main h2 { font-size: clamp(1.55rem, 6.4vw, 2.05rem) !important; line-height: 1.15 !important; }
	main .elementor-widget-heading h3,
	main h3 { font-size: clamp(1.26rem, 5.25vw, 1.52rem) !important; line-height: 1.22 !important; }
	main .elementor-widget-heading h4,
	main h4,
	main h5,
	main h6 { font-size: 1.08rem !important; line-height: 1.3 !important; }
	main .elementor-widget-text-editor,
	main .elementor-widget-text-editor p,
	main .elementor-widget-text-editor li,
	main p,
	main li { font-size: 0.94rem !important; line-height: 1.62 !important; }
	main .elementor-widget-text-editor small,
	main small { font-size: 0.8rem !important; }
	/* Elementor can set an inline size on headings; override it consistently. */
	main .elementor-widget-heading .elementor-heading-title {
		font-size: clamp(1.3rem, 5.7vw, 1.65rem) !important;
		line-height: 1.18 !important;
	}

	/* The standalone and Elementor heroes carry their own large type rules. */
	.tunixx-service-hero h1,
	.tunixx-service-hero.tunixx-about-hero h1,
	.tunixx-global-hero h1,
	.tunixx-global-hero .elementor-heading-title,
	#tn-hero-section h1,
	#tn-hero-section .elementor-heading-title,
	main [class*="hero"] .elementor-widget-heading h1,
	main [class*="hero"] .elementor-heading-title { font-size: clamp(2rem, 9.6vw, 3rem) !important; line-height: 1.08 !important; }
	.tunixx-service-hero__subtitle,
	.tunixx-service-hero__values,
	.tunixx-service-hero__eyebrow,
	.tunixx-global-hero p,
	#tn-hero-section p,
	main [class*="hero"] .elementor-widget-text-editor,
	main [class*="hero"] .elementor-widget-text-editor p { font-size: 0.9rem !important; line-height: 1.55 !important; }

	/* Homepage trust section: its section title is a text widget, not a heading widget. */
	body.home .elementor-element-08cad60,
	body.home .elementor-element-08cad60 p { font-size: clamp(1.5rem, 7vw, 1.85rem) !important; line-height: 1.18 !important; }
}

/* Final mobile typography override: all headlines use the same 36px scale. */
@media (max-width: 767px) {
	body main .elementor-widget-heading .elementor-heading-title,
	body main h1,
	body main h2,
	body main h3,
	body main h4,
	body main h5,
	body main h6,
	body .tunixx-service-hero h1,
	body .tunixx-service-hero.tunixx-about-hero h1,
	body .tunixx-global-hero h1,
	body .tunixx-global-hero .elementor-heading-title,
	body #tn-hero-section h1,
	body #tn-hero-section .elementor-heading-title,
	body.home .elementor-element-08cad60,
	body.home .elementor-element-08cad60 p { font-size: 36px !important; line-height: 1.14 !important; }
	body main .tunixx-mobile-text-heading,
	body main .tunixx-mobile-text-heading p,
	body .elementor-element-5e88d95,
	body .elementor-element-5e88d95 p { font-size: 36px !important; line-height: 1.14 !important; }
}
