/*
Theme Name:     Webjungle
Theme URI:      https://www.webjungle.ch
Author:         Webjungle
Author URI:     https://www.webjungle.ch
Description:    Custom Webjungle theme (ehemals Neve Child), komplett eigenständig ohne Parent Theme Abhängigkeiten.
Version:        1.1.0
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    webjungle
*/

/* font-family: 'Source Sans Pro', sans-serif;
font-family: 'Playfair Display', serif; */

:root {
	--wj-btn-radius: 999px;
	--wj-btn-padding-y: 14px;
	--wj-btn-padding-x: 32px;
	--wj-btn-font-size: 17px;
	--wj-btn-font-weight: 800;
	--wj-btn-letter-spacing: -0.02em;
	--wj-btn-gap: 10px;
	--wj-btn-min-height: 52px;
	--wj-heading-line-height: 1.32;
	--wj-btn-bg: #3c6e58;
	--wj-btn-bg-hover: #66a384;
	--wj-btn-text: #fdfcf8;
	--wj-btn-border: #3c6e58;
	--wj-btn-bg-soft: rgba(255,255,255,0.92);
	--wj-btn-text-soft: #1f3f33;
	--wj-btn-border-soft: rgba(255,255,255,0.92);
	--wj-page-bg: #fdfbf7;
	--wj-surface: #ffffff;
	--wj-surface-soft: #f4f5f1;
	--wj-text: #0c1b13;
	--wj-muted-text: rgba(12, 27, 19, 0.72);
	--wj-border-soft: rgba(11, 26, 18, 0.12);
	--wj-accent: #2a7d52;
	--wj-accent-strong: #1b4e33;
}

/* Admin bar: overlay instead of pushing content (keine weisse Lücke) */
html.wp-toolbar {
	margin-top: 0 !important;
}
body.admin-bar #wpadminbar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}
@media (max-width: 782px) {
	html.wp-toolbar {
		margin-top: 0 !important;
	}
}

html, body {
	margin: 0;
	padding: 0;
}
html {
	scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
body {
	font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
	background-color: var(--wj-page-bg);
	color: var(--wj-text);
}

a {
	color: var(--wj-accent);
}

a:hover,
a:focus-visible {
	color: var(--wj-accent-strong);
}

#page,
#content {
	background-color: var(--wj-page-bg);
}
h1, h2, h3, h4, h5, h6,
.wj-h1, .wj-h2, .wj-h3, .wj-h4, .wj-h5, .wj-h6,
.site-header nav .primary-menu-ul > li > a,
.site-header nav .primary-menu-ul > li > .wrap > a {
	font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
	line-height: var(--wj-heading-line-height);
}

.wj-visually-hidden {
	position: absolute;
	left: -9999px;
	top: -9999px;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0;
	white-space: nowrap;
}

a {
	cursor: pointer;
}
p {
	font-size: 17px;
	font-weight: 400;
	line-height: 1.5em !important;
}
strong {
	font-family: 'Roboto', sans-serif;
	font-weight: 800;
}
/** BUTTON **/
.elementor-button,
.button-portflio,
.wj-btn,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--wj-btn-gap);
	padding: var(--wj-btn-padding-y) var(--wj-btn-padding-x) !important;
	border-radius: var(--wj-btn-radius) !important;
	font-size: var(--wj-btn-font-size) !important;
	font-weight: var(--wj-btn-font-weight) !important;
	letter-spacing: var(--wj-btn-letter-spacing);
	line-height: 1.15;
	min-height: var(--wj-btn-min-height);
	text-decoration: none;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
	background: var(--wj-btn-bg) !important;
	color: var(--wj-btn-text) !important;
	border: 2px solid var(--wj-btn-border) !important;
	box-shadow: 0 12px 26px rgba(0,0,0,0.08);
}
.elementor-button:hover,
.button-portflio:hover,
.wj-btn:hover,
.wp-block-button__link:hover {
	transform: translateY(-1px);
	background: var(--wj-btn-bg-hover) !important;
	border-color: var(--wj-btn-bg-hover) !important;
}
.elementor-button::after,
.button-portflio::after,
.wj-btn::after,
.wp-block-button__link::after {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	content: '→';
	margin-left: 10px;
	font-size: .95em !important;
	opacity: .9;
	transition: transform .2s ease, margin-left .2s ease, opacity .2s ease;
}
.elementor-button:hover::after,
.button-portflio:hover::after,
.wj-btn:hover::after,
.wp-block-button__link:hover::after {
	margin-left: 14px;
	transform: translateX(2px);
	opacity: 1;
}
/* Modifier: remove default icon when custom icon is placed in markup */
.wj-btn--no-icon::after {
	content: none !important;
	margin: 0 !important;
	transform: none !important;
}
/* Light/on-dark variant */
.wj-btn--light,
.elementor-button.wj-btn--light,
.wp-block-button__link.wj-btn--light {
	background: var(--wj-btn-bg-soft) !important;
	color: var(--wj-btn-text-soft) !important;
	border-color: var(--wj-btn-border-soft) !important;
}
/** BUTTON WHITE **/
#button-white {
	background-color: #fff !important;
	color: #468A63 !important;
	border: 2px solid #fff !important;
	font-weight: var(--wj-btn-font-weight) !important;
}
#button-white:hover {
	background-color: transparent !important;
	color: #fff !important;
	border: 2px solid #fff !important;  
}

/*****************************/
/** MENU
/*****************************/

.site-header {
	width: 100%;
	position: absolute;
	text-align: center;
	z-index: 999;

	transition: transform 280ms ease, box-shadow 280ms ease, opacity 280ms ease;
	will-change: transform;

	/* Header link color system */
	--header-link: rgba(255,255,255,.85);
	--header-link-hover: #CDB364;
	--header-link-active: #FFFFFF;
	--header-link-underline: rgba(255,255,255,.35);
}

/* Header content aligns with main container width */
.site-header .container,
.hfg_header .row,
.hfg_header .container,
.hfg_header .container-fluid {
	width: min(1560px, calc(100% - 48px)) !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
@media (max-width: 620px) {
	.site-header .container,
	.hfg_header .row,
	.hfg_header .container,
	.hfg_header .container-fluid {
		width: calc(100% - 10vw) !important;
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Light pages (e.g. Referenzen page 608) use dark links before sticky state */
body.page-id-608 .site-header {
	--header-link: #0D2B4A;
	--header-link-hover: #4E725E;
	--header-link-active: #4E725E;
	--header-link-underline: rgba(13,43,74,.25);
}

/* Sticky state: links switch to light for readability on the green header background */
body.nv-header-scrolled .site-header {
	--header-link: rgba(255,255,255,.92);
	--header-link-hover: #CDB364;
	--header-link-active: #CDB364;
	--header-link-underline: rgba(255,255,255,.35);
}
/* LOGO */
.builder-item--logo .site-logo {
	padding-left: 0%;
}
.builder-item--logo .site-logo img,
.site-header .custom-logo {
	max-height: clamp(56px, 9vw, 88px);
	height: auto;
	width: auto;
}
@media screen and (max-width: 900px) {
	.builder-item--logo .site-logo {
		padding-left: 0%;
	}
	.builder-item--logo .site-logo img,
	.site-header .custom-logo {
		max-height: 62px;
	}
}
.site-header .site-title {
	font-family: 'Martel', serif;
	color: #fff !important;
	padding-left: 20px;
	font-size: 28px;
	letter-spacing: 1px;
}
.site-header .site-title:hover {
	color: #CDB364 !important;
	transition: ease-in .3s;
}
.light-mode, .nv-navbar {
	background-color: transparent;
}
.site-header .header-main-inner,
.hfg_header .header-main-inner {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	background-color: transparent;
}
/** NAV LINKS (Neve: nav.nv-menu-primary + li > .wrap > a) **/
.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item) > .wrap > a,
.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item) > a {
  color: var(--header-link) !important;
  font-weight: 700 !important;
  letter-spacing: 1px;
  text-transform: none;
  transition: color .2s ease, border-color .2s ease;
  border-bottom: 2px solid transparent;
}

/* HEADER HOVER */
.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item):hover > .wrap > a,
.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item):hover > a {
  color: var(--header-link-hover) !important;
  border-bottom-color: var(--header-link-hover);
}

/* HEADER HOVER LINE (falls Neve :after nutzt) */
.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item) > .wrap > a:after,
.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item) > a:after {
  background-color: var(--header-link-underline);
}

/* Active/current menu item */
.site-header nav.nv-menu-primary .primary-menu-ul > li.current-menu-item > .wrap > a,
.site-header nav.nv-menu-primary .primary-menu-ul > li.current_page_item > .wrap > a,
.site-header nav.nv-menu-primary .primary-menu-ul > li.current-menu-ancestor > .wrap > a,
.site-header nav.nv-menu-primary .primary-menu-ul > li.current-menu-item > a,
.site-header nav.nv-menu-primary .primary-menu-ul > li.current_page_item > a,
.site-header nav.nv-menu-primary .primary-menu-ul > li.current-menu-ancestor > a {
  color: var(--header-link-active) !important;
  border-bottom-color: var(--header-link-active);
}

/* LAST RESORT: ensure header menu link colors always win over Neve/Customizer accent colors */
.site-header .primary-menu-ul > li > a,
.site-header .primary-menu-ul > li > .wrap > a {
	color: var(--header-link) !important;
}
.site-header .primary-menu-ul > li:hover > a,
.site-header .primary-menu-ul > li:hover > .wrap > a {
	color: var(--header-link-hover) !important;
}
.site-header .primary-menu-ul > li.current-menu-item > a,
.site-header .primary-menu-ul > li.current-menu-item > .wrap > a,
.site-header .primary-menu-ul > li.current_page_item > a,
.site-header .primary-menu-ul > li.current_page_item > .wrap > a,
.site-header .primary-menu-ul > li.current-menu-ancestor > a,
.site-header .primary-menu-ul > li.current-menu-ancestor > .wrap > a {
	color: var(--header-link-active) !important;
}

/* Header menu hover effect: animated underline + subtle lift */
.site-header .primary-menu-ul > li > a,
.site-header .primary-menu-ul > li > .wrap > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transform: translateY(0);
	will-change: transform;
}

.site-header .primary-menu-ul > li > a::after,
.site-header .primary-menu-ul > li > .wrap > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--header-link-hover), var(--header-link-active));
	opacity: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .22s ease, opacity .22s ease;
}

.site-header .primary-menu-ul > li:hover > a,
.site-header .primary-menu-ul > li:hover > .wrap > a {
	transform: translateY(-1px);
	text-shadow: 0 6px 16px rgba(0,0,0,.18);
}

.site-header .primary-menu-ul > li:hover > a::after,
.site-header .primary-menu-ul > li:hover > .wrap > a::after {
	opacity: 1;
	transform: scaleX(1);
}

/* Keep underline visible for current page */
.site-header .primary-menu-ul > li.current-menu-item > a::after,
.site-header .primary-menu-ul > li.current-menu-item > .wrap > a::after,
.site-header .primary-menu-ul > li.current_page_item > a::after,
.site-header .primary-menu-ul > li.current_page_item > .wrap > a::after,
.site-header .primary-menu-ul > li.current-menu-ancestor > a::after,
.site-header .primary-menu-ul > li.current-menu-ancestor > .wrap > a::after {
	opacity: 1;
	transform: scaleX(1);
	background: linear-gradient(90deg, var(--header-link-active), var(--header-link-hover));
}
/* LANGUAGE SWITCHER */
.weglot-lang a {
	margin: 0em !important;
	padding: 0em !important;
}
li.weglot-lang  a {
	color: #858585 !important;
	margin: 0em !important;
	padding: 0em !important;
	width: 1px;
}
/* Sticky header state (JS toggles body class) */
body.nv-header-scrolled {
	/* The header is already out of document flow before sticky mode; padding here causes a first-scroll jump. */
	padding-top: 0;
}
body.nv-header-scrolled .site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	box-shadow: none;
	transform: translateY(-110%);
}
body.nv-header-scrolled:not(.nv-header-hidden) .site-header {
	transform: translateY(0);
	box-shadow: rgba(0, 0, 0, 0.05) 0 3px 15px;
}
body.nv-header-scrolled.nv-header-hidden .site-header {
	transform: translateY(-110%);
	box-shadow: none;
}
body.nv-header-scrolled .site-header,
body.nv-header-scrolled .site-header .header-main-inner,
body.nv-header-scrolled .hfg_header .header-main-inner {
	background: linear-gradient(120deg, #1f3f33 0%, #234637 45%, #1a3226 100%);
	background-color: #1f3f33;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	-webkit-transition: background-color 250ms linear, backdrop-filter 250ms linear;
	transition: background-color 250ms linear, backdrop-filter 250ms linear;
}
body.nv-header-scrolled .builder-item--logo .site-logo img {
	max-height: clamp(48px, 8vw, 68px);
	width: auto !important;
	height: auto !important;
	object-fit: contain;
}

/* Prevent the logo area from shrinking in the sticky header */
body.nv-header-scrolled .builder-item--logo {
	flex-shrink: 0;
}

/* Compact sticky state: tighter padding and spacing */
body.nv-header-scrolled .site-header .header-main-inner,
body.nv-header-scrolled .hfg_header .header-main-inner {
	padding-top: 8px;
	padding-bottom: 8px;
	gap: 14px;
}

/** MOBILE MENU **/
/* Make the burger button look consistent, clickable and aligned */
.site-header .builder-item--nav-icon,
.site-header .builder-item--nav-icon .navbar-toggle {
	align-self: center;
}

.site-header .builder-item--nav-icon .navbar-toggle,
.site-header .navbar-toggle,
.site-header .header-menu-sidebar .close-sidebar-panel .navbar-toggle {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Button shell (tap target) */
.site-header .builder-item--nav-icon .navbar-toggle {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(255,255,255,.12) !important;
	border: 1px solid rgba(255,255,255,.22) !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	transition: transform .16s ease, background-color .16s ease, border-color .16s ease;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

/* Use header link color system for the icon */
.site-header .builder-item--nav-icon .navbar-toggle {
	color: var(--header-link);
}

.site-header .builder-item--nav-icon .navbar-toggle:hover {
	transform: translateY(-1px);
	background: rgba(255,255,255,.16) !important;
	border-color: rgba(255,255,255,.28) !important;
}

.site-header .builder-item--nav-icon .navbar-toggle:active {
	transform: translateY(0);
}

.site-header .builder-item--nav-icon .navbar-toggle:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(255,255,255,.28) !important;
}

/* When sticky header is on green background, keep a slightly stronger button */
body.nv-header-scrolled .site-header .builder-item--nav-icon .navbar-toggle {
	background: rgba(255,255,255,.14) !important;
	border-color: rgba(255,255,255,.28) !important;
	color: rgba(255,255,255,.95);
}

/* Light pages (dark header links before sticky state) */
body.page-id-608 .site-header .builder-item--nav-icon .navbar-toggle {
	background: rgba(13,43,74,.08) !important;
	border-color: rgba(13,43,74,.18) !important;
	color: #0D2B4A;
}

/* Burger lines */
.site-header .header-main-inner .icon-bar,
.site-header .icon-bar {
	display: block;
	height: 2px;
	width: 22px;
	border-radius: 2px;
	background: currentColor;
	transition: transform .18s ease, opacity .18s ease;
}

/* Ensure spacing between the 3 bars */
.site-header .navbar-toggle .icon-bar + .icon-bar {
	margin-top: 5px;
}

/* Open state (JS adds .is-menu-open on body) */
body.is-menu-open .site-header .builder-item--nav-icon .navbar-toggle,
body.is-menu-sidebar .site-header .builder-item--nav-icon .navbar-toggle {
	background: rgba(255,255,255,.18) !important;
	border-color: rgba(255,255,255,.32) !important;
}

/* Transform to X */
body.is-menu-open .navbar-toggle .icon-bar:nth-child(1),
body.is-menu-sidebar .navbar-toggle .icon-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
body.is-menu-open .navbar-toggle .icon-bar:nth-child(2),
body.is-menu-sidebar .navbar-toggle .icon-bar:nth-child(2) {
	opacity: 0;
}
body.is-menu-open .navbar-toggle .icon-bar:nth-child(3),
body.is-menu-sidebar .navbar-toggle .icon-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.header-menu-sidebar .nav-menu-primary ul li {
	padding: 20px 0;
}
.header-menu-sidebar .nav-menu-primary ul li a {
	font-size: 1em;
}
.header-menu-sidebar .nav-menu-primary ul li a:hover {
	text-decoration: none;
}

@media (min-width: 960px) {
	.row .primary-menu-ul > li {
        width: inherit;
        padding: 10px 25px;
        font-weight: 500 !important;
        font-size: 18px;
    }
    .row .primary-menu-ul > li a {
		font-family: 'Martel', serif;
        text-transform: none;
        font-weight: bolder !important;
    }
	.header-menu-sidebar .nav-menu-primary ul li {
		padding: 30px 0;
		font-size: 40px;
	}
	.header-menu-sidebar.light-mode .header-menu-sidebar-bg {
		background-color: #777777;
	}
	.site-header nav.nv-menu-primary .primary-menu-ul > li.current-menu-item > .wrap > a,
	.site-header nav.nv-menu-primary .primary-menu-ul > li.current-menu-item > a {
	color: var(--header-link-active) !important;
	}
	.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item) > .wrap > a,
	.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item) > a {
	color: var(--header-link) !important;
	}
 }
 
@media screen and (max-width:900px) {
	.header-menu-sidebar .nav-menu-primary ul li {
		padding: 15px 15px;
		font-size: 30px;
		font-weight: 800;
		font-family: 'Martel', serif;
	}
	.hfg_header .header-menu-sidebar .header-menu-sidebar-bg{
		background-color: #142B48;
	}
	.site-header nav.nv-menu-primary .primary-menu-ul > li.current-menu-item > .wrap > a,
	.site-header nav.nv-menu-primary .primary-menu-ul > li.current-menu-item > a {
		color: var(--header-link-active) !important;
	}
	.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item) > .wrap > a,
	.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item) > a {
		color: var(--header-link) !important;
	}
	.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item) > .wrap > a:hover,
	.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item) > a:hover {
		text-decoration: none;
		border-bottom: none;
	}
	.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item):hover > .wrap > a,
	.site-header nav.nv-menu-primary .primary-menu-ul > li:not(.woocommerce-mini-cart-item):hover > a {
		border-bottom: none;
	}
	.site-header .primary-menu-ul > li > a::after,
	.site-header .primary-menu-ul > li > .wrap > a::after {
		display: none;
	}
}

/*****************************/
/** HOME
/*****************************/

.logohome {
	position: fixed;
	float: right;
	left: 48%;
	top: 20%;
}
.logohome img {
	height: clamp(240px, 42vh, 520px);
	width: auto;
}

@media screen and (max-width: 490px) {
	.logohome {
		left: 56%;
		top: 40%;
	}
	.logohome img {
		height: clamp(180px, 32vh, 340px);
		width: auto;
	}
}
.hellopage h1 {
	font-size: 3em;
	line-height: var(--wj-heading-line-height) !important;
	font-weight: 500;
}
@media screen and (max-width: 490px) {
	.hellopage h1 {
		font-size: 2.2em;
	}
}
.hellopage h2 {
	font-family: 'Roboto', sans-serif;
	color: #fff;
	font-size: 1.3em;
	line-height: var(--wj-heading-line-height);
	font-weight: 500;
}
@media screen and (max-width: 490px) {
	.hellopage h2 {
		font-size: 1em;
		max-width: 80%;
	}
}

.button-hello .elementor-button:after {
	content: '\f063';
} 

/** INTRO **/
.introhome h3, .introhome h4, .introhome h5 {
	font-family: 'Roboto', sans-serif !important;
}
.introhome h5 {
	font-size: 37px;
}
.introhome h2 {
	line-height: var(--wj-heading-line-height);
	padding: 20px 0;
}
.introhome h3 {
	line-height: var(--wj-heading-line-height);
}

/*****************************/
/** Kompetenzen
/*****************************/

.kompetenzen p {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4em !important;
}

/*****************************/
/** Dienstleistungen
/*****************************/

.dienstleistungenintro h2 {
	font-size: 1.3em;
}
.dienstleistungenintro h2:hover {
	font-size: 1.4em;
	transition: ease .1s;
}

/*****************************/
/** Referenzen Home
/*****************************/

.referenzen p {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4em !important;
}
.referenzen .obfx-grid .obfx-grid-title a {
	font-family: 'Roboto', sans-serif !important;
	font-size: 1.3em;
}

/*****************************/
/** Referenzen Seite
/*****************************/

.headerreferenzen h1, .headerreferenzen h2 {
	font-family: 'Roboto', sans-serif;
}
@media screen and (max-width: 900px) {
	.headerreferenzen {
		padding: 80px 5% 30px 5%;
	}
}
@media screen and (max-width: 490px) {
	.headerreferenzen {
		padding: 70px 5% 30px 5%;
	}
	.headerreferenzen h1 {
		font-size: 2em;
	}
	.headerreferenzen h2 {
		font-size: 1em;
	}
}
.headerreferenzen h2 {
	font-size: 1.5em;
}
@media screen and (max-width: 490px) {
	.headerreferenzen h2 {
		font-size: 1.3em;
	}
}
.referenzenlist .obfx-grid .obfx-grid-title a {
	font-family: 'Roboto', sans-serif !important;
	font-size: 1.3em;
	color: #27617E;
}
.referenzenlist .obfx-grid .obfx-grid-title a, .referenzenlist .obfx-grid-content, .referenzenlist .obfx-grid-footer, .referenzenlist .obfx-grid-meta {
	padding-left: 60px;
}
@media screen and (max-width: 900px) {
	.obfx-grid-container.obfx-grid-style-list .obfx-grid-col {
		display: block !important;
	}
	.obfx-grid-container.obfx-grid-style-list .obfx-grid-col-content {
		width: 100% !important;
	}
	.referenzenlist .obfx-grid .obfx-grid-title a, .referenzenlist .obfx-grid-content, .referenzenlist .obfx-grid-footer, .referenzenlist .obfx-grid-meta {
		padding-left: 0px;
		text-align: left !important;
	}
	.obfx-grid-container.obfx-grid-style-list .obfx-grid-col-image {
		width: 100% !important;
	}
}

.referenzenlist .obfx-grid-meta {
	margin-top: 20px;
	margin-bottom: 20px;
}
.obfx-grid-categories-item:after {
	display: none;
}
.referenzenlist .obfx-grid-meta a {
	font-family: 'Roboto', sans-serif !important;
	color: #fff;
	background-color: #4E725E;
	padding: 10px;
	font-weight: bold;
	text-transform: none;
	margin-right: 10px;
}
.referenzenlist .obfx-grid-meta a:hover {
	color: #fff;
	background-color: #4db27b;
	text-decoration: none;
	transition: .2s;
}
.referenzenlist .obfx-grid-footer a {
	color: #000 !important;
	font-size: 17px;
	text-transform: none;
}
.referenzenlist .obfx-grid-footer a:hover {
	color: #4E725E !important;
	transition: .2s;
}
.referenzenlist .obfx-grid-footer a:hover:after {
	font-family: "Font Awesome 6 Free","Font Awesome 6 Pro","Font Awesome 5 Free","Font Awesome 5 Pro";
	content: '\f30b';
	font-size: 15px;
	padding-left: 5px;
	color: #4E725E;
}

/*****************************/
/* OBFX Grid (Referenzen): Mobile = 1 column (entries stacked) */
@media screen and (max-width: 900px) {
	/* Keep OBFX layout engine intact (flex/grid) but force 1 column */
	.obfx-grid .obfx-grid-container {
		flex-wrap: wrap !important;
	}

	.obfx-grid .obfx-grid-container .obfx-grid-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.obfx-grid .obfx-grid-container .obfx-grid-col {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 28px !important;
	}

	/* Ensure images remain visible and responsive (some OBFX skins hide/crop on mobile) */
	.obfx-grid .obfx-grid-col-image,
	.obfx-grid .obfx-fit-height {
		display: block !important;
		height: auto !important;
		min-height: 1px !important;
		overflow: visible !important;
	}

	.obfx-grid .obfx-grid-col-image a {
		display: block !important;
	}

	.obfx-grid .obfx-grid-col-image img {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		max-width: 100% !important;
		opacity: 1 !important;
		visibility: visible !important;
		position: relative !important;
		z-index: 1 !important;
	}

	/* --- More robust mobile fix for OBFX (prevents overlay + ensures image area is visible) --- */
	.obfx-grid .obfx-grid-container.obfx-grid-style-list .obfx-grid-col {
		display: flex !important;
		flex-direction: column !important;
	}

	.obfx-grid .obfx-grid-container.obfx-grid-style-list .obfx-grid-col-image {
		order: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		/* Stable visible area even if OBFX tries to fit/collapse heights */
		aspect-ratio: 16 / 9;
		height: auto !important;
		min-height: 180px !important;
		overflow: hidden !important;
		position: relative !important;
	}

	.obfx-grid .obfx-grid-container.obfx-grid-style-list .obfx-grid-col-image a {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
	}

	.obfx-grid .obfx-grid-container.obfx-grid-style-list .obfx-grid-col-image img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}

	.obfx-grid .obfx-grid-container.obfx-grid-style-list .obfx-grid-col-content {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		margin-top: 14px !important;
		position: relative !important;
		z-index: 2 !important;
	}

	.obfx-grid .obfx-grid-container.obfx-grid-style-list .obfx-grid-title,
	.obfx-grid .obfx-grid-container.obfx-grid-style-list .obfx-grid-title a {
		position: relative !important;
		z-index: 2 !important;
	}

	/* If any OBFX skin sets absolute positioning for the content/title, neutralize it on mobile */
	.obfx-grid .obfx-grid-container.obfx-grid-style-list .obfx-grid-col-content,
	.obfx-grid .obfx-grid-container.obfx-grid-style-list .obfx-grid-title {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
	}
}
/*****************************/
/** Team
/*****************************/

.team h2 {
	line-height: var(--wj-heading-line-height) !important;
}

/*****************************/
/** Preise
/*****************************/

.preise h4 {
	font-family: 'Roboto', sans-serif !important;
	font-size: 2em;	
	font-weight: 600;
}
.preise h5 {
	font-family: 'Roboto', sans-serif !important;
	font-size: 1em;	
	font-weight: 500;
}
.pricenumb p, .pricenumb h4 {
	display: inline;
}
.pricenumb .elementor-text-editor {
	font-size: 27px;
	font-weight: 800;
	color: #707070;
}
.pricenumb h4 {
	font-size: 60px;
	color: #303030;
}
.pricenumb n {
	position: relative;
	top: -40px;
}
.preise .elementor-text-editor ul {
	list-style: none;
	font-weight: 600px;
}
.preise .elementor-text-editor ul li {
	font-weight: 400;
}

/*****************************/
/** Know How
/*****************************/

.knowhow h2, .knowhow h3, .knowhow h4 {
	line-height: var(--wj-heading-line-height) !important;
}
.knowhow p {
	color: #000;
	margin-bottom: 0em;
}
.knowhow h2 {
	font-family: 'Martel', serif;
	color: #111111;
	font-size: 32px ;
}
.knowhow h3 {
	font-family: 'Roboto', sans-serif;
	font-weight: bold;
}
.knowhow h3 a {
	color: #42745C;
}
.knowhow h3 a:hover {
	border-bottom: 2px solid;
	transition-duration: .1s;
}

/*****************************/
/** CONTACT
/*****************************/

.floatingcontact {
	position: fixed;
	z-index: 9999;
	left: 18px;
	bottom: 28px;
	display: grid;
	gap: 10px;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}
.floatingcontact a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(255,255,255,.98);
	width: 52px;
	height: 52px;
	border-radius: 16px;
	box-shadow: 0 14px 28px rgba(0,0,0,.18);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border: 1px solid var(--wj-border-soft);
	text-decoration: none;
	color: var(--wj-accent-strong);
}
.floatingcontact i,
.floatingcontact__icon {
	color: var(--wj-accent-strong);
}
.floatingcontact__icon {
	display: block;
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.floatingcontact__icon--offer {
	width: 19px;
	height: 19px;
}
.floatingcontact__icon--privacy {
	width: 18px;
	height: 18px;
	stroke-width: 1.8;
}
.floatingcontact i {
	font-size: 20px;
}
.floatingcontact a .fa-file-signature {font-size: 19px;}
.floatingcontact a .fa-cookie-bite {font-size: 18px;}
.floatingcontact a .fa-phone-alt {font-size: 18px;}
.floatingcontact a:hover {
	background-color: var(--wj-accent-strong);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 18px 32px rgba(0,0,0,.22);
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.floatingcontact a:hover i,
.floatingcontact a:focus i,
.floatingcontact a:active i,
.floatingcontact a:hover .floatingcontact__icon,
.floatingcontact a:focus .floatingcontact__icon,
.floatingcontact a:active .floatingcontact__icon {
	color: #fff;
}
.floatingcontact a:focus,
.floatingcontact a:active {
	outline: none;
	text-decoration: none;
	border-bottom: none;
}

@media screen and (max-width: 490px) {
	.floatingcontact {
		left: 14px;
		bottom: 18px;
		display:flex;
		flex-direction:column-reverse;
		align-items:flex-start;
		gap:8px;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(10px);
	}
	body.nv-mobile-scrolled .floatingcontact {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}
	body.nv-footer-reached .floatingcontact {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(10px);
	}
	.floatingcontact__item{
		opacity:1;
		pointer-events:auto;
		transform:none;
	}
}
/* Hide plugin-default CTA; we trigger modal via floating cookie icon */
.wjpc-btn[data-wjpc-open] {display: none !important;}

/* Premium modal styling for the privacy consent settings. */
.wjpc-modal {
	background: rgba(1, 6, 6, 0.9);
	backdrop-filter: blur(6px);
	transition: background 260ms ease;
}
.wjpc-modal__dialog {
	width: min(560px, calc(100% - 40px));
	border: 1px solid rgba(11, 18, 14, 0.2);
	background: linear-gradient(180deg, #fffefc 0%, #f5f2ea 45%, #dcd6c9 100%);
	color: #0b120e;
	border-radius: 26px;
	padding: 32px;
	box-shadow: 0 30px 80px rgba(1, 6, 6, 0.45);
}
.wjpc-modal__dialog h2 {
	font-size: 28px;
	margin-bottom: 16px;
	letter-spacing: 0.03em;
}
.wjpc-modal__dialog p {
	font-size: 16px;
	color: rgba(11, 18, 14, 0.8);
	margin-bottom: 20px;
}
.wjpc-modal__close {
	background: rgba(255, 255, 255, 0.65);
	border-color: rgba(11, 18, 14, 0.15);
	color: #0b120e;
	box-shadow: 0 10px 30px rgba(1, 6, 6, 0.25);
}
.wjpc-switches {
	background: rgba(255, 255, 255, 0.95);
	border-radius: 18px;
	padding: 16px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
	border: 1px solid rgba(11, 18, 14, 0.08);
	margin-bottom: 20px;
}
.wjpc-switches label {
	background: rgba(3, 56, 42, 0.05);
	padding: 12px 14px;
	border-radius: 12px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 12px;
	box-shadow: 0 6px 20px rgba(3, 8, 10, 0.08);
	letter-spacing: 0.02em;
}
.wjpc-switches input {
	width: 20px;
	height: 20px;
	accent-color: #0f6c4e;
}
.wjpc-modal .wjpc-btn--primary {
	background: linear-gradient(135deg, #f7dc82, #dba339);
	color: #0b120e;
	border-color: transparent;
	border-radius: 14px;
	font-size: 16px;
	padding: 12px 22px;
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.wjpc-modal .wjpc-btn--primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 22px 40px rgba(0, 0, 0, 0.32);
}
.wjpc-note {
	font-size: 14px;
	color: rgba(11, 18, 14, 0.65);
}

@media screen and (max-width: 600px) {
	.wjpc-modal__dialog {
		padding: 24px;
	}
	.wjpc-switches {
		padding: 12px;
	}
	.wjpc-switches label {
		font-size: 15px;
	}
}

/* Webdesign Agentur page */
body.page-id-1236,
body.page-id-1236 #content {
	background: #152c34;
}

body.page-id-1236 .site-main > .wj-container {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

body.page-id-1236 .wj-article__head {
	display: none;
}

body.page-id-1236 .wj-article__content > * {
	margin-top: 0;
}

.wj-agency {
	--wj-agency-bg: #162d38;
	--wj-agency-bg-2: #1f453f;
	--wj-agency-bg-3: #0f242c;
	--wj-agency-green: #58c68a;
	--wj-agency-green-2: #245d47;
	--wj-agency-blue: #4aa8d8;
	--wj-agency-blue-2: #254e70;
	--wj-agency-gold: #d7b75a;
	--wj-agency-gold-2: #f1d27a;
	--wj-agency-text: rgba(255, 255, 255, .94);
	--wj-agency-muted: rgba(255, 255, 255, .76);
	--wj-agency-faint: rgba(255, 255, 255, .58);
	--wj-agency-card: rgba(255, 255, 255, .09);
	--wj-agency-card-strong: rgba(255, 255, 255, .14);
	--wj-agency-border: rgba(255, 255, 255, .17);
	position: relative;
	overflow: hidden;
	color: var(--wj-agency-text);
	background:
		radial-gradient(1080px 620px at 8% -8%, rgba(215, 183, 90, .28), transparent 60%),
		radial-gradient(920px 560px at 88% 0%, rgba(74, 168, 216, .26), transparent 58%),
		radial-gradient(760px 520px at 76% 42%, rgba(88, 198, 138, .18), transparent 56%),
		linear-gradient(180deg, var(--wj-agency-bg), var(--wj-agency-bg-2) 48%, var(--wj-agency-bg-3));
}

.wj-agency::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("assets/svg/bank-note.svg");
	background-repeat: repeat;
	background-size: 520px;
	background-position: center;
	opacity: .055;
	pointer-events: none;
}

.wj-agency > * {
	position: relative;
	z-index: 1;
}

.wj-agency__full {
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

.wj-agency__container {
	width: min(1560px, calc(100% - 48px));
	margin: 0 auto;
}

.wj-agency-hero {
	position: relative;
	overflow: hidden;
	padding-top: clamp(140px, 12vw, 200px);
	padding-bottom: clamp(44px, 6vw, 78px);
	background:
		linear-gradient(135deg, rgba(215, 183, 90, .14), transparent 38%),
		linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, 0));
	color: var(--wj-agency-text);
}

.wj-agency-hero::after {
	content: "";
	position: absolute;
	inset: auto -10% -36% 54%;
	height: 360px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(215, 183, 90, .20), rgba(215, 183, 90, 0));
	filter: blur(18px);
	pointer-events: none;
}

.wj-agency-hero__grid {
	display: grid;
	grid-template-columns: 1.18fr .82fr;
	gap: clamp(26px, 5vw, 72px);
	align-items: start;
}

.wj-agency-kicker {
	margin: 0 0 14px;
	color: var(--wj-agency-gold-2);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: none;
}

.wj-agency h1,
.wj-agency h2,
.wj-agency h3 {
	margin: 0;
	color: inherit;
	letter-spacing: 0;
}

.wj-agency h1 {
	max-width: 16ch;
	font-size: clamp(34px, 4.1vw, 66px);
	line-height: 1.04;
	font-weight: 900;
}

.wj-agency-lead {
	max-width: 58ch;
	margin: 22px 0 0;
	color: var(--wj-agency-muted);
	font-size: clamp(18px, 1.35vw, 22px);
	line-height: 1.34 !important;
}

.wj-agency-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.wj-agency-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 14px 20px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .22);
	background: rgba(255, 255, 255, .08);
	color: var(--wj-agency-text) !important;
	font-size: 16px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.wj-agency-btn:hover,
.wj-agency-btn:focus-visible {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, .12);
	border-color: rgba(255, 255, 255, .34);
	box-shadow: 0 16px 40px rgba(0, 0, 0, .22);
}

.wj-agency-btn--primary {
	background: linear-gradient(135deg, var(--wj-agency-gold-2), var(--wj-agency-gold) 46%, var(--wj-agency-green)) !important;
	border-color: rgba(241, 210, 122, .72);
	color: #10251f !important;
	box-shadow: 0 18px 42px rgba(215, 183, 90, .18), 0 14px 34px rgba(0, 0, 0, .20);
}

.wj-agency-btn--primary:hover,
.wj-agency-btn--primary:focus-visible {
	background: linear-gradient(135deg, #ffe28b, #e2be55 46%, #66d59a) !important;
	border-color: rgba(241, 210, 122, .9);
	color: #10251f !important;
}

.wj-agency-hero__panel {
	display: grid;
	gap: 12px;
	position: relative;
	z-index: 1;
}

.wj-agency-proof {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	border: 1px solid var(--wj-agency-border);
	background: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .055));
	border-radius: 18px;
	padding: 20px;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .22);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.wj-agency-proof__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 16px;
	border: 1px solid rgba(241, 210, 122, .32);
	background:
		linear-gradient(135deg, rgba(241, 210, 122, .26), rgba(74, 168, 216, .18)),
		rgba(255, 255, 255, .08);
	color: var(--wj-agency-gold-2);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
	font-size: 20px;
	line-height: 1;
}

.wj-agency-proof__content {
	min-width: 0;
}

.wj-agency-proof strong {
	display: block;
	color: var(--wj-agency-text);
	font-size: 19px;
	line-height: 1.25;
}

.wj-agency-proof__content span {
	display: block;
	margin-top: 6px;
	color: var(--wj-agency-muted);
	font-size: 15px;
	line-height: 1.35;
}

.wj-agency-strip {
	padding: 22px 0;
	background: rgba(255, 255, 255, .025);
	border-top: 1px solid rgba(255, 255, 255, .08);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.wj-agency-strip__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.wj-agency-strip .wj-agency__container {
	width: min(1500px, calc(100% - 140px));
}

.wj-agency-stat {
	min-height: 166px;
	padding: 20px;
	border: 1px solid var(--wj-agency-border);
	border-radius: 22px;
	background:
		radial-gradient(220px 140px at 18% 0%, rgba(241, 210, 122, .14), transparent 60%),
		linear-gradient(180deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .07));
	box-shadow: 0 18px 46px rgba(0, 0, 0, .20);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.wj-agency-stat:hover {
	transform: translateY(-2px);
	border-color: rgba(241, 210, 122, .36);
	box-shadow: 0 24px 62px rgba(0, 0, 0, .26);
	background:
		radial-gradient(260px 150px at 18% 0%, rgba(241, 210, 122, .20), transparent 62%),
		linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .085));
}

.wj-agency-stat__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 16px;
	border-radius: 16px;
	border: 1px solid rgba(241, 210, 122, .32);
	background:
		linear-gradient(135deg, rgba(241, 210, 122, .28), rgba(74, 168, 216, .18)),
		rgba(255, 255, 255, .08);
	color: var(--wj-agency-gold-2);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
	font-size: 18px;
	line-height: 1;
}

.wj-agency-stat__icon .fa-brands,
.wj-agency-stat__icon .fa-solid {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.wj-agency-stat strong {
	display: block;
	font-size: 18px;
	line-height: 1.2;
	color: var(--wj-agency-text);
}

.wj-agency-stat > span:not(.wj-agency-stat__icon) {
	display: block;
	margin-top: 8px;
	color: var(--wj-agency-muted);
	font-size: 15px;
	line-height: 1.42;
}

.wj-agency-section {
	padding: clamp(56px, 7vw, 96px) 0;
}

.wj-agency-section--tight {
	padding-top: clamp(42px, 5vw, 70px);
}

.wj-agency-head {
	display: grid;
	grid-template-columns: minmax(0, .72fr) minmax(320px, .54fr);
	gap: clamp(24px, 5vw, 72px);
	align-items: end;
	margin-bottom: 28px;
}

.wj-agency-label {
	margin: 0 0 10px;
	color: var(--wj-agency-gold-2);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: none;
}

.wj-agency h2 {
	max-width: 16ch;
	font-size: clamp(30px, 3.5vw, 54px);
	line-height: 1.04;
	font-weight: 900;
}

.wj-agency-head p,
.wj-agency-copy p,
.wj-agency-card p,
.wj-agency-linkcard p,
.wj-agency-step p,
.wj-agency-faq p {
	color: var(--wj-agency-muted);
	line-height: 1.45 !important;
}

.wj-agency-head p {
	margin: 0;
	font-size: 18px;
}

.wj-agency-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.wj-agency-card,
.wj-agency-linkcard,
.wj-agency-step,
.wj-agency-faq details {
	border: 1px solid var(--wj-agency-border);
	background: linear-gradient(180deg, var(--wj-agency-card-strong), var(--wj-agency-card));
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(0, 0, 0, .22);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.wj-agency-card {
	padding: 22px;
}

.wj-agency-card__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-bottom: 18px;
	border-radius: 999px;
	background: linear-gradient(135deg, rgba(241, 210, 122, .25), rgba(74, 168, 216, .18));
	border: 1px solid rgba(241, 210, 122, .28);
	color: var(--wj-agency-gold-2);
	font-size: 13px;
	font-weight: 900;
}

.wj-agency h3 {
	font-size: 20px;
	line-height: 1.2;
	font-weight: 900;
}

.wj-agency-card p {
	margin: 10px 0 0;
	font-size: 16px;
}

.wj-agency-split {
	display: grid;
	grid-template-columns: minmax(0, .88fr) minmax(340px, .62fr);
	gap: 16px;
	align-items: stretch;
}

.wj-agency-copy {
	padding: clamp(28px, 5vw, 52px);
	border-radius: 24px;
	background:
		radial-gradient(680px 340px at 12% 0%, rgba(215, 183, 90, .20), transparent 58%),
		radial-gradient(560px 320px at 100% 20%, rgba(74, 168, 216, .14), transparent 58%),
		linear-gradient(180deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .07));
	border: 1px solid var(--wj-agency-border);
	box-shadow: 0 22px 58px rgba(0, 0, 0, .24);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.wj-agency-copy h2 {
	max-width: 18ch;
}

.wj-agency-list {
	display: grid;
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.wj-agency-list li {
	position: relative;
	padding-left: 24px;
	color: var(--wj-agency-muted);
	font-size: 17px;
	line-height: 1.42;
}

.wj-agency-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--wj-agency-gold-2), var(--wj-agency-green));
	box-shadow: 0 0 0 6px rgba(241, 210, 122, .10);
}

.wj-agency-steps {
	display: grid;
	gap: 12px;
}

.wj-agency-step {
	padding: 20px;
}

.wj-agency-step span {
	display: block;
	margin-bottom: 8px;
	color: var(--wj-agency-gold-2);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .1em;
}

.wj-agency-step p {
	margin: 8px 0 0;
	font-size: 15.5px;
}

.wj-agency-links {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.wj-agency-linkcard {
	display: flex;
	min-height: 220px;
	padding: 22px;
	flex-direction: column;
	color: var(--wj-agency-text) !important;
	text-decoration: none;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.wj-agency-linkcard:hover,
.wj-agency-linkcard:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(241, 210, 122, .38);
	box-shadow: 0 24px 64px rgba(0, 0, 0, .28);
}

.wj-agency-linkcard p {
	margin: 10px 0 18px;
	font-size: 15.5px;
}

.wj-agency-linkcard span {
	margin-top: auto;
	color: var(--wj-agency-gold-2);
	font-weight: 900;
}

.wj-agency-faq {
	display: grid;
	gap: 10px;
}

.wj-agency-faq details {
	padding: 0;
	overflow: hidden;
}

.wj-agency-faq summary {
	cursor: pointer;
	padding: 18px 20px;
	font-weight: 900;
	list-style: none;
	color: var(--wj-agency-text);
}

.wj-agency-faq summary::-webkit-details-marker {
	display: none;
}

.wj-agency-faq p {
	margin: 0;
	padding: 0 20px 20px;
}

.wj-agency-cta {
	padding-top: clamp(56px, 6vw, 86px);
	padding-bottom: clamp(56px, 6vw, 86px);
	background:
		radial-gradient(860px 420px at 15% 10%, rgba(241, 210, 122, .20), transparent 58%),
		radial-gradient(760px 420px at 86% 18%, rgba(74, 168, 216, .20), transparent 58%),
		linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035));
	border-top: 1px solid rgba(255, 255, 255, .12);
	color: #fff;
}

.wj-agency-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, .8fr) auto;
	gap: 24px;
	align-items: center;
}

.wj-agency-cta h2 {
	max-width: 18ch;
	color: #fff;
}

.wj-agency-cta p {
	max-width: 62ch;
	margin: 16px 0 0;
	color: rgba(255, 255, 255, .78);
	font-size: 18px;
	line-height: 1.45 !important;
}

@media (max-width: 1040px) {
	.wj-agency-hero__grid,
	.wj-agency-head,
	.wj-agency-split,
	.wj-agency-cta__inner {
		grid-template-columns: 1fr;
	}

	.wj-agency-grid,
	.wj-agency-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wj-agency-strip__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wj-agency-strip .wj-agency__container {
		width: min(1560px, calc(100% - 48px));
	}
}

@media (max-width: 680px) {
	body.page-id-1236 .site-main > .wj-container {
		width: 100%;
		padding-top: 0;
	}

	.wj-agency__full {
		padding-left: 5vw;
		padding-right: 5vw;
	}

	.wj-agency-strip .wj-agency__container {
		width: 100%;
	}

	.wj-agency h1 {
		max-width: 10ch;
	}

	.wj-agency-grid,
	.wj-agency-links,
	.wj-agency-strip__inner {
		grid-template-columns: 1fr;
	}

	.wj-agency-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.wj-agency-btn {
		width: 100%;
	}

	.wj-agency-linkcard {
		min-height: 0;
	}
}

/*****************************/
/** Feedback
/*****************************/

.feedback h3 {
	color: #F6C042;
}
.feedback .elementor-testimonial-content {
	font-size: 1em;
}
.feedback .elementor-testimonial-details a.elementor-testimonial-name {
	font-size: 1.3em;
	font-weight: 600;
}
.feedback .elementor-testimonial-details a.elementor-testimonial-job {
	color: #F6C042 !important;
	font-size: 1em;
	font-weight: 500;
}

/*****************************/
/** Home GO GO GO
/*****************************/

.gogogo h2, .gogogo h3  {
	font-family: 'Roboto', sans-serif;
}
.gogogo h2 {
	font-size: 34px;
	line-height: var(--wj-heading-line-height) !important;
}
@media screen and (max-width: 490px) {
	.gogogo h2 {
		font-size: 28px;
		line-height: var(--wj-heading-line-height) !important;
	}
}
.gogogo a {
	color: #0D2B4A !important;
	font-size: 28px;
}
.gogogo a:hover {
	color: #255482 !important;
}
.gogogo h3 i {
	font-size: 44px;
	padding-right: 20px;
}

@media screen and (max-width: 490px) {
	.gogogo h3 {
		font-size: 45px;
	}
	.gogogo h3 i {
		font-size: 60px;
	}
}

/*****************************/
/** FOOTER
/*****************************/

.footercustom {
	background:
		radial-gradient(1200px 650px at 15% 10%, rgba(255, 255, 255, 0.04), transparent 60%),
		radial-gradient(900px 500px at 85% 0%, rgba(255, 255, 255, 0.03), transparent 65%),
		linear-gradient(180deg, #2f5a4f 0%, #254b41 100%);
	color: rgba(255, 255, 255, 0.92);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 -18px 40px rgba(0, 0, 0, 0.35);
	padding: 72px 6% 40px;
}

.footercustom,
.footercustom * {
	font-family: 'Roboto', sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.footer-inner {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.footer-hero {
	display: grid;
	gap: 18px;
	max-width: 620px;
}

.footer-hero h2 {
	font-size: clamp(34px, 4vw, 48px);
	line-height: var(--wj-heading-line-height);
	margin: 0;
}

.wj-swiss-claim {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	color: inherit;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
}

.wj-swiss-claim span:last-child {
	min-width: 0;
}

.wj-swiss-flag {
	position: relative;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	border-radius: 5px;
	background: #e11d2e;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.24), 0 8px 18px rgba(0, 0, 0, 0.18);
}

.wj-swiss-flag::before,
.wj-swiss-flag::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	border-radius: 1px;
}

.wj-swiss-flag::before {
	width: 13px;
	height: 4px;
}

.wj-swiss-flag::after {
	width: 4px;
	height: 13px;
}

.footer-swiss-claim {
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px;
}

.footer-swiss-claim .wj-swiss-flag {
	width: 22px;
	height: 22px;
}

.footer-lead {
	font-size: 22px;
	font-weight: 700;
	opacity: 0.96;
	margin: 0;
}

.footer-text {
	font-size: 19px;
	line-height: 1.6;
	margin: 0;
	color: rgba(255, 255, 255, 0.75);
}

.footer-cta {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.footer-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 28px;
	border-radius: var(--wj-btn-radius);
	background: var(--wj-accent);
	color: var(--wj-btn-text);
	font-weight: 700;
	border: 2px solid var(--wj-accent);
	text-decoration: none;
	box-shadow: 0 8px 14px rgba(0, 0, 0, 0.18);
	text-shadow: none;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.footer-cta__btn:hover,
.footer-cta__btn:focus-visible {
	transform: translateY(-1px);
	background: linear-gradient(180deg, #2d7d55, #1f5a37);
	border-color: #2d7d55;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
	color: #fff;
}

.footer-cta__btn--secondary {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.45);
}

.footer-cta__btn--secondary:hover,
.footer-cta__btn--secondary:focus-visible {
	transform: translateY(-2px);
	background: rgba(255, 255, 255, 0.24);
	border-color: rgba(255, 255, 255, 0.85);
	color: #fff;
}

.footer-cta__btn--ghost {
	background: transparent;
	color: rgba(255, 255, 255, 0.9);
	border-color: rgba(255, 255, 255, 0.55);
	box-shadow: none;
}

.footer-cta__btn--ghost:hover,
.footer-cta__btn--ghost:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(255, 255, 255, 0.8);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	box-shadow: none;
}

.footer-cta__note {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

.footer-info {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
}

.footer-card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	padding: 22px 26px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.footer-card__title {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 12px;
	text-transform: none;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.95);
}

.footer-card__text {
	margin: 0;
	font-size: 17px;
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.5;
}

.footer-card__link {
	font-size: 17px;
	font-weight: 600;
	color: var(--wj-accent);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 2px;
}

.footer-card__link:hover,
.footer-card__link:focus-visible {
	color: var(--wj-accent-strong);
	border-bottom-color: currentColor;
}

.footer-bottomline {
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.footer-bottomline p {
	margin: 0;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.6);
}

.footer-bottomline__legal {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.75);
	display: flex;
	align-items: center;
	gap: 6px;
}

.footer-bottomline__legal span {
	display: inline-flex;
	color: rgba(255, 255, 255, 0.4);
}

.footer-bottomline__legal a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 1px;
	transition: border-color .2s ease;
}

.footer-bottomline__legal a:hover,
.footer-bottomline__legal a:focus-visible {
	border-bottom-color: currentColor;
}

.footer-bottomline__sitelinks {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.72);
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.footer-bottomline__sitelinks span {
	display: inline-flex;
	color: rgba(255, 255, 255, 0.35);
}

.footer-bottomline__sitelinks a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 1px;
	transition: border-color .2s ease;
}

.footer-bottomline__sitelinks a:hover,
.footer-bottomline__sitelinks a:focus-visible {
	border-bottom-color: currentColor;
}

@media screen and (max-width: 900px) {
	.footercustom {
		padding: 60px 6% 30px;
	}
	.footer-hero {
		max-width: none;
	}
	.footer-cta__btn {
		width: 100%;
		justify-content: center;
	}
}

@media screen and (max-width: 600px) {
	.footercustom {
		padding: 48px 5% 28px;
	}
	.footer-card {
		padding: 18px 18px;
	}
	.footer-cta__note {
		font-size: 14px;
	}
}


@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ---------------------------
   Reusable Offerte Modal (global)
--------------------------- */
.wj-offer-modal{
	--wj-offer-modal-bg:#17241f;
	--wj-offer-modal-bg-2:#101a16;
	--wj-offer-modal-panel:#1a2924;
	--wj-offer-modal-panel-hover:#21342d;
	--wj-offer-modal-border:rgba(219,241,229,.18);
	--wj-offer-modal-border-strong:rgba(219,241,229,.30);
	--wj-offer-modal-text:#f6faf7;
	--wj-offer-modal-muted:rgba(232,242,237,.78);
	--wj-offer-modal-accent:#8edeb0;
	--wj-offer-modal-accent-strong:#b6f1c9;
	position:fixed;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	background:rgba(7,16,13,.68);
	backdrop-filter:blur(8px) saturate(118%);
	-webkit-backdrop-filter:blur(8px) saturate(118%);
	opacity:0;
	pointer-events:none;
	transition:opacity .2s ease;
	z-index:10020;
}
.wj-offer-modal.is-active{
	opacity:1;
	pointer-events:auto;
}
.wj-offer-modal__backdrop{position:absolute; inset:0;}
	.wj-offer-modal__dialog{
		position:relative;
		box-sizing:border-box;
		width:min(1240px, 95vw);
	max-height:min(94vh, 980px);
	background:linear-gradient(180deg, var(--wj-offer-modal-bg) 0%, var(--wj-offer-modal-bg-2) 100%);
	color:var(--wj-offer-modal-text);
	border:1px solid var(--wj-offer-modal-border);
	border-radius:20px;
	padding:36px 42px 34px;
	box-shadow:0 30px 90px rgba(0,0,0,.42), 0 1px 0 rgba(255,255,255,.08) inset;
	overflow:hidden;
	overflow-y:auto;
	scrollbar-gutter: stable;
	scrollbar-color:rgba(142,222,176,.55) rgba(255,255,255,.06);
	color-scheme:dark;
	isolation:isolate;
}
.wj-offer-modal__dialog::before{
	content:"";
	position:absolute;
	top:0;
	left:18px;
	right:18px;
	height:1px;
	background:linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent);
	pointer-events:none;
}
.wj-offer-modal__close{
	position:absolute;
	top:12px;
	right:12px;
	width:36px;
	height:36px;
	border-radius:10px;
	border:1px solid var(--wj-offer-modal-border-strong);
	background:rgba(255,255,255,.09);
	color:var(--wj-offer-modal-text);
	font-size:20px;
	line-height:1;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	transition:background-color .16s ease, border-color .16s ease, transform .16s ease;
}
.wj-offer-modal__close:hover,
.wj-offer-modal__close:focus{
	background:rgba(255,255,255,.16);
	border-color:rgba(255,255,255,.42);
	transform:translateY(-1px);
}
.wj-offer-modal__close:focus-visible{
	outline:2px solid var(--wj-offer-modal-accent);
	outline-offset:3px;
}
.wj-offer-modal__header{margin-bottom:18px;}
.wj-offer-modal__header .wj-text{
	color:var(--wj-offer-modal-muted);
	max-width:64ch;
	font-size:17px;
	line-height:1.48;
}
.wj-offer-modal__header .wj-h3{
	margin:6px 0 4px;
	color:#fffefa;
	font-size:24px;
	line-height:1.22;
}
.wj-offer-modal__header .wj-eyebrow{
	color:rgba(232,242,237,.74);
	font-weight:800;
}
.wj-offer-modal .wj-btn,
#wj-call-modal .wj-btn{
	box-shadow:0 16px 34px rgba(72,128,98,.30) !important;
	background-image:none !important;
	background-color:#5d9275 !important;
	border-color:#5d9275 !important;
	color:#ffffff !important;
}
.wj-offer-modal .wj-btn:hover,
#wj-call-modal .wj-btn:hover{
	background-color:#74aa89 !important;
	border-color:#74aa89 !important;
	box-shadow:0 18px 40px rgba(96,159,122,.34) !important;
}
.wj-offer-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(190px,1fr));
	gap:12px;
	margin-bottom:18px;
}
.wj-offer-summary-preview{
	margin:0 0 18px;
	padding:14px 16px;
	border-radius:14px;
	border:1px solid var(--wj-offer-modal-border);
	background:rgba(255,255,255,.07);
}
.wj-offer-summary-preview__head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	flex-wrap:wrap;
}
.wj-offer-summary-preview__title{
	font-size:14px;
	font-weight:700;
	color:var(--wj-offer-modal-text);
}
.wj-offer-summary-preview__toggle{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:13px;
	color:var(--wj-offer-modal-muted);
}
.wj-offer-summary-preview__toggle input{
	width:16px;
	height:16px;
}
.wj-offer-summary-preview__box{
	margin-top:10px;
	padding:10px 12px;
	border-radius:10px;
	border:1px solid rgba(219,241,229,.16);
	background:rgba(7,14,12,.38);
	color:rgba(246,250,247,.90);
	font-size:13px;
	line-height:1.4;
	white-space:pre-line;
	max-height:180px;
	overflow:auto;
}
.wj-offer-summary-preview.is-disabled .wj-offer-summary-preview__box{
	opacity:0.55;
}
.wj-offer-card{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px;
	padding:16px 12px;
	border-radius:14px;
	border:1px solid var(--wj-offer-modal-border);
	background:var(--wj-offer-modal-panel);
	color:var(--wj-offer-modal-text);
	cursor:pointer;
	box-shadow:0 1px 0 rgba(255,255,255,.05) inset;
	transition:border-color .16s ease, background-color .16s ease, transform .16s ease, box-shadow .16s ease;
	min-height:116px;
}
.wj-offer-card input{position:absolute; inset:0; opacity:0; cursor:pointer;}
.wj-offer-card__icon{
	font-size:28px;
	min-height:1em;
	display:flex;
	align-items:center;
	justify-content:center;
	color:rgba(246,250,247,.94);
}
.wj-modal-icon{
	display:block;
	width:1em;
	height:1em;
	fill:none;
	stroke:currentColor;
	stroke-width:1.85;
	stroke-linecap:round;
	stroke-linejoin:round;
	flex:0 0 auto;
}
.wj-modal-icon circle[fill="currentColor"]{
	fill:currentColor;
	stroke:none;
}
.wj-modal-icon--field{
	width:1.05em;
	height:1.05em;
}
.wj-offer-card__label{font-weight:700; text-align:center; line-height:1.28;}
.wj-offer-card:hover,
.wj-offer-card:focus-within{
	border-color:rgba(142,222,176,.56);
	background:var(--wj-offer-modal-panel-hover);
	transform:translateY(-2px);
	box-shadow:0 14px 30px rgba(0,0,0,.18), 0 0 0 1px rgba(142,222,176,.12) inset;
}
.wj-offer-card:focus-within{
	outline:2px solid rgba(142,222,176,.65);
	outline-offset:3px;
}
.wj-offer-card:has(input:checked){
	border-color:rgba(142,222,176,.72);
	background:#22372e;
	box-shadow:0 16px 34px rgba(0,0,0,.22), 0 0 0 1px rgba(142,222,176,.20) inset;
}
.wj-offer-card input:checked + .wj-offer-card__icon,
.wj-offer-card input:checked ~ .wj-offer-card__label{color:var(--wj-offer-modal-accent-strong);}
.wj-offer-card input:checked ~ .wj-offer-card__label{font-weight:800;}
.wj-offer-form__fields{
	display:grid;
	grid-template-columns:repeat(2, minmax(0,1fr));
	gap:14px;
	margin-bottom:14px;
}
	.wj-field{display:flex; flex-direction:column; gap:7px; font-weight:700; color:rgba(246,250,247,.88);}
	.wj-field span{display:flex; align-items:center; gap:8px; font-size:14px; letter-spacing:0;}
	.wj-field input,
	.wj-field select,
	.wj-field textarea{
		width:100%;
		padding:14px 14px;
		border-radius:12px;
		border:1px solid rgba(219,241,229,.20);
		background:#1c2925;
		color:#fbfefd;
		font-size:16px;
		line-height:1.35;
		box-sizing:border-box;
		box-shadow:0 1px 0 rgba(255,255,255,.04) inset;
		transition:border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
	}
	.wj-field input::placeholder,
	.wj-field textarea::placeholder{
		color:rgba(232,242,237,.54);
	}
	.wj-field input{height:52px;}
	.wj-field select{
		height:52px;
		appearance:none;
		-webkit-appearance:none;
		-moz-appearance:none;
		background-image: linear-gradient(45deg, transparent 50%, var(--wj-offer-modal-accent) 50%), linear-gradient(135deg, var(--wj-offer-modal-accent) 50%, transparent 50%), linear-gradient(90deg, #1c2925, #1c2925);
		background-position: calc(100% - 26px) center, calc(100% - 18px) center, center;
		background-size: 10px 10px, 10px 10px, 100% 100%;
		background-repeat: no-repeat;
		padding-right: 40px;
	}
	.wj-field select option{
		background:#14211c;
		color:#fbfefd;
	}
	.wj-field textarea{min-height:120px; resize:vertical;}
	.wj-field input:focus,
	.wj-field select:focus,
	.wj-field textarea:focus{
		outline:0;
		border-color:var(--wj-offer-modal-accent);
		background:#20302a;
		box-shadow:0 0 0 3px rgba(142,222,176,.22);
	}
.wj-offer-form__actions{display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
.wj-offer-form__cancel{
	appearance:none;
	-webkit-appearance:none;
	border:0;
	background:transparent;
		color:rgba(232,242,237,.80);
	padding:6px 2px;
	min-height:auto;
	box-shadow:none;
	font:inherit;
	font-size:16px;
	font-weight:700;
	line-height:1.25;
	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset:4px;
	text-decoration-color:rgba(255,255,255,.36);
	cursor:pointer;
}
	.wj-offer-form__cancel:hover,
	.wj-offer-form__cancel:focus{
		color:#ffffff;
		text-decoration-color:var(--wj-offer-modal-accent);
		background:transparent;
	}
	.wj-offer-form__cancel:focus-visible{
		outline:2px solid var(--wj-offer-modal-accent);
		outline-offset:4px;
		border-radius:4px;
	}
	.wj-field.textarea{grid-column: span 2;}
	.wj-offer-status{margin-top:8px; min-height:18px; font-size:14px; color:#f0d48a;}
	.wj-offer-status.is-success{color:var(--wj-offer-modal-accent);}
	.wj-modal-open{overflow:hidden;}

#wj-call-modal .wj-offer-modal__dialog{
	padding-bottom: clamp(38px, 6vw, 52px);
}

#wj-call-modal .wj-offer-form__actions{
	margin-bottom: 0;
}

#wj-offer-modal .wj-offer-modal__dialog{
	padding-bottom: clamp(38px, 6vw, 52px);
}

#wj-offer-modal .wj-offer-form__actions{
	margin-bottom: 0;
}

@media (min-width: 1200px) and (min-height: 800px){
	.wj-offer-modal__dialog{
		width:min(1320px, 92vw);
		max-height:min(95vh, 1040px);
	}
}
@media (max-width: 720px){
	.wj-offer-modal{
		align-items:flex-start;
		padding:12px 0;
	}
		.wj-offer-modal__dialog{
			width:calc(100% - 24px);
			max-height:calc(100vh - 24px);
			margin:12px auto;
			padding:22px 16px 18px;
			border-radius:14px;
		}
	.wj-offer-modal__close{
		top:10px;
		right:10px;
		width:34px;
		height:34px;
	}
	.wj-offer-modal__header{margin-bottom:12px;}
		.wj-offer-modal__header .wj-text{font-size:15px; color:var(--wj-offer-modal-muted);}
		.wj-offer-modal__header .wj-h3{font-size:20px;}
	.wj-offer-grid{
		grid-template-columns:repeat(2, minmax(0,1fr));
		gap:10px;
	}
		.wj-offer-card{
			padding:14px 10px;
			min-height:98px;
		}
	.wj-offer-card__icon{font-size:24px;}
	.wj-offer-card__label{font-size:15px;}
	.wj-offer-form__fields{grid-template-columns:1fr; gap:12px;}
	.wj-field.textarea{grid-column:1;}
	.wj-offer-form__actions{
		flex-direction:column;
	}
		.wj-offer-form__actions .wj-btn{
			width:100%;
			justify-content:center;
		}
		.wj-offer-form__actions .wj-offer-form__cancel{
			align-self:center;
			margin-top:2px;
		}
	#wj-call-modal .wj-offer-form__actions,
	#wj-offer-modal .wj-offer-form__actions{
		margin-bottom: 36px;
	}
	#wj-call-modal .wj-offer-form{
		padding-bottom: 44px;
	}
	#wj-offer-modal .wj-offer-form{
		padding-bottom: 44px;
	}
}

/* Header CTA */
.header-cta .wj-btn--small{
	padding:10px 16px !important;
	min-height:44px;
	font-size:15px !important;
}

/* Webdesign landing: match header CTA to page button palette, but keep default when sticky */
body.page-template-single-webdesign .header-cta .wj-btn{
	border-color: rgba(60,180,190,.55) !important;
	background: linear-gradient(135deg, #3fa8c2, #2dba8f) !important;
	color: #0a1618 !important;
	box-shadow: 0 14px 32px rgba(47,170,164,.22), 0 12px 28px rgba(0,0,0,.18) !important;
}
body.page-template-single-webdesign.nv-header-scrolled .header-cta .wj-btn{
	/* fall back to default green when sticky */
	background: var(--wj-btn-bg) !important;
	color: var(--wj-btn-text) !important;
	border-color: var(--wj-btn-border) !important;
}
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}


@keyframes fadeout {
    from { opacity: 1; }
    to   { opacity: 0; }
}
@-moz-keyframes fadeout {
    from { opacity: 1; }
    to   { opacity: 0; }
}

/* --------------------------------------------------
   CTA section (shared fallback, excluded on WP landing)
--------------------------------------------------- */
body:not(.page-template-single-wordpress) .wj-cta{
	padding:70px 0;
	background:
		radial-gradient(closest-side at 15% 25%, rgba(71,112,76,.18), rgba(71,112,76,0)),
		radial-gradient(closest-side at 90% 30%, rgba(205,179,100,.24), rgba(205,179,100,0)),
		linear-gradient(180deg, #f9faf9, #ffffff);
}
body:not(.page-template-single-wordpress) .wj-cta__grid{
	display:grid;
	grid-template-columns:1.15fr .85fr;
	gap:18px;
	align-items:stretch;
}
body:not(.page-template-single-wordpress) .wj-cta__highlights{
	list-style:none;
	padding:0;
	margin:20px 0 0;
	display:grid;
	gap:12px;
}
body:not(.page-template-single-wordpress) .wj-cta__highlights li{
	display:flex;
	align-items:flex-start;
	gap:10px;
	font-size:17px;
	line-height:1.35;
	color:var(--wj-text, #0b1a14);
}
body:not(.page-template-single-wordpress) .wj-cta__highlight-icon{
	width:34px;
	height:34px;
	border-radius:50%;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:rgba(71,112,76,.12);
	color:#2f5a4f;
	font-size:16px;
	flex-shrink:0;
}
body:not(.page-template-single-wordpress) .wj-contact{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	margin-top:14px;
}
body:not(.page-template-single-wordpress) .wj-cta__box{
	border:1px solid rgba(12,27,22,.08);
	border-radius:18px;
	background:#ffffff;
	box-shadow:0 16px 42px rgba(0,0,0,.12);
	padding:18px;
}
body:not(.page-template-single-wordpress) .wj-briefing-frame{
	border-radius:16px;
	padding:4px;
	background:linear-gradient(180deg, rgba(47,90,79,.08), rgba(47,90,79,0));
}
body:not(.page-template-single-wordpress) .wj-pre{
	margin:0;
	padding:14px;
	border-radius:14px;
	background:rgba(1,106,207,.06);
	border:1px solid rgba(1,106,207,.14);
	overflow:auto;
	font-size:17px;
	line-height:1.25;
}
body:not(.page-template-single-wordpress) .wj-small{
	margin:10px 0 0;
	color:rgba(12,27,22,.70);
	font-size:17px;
	line-height:1.25;
}
@media (max-width: 960px){
	body:not(.page-template-single-wordpress) .wj-cta__grid{grid-template-columns:1fr;}
}
@-webkit-keyframes fadeout {
    from { opacity: 1; }
    to   { opacity: 0; }
}
@-ms-keyframes fadeout {
    from { opacity: 1; }
    to   { opacity: 0; }
}
@-o-keyframes fadeout {
    from { opacity: 1; }
    to   { opacity: 0; }
}


/*****************************/
/** SCROLL TO TOP (premium)
/*****************************/

/* More aggressive selectors to override plugin defaults */
#scroll-to-top,
button#scroll-to-top,
#scroll-to-top.scroll-to-top,
button#scroll-to-top.scroll-to-top,
.scroll-to-top#scroll-to-top {
	position: fixed !important;
	right: clamp(14px, 2.2vw, 26px) !important;
	bottom: clamp(14px, 2.2vw, 26px) !important;
	z-index: 9999 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 52px !important;
	height: 52px !important;
	padding: 0 !important;
	border-radius: 999px !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	background-color: rgba(13, 43, 74, 0.25) !important;
	background-image: none !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	box-shadow:
		0 14px 40px rgba(0, 0, 0, 0.25),
		0 2px 10px rgba(0, 0, 0, 0.18) !important;
	color: rgba(255, 255, 255, 0.92) !important;
	cursor: pointer;
	transform: translateY(0);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease,
		opacity 180ms ease;
	-webkit-tap-highlight-color: transparent;
}

/* SVG/icon inherits currentColor */
#scroll-to-top svg,
#scroll-to-top .scroll-to-top-icon {
	width: 18px !important;
	height: 18px !important;
	display: block !important;
	color: currentColor !important;
	fill: currentColor !important;
	filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.25));
}

/* Premium hover: subtle lift + warmer accent */
#scroll-to-top:hover,
button#scroll-to-top:hover {
	transform: translateY(-2px);
	background-color: rgba(99, 148, 119, 0.28) !important; /* matches sticky header green */
	border-color: rgba(205, 179, 100, 0.55) !important; /* gold accent */
	box-shadow:
		0 18px 55px rgba(0, 0, 0, 0.32),
		0 3px 12px rgba(0, 0, 0, 0.20) !important;
}

#scroll-to-top:active,
button#scroll-to-top:active {
	transform: translateY(0);
	box-shadow:
		0 10px 30px rgba(0, 0, 0, 0.22),
		0 2px 8px rgba(0, 0, 0, 0.16) !important;
}

/* Accessible focus ring */
#scroll-to-top:focus-visible,
button#scroll-to-top:focus-visible {
	outline: none !important;
	box-shadow:
		0 0 0 4px rgba(205, 179, 100, 0.35),
		0 14px 40px rgba(0, 0, 0, 0.25) !important;
	border-color: rgba(205, 179, 100, 0.65) !important;
}

/* When header is sticky (green), keep button readable and on-brand */
body.nv-header-scrolled #scroll-to-top,
body.nv-header-scrolled button#scroll-to-top {
	background-color: rgba(99, 148, 119, 0.22) !important;
	border-color: rgba(255, 255, 255, 0.35) !important;
	color: rgba(255, 255, 255, 0.95) !important;
}

/* Light pages: slightly darker glass so it doesn't disappear */
body.page-id-608 #scroll-to-top,
body.page-id-608 button#scroll-to-top {
	background-color: rgba(13, 43, 74, 0.10) !important;
	border-color: rgba(13, 43, 74, 0.18) !important;
	color: rgba(13, 43, 74, 0.92) !important;
}

/* Larger tap target on small screens */
@media screen and (max-width: 490px) {
	#scroll-to-top,
	button#scroll-to-top {
		width: 54px !important;
		height: 54px !important;
		right: 14px !important;
		bottom: 14px !important;
	}
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	#scroll-to-top,
	button#scroll-to-top {
		transition: none !important;
	}
	#scroll-to-top:hover,
	#scroll-to-top:active,
	button#scroll-to-top:hover,
	button#scroll-to-top:active {
		transform: none !important;
	}
}

	body.nv-header-scrolled .builder-item--logo .site-logo img {
		max-height: 44px;
		width: auto !important;
		height: auto !important;
	}

/* =========================================================
   Standalone Header & Navigation (no Neve parent)
   ========================================================= */
.site-header{
	position:absolute;
	top:0;
	left:0;
	right:0;
	z-index:999;
	text-align:center;
}
.site-header,
.site-header *,
.site-header *::before,
.site-header *::after{
	box-sizing:border-box;
}
.site-header .header-main-inner{
	width:min(1560px, calc(100% - 48px));
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:clamp(12px, 1.4vw, 24px);
	padding:14px 0;
}
.site-branding{
	flex:0 0 auto;
}
.site-header .custom-logo-link{
	display:inline-flex;
	align-items:center;
}
.site-header .site-title{
	font-family:'Martel', serif;
	color:#fff;
	font-size:28px;
	letter-spacing:1px;
	text-decoration:none;
}
.nv-menu-primary{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	flex:1 1 auto;
	min-width:0;
}
.nv-menu-primary__panel{
	display:flex;
	align-items:center;
	gap:18px;
	width:100%;
	justify-content:flex-end;
}
.nv-menu-primary__brand{
	display:none;
}
.nv-menu-primary__menu-wrap{
	display:flex;
	align-items:center;
	gap:0;
}
.nv-menu-primary__menu-wrap::before{
	display:none;
}
.nv-menu-primary .primary-menu-ul{
	display:flex;
	align-items:center;
	gap:8px;
	list-style:none;
	margin:0;
	padding:0;
}
.nv-menu-primary .primary-menu-ul > li{
	position:relative;
}
.nv-menu-primary .primary-menu-ul > li > a{
	color: var(--header-link, rgba(255,255,255,.85));
	font-weight:800;
	letter-spacing:0.02em;
	text-transform:none;
	text-decoration:none;
	padding:10px 12px;
	display:inline-flex;
	align-items:center;
	gap:6px;
	position:relative;
	border-radius:999px;
	background: transparent;
	transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease, opacity .2s ease;
	white-space:nowrap;
}
.nv-menu-primary .primary-menu-ul > li > a:visited{
	color: var(--header-link, rgba(255,255,255,.85));
}
/* make underline work without .wrap */
.nv-menu-primary .primary-menu-ul > li > a::after{
	display:none;
}
.nv-menu-primary .primary-menu-ul > li:hover > a{
	transform: translateY(-1px);
	text-shadow: 0 6px 16px rgba(0,0,0,.18);
	background: rgba(255,255,255,.12);
	box-shadow: 0 12px 30px rgba(0,0,0,.18);
}
.nv-menu-primary .primary-menu-ul > li.current-menu-item > a::after,
.nv-menu-primary .primary-menu-ul > li.current_page_item > a::after,
.nv-menu-primary .primary-menu-ul > li.current-menu-ancestor > a::after{
	opacity:0;
}
.nv-menu-primary .primary-menu-ul > li.current-menu-item > a,
.nv-menu-primary .primary-menu-ul > li.current_page_item > a,
.nv-menu-primary .primary-menu-ul > li.current-menu-ancestor > a{
	background: rgba(255,255,255,.18);
	box-shadow:
		0 14px 34px rgba(0,0,0,.24),
		inset 0 0 0 1px rgba(255,255,255,.18);
	color: var(--header-link-active, #fff);
}

@media (min-width: 961px){
	.nv-menu-primary .primary-menu-ul .sub-menu{
		position:absolute;
		top:calc(100% + 12px);
		left:50%;
		z-index:1001;
		display:grid;
		gap:4px;
		width:max-content;
		min-width:220px;
		max-width:min(300px, calc(100vw - 48px));
		margin:0;
		padding:10px;
		list-style:none;
		text-align:left;
		border:1px solid rgba(255,255,255,.42);
		border-radius:16px;
		background:rgba(253,251,247,.96);
		box-shadow:0 22px 54px rgba(8,18,12,.22);
		backdrop-filter:blur(16px);
		-webkit-backdrop-filter:blur(16px);
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		transform:translate(-50%, 8px);
		transition:opacity .18s ease, visibility .18s ease, transform .18s ease;
	}
	.nv-menu-primary .primary-menu-ul .sub-menu::before{
		content:"";
		position:absolute;
		left:50%;
		top:-7px;
		width:14px;
		height:14px;
		background:rgba(253,251,247,.96);
		border-left:1px solid rgba(255,255,255,.42);
		border-top:1px solid rgba(255,255,255,.42);
		transform:translateX(-50%) rotate(45deg);
	}
	.nv-menu-primary .primary-menu-ul > .menu-item-has-children::after{
		content:"";
		position:absolute;
		left:0;
		right:0;
		top:100%;
		height:14px;
		display:block;
	}
	.nv-menu-primary .primary-menu-ul > li:hover > .sub-menu,
	.nv-menu-primary .primary-menu-ul > li:focus-within > .sub-menu{
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:translate(-50%, 0);
	}
	.nv-menu-primary .primary-menu-ul .sub-menu a{
		position:relative;
		z-index:1;
		display:flex;
		align-items:center;
		width:100%;
		padding:10px 12px;
		border-radius:10px;
		color:#173829 !important;
		font-size:15px;
		font-weight:800;
		letter-spacing:0;
		line-height:1.25;
		text-decoration:none;
		white-space:nowrap;
		transition:background-color .16s ease, color .16s ease, transform .16s ease;
	}
	.nv-menu-primary .primary-menu-ul .sub-menu a:visited{
		color:#173829 !important;
	}
	.nv-menu-primary .primary-menu-ul .sub-menu a:hover,
	.nv-menu-primary .primary-menu-ul .sub-menu a:focus-visible{
		background:rgba(60,110,88,.12);
		color:#0c2f1f !important;
		transform:translateX(2px);
	}
}

.header-cta{
	flex:0 0 auto;
}
.wj-language-switcher{
	display:inline-flex;
	align-items:center;
	gap:3px;
	flex:0 0 auto;
	padding:3px;
	border:1px solid rgba(255,255,255,.18);
	border-radius:999px;
	background:rgba(255,255,255,.10);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
}
.wj-language-switcher__link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:32px;
	min-height:32px;
	padding:0 8px;
	border-radius:999px;
	color:var(--header-link, rgba(255,255,255,.85)) !important;
	font-size:12px;
	font-weight:800;
	letter-spacing:.02em;
	line-height:1;
	text-decoration:none;
	transition:background-color .16s ease, color .16s ease;
}
.wj-language-switcher__link:hover,
.wj-language-switcher__link:focus-visible{
	background:rgba(255,255,255,.14);
	color:var(--header-link-active, #fff) !important;
}
.wj-language-switcher__link.is-active{
	background:rgba(255,255,255,.92);
	color:#1f3f33 !important;
}

body.admin-bar .site-header{
	top:32px;
}
@media (max-width: 782px){
	body.admin-bar .site-header{
		top:46px;
	}
}

.builder-item--nav-icon{
	display:none;
}
.builder-item--nav-icon .navbar-toggle{
	align-self:center;
	touch-action:manipulation;
	-webkit-tap-highlight-color:transparent;
}

 .nv-menu-primary__close{
 	display:none;
 }

 .nv-menu-primary__cta-link-wrapper{
 	display:none;
 }

.screen-reader-text{
	position:absolute;
	left:-9999px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
}
.screen-reader-text:focus{
	position:static;
	width:auto;
	height:auto;
	padding:10px 14px;
	margin:6px;
	background:#0d2b4a;
	color:#fff;
	border-radius:8px;
	outline:2px solid #cdb364;
	z-index:1000002;
}

@media (max-width: 960px){
	.site-header .header-main-inner{
		width:calc(100% - 10vw);
		justify-content:flex-start;
		gap:16px;
	}
	.builder-item--nav-icon{
		display:inline-flex;
		order:3;
		margin-left:auto;
		position:relative;
		z-index:1201;
	}
	.site-header .builder-item--logo{
		flex:0 1 auto;
	}
	.header-cta{
		display:none;
	}
		.nv-menu-primary{
			position:fixed;
			inset:0;
			width:100%;
			height:100vh;
			min-height:100vh;
		display:flex;
		flex-direction:column;
		padding:26px 0 24px;
		background:
			linear-gradient(180deg, rgba(248,250,252,.9) 0%, rgba(238,242,243,.9) 60%, rgba(246,247,251,.9) 100%),
			url("assets/svg/topography.svg") center/900px 900px repeat;
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
			box-shadow: inset 0 0 0 1px rgba(15,23,42,.06), 0 30px 80px rgba(15,23,42,.16);
			z-index:1100;
			overflow-y:auto;
			align-items:flex-start;
			overflow-x:hidden;
			overscroll-behavior: contain;
			isolation:isolate;
			opacity:0;
			visibility:hidden;
		pointer-events:none;
		transition: opacity 320ms ease, visibility 0s linear 320ms;
		-webkit-overflow-scrolling:touch;
		/* force dark link palette on mobile */
		--header-link: #000 !important;
		--header-link-hover: #000 !important;
		--header-link-active: #000 !important;
	}
	body.is-menu-open .nv-menu-primary{
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transition-delay:0s;
	}
	html.is-menu-open,
	body.is-menu-open{
		height:100%;
		overflow:hidden;
		position:fixed;
		inset:0;
		width:100%;
	}
	.nv-menu-primary__panel{
		position:relative;
		display:flex;
		flex-direction:column;
		gap:14px;
		width:min(360px, 92vw);
		max-width:min(360px, 92vw);
		min-height:100%;
		margin:0;
		align-items:stretch;
		justify-content:flex-start;
		padding:32px 24px 24px;
		z-index:1;
		color:#000;
		transform: translateX(-120%);
		transition: transform 360ms ease;
		background:
			linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(247,247,247,0.95) 80%, rgba(228,238,239,0.95) 100%),
			url("assets/svg/topography.svg") center/900px 900px repeat;
		border-radius: 0 32px 32px 0;
		border: 1px solid rgba(15,23,42,.12);
		box-shadow: 0 40px 90px rgba(13,23,33,.20);
		background-clip: padding-box;
	}
	body.is-menu-open .nv-menu-primary__panel{
		transform: translateX(0);
	}
	.nv-menu-primary__brand{
		display:inline-flex;
		align-items:center;
		gap:10px;
		padding:6px 10vw 4px;
		margin-right:auto;
		text-decoration:none;
		color:#0b1510;
		font-weight:800;
		letter-spacing:0.02em;
	}
	.nv-menu-primary__brand-logo{
		max-height:46px;
		width:auto;
		height:auto;
		filter:
			brightness(0)
			saturate(0)
			contrast(1.25)
			drop-shadow(0 8px 20px rgba(15,23,42,.18));
	}
	.nv-menu-primary__brand-text{
		font-size:16px;
		line-height:1.1;
	}
	.nv-menu-primary__close{
		position:absolute;
		top:10px;
		right:35px;
		width:40px;
		height:40px;
		border-radius:12px;
		border:1px solid rgba(15,23,42,.12);
		background:#ffffff;
		color:#0f172a;
		font-size:24px;
		line-height:1;
		display:inline-flex;
		align-items:center;
		justify-content:center;
		cursor:pointer;
		touch-action:manipulation;
		-webkit-tap-highlight-color:transparent;
		transition: transform .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
		box-shadow:0 12px 30px rgba(15,23,42,.20);
	}
	.nv-menu-primary__close:hover{
		transform: translateY(-1px);
		border-color: rgba(15,23,42,.24);
		background: #f8fafc;
		box-shadow:0 14px 34px rgba(15,23,42,.24);
	}
	.nv-menu-primary__menu-wrap{
		position:relative;
		display:flex;
		flex-direction:column;
		gap:10px;
		width:100%;
		padding-top:10px;
		margin-top:8px;
		flex:1;
	}
	.nv-menu-primary__menu-wrap::before{
		display:none;
	}
		.nv-menu-primary .primary-menu-ul{
			flex-direction:column;
			align-items:stretch;
			gap:0;
			width:100%;
			margin:0;
			padding:0;
			list-style:none;
		}
			.nv-menu-primary .primary-menu-ul .sub-menu{
				display:grid;
				gap:2px;
				margin:0 0 8px;
				padding:0;
				list-style:none;
			}
			.nv-menu-primary .primary-menu-ul > li > a{
				width:100%;
				padding:10px 10vw !important;
				border-radius:0;
			background:transparent;
			border:0;
			box-shadow:none;
			border-bottom:none;
			transition:color .18s ease, opacity .18s ease;
			font-weight:900;
			font-size:24px;
			letter-spacing:0.015em;
			color:#000 !important;
			text-transform:none;
			text-shadow:none !important;
				display:block;
				text-align:left;
			}
			.nv-menu-primary .primary-menu-ul .sub-menu a{
				display:block;
				width:100%;
				padding:8px 10vw 8px calc(10vw + 14px) !important;
				color:rgba(0,0,0,.72) !important;
				font-size:16px;
				font-weight:800;
				letter-spacing:0;
				line-height:1.25;
				text-align:left;
				text-decoration:none;
			}
			.nv-menu-primary .primary-menu-ul .sub-menu a:hover,
			.nv-menu-primary .primary-menu-ul .sub-menu a:focus-visible{
				color:#000 !important;
				background:transparent !important;
			}
			.nv-menu-primary .primary-menu-ul > li > a:visited{
				color:#000 !important;
			}
		body.is-menu-open .nv-menu-primary .primary-menu-ul > li > a,
		body.is-menu-open .nv-menu-primary .primary-menu-ul > li > a:visited{
			color:#000 !important;
		}
		.nv-menu-primary .primary-menu-ul > li > a:hover,
		.nv-menu-primary .primary-menu-ul > li > a:focus{
			color:#000 !important;
			background:transparent !important;
			box-shadow:none !important;
			border-bottom:none;
			opacity:1;
		}
		.nv-menu-primary .primary-menu-ul > li.current-menu-item > a,
		.nv-menu-primary .primary-menu-ul > li.current_page_item > a,
		.nv-menu-primary .primary-menu-ul > li.current-menu-ancestor > a{
			color:#000 !important;
			background:transparent !important;
			box-shadow:none !important;
			border-bottom:none;
			text-decoration:none;
		}
		body.nv-header-scrolled .nv-menu-primary .primary-menu-ul > li > a{
			padding:10px 10vw !important;
		}
		.nv-menu-primary .primary-menu-ul > li > a::after{
			display:none;
		}
		.nv-menu-primary .primary-menu-ul > li > a[aria-current="page"]{
			width:100% !important;
			padding:12px 10vw !important;
			border-radius:999px;
			background: linear-gradient(180deg, rgba(11,21,16,.95), rgba(15,23,42,.95));
			color:#fefbf2 !important;
			box-shadow:0 10px 30px rgba(15,23,42,.25);
			display:block;
			text-transform:none;
			letter-spacing:0.02em;
			text-align:left;
		}
		.nv-menu-primary__cta-link-wrapper{
			display:flex;
		align-items:center;
		justify-content:center;
		width:100%;
		margin-top:18px;
		padding-top:10px;
	}
		.nv-menu-primary__cta-link{
			display:flex;
			align-items:center;
			justify-content:center;
			width:calc(100% - 20vw);
			max-width:480px;
			margin:0 auto;
			padding:18px 0;
			border-radius:999px;
			border: 1px solid rgba(11,46,29,.6);
			background: linear-gradient(180deg, #0c3c28, #0d5035);
			color: #ffffff;
			font-weight:800;
			font-size:18px;
			letter-spacing:0.01em;
			text-transform:none;
			text-decoration:none;
			text-align:center;
			transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
			box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 30px rgba(6, 22, 16, .45);
		}
		.nv-menu-primary__cta-link:hover,
		.nv-menu-primary__cta-link:focus{
			transform: translateY(-2px);
			box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 16px 36px rgba(6, 22, 16, .55);
			background: linear-gradient(180deg, #144836, #0c3c28);
		}
		body.is-menu-open{
			overflow:hidden;
		}
		.wj-language-switcher{
			display:none;
		}
	}

/* =========================================================
   Scroll interactions: sticky header, text fades, mobile CTAs
   ========================================================= */
body.nv-header-scrolled .site-header,
body.nv-header-scrolled.nv-header-hidden .site-header{
	position:fixed;
	top:0;
	left:0;
	right:0;
	background:linear-gradient(120deg, rgba(31,63,51,.96) 0%, rgba(35,70,55,.96) 45%, rgba(26,50,38,.96) 100%);
	background-color:#1f3f33;
	opacity:1;
	transform:translateY(0) !important;
	-webkit-backdrop-filter:blur(10px);
	backdrop-filter:blur(10px);
	transition:
		transform 240ms ease,
		opacity 240ms ease,
		box-shadow 240ms ease,
		background 240ms ease,
		backdrop-filter 240ms ease;
}
body.nv-header-scrolled .site-header .header-main-inner,
body.nv-header-scrolled .hfg_header .header-main-inner{
	background:transparent;
}
body.admin-bar.nv-header-scrolled .site-header{
	top:32px;
}
@media (max-width: 782px){
	body.admin-bar.nv-header-scrolled .site-header{
		top:46px;
	}
}
body.nv-header-scrolled .site-header{
	box-shadow:0 12px 32px rgba(0,0,0,.12);
}
body.nv-header-scrolled.nv-header-hidden .site-header{
	box-shadow:0 12px 32px rgba(0,0,0,.12);
}

.wj-reveal-text{
	opacity:0;
	transition:opacity 360ms ease;
	will-change:opacity;
}
.wj-reveal-text.is-visible{
	opacity:1;
}
@media (prefers-reduced-motion: reduce){
	.wj-reveal-text{
		opacity:1;
		transition:none;
	}
}

@media screen and (max-width: 768px){
	.floatingcontact{
		left:50%;
		right:auto;
		bottom:max(12px, env(safe-area-inset-bottom));
		display:flex;
		flex-direction:row;
		align-items:center;
		justify-content:center;
		gap:10px;
		padding:8px;
		border-radius:24px;
		background:rgba(8,23,17,.74);
		border:1px solid rgba(255,255,255,.16);
		box-shadow:0 18px 46px rgba(0,0,0,.22);
		backdrop-filter:blur(12px);
		-webkit-backdrop-filter:blur(12px);
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:translate(-50%, 0);
		transition:
			opacity 240ms ease,
			transform 280ms ease,
			visibility 0s linear 0s;
	}
	.floatingcontact a{
		width:54px;
		height:54px;
		border-radius:17px;
		box-shadow:0 12px 28px rgba(0,0,0,.18);
	}
	.floatingcontact__item{
		opacity:1;
		pointer-events:auto;
		transform:none;
	}
	body.nv-mobile-scrolled .floatingcontact{
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:translate(-50%, 0);
	}
	body.nv-mobile-contact-hidden .floatingcontact,
	body.nv-footer-reached .floatingcontact,
	body.is-menu-open .floatingcontact{
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		transform:translate(-50%, calc(100% + 18px));
		transition:
			opacity 180ms ease,
			transform 240ms ease,
			visibility 0s linear 240ms;
	}
}

/* Citeable service answer blocks for search and AI references. */
.wj-ai-answer{
	padding:clamp(56px, 6vw, 92px) 0;
	background:
		linear-gradient(90deg, rgba(16,49,39,.045) 1px, transparent 1px) 0 0 / 72px 72px,
		linear-gradient(180deg, #f8f6ef 0%, #fffdf8 100%);
	color:#14251d;
	border-top:1px solid rgba(20,37,29,.08);
	border-bottom:1px solid rgba(20,37,29,.08);
}

.wj-ai-answer__inner{
	width:min(1280px, calc(100% - 48px));
	margin:0 auto;
}

.wj-ai-answer__head{
	display:grid;
	grid-template-columns:minmax(220px, .42fr) minmax(0, 1fr);
	gap:clamp(22px, 4vw, 56px);
	align-items:start;
	margin-bottom:32px;
}

.wj-ai-answer__eyebrow{
	margin:0;
	color:#37624f;
	font-size:13px;
	font-weight:900;
	line-height:1.2;
	letter-spacing:.12em;
	text-transform:uppercase;
}

.wj-ai-answer h2{
	margin:0;
	max-width:18ch;
	color:#102019;
	font-size:clamp(30px, 3.2vw, 50px);
	line-height:1.04;
	letter-spacing:0;
}

.wj-ai-answer__summary{
	grid-column:2;
	margin:0;
	max-width:76ch;
	color:rgba(16,32,25,.82);
	font-size:clamp(19px, 1.7vw, 23px);
	line-height:1.5;
}

.wj-ai-answer__grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:18px;
}

.wj-ai-answer__panel{
	display:flex;
	flex-direction:column;
	gap:18px;
	min-height:100%;
	padding:24px;
	border:1px solid rgba(20,37,29,.10);
	border-radius:8px;
	background:rgba(255,255,255,.72);
	box-shadow:0 18px 44px rgba(20,37,29,.08);
}

.wj-ai-answer__panel h3{
	margin:0;
	color:#102019;
	font-size:20px;
	line-height:1.18;
	letter-spacing:0;
}

.wj-ai-answer__panel ul{
	display:grid;
	gap:12px;
	margin:0;
	padding:0;
	list-style:none;
}

.wj-ai-answer__panel li{
	position:relative;
	padding-left:22px;
	color:rgba(16,32,25,.78);
	font-size:16px;
	line-height:1.45;
}

.wj-ai-answer__panel li::before{
	content:"";
	position:absolute;
	top:.62em;
	left:0;
	width:8px;
	height:8px;
	border-radius:999px;
	background:#d8b66e;
	box-shadow:0 0 0 4px rgba(216,182,110,.16);
}

.wj-ai-answer__links{
	display:grid;
	gap:10px;
}

.wj-ai-answer__links a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	min-height:48px;
	padding:12px 14px;
	border-radius:8px;
	border:1px solid rgba(20,37,29,.10);
	background:#f7f4ea;
	color:#102019;
	font-size:16px;
	font-weight:800;
	line-height:1.2;
	text-decoration:none;
	transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.wj-ai-answer__links a:hover,
.wj-ai-answer__links a:focus{
	transform:translateY(-1px);
	border-color:rgba(20,37,29,.24);
	background:#fffaf0;
	color:#102019;
}

.wj-ai-answer__links span{
	flex:0 0 auto;
}

@media (max-width: 980px){
	.wj-ai-answer__head,
	.wj-ai-answer__grid{
		grid-template-columns:1fr;
	}

	.wj-ai-answer__summary{
		grid-column:auto;
	}

	.wj-ai-answer h2{
		max-width:24ch;
	}
}

@media (max-width: 620px){
	.wj-ai-answer__inner{
		width:min(100% - 28px, 1280px);
	}

	.wj-ai-answer__panel{
		padding:20px;
	}
}
