/*
Theme Name: SuDCA Child
Theme URI: https://sudca.et/
Description: SuDCA Development Consultants PLC Child Theme — Premium Corporate Platform
Author: InnovixOpia Digital Solutions
Author URI: https://www.innovixopia.com/
Template: blocksy
Version: 41.0.0
Text Domain: sudca-child
*/


/* =========================================================
   DESIGN SYSTEM
   V13 — Green-first brand system per master spec: logo green
   (~#008001), deep/dark green supporting shades, black/near-
   black platform base, white. No gold. Manrope for display,
   Inter for body/UI.
   ========================================================= */

:root {

	--sudca-green-deep: #0c2a1c;
	--sudca-green: #143a27;
	--sudca-green-mid: #1e5b3d;
	--sudca-green-fresh: #4fa869;

	--sudca-gold: #3E8B51;
	--sudca-gold-dark: #2D7546;

	--sudca-navy: #0a1526;
	--sudca-navy-dark: #050c15;

	--sudca-white: #ffffff;
	--sudca-cream: #f9f7f1;

	--sudca-text: #242424;
	--sudca-text-soft: #66706a;

	--sudca-border: #e5e7e2;

	--sudca-container: 1420px;

	--sudca-shadow:
		0 20px 60px rgba(6, 12, 21, .12);

	--sudca-shadow-heavy:
		0 30px 90px rgba(6, 12, 21, .18);

	--sudca-transition:
		220ms cubic-bezier(.2, .7, .2, 1);

	--sudca-header-height: 92px;
	--sudca-header-height-scrolled: 58px;

}


/* =========================================================
   SAFE SUDCA RESET
   ========================================================= */

.sudca-site,
.sudca-site *,
.sudca-site *::before,
.sudca-site *::after {
	box-sizing: border-box;
}

.sudca-site img {
	max-width: 100%;
	height: auto;
}

.sudca-site a {
	text-decoration: none;
}

.sudca-site button,
.sudca-site input {
	font: inherit;
}

.sudca-site svg {
	display: block;
}

.sudca-container {

	width: min(
		calc(100% - 72px),
		var(--sudca-container)
	);

	margin-inline: auto;

}


/* =========================================================
   TOP MINI BAR
   NOT sticky — scrolls away naturally above the main header.
   Three-stop gradient (navy -> deep forest -> mid green) for
   more depth than a flat two-colour fill.

   RESPONSIVE PRIORITY (V5.4)
   As the viewport narrows below 960px, the bar drops to just
   ONE phone number and the Language switcher — everything
   else falls away in this order so it never wraps or clips:
     1. Mobile phone number   — hidden below 960px
     2. Email                 — hidden below 960px
     3. Location + social     — hidden below 960px
        (grouped as one cluster with their shared divider, so
        no divider is ever left stranded on its own)
   Office phone + Language stay visible at every width, down
   to the smallest phones — see the media queries below.

   Every "hidden below 960px" rule here is deliberately written
   as ".sudca-topbar .sudca-top-X { display: none !important; }"
   rather than a bare ".sudca-top-X { display: none; }". A bare
   class selector (specificity 0,1,0) loses to the earlier base
   rule ".sudca-topbar a { display: inline-flex; }" (specificity
   0,1,1) even when it appears later in the file — CSS resolves
   by specificity first, source order second. That mismatch was
   a real bug here: the element stayed visible, silently
   overflowed the bar, and pushed the Language switcher off
   -screen since the bar scrolls instead of wrapping. Qualifying
   with the .sudca-topbar ancestor plus !important is a
   deliberate double guarantee against that regressing again.
   ========================================================= */

.sudca-topbar {

	position: relative;
	z-index: 90000;

	background:
		radial-gradient(120% 180% at 8% -40%, rgba(95,173,112,.35), transparent 60%),
		linear-gradient(
			90deg,
			var(--sudca-navy-dark) 0%,
			var(--sudca-green-deep) 32%,
			var(--sudca-green-mid) 68%,
			var(--sudca-green-fresh) 100%
		);

	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.10),
		inset 0 -1px 0 rgba(201,169,97,.35);

	color: rgba(255,255,255,.86);

	font-family: 'Inter', sans-serif;

}


.sudca-topbar-inner {

	min-height: 42px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 25px;

	/*
	 * Safety net, not the primary fix: content is sized to fit
	 * at every breakpoint below, but if a very long translated
	 * language name ever pushes total width past the viewport,
	 * this scrolls horizontally instead of clipping or wrapping
	 * the bar onto a second line.
	 */
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch;

}


.sudca-topbar-inner::-webkit-scrollbar {

	display: none;

}


.sudca-top-contact,
.sudca-top-right,
.sudca-top-secondary {

	display: flex;
	align-items: center;

	gap: 22px;

	flex-shrink: 0;

}


.sudca-topbar a {

	display: inline-flex;
	align-items: center;

	color: rgba(255,255,255,.90);

	font-size: 13px;
	font-weight: 700;

	line-height: 1;

	white-space: nowrap;

	transition:
		color var(--sudca-transition);

}


.sudca-topbar a:hover {
	color: var(--sudca-white);
}


.sudca-top-icon-badge {

	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: 22px;
	height: 22px;

	margin-right: 8px;

	border-radius: 50%;

	background: rgba(255,255,255,.10);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);

	flex-shrink: 0;

	transition:
		background var(--sudca-transition),
		box-shadow var(--sudca-transition);

}


.sudca-topbar a:hover .sudca-top-icon-badge {

	background: var(--sudca-v9-500);

}


.sudca-topbar a:hover .sudca-top-icon {

	color: var(--sudca-navy-dark);

}


.sudca-top-icon {

	width: 12px;
	height: 12px;

	color: var(--sudca-v9-500);

	flex-shrink: 0;

	transition:
		color var(--sudca-transition);

}


/*
 * Phone links — each shows a small uppercase label ("Office" /
 * "Mobile") ahead of the number so the two numbers are never
 * ambiguous about which is which.
 */

.sudca-top-phone {

	font-size: 14px;
	font-weight: 800;

	letter-spacing: -.01em;

}


.sudca-top-phone small {

	margin-right: 6px;

	color: rgba(255,255,255,.52);

	font-size: 9.5px;

	font-weight: 800;

	text-transform: uppercase;

	letter-spacing: .07em;

}


.sudca-top-phone-secondary {

	font-size: 13px;

	font-weight: 700;

}


.sudca-top-email {

	font-size: 13px;
	font-weight: 600;

}


/*
 * Email text lives in its own span so it can be truncated
 * with an ellipsis at narrow widths (see media queries below)
 * instead of wrapping the top bar onto a second line or
 * overflowing past the viewport edge — same technique as
 * .sudca-top-phone span at very small widths.
 */

.sudca-top-email-text {

	overflow: hidden;

	text-overflow: ellipsis;

	white-space: nowrap;

}


.sudca-top-location {

	color: rgba(255,255,255,.58);

	font-size: 12px;
	font-weight: 600;

	letter-spacing: .03em;

	white-space: nowrap;

}


.sudca-topbar-divider {

	width: 1px;
	height: 15px;

	background: rgba(255,255,255,.20);

	flex-shrink: 0;

}


/* =========================================================
   SOCIAL ICONS — TOP BAR
   ========================================================= */

.sudca-social-links {

	display: flex;
	align-items: center;

	gap: 12px;

}


.sudca-social-link {

	display: flex;
	align-items: center;
	justify-content: center;

	width: 26px;
	height: 26px;

	border-radius: 50%;

	background: rgba(255,255,255,.08);

	color: rgba(255,255,255,.85);

	transition:
		background var(--sudca-transition),
		color var(--sudca-transition),
		transform var(--sudca-transition);

}


.sudca-social-link svg {

	width: 13px;
	height: 13px;

}


.sudca-social-link:hover {

	background: var(--sudca-v9-500);

	color: var(--sudca-navy-dark);

	transform: translateY(-1px);

}


/* =========================================================
   LANGUAGE — DESKTOP
   Flag icons kept intentionally small.
   ========================================================= */

.sudca-language {
	display: flex;
	align-items: center;
}


.sudca-language .gtranslate_wrapper {

	display: flex !important;
	align-items: center !important;

	gap: 5px !important;

	flex-wrap: nowrap !important;

	white-space: nowrap !important;

}


.sudca-language img,
.sudca-mobile-language img,
.gtranslate_wrapper img {

	width: 14px !important;
	height: 10px !important;

	object-fit: cover !important;

	border-radius: 2px !important;

	flex-shrink: 0 !important;

}


.sudca-language select {

	width: auto !important;
	max-width: 110px !important;

	padding: 0 !important;
	margin: 0 !important;

	border: 0 !important;

	background: transparent !important;

	color: rgba(255,255,255,.88) !important;

	font-family: 'Inter', sans-serif !important;

	font-size: 11px !important;
	font-weight: 700 !important;

	line-height: 1 !important;

	box-shadow: none !important;

}


/* =========================================================
   MAIN STICKY HEADER
   Clean solid white — no transparency — so the header never
   picks up a tint from whatever scrolls underneath it.
   ========================================================= */

.sudca-main-header {

	position: sticky;
	top: 0;

	z-index: 99990;

	background: var(--sudca-white);

	border-bottom: 1px solid var(--sudca-border);

	font-family: 'Inter', sans-serif;

	transition:
		box-shadow var(--sudca-transition),
		background var(--sudca-transition);

}


.sudca-main-header.is-scrolled {

	background: var(--sudca-white);

	box-shadow:
		0 12px 35px rgba(6,12,21,.10);

}


.sudca-header-inner {

	min-height: var(--sudca-header-height);

	display: flex;
	align-items: center;

	gap: 18px;

	transition:
		min-height var(--sudca-transition);

}


.sudca-main-header.is-scrolled .sudca-header-inner {

	min-height: var(--sudca-header-height-scrolled);

}


/* =========================================================
   BRAND
   ========================================================= */

.sudca-brand {

	display: flex;
	align-items: center;

	gap: 15px;

	flex-shrink: 0;

	color: var(--sudca-navy);

}


.sudca-brand img {

	width: 64px;
	height: 64px;

	object-fit: contain;

	flex-shrink: 0;

	transition:
		width var(--sudca-transition),
		height var(--sudca-transition);

}


.sudca-main-header.is-scrolled .sudca-brand img {

	width: 42px;
	height: 42px;

}


.sudca-brand-text {

	display: flex;
	flex-direction: column;

	gap: 3px;

}


.sudca-brand-text strong {

	font-family: 'Manrope', sans-serif;

	font-size: 1.72rem;
	line-height: .92;

	font-weight: 900;

	letter-spacing: -.055em;

	color: var(--sudca-navy);

	transition:
		font-size var(--sudca-transition);

}


.sudca-main-header.is-scrolled .sudca-brand-text strong {

	font-size: 1.28rem;

}


.sudca-brand-text small {

	font-size: 8px;
	line-height: 1;

	font-weight: 800;

	letter-spacing: .065em;

	text-transform: uppercase;

	color: var(--sudca-text-soft);

	white-space: nowrap;

	transition:
		opacity var(--sudca-transition),
		max-height var(--sudca-transition);
}


.sudca-main-header.is-scrolled .sudca-brand-text small {

	opacity: 0;

	max-height: 0;

	overflow: hidden;

}


/* =========================================================
   DESKTOP NAV
   ========================================================= */

.sudca-desktop-nav {

	margin-left: auto;

	display: flex;
	align-items: center;

	gap: 6px;

	height: 100%;

	min-width: 0;

}


.sudca-nav-link {

	position: relative;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 7px;

	min-height: var(--sudca-header-height);

	padding: 0 20px;

	margin: 0;

	border: 0;
	border-radius: 6px 6px 0 0;

	appearance: none;
	-webkit-appearance: none;

	background: transparent;

	color: var(--sudca-navy);

	font-family: 'Inter', sans-serif;

	font-size: 15px;
	font-weight: 900;

	line-height: 1;

	letter-spacing: -.01em;

	cursor: pointer;

	white-space: nowrap;

	transition:
		color var(--sudca-transition),
		background var(--sudca-transition),
		min-height var(--sudca-transition);

}


.sudca-main-header.is-scrolled .sudca-nav-link {

	min-height: var(--sudca-header-height-scrolled);

}


.sudca-nav-link:hover,
.sudca-nav-link:focus-visible {

	background: rgba(21,59,41,.06);

	color: var(--sudca-green);

}


.sudca-nav-link::after {

	content: '';

	position: absolute;

	left: 18px;
	right: 18px;
	bottom: 0;

	height: 3px;

	border-radius: 3px 3px 0 0;

	background: var(--sudca-v9-500);

	transform: scaleX(0);

	transform-origin: center;

	transition:
		transform var(--sudca-transition);

}


.sudca-nav-link:hover::after,
.sudca-nav-dropdown.is-open > .sudca-nav-link::after {

	transform: scaleX(1);

}


/*
 * ACTIVE / CURRENT PAGE STATE
 * Added by PHP (sudca_active_class()) on every top-level link,
 * dropdown/mega parent link, submenu item and mobile row so the
 * visitor always knows exactly where they are — desktop, tablet
 * and mobile alike.
 */

.sudca-nav-link.is-active {

	color: var(--sudca-green);

}


.sudca-nav-link.is-active::after {

	transform: scaleX(1);

	background: var(--sudca-green-fresh);

}


.sudca-nav-dropdown.is-active .sudca-dropdown-arrow svg,
.sudca-nav-dropdown.is-active .sudca-mega-arrow svg {

	color: var(--sudca-v9-700);

}


/* =========================================================
   CHEVRON — SVG, replaces the old Unicode glyph
   ========================================================= */

.sudca-chevron {

	display: inline-block;

	width: 10px;
	height: 7px;

	color: var(--sudca-green);

	transform: translateY(1px);

	transition:
		transform var(--sudca-transition),
		color var(--sudca-transition);

}


.sudca-nav-dropdown:hover .sudca-chevron,
.sudca-nav-dropdown:focus-within .sudca-chevron,
.sudca-nav-dropdown.is-open .sudca-chevron {

	color: var(--sudca-v9-700);

	transform:
		translateY(1px)
		rotate(180deg);

}


/* =========================================================
   DROPDOWN / MEGA PARENT — link + arrow button pair
   The <a> is now a real, always-clickable link to its own
   page. Opening the panel is a job for the small arrow button
   next to it (hover still opens it too, on devices that
   support hover) — so navigating and previewing the submenu
   no longer conflict on any device.
   ========================================================= */

.sudca-nav-dropdown {

	position: relative;

	display: flex;
	align-items: center;

}


.sudca-nav-dropdown .sudca-nav-link {

	padding-right: 10px;

	border-radius: 6px 0 0 0;

}


.sudca-dropdown-arrow,
.sudca-mega-arrow {

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 30px;

	min-height: var(--sudca-header-height);

	padding: 0;
	margin: 0;

	border: 0;
	border-radius: 0 6px 0 0;

	appearance: none;
	-webkit-appearance: none;

	background: transparent;

	cursor: pointer;

	transition:
		background var(--sudca-transition),
		min-height var(--sudca-transition);

}


.sudca-main-header.is-scrolled .sudca-dropdown-arrow,
.sudca-main-header.is-scrolled .sudca-mega-arrow {

	min-height: var(--sudca-header-height-scrolled);

}


.sudca-dropdown-arrow:hover,
.sudca-mega-arrow:hover,
.sudca-dropdown-arrow:focus-visible,
.sudca-mega-arrow:focus-visible,
.sudca-nav-dropdown:hover .sudca-dropdown-arrow,
.sudca-nav-dropdown:hover .sudca-mega-arrow {

	background: rgba(21,59,41,.06);

}


/* =========================================================
   SIMPLE DROPDOWN (Who We Are / Impact)
   ========================================================= */

.sudca-simple-dropdown {

	position: absolute;

	top: calc(100% - 1px);
	left: 50%;

	width: 255px;

	padding: 10px;

	background: var(--sudca-white);

	border: 1px solid var(--sudca-border);

	border-radius: 0 0 10px 10px;

	box-shadow: var(--sudca-shadow);

	opacity: 0;
	visibility: hidden;

	transform:
		translate(-50%, 10px);

	transition:
		opacity var(--sudca-transition),
		transform var(--sudca-transition),
		visibility var(--sudca-transition);

}


.sudca-nav-dropdown:hover .sudca-simple-dropdown,
.sudca-nav-dropdown:focus-within .sudca-simple-dropdown,
.sudca-nav-dropdown.is-open .sudca-simple-dropdown {

	opacity: 1;
	visibility: visible;

	transform:
		translate(-50%, 0);

}


.sudca-simple-dropdown a {

	display: flex;
	align-items: center;

	gap: 10px;

	min-height: 46px;

	padding: 0 14px;

	border-radius: 5px;

	color: var(--sudca-text);

	font-size: 13px;
	font-weight: 800;

	transition:
		background var(--sudca-transition),
		color var(--sudca-transition);

}


/*
 * Numbered wayfinding badges — used inside dropdown lists
 * and (on mobile) next to top-level links, matching the
 * numbering convention already used in the Expertise mega
 * menu (.sudca-mega-number).
 */

.sudca-nav-num {

	flex-shrink: 0;

	color: var(--sudca-v9-700);

	font-family: 'Manrope', sans-serif;

	font-size: 10px;

	font-weight: 900;

}


.sudca-drop-icon {

	flex-shrink: 0;

	width: 17px;
	height: 17px;

	color: var(--sudca-v9-700);

}


.sudca-simple-dropdown a:hover {

	background: #eef5ef;

	color: var(--sudca-green);

}


.sudca-simple-dropdown a.is-active {

	background: #eef5ef;

	color: var(--sudca-green);

}


.sudca-simple-dropdown a.is-active .sudca-drop-icon {

	color: var(--sudca-green);

}


/* =========================================================
   EXPERTISE MEGA MENU
   ========================================================= */

.sudca-mega-panel {

	position: absolute;

	top: calc(100% - 1px);
	left: 50%;

	width: min(1120px, 82vw);

	background: var(--sudca-white);

	border: 1px solid var(--sudca-border);

	border-radius: 0 0 14px 14px;

	box-shadow: var(--sudca-shadow-heavy);

	opacity: 0;
	visibility: hidden;

	transform:
		translate(-50%, 12px);

	transition:
		opacity var(--sudca-transition),
		transform var(--sudca-transition),
		visibility var(--sudca-transition);

}


.sudca-mega-wrap:hover .sudca-mega-panel,
.sudca-mega-wrap:focus-within .sudca-mega-panel,
.sudca-mega-wrap.is-open .sudca-mega-panel {

	opacity: 1;
	visibility: visible;

	transform:
		translate(-50%, 0);

}


/*
 * V5.6 — max-height + internal scroll is the hard guarantee that
 * this panel can never run off the bottom of the viewport again,
 * whatever the content length ends up being. min(680px, ...) caps
 * it generously for tall screens; calc(100vh - 160px) protects
 * short viewports (small laptops, browser dev-tools open, etc.)
 * by leaving room for the sticky header above and a margin below.
 * The two-tier content redesign below (featured grid + compact
 * chips) is what keeps it from needing to scroll in the common
 * case — this is the safety net underneath that, not a
 * replacement for it.
 */

.sudca-mega-content {

	display: grid;

	grid-template-columns:
		minmax(0, 1.5fr)
		minmax(300px, .82fr);

	max-height: min(680px, calc(100vh - 160px));

}


/* LEFT */

.sudca-mega-list {

	padding: 32px 36px;

	display: flex;

	flex-direction: column;

	gap: 8px;

	max-height: min(680px, calc(100vh - 160px));

	overflow-y: auto;
	overscroll-behavior: contain;

	scrollbar-width: thin;
	scrollbar-color: var(--sudca-border) transparent;

}


.sudca-mega-list::-webkit-scrollbar {

	width: 6px;

}


.sudca-mega-list::-webkit-scrollbar-thumb {

	background: var(--sudca-border);

	border-radius: 3px;

}


/*
 * 2-column item grid (V5.7) — all 11 areas get equal full
 * title + description treatment, matching SuDCA's own official
 * Company Profile brochure, which also lists these with equal
 * visual weight rather than a "featured vs. supporting" split.
 * Two columns keeps the height reasonable; the actual guarantee
 * against overflowing the viewport is the max-height + overflow
 * -y:auto set on .sudca-mega-list above, not this grid by itself.
 */

.sudca-mega-items-grid {

	display: grid;

	grid-template-columns: 1fr 1fr;

	column-gap: 18px;
	row-gap: 2px;

}


.sudca-mega-heading {

	margin-bottom: 14px;

	padding-bottom: 17px;

	border-bottom: 1px solid var(--sudca-border);

}


.sudca-mega-heading > span {

	color: var(--sudca-v9-700);

	font-size: 9px;
	font-weight: 900;

	letter-spacing: .15em;

}


.sudca-mega-heading h2 {

	max-width: 450px;

	margin: 8px 0 0;

	color: var(--sudca-navy);

	font-family: 'Manrope', sans-serif;

	font-size: 26px;
	line-height: 1.05;

	font-weight: 900;

	letter-spacing: -.035em;

}


.sudca-mega-item {

	display: grid;

	grid-template-columns: 34px minmax(0, 1fr);

	gap: 14px;

	padding: 12px 14px;

	border-radius: 7px;

	color: var(--sudca-navy);

	transition:
		background var(--sudca-transition),
		transform var(--sudca-transition);

}


.sudca-mega-item:hover {

	background: #eef5ef;

	transform: translateX(4px);

}


.sudca-mega-number {

	padding-top: 3px;

	font-family: 'Manrope', sans-serif;

	font-size: 11px;

	font-weight: 900;

	color: var(--sudca-v9-700);

}


.sudca-mega-item strong {

	display: block;

	font-family: 'Manrope', sans-serif;

	font-size: 13.5px;

	font-weight: 900;

	color: var(--sudca-navy);

}


.sudca-mega-item small {

	display: block;

	margin-top: 3px;

	color: var(--sudca-text-soft);

	font-size: 10.5px;

	font-weight: 500;

	line-height: 1.45;

}


.sudca-mega-view-all {

	display: inline-flex;

	align-items: center;

	gap: 8px;

	margin-top: auto;

	padding: 12px 14px;

	color: var(--sudca-green);

	font-size: 11px;

	font-weight: 900;

}


.sudca-mega-view-all span {

	color: var(--sudca-v9-500);

	font-size: 16px;

	transition:
		transform var(--sudca-transition);

}


.sudca-mega-view-all:hover span {

	transform: translateX(4px);

}


/* RIGHT IMAGE */

.sudca-mega-visual {

	position: relative;

	overflow: hidden;

	background: var(--sudca-navy);

}


.sudca-mega-visual img {

	position: absolute;

	inset: 0;

	width: 100%;
	height: 100%;

	object-fit: cover;

	opacity: .42;

	transform: scale(1.02);

	transition:
		transform 700ms cubic-bezier(.2,.7,.2,1);

}


.sudca-mega-wrap:hover .sudca-mega-visual img {

	transform: scale(1.07);

}


.sudca-mega-gradient {

	position: absolute;

	inset: 0;

	background:
		linear-gradient(
			145deg,
			rgba(12,42,28,.92) 0%,
			rgba(20,58,39,.72) 42%,
			rgba(10,21,38,.94) 100%
		);

}


.sudca-mega-visual-content {

	position: absolute;

	left: 32px;
	right: 32px;
	bottom: 34px;

	z-index: 2;

}


.sudca-mega-visual-content > span {

	color: var(--sudca-v9-500);

	font-size: 9px;

	font-weight: 900;

	letter-spacing: .13em;

}


.sudca-mega-visual-content h3 {

	max-width: 390px;

	margin: 10px 0 20px;

	color: var(--sudca-white);

	font-family: 'Manrope', sans-serif;

	font-size: 29px;

	line-height: 1.05;

	font-weight: 900;

	letter-spacing: -.04em;

}


.sudca-mega-visual-content a {

	color: var(--sudca-white);

	font-size: 11px;

	font-weight: 800;

}


.sudca-mega-visual-content a span {

	margin-left: 7px;

	color: var(--sudca-v9-500);

}


/* =========================================================
   HEADER ACTIONS
   ========================================================= */

.sudca-header-actions {

	display: flex;

	align-items: center;

	gap: 10px;

	margin-left: 10px;

	flex-shrink: 0;

}


/*
 * MOBILE HEADER ACTIONS (V5.4)
 * Pairs the quick-search icon with the hamburger so both sit
 * together on the right of the mobile header, the same pattern
 * used across most modern sites' mobile headers. Hidden by
 * default (desktop uses .sudca-header-actions instead) and
 * switched to flex at the ≤960px breakpoint — see the media
 * query below, which is also where .sudca-menu-toggle itself
 * gets its display value, since a flex parent does not make a
 * display:none child visible on its own.
 */

.sudca-mobile-actions {

	display: none;

	align-items: center;

	gap: 8px;

	flex-shrink: 0;

}


.sudca-search-trigger {

	position: relative;

	display: flex;

	align-items: center;
	justify-content: center;

	width: 44px;
	height: 44px;

	padding: 0;

	border: 1px solid var(--sudca-border);

	background: var(--sudca-white);

	border-radius: 50%;

	cursor: pointer;

	flex-shrink: 0;

	transition:
		background var(--sudca-transition),
		border-color var(--sudca-transition),
		transform var(--sudca-transition),
		width var(--sudca-transition),
		height var(--sudca-transition);

}


.sudca-main-header.is-scrolled .sudca-search-trigger {

	width: 38px;
	height: 38px;

}


.sudca-search-trigger:hover {

	background: #f4f7f4;

	border-color: var(--sudca-green);

	transform: translateY(-1px);

}


/*
 * Real SVG magnifying-glass icon (V5.4) — shared by the desktop
 * trigger and the new mobile quick-search icon beside the
 * hamburger, replacing the old hand-drawn circle+line pseudo
 * icon (a <span> positioned absolutely with a ::after line).
 * A real <svg> is centred by the flex rule above, so no manual
 * left/top offsets are needed at any header height.
 */

.sudca-search-trigger svg {

	width: 18px;
	height: 18px;

	color: var(--sudca-navy);

	flex-shrink: 0;

	transition:
		color var(--sudca-transition);

}


.sudca-main-header.is-scrolled .sudca-search-trigger svg {

	width: 16px;
	height: 16px;

}


.sudca-search-trigger:hover svg {

	color: var(--sudca-green);

}


.sudca-partner-button {

	display: inline-flex;

	align-items: center;
	justify-content: center;

	gap: 10px;

	min-height: 46px;

	padding: 0 20px;

	background: var(--sudca-green);

	color: var(--sudca-white);

	border: 1px solid var(--sudca-green);

	border-radius: 4px;

	font-size: 12px;
	font-weight: 900;

	white-space: nowrap;

	transition:
		background var(--sudca-transition),
		border-color var(--sudca-transition),
		transform var(--sudca-transition),
		min-height var(--sudca-transition);

}


.sudca-main-header.is-scrolled .sudca-partner-button {

	min-height: 38px;

	padding: 0 16px;

}


.sudca-partner-button:hover {

	background: var(--sudca-navy);

	border-color: var(--sudca-navy);

	color: var(--sudca-white);

	transform: translateY(-1px);

}


.sudca-partner-button span {

	color: var(--sudca-v9-500);

	font-size: 16px;

}


/* =========================================================
   MOBILE TOGGLE
   ========================================================= */

.sudca-menu-toggle {

	display: none;

	width: 46px;
	height: 46px;

	padding: 0;

	border: 1px solid var(--sudca-border);

	background: var(--sudca-white);

	border-radius: 50%;

	cursor: pointer;

	flex-shrink: 0;

	transition:
		background var(--sudca-transition),
		border-color var(--sudca-transition);

}


.sudca-menu-toggle:hover {

	background: var(--sudca-green-tint, #eef5ef);

	border-color: var(--sudca-green);

}


.sudca-hamburger-box {

	position: relative;

	display: flex;

	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;

}


.sudca-hamburger-line {

	position: absolute;

	width: 19px;
	height: 2px;

	border-radius: 2px;

	background: var(--sudca-navy);

	transition:
		transform 320ms cubic-bezier(.4,0,.2,1),
		opacity 200ms ease,
		width 320ms cubic-bezier(.4,0,.2,1);

}


.sudca-hamburger-line:nth-child(1) { transform: translateY(-6px); }
.sudca-hamburger-line:nth-child(2) { width: 14px; transform: translateX(2px); }
.sudca-hamburger-line:nth-child(3) { transform: translateY(6px); }

.sudca-menu-toggle.is-active .sudca-hamburger-line {

	background: var(--sudca-green);

}

.sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(1) {

	transform: translateY(0) rotate(45deg);

}

.sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(2) {

	width: 0;

	opacity: 0;

}

.sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(3) {

	transform: translateY(0) rotate(-45deg);

}


/* =========================================================
   MOBILE OVERLAY
   ========================================================= */

.sudca-mobile-overlay {

	position: fixed;

	inset: 0;

	z-index: 99998;

	background: rgba(6,12,21,.48);

	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);

	opacity: 0;
	visibility: hidden;

	transition:
		opacity 240ms ease,
		visibility 240ms ease;

}


.sudca-mobile-overlay.is-visible {

	opacity: 1;

	visibility: visible;

}


body.sudca-menu-lock,
body.sudca-search-lock {

	overflow: hidden !important;

}


/* =========================================================
   MOBILE PANEL
   ========================================================= */

.sudca-mobile-panel {

	position: fixed;

	top: 0;
	right: 0;
	bottom: 0;

	width: min(430px, 92vw);

	height: 100dvh;

	z-index: 99999;

	display: flex;
	flex-direction: column;

	background: var(--sudca-white);

	overflow: hidden;

	transform: translate3d(105%, 0, 0);

	visibility: hidden;

	box-shadow:
		-25px 0 80px rgba(6,12,21,.20);

	transition:
		transform 350ms cubic-bezier(.2,.8,.2,1),
		visibility 350ms ease;

	will-change: transform;

}


.sudca-mobile-panel.is-open {

	transform: translate3d(0,0,0);

	visibility: visible;

}


/* =========================================================
   MOBILE PANEL HEADER
   ========================================================= */

.sudca-mobile-panel-head {

	min-height: 88px;

	padding: 0 24px;

	display: flex;

	align-items: center;
	justify-content: space-between;

	background: var(--sudca-white);

	border-bottom: 1px solid var(--sudca-border);

	flex-shrink: 0;

}


.sudca-mobile-logo {

	display: flex;

	align-items: center;

	gap: 11px;

	color: var(--sudca-navy);

}


.sudca-mobile-logo img {

	width: 48px;
	height: 48px;

	object-fit: contain;

}


.sudca-mobile-logo span {

	display: flex;
	flex-direction: column;

	gap: 3px;

}


.sudca-mobile-logo strong {

	font-family: 'Manrope', sans-serif;

	font-size: 22px;

	font-weight: 900;

	line-height: .9;

	letter-spacing: -.045em;

}


.sudca-mobile-logo small {

	font-size: 7px;

	font-weight: 800;

	text-transform: uppercase;

	letter-spacing: .055em;

	color: var(--sudca-text-soft);

}


.sudca-mobile-close {

	position: relative;

	width: 42px;
	height: 42px;

	border: 1px solid var(--sudca-border);

	border-radius: 50%;

	background: var(--sudca-white);

	cursor: pointer;

	flex-shrink: 0;

}


.sudca-mobile-close span {

	position: absolute;

	width: 17px;
	height: 2px;

	left: 12px;
	top: 19px;

	background: var(--sudca-navy);

}


.sudca-mobile-close span:first-child {

	transform: rotate(45deg);

}


.sudca-mobile-close span:last-child {

	transform: rotate(-45deg);

}


/* =========================================================
   MOBILE NAVIGATION
   The min-height: 0 rule is critical — without it, this flex
   child cannot shrink below its content size, which pushes
   the footer (language + CTA) out of the visible panel.
   ========================================================= */

.sudca-mobile-navigation {

	flex: 1;

	min-height: 0;

	overflow-y: auto;
	overflow-x: hidden;

	padding: 8px 24px 28px;

	-webkit-overflow-scrolling: touch;

	overscroll-behavior: contain;

}


/*
 * All top-level mobile items — plain links (Home, Insights,
 * Careers, Contact) and dropdown-parent links (Who We Are,
 * Expertise, Impact) — share this one class, so their font,
 * weight, size and spacing are always identical regardless of
 * whether they open a submenu or navigate directly.
 */

.sudca-mobile-link {

	width: 100%;

	min-height: 64px;

	display: flex;

	align-items: center;
	justify-content: space-between;

	padding: 0 2px;

	border: 0;

	background: transparent;

	color: var(--sudca-navy);

	font-family: 'Manrope', sans-serif;

	font-size: 20px;

	font-weight: 900;

	letter-spacing: -.035em;

	text-align: left;

	cursor: pointer;

}


.sudca-mobile-direct-link {

	color: var(--sudca-navy);

}


.sudca-mobile-link:hover {

	color: var(--sudca-green);

}


.sudca-mobile-link.is-active,
.sudca-mobile-row-link.is-active {

	color: var(--sudca-green);

}


.sudca-mobile-link.is-active::after {

	content: '';

	display: inline-block;

	width: 7px;
	height: 7px;

	margin-left: 10px;

	border-radius: 50%;

	background: var(--sudca-v9-500);

	flex-shrink: 0;

}


/*
 * Mobile numbered badges — sits at the right edge of the
 * row, small and quiet, echoing the desktop mega-menu's
 * numbering without competing with the link label.
 */

.sudca-mobile-nav-num {

	flex-shrink: 0;

	margin-left: 12px;

	color: var(--sudca-v9-700);

	font-family: 'Manrope', sans-serif;

	font-size: 11px;

	font-weight: 700;

	opacity: .75;

}


.sudca-mobile-submenu a {

	display: flex;

	align-items: center;

	justify-content: space-between;

	gap: 10px;

}


.sudca-mobile-group + .sudca-mobile-group,
.sudca-mobile-direct-link + .sudca-mobile-group,
.sudca-mobile-group + .sudca-mobile-direct-link {

	margin-top: 2px;

}


/* =========================================================
   MOBILE ROW — link + accordion-toggle pair
   Same idea as the desktop dropdown/mega arrow: the label is
   a real link to its own page, and the small plus/minus button
   beside it opens/closes the submenu, so tapping the words
   "Who We Are" always takes you to the Who We Are page.
   ========================================================= */

.sudca-mobile-row {

	display: flex;

	align-items: center;

	border-bottom: 1px solid var(--sudca-border);

}


.sudca-mobile-row-link {

	flex: 1;

	min-width: 0;

}


.sudca-mobile-accordion-toggle {

	display: flex;

	align-items: center;
	justify-content: center;

	flex-shrink: 0;

	width: 52px;

	min-height: 64px;

	padding: 0;

	margin: 0;

	border: 0;

	background: transparent;

	cursor: pointer;

}


/* =========================================================
   ACCORDION ICON — CSS-only plus/minus
   Driven entirely by the button's aria-expanded attribute,
   so the icon state can never fall out of sync with JS, and
   the submenu is fully collapsed (closed) by default.
   ========================================================= */

.sudca-accordion-icon {

	position: relative;

	display: inline-flex;

	width: 30px;
	height: 30px;

	flex-shrink: 0;

}


.sudca-accordion-icon i {

	position: absolute;

	top: 50%;
	left: 50%;

	background: var(--sudca-green);

	border-radius: 2px;

	transition:
		transform 280ms ease,
		opacity 280ms ease,
		background 280ms ease;

}


.sudca-accordion-icon i:first-child {

	width: 15px;
	height: 2px;

	transform: translate(-50%, -50%);

}


.sudca-accordion-icon i:last-child {

	width: 2px;
	height: 15px;

	transform: translate(-50%, -50%);

}


.sudca-mobile-accordion-toggle[aria-expanded="true"] .sudca-accordion-icon i:last-child {

	transform:
		translate(-50%, -50%)
		scaleY(0);

	opacity: 0;

}


.sudca-mobile-accordion-toggle[aria-expanded="true"] .sudca-accordion-icon i:first-child {

	background: var(--sudca-v9-700);

}


/* =========================================================
   MOBILE SUBMENU
   Fixed animation technique: the outer element only ever has
   ONE grid row / ONE grid item (.sudca-mobile-submenu-inner),
   so "0fr -> 1fr" collapses to a true, clean zero every time —
   closed by default, no partial-height flash, no leftover gap.
   ========================================================= */

.sudca-mobile-submenu {

	display: grid;

	grid-template-rows: 0fr;

	transition:
		grid-template-rows 280ms ease;

}


.sudca-mobile-submenu.is-open {

	grid-template-rows: 1fr;

}


.sudca-mobile-submenu-inner {

	min-height: 0;

	overflow: hidden;

}


.sudca-mobile-submenu.is-open .sudca-mobile-submenu-inner {

	padding-bottom: 8px;

}


.sudca-mobile-submenu-inner a {

	display: block;

	min-height: 45px;

	padding: 12px 10px 12px 17px;

	border-bottom: 1px solid #f0eee8;

	color: var(--sudca-text-soft);

	font-family: 'Inter', sans-serif;

	font-size: 13.5px;

	font-weight: 700;

	line-height: 1.35;

}



.sudca-mobile-submenu-inner a:hover {

	color: var(--sudca-green);

}


.sudca-mobile-submenu-inner a.is-active {

	color: var(--sudca-green);

	font-weight: 900;

}


.sudca-mobile-view-all {

	color: var(--sudca-green) !important;

	font-weight: 900 !important;

}


/* =========================================================
   MOBILE SEARCH TRIGGER
   Real SVG magnifying-glass icon, matching the one used in
   the search overlay itself, instead of a hand-drawn CSS
   circle-plus-line shape (which rendered inconsistently
   across devices).
   ========================================================= */

.sudca-mobile-search-trigger {

	display: flex;

	align-items: center;

	justify-content: flex-start;

	gap: 12px;

	width: 100%;

	min-height: 54px;

	margin-top: 14px;

	padding: 0 15px;

	border: 1px solid var(--sudca-border);

	border-radius: 4px;

	background: #f7f9f6;

	color: var(--sudca-navy);

	font-size: 12.5px;

	font-weight: 800;

}


.sudca-mobile-search-icon {

	display: flex;

	align-items: center;
	justify-content: center;

	width: 16px;
	height: 16px;

	flex-shrink: 0;

	color: var(--sudca-green);

}


.sudca-mobile-search-icon svg {

	width: 16px;
	height: 16px;

}


.sudca-mobile-search-label {

	flex: 1 1 auto;

	min-width: 0;

	white-space: nowrap;

	overflow: hidden;

	text-overflow: ellipsis;

}


/*
 * If a second magnifying-glass icon is still showing up
 * after this update, it means an old copy of this button
 * (from a previous file version) is still present somewhere
 * else in header.php or in a Blocksy default template that
 * wasn't fully overridden. This rule hides any duplicate
 * so it can't double-render while you track down the source:
 */

.sudca-mobile-search-trigger + .sudca-mobile-search-trigger,
.sudca-mobile-navigation .sudca-search-trigger ~ .sudca-search-trigger {

	display: none !important;

}


/* =========================================================
   MOBILE PANEL FOOTER
   ========================================================= */

.sudca-mobile-footer {

	padding:
		16px 24px
		calc(16px + env(safe-area-inset-bottom));

	border-top: 1px solid var(--sudca-border);

	background: #fafbf9;

	flex-shrink: 0;

}


.sudca-mobile-partner {

	display: flex;

	align-items: center;
	justify-content: space-between;

	min-height: 52px;

	padding: 0 17px;

	background: var(--sudca-green);

	color: var(--sudca-white);

	border-radius: 4px;

	font-size: 13.5px;

	font-weight: 900;

}


.sudca-mobile-partner:hover {

	color: var(--sudca-white);

	background: var(--sudca-navy);

}


.sudca-mobile-partner strong {

	color: var(--sudca-v9-500);

	font-size: 17px;

}


.sudca-mobile-meta {

	display: flex;

	flex-wrap: wrap;

	gap: 7px 16px;

	margin-top: 13px;

}


.sudca-mobile-meta a {

	color: var(--sudca-text-soft);

	font-size: 11.5px;

	font-weight: 800;

}


.sudca-mobile-meta a small {

	margin-right: 4px;

	color: #9aa39c;

	font-size: 9px;

	font-weight: 800;

	text-transform: uppercase;

	letter-spacing: .05em;

}


.sudca-mobile-social {

	display: flex;

	align-items: center;

	gap: 10px;

	margin-top: 13px;

}


.sudca-mobile-social a {

	display: flex;

	align-items: center;
	justify-content: center;

	width: 28px;
	height: 28px;

	border-radius: 50%;

	background: rgba(21,59,41,.08);

	color: var(--sudca-green);

	transition:
		background var(--sudca-transition),
		color var(--sudca-transition),
		transform var(--sudca-transition);

}


.sudca-mobile-social a:hover {

	background: var(--sudca-green);

	color: var(--sudca-white);

	transform: translateY(-1px);

}


.sudca-mobile-social a svg {

	width: 13px;
	height: 13px;

}


.sudca-mobile-language {

	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 10px;

	margin-top: 13px;

}


.sudca-mobile-language > span {

	color: #8b918c;

	font-size: 9px;

	font-weight: 900;

	letter-spacing: .1em;

}


.sudca-mobile-language-control {

	min-width: 0;

}


.sudca-mobile-language-control .gtranslate_wrapper {

	display: flex !important;

	align-items: center !important;

	gap: 4px !important;

	flex-wrap: nowrap !important;

}


.sudca-mobile-language-control select {

	max-width: 80px !important;

	width: auto !important;

	padding: 0 !important;

	margin: 0 !important;

	border: 0 !important;

	background: transparent !important;

	font-size: 9px !important;

	line-height: 1 !important;

}


/* =========================================================
   SEARCH OVERLAY — refined, richer
   ========================================================= */

.sudca-search-overlay {

	position: fixed;

	inset: 0;

	z-index: 100000;

	display: flex;

	align-items: flex-start;
	justify-content: center;

	padding:
		clamp(90px, 15vh, 170px)
		24px 40px;

	background:
		radial-gradient(circle at 25% 15%, rgba(31,90,62,.35), transparent 40%),
		rgba(6,12,21,.90);

	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);

	opacity: 0;
	visibility: hidden;

	/*
	 * The box's height is content-driven (title + form +
	 * suggestion chips). On a short mobile viewport — especially
	 * with the on-screen keyboard open — that content can be
	 * taller than the visible area. Without overflow-y here the
	 * search button and suggestions below the fold were simply
	 * unreachable; now the overlay itself scrolls.
	 */
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;

	transition:
		opacity 220ms ease,
		visibility 220ms ease;

}


.sudca-search-overlay.is-open {

	opacity: 1;

	visibility: visible;

}


.sudca-search-box {

	position: relative;

	width: min(900px, 100%);

	padding: 52px;

	background: var(--sudca-white);

	border-radius: 10px;

	box-shadow:
		0 35px 110px rgba(0,0,0,.30);

}


.sudca-search-close {

	position: absolute;

	right: 20px;
	top: 20px;

	width: 40px;
	height: 40px;

	border: 1px solid var(--sudca-border);

	border-radius: 50%;

	background: var(--sudca-white);

	cursor: pointer;

}


.sudca-search-close span {

	position: absolute;

	width: 16px;
	height: 2px;

	left: 11px;
	top: 18px;

	background: var(--sudca-navy);

}


.sudca-search-close span:first-child {

	transform: rotate(45deg);

}


.sudca-search-close span:last-child {

	transform: rotate(-45deg);

}


.sudca-search-eyebrow {

	color: var(--sudca-v9-700);

	font-size: 10px;

	font-weight: 900;

	letter-spacing: .14em;

}


.sudca-search-box h2 {

	margin: 9px 0 30px;

	color: var(--sudca-navy);

	font-family: 'Manrope', sans-serif;

	font-size: clamp(32px, 5vw, 54px);

	line-height: .95;

	font-weight: 900;

	letter-spacing: -.05em;

}


.sudca-search-box form {

	position: relative;

	display: flex;

	align-items: center;

	gap: 14px;

	border-bottom: 2px solid var(--sudca-navy);

}


.sudca-search-form-icon {

	width: 22px;
	height: 22px;

	color: var(--sudca-green);

	flex-shrink: 0;

}


.sudca-search-box input {

	flex: 1;

	min-width: 0;

	padding: 15px 0;

	border: 0;

	outline: 0;

	background: transparent;

	color: var(--sudca-navy);

	font-size: 17px;

	font-weight: 600;

}


.sudca-search-box input::placeholder {

	color: #929893;

	font-weight: 500;

}


.sudca-search-box form button {

	padding: 15px 0 15px 12px;

	border: 0;

	background: transparent;

	color: var(--sudca-green);

	font-size: 12.5px;

	font-weight: 900;

	cursor: pointer;

	flex-shrink: 0;

}


.sudca-search-suggestions {

	display: flex;

	flex-direction: column;

	gap: 22px;

	margin-top: 28px;

	padding-top: 24px;

	border-top: 1px solid var(--sudca-border);

}


.sudca-search-group span {

	display: block;

	margin-bottom: 10px;

	color: #929893;

	font-size: 10.5px;

	font-weight: 800;

	text-transform: uppercase;

	letter-spacing: .08em;

}


.sudca-search-chips {

	display: flex;

	flex-wrap: wrap;

	gap: 10px;

}


.sudca-search-chips a {

	display: inline-flex;

	align-items: center;

	gap: 8px;

	padding: 9px 15px;

	border: 1px solid var(--sudca-border);

	border-radius: 999px;

	color: var(--sudca-navy);

	font-size: 12.5px;

	font-weight: 700;

	transition:
		background var(--sudca-transition),
		border-color var(--sudca-transition),
		color var(--sudca-transition),
		transform var(--sudca-transition);

}


.sudca-search-chips a svg {

	width: 15px;
	height: 15px;

	color: var(--sudca-green);

	flex-shrink: 0;

}


.sudca-search-chips a:hover {

	background: var(--sudca-green-tint, #eef5ef);

	border-color: var(--sudca-green);

	color: var(--sudca-green);

	transform: translateY(-1px);

}


/* =========================================================
   FOOTER
   ========================================================= */

.sudca-footer {

	background: var(--sudca-navy-dark);

	color: rgba(255,255,255,.70);

	font-family: 'Inter', sans-serif;

}


.sudca-footer-tagline {

	padding: 56px 0 44px;

	text-align: center;

	border-bottom: 1px solid rgba(255,255,255,.10);

}


.sudca-footer-tagline .sudca-footer-eyebrow {

	display: block;

	margin-bottom: 12px;

}


.sudca-footer-tagline h2 {

	margin: 0;

	color: var(--sudca-white);

	font-family: 'Manrope', sans-serif;

	font-size: clamp(28px, 4vw, 44px);

	font-weight: 900;

	letter-spacing: -.03em;

	line-height: 1.1;

}


.sudca-footer-eyebrow {

	color: var(--sudca-v9-500);

	font-size: 10px;

	font-weight: 900;

	letter-spacing: .15em;

}


.sudca-footer-cta h2 {

	max-width: 800px;

	margin: 12px 0 15px;

	color: var(--sudca-white);

	font-family: 'Manrope', sans-serif;

	font-size: clamp(38px, 5vw, 62px);

	line-height: .95;

	font-weight: 900;

	letter-spacing: -.055em;

}


.sudca-footer-cta p {

	max-width: 650px;

	margin: 0;

	color: rgba(255,255,255,.55);

	font-size: 15px;

	font-weight: 500;

	line-height: 1.7;

}


.sudca-footer-cta-button {

	flex-shrink: 0;

	display: inline-flex;

	align-items: center;
	justify-content: center;

	gap: 13px;

	min-height: 54px;

	padding: 0 23px;

	background: var(--sudca-v9-500);

	color: var(--sudca-navy-dark);

	border-radius: 4px;

	font-size: 12px;

	font-weight: 900;

	transition:
		background var(--sudca-transition),
		transform var(--sudca-transition);

}


.sudca-footer-cta-button:hover {

	background: var(--sudca-white);

	color: var(--sudca-navy-dark);

	transform: translateY(-2px);

}


.sudca-footer-cta-button strong {

	font-size: 17px;

}


/* =========================================================
   FOOTER GRID — bold, large
   ========================================================= */

.sudca-footer-grid {

	display: grid;

	grid-template-columns: 1.8fr repeat(4, 1fr);

	gap: 50px;

	padding: 70px 0;

	border-bottom: 1px solid rgba(255,255,255,.10);

}


.sudca-footer-brand {

	padding-right: 25px;

}


.sudca-footer-logo {

	display: flex;

	align-items: center;

	gap: 13px;

	color: var(--sudca-white);

}


.sudca-footer-logo img {

	width: 52px;
	height: 52px;

	object-fit: contain;

}


.sudca-footer-logo span {

	display: flex;
	flex-direction: column;

	gap: 3px;

}


.sudca-footer-logo strong {

	font-family: 'Manrope', sans-serif;

	font-size: 27px;

	font-weight: 900;

	line-height: .9;

	letter-spacing: -.04em;

}


.sudca-footer-logo small {

	color: rgba(255,255,255,.45);

	font-size: 7px;

	font-weight: 800;

	letter-spacing: .07em;

	text-transform: uppercase;

}


.sudca-footer-brand > p {

	max-width: 420px;

	margin: 24px 0;

	color: rgba(255,255,255,.55);

	font-size: 14px;

	font-weight: 500;

	line-height: 1.8;

}


.sudca-footer-contact {

	display: flex;

	flex-direction: column;

	gap: 9px;

}


.sudca-footer-contact a {

	color: rgba(255,255,255,.82);

	font-size: 14px;

	font-weight: 800;

}


.sudca-footer-contact a small {

	margin-right: 6px;

	color: rgba(255,255,255,.40);

	font-size: 9.5px;

	font-weight: 800;

	text-transform: uppercase;

	letter-spacing: .06em;

}


.sudca-footer-social {

	display: flex;

	align-items: center;

	gap: 10px;

	margin-top: 18px;

}


.sudca-footer-social a {

	display: flex;

	align-items: center;
	justify-content: center;

	width: 34px;
	height: 34px;

	border-radius: 50%;

	background: rgba(255,255,255,.06);

	color: rgba(255,255,255,.75);

	transition:
		background var(--sudca-transition),
		color var(--sudca-transition),
		transform var(--sudca-transition);

}


.sudca-footer-social a svg {

	width: 15px;
	height: 15px;

}


.sudca-footer-social a:hover {

	background: var(--sudca-v9-500);

	color: var(--sudca-navy-dark);

	transform: translateY(-2px);

}


.sudca-footer-column {

	display: flex;

	flex-direction: column;

	align-items: flex-start;

	gap: 14px;

}


.sudca-footer-column h3 {

	position: relative;

	margin: 0 0 6px;

	padding-bottom: 12px;

	color: var(--sudca-white);

	font-size: 12px;

	font-weight: 900;

	text-transform: uppercase;

	letter-spacing: .13em;

}


.sudca-footer-column h3::after {

	content: '';

	position: absolute;

	left: 0;
	bottom: 0;

	width: 26px;
	height: 2px;

	background: var(--sudca-v9-500);

}


.sudca-footer-column a {

	color: rgba(255,255,255,.62);

	font-size: 14px;

	font-weight: 700;

	line-height: 1.4;

	transition:
		color var(--sudca-transition),
		transform var(--sudca-transition);

}


.sudca-footer-column a:hover {

	color: var(--sudca-v9-500);

	transform: translateX(2px);

}


.sudca-footer-view {

	margin-top: 4px;

	color: var(--sudca-v9-500) !important;

	font-weight: 900 !important;

}


.sudca-office {

	display: flex;

	flex-direction: column;

	gap: 3px;

	margin-bottom: 8px;

}


.sudca-office strong {

	color: rgba(255,255,255,.86);

	font-size: 14px;

	font-weight: 800;

}


.sudca-office span {

	color: rgba(255,255,255,.44);

	font-size: 11px;

	font-weight: 600;

}


/* =========================================================
   FOOTER PARTNERS
   ========================================================= */

.sudca-footer-partners {

	padding: 32px 0;

	display: flex;

	flex-wrap: wrap;

	align-items: center;

	justify-content: space-between;

	gap: 20px 35px;

	border-bottom: 1px solid rgba(255,255,255,.10);

}


.sudca-footer-partners-head {

	display: flex;

	flex-direction: column;

	gap: 5px;

	max-width: 320px;

}


.sudca-footer-partners-head span {

	color: rgba(255,255,255,.36);

	font-size: 10px;

	font-weight: 900;

	letter-spacing: .13em;

	text-transform: uppercase;

}


.sudca-footer-partners-head p {

	margin: 0;

	color: rgba(255,255,255,.55);

	font-size: 12.5px;

	line-height: 1.5;

}


.sudca-footer-partners > div {

	display: flex;

	flex-wrap: wrap;

	align-items: center;

	justify-content: flex-end;

	gap: 10px 22px;

}


.sudca-footer-partners b {

	color: rgba(255,255,255,.50);

	font-size: 12px;

	font-weight: 800;

}


.sudca-footer-conversation {

	display: flex;

	flex-wrap: wrap;

	align-items: baseline;

	gap: 6px 12px;

	padding: 24px 0;

	border-bottom: 1px solid rgba(255,255,255,.10);

}


.sudca-footer-conversation span {

	color: rgba(255,255,255,.32);

	font-size: 10px;

	font-weight: 900;

	text-transform: uppercase;

	letter-spacing: .11em;

}


.sudca-footer-conversation p {

	margin: 0;

	color: rgba(255,255,255,.62);

	font-size: 13px;

	font-weight: 600;

}


.sudca-footer-conversation a {

	color: var(--sudca-v9-500);

	font-weight: 800;

}


/* =========================================================
   FOOTER BOTTOM
   ========================================================= */

.sudca-footer-bottom {

	padding: 24px 0;

	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 25px;

}


.sudca-footer-bottom p {

	margin: 0;

	color: rgba(255,255,255,.42);

	font-size: 11.5px;

	font-weight: 600;

	line-height: 1.5;

}


.sudca-footer-bottom a {

	color: rgba(255,255,255,.70);

	font-weight: 900;

}


/* =========================================================
   BACK TO TOP
   ========================================================= */

.sudca-back-top {

	position: fixed;

	right: 27px;
	bottom: calc(27px + env(safe-area-inset-bottom, 0px));

	z-index: 9990;

	width: 48px;
	height: 48px;

	display: flex;

	align-items: center;
	justify-content: center;

	padding: 0;

	border: 1px solid rgba(255,255,255,.16);

	border-radius: 50%;

	background: var(--sudca-green);

	color: var(--sudca-white);

	cursor: pointer;

	opacity: 0;
	visibility: hidden;

	transform: translateY(14px);

	box-shadow:
		0 12px 35px rgba(6,12,21,.25);

	transition:
		opacity 220ms ease,
		visibility 220ms ease,
		transform 220ms ease,
		background 220ms ease;

}


.sudca-back-top.is-visible {

	opacity: 1;

	visibility: visible;

	transform: translateY(0);

}


.sudca-back-top:hover {

	background: var(--sudca-v9-500);

	color: var(--sudca-navy-dark);

}


.sudca-back-top span {

	font-size: 21px;

	font-weight: 700;

}


@media (max-width: 1440px) {

	.sudca-container {

		width: min(
			calc(100% - 40px),
			var(--sudca-container)
		);

	}


	.sudca-nav-link {

		padding-inline: 14px;

		font-size: 13.5px;

	}


	.sudca-nav-dropdown .sudca-nav-link {

		padding-right: 8px;

	}


	.sudca-nav-link::after {

		left: 12px;
		right: 12px;

	}


	.sudca-partner-button {

		padding-inline: 15px;

		font-size: 11px;

	}

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1250px) {

	.sudca-container {

		width: min(
			calc(100% - 48px),
			var(--sudca-container)
		);

	}


	.sudca-header-inner {

		gap: 16px;

	}


	.sudca-desktop-nav {

		gap: 2px;

	}


	.sudca-brand img {

		width: 54px;
		height: 54px;

	}


	.sudca-brand-text strong {

		font-size: 1.4rem;

	}


	.sudca-nav-link {

		padding-inline: 10px;

		font-size: 12.5px;

	}


	.sudca-nav-dropdown .sudca-nav-link {

		padding-right: 6px;

	}


	.sudca-nav-link::after {

		left: 10px;
		right: 10px;

	}


	.sudca-partner-button {

		padding-inline: 13px;

	}


	.sudca-mega-panel {

		width: min(1000px, 90vw);

	}


	.sudca-footer-grid {

		grid-template-columns: 1.5fr repeat(4, 1fr);

		gap: 28px;

	}

}


/* =========================================================
   MOBILE / TABLET NAV
   ========================================================= */

@media (max-width: 960px) {

	.sudca-container {

		width: calc(100% - 36px);

	}


	/*
	 * Top bar remains visible and scrolls away naturally
	 * (it is never sticky, at any width). At this width we
	 * keep ONLY the Office number, Email and language switcher,
	 * and drop the Mobile number plus the location + social
	 * cluster to make room — sudca-top-secondary hides
	 * location + its divider + social in one go instead of
	 * leaving a stray divider behind.
	 *
	 * SPECIFICITY FIX: .sudca-topbar a (a base rule earlier in
	 * this file) sets display:inline-flex with specificity
	 * (0,1,1). A plain ".sudca-top-phone-secondary { display:
	 * none }" only carries (0,1,0), so — despite coming later
	 * in the file — it LOSES to that earlier rule and the
	 * second number stayed visible. That extra number then
	 * overflowed the bar, and because the bar scrolls instead
	 * of wrapping, it pushed the language switcher off-screen
	 * to the right instead of actually hiding it. Both symptoms
	 * traced back to this one specificity mismatch.
	 *
	 * Fixed by qualifying the selector with its ".sudca-topbar"
	 * ancestor (bumping it to (0,2,0), which now outranks
	 * (0,1,1)) and adding !important as a second, independent
	 * guarantee — matching how every other forced-hide/override
	 * rule in this file (gtranslate, etc.) is already written,
	 * so this can't silently regress again if another base rule
	 * is added later.
	 */

	.sudca-topbar-inner {

		min-height: 38px;

		gap: 14px;

	}


	.sudca-top-contact {

		gap: 12px;

		min-width: 0;

	}


	.sudca-top-phone {

		font-size: 12.5px;

		min-width: 0;

	}


	/*
	 * The "Office" / "Mobile" labels only existed to tell two
	 * numbers apart. With just one number left on this screen
	 * size, the label is redundant — drop it here to free up
	 * room, rather than waiting until the 380px breakpoint.
	 */

	.sudca-top-phone small {

		display: none !important;

	}


	.sudca-topbar .sudca-top-phone-secondary {

		display: none !important;

	}


	/*
	 * Top bar on mobile is now: 1 phone number + Language only.
	 * Email joins the Mobile number and the location/social
	 * cluster in being dropped here — same specificity-safe
	 * pattern as the other two (qualified with the .sudca-topbar
	 * ancestor so this can't lose to .sudca-topbar a's
	 * display:inline-flex the way the un-qualified rule did
	 * before, plus !important as a second guarantee).
	 */

	.sudca-topbar .sudca-top-email {

		display: none !important;

	}


	.sudca-top-right {

		gap: 10px;

		margin-left: auto;

		flex-shrink: 0;

	}


	.sudca-topbar .sudca-top-secondary {

		display: none !important;

	}


	.sudca-language {

		flex-shrink: 0;

	}


	.sudca-language select {

		font-size: 10px !important;

		max-width: 80px !important;

	}


	/*
	 * Main header ONLY is sticky — same rule at every width.
	 */

	.sudca-main-header {

		position: sticky;

		top: 0;

	}


	.sudca-header-inner {

		min-height: 82px;

		gap: 12px;

	}


	.sudca-main-header.is-scrolled .sudca-header-inner {

		min-height: 62px;

	}


	.sudca-brand img {

		width: 50px;
		height: 50px;

	}


	.sudca-main-header.is-scrolled .sudca-brand img {

		width: 38px;
		height: 38px;

	}


	.sudca-brand-text strong {

		font-size: 1.4rem;

	}


	.sudca-brand-text small {

		font-size: 7px;

	}


	.sudca-desktop-nav,
	.sudca-header-actions {

		display: none;

	}


	/*
	 * The wrapper carries margin-left:auto and becomes the flex
	 * container; .sudca-menu-toggle only needs its own display
	 * value switched on here (it stays display:none in the base
	 * rule since not every context that includes this stylesheet
	 * is inside .sudca-mobile-actions).
	 */

	.sudca-mobile-actions {

		display: flex;

		margin-left: auto;

	}


	.sudca-menu-toggle {

		display: flex;

		align-items: center;
		justify-content: center;

	}


	/* FOOTER */

	.sudca-footer-cta {

		padding: 65px 0;

		flex-direction: column;

		align-items: flex-start;

	}


	.sudca-footer-cta-button {

		margin-top: 4px;

	}


	.sudca-footer-grid {

		grid-template-columns: repeat(2, 1fr);

		gap: 45px 30px;

	}


	.sudca-footer-brand {

		grid-column: 1 / -1;

	}


	.sudca-footer-partners {

		flex-direction: column;

		align-items: flex-start;

	}


	.sudca-footer-partners > div {

		justify-content: flex-start;

	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

	.sudca-container {

		width: calc(100% - 30px);

	}


	.sudca-topbar-inner {

		min-height: 36px;

		gap: 10px;

	}


	.sudca-top-contact {

		gap: 10px;

		min-width: 0;

	}


	.sudca-top-contact a {

		font-size: 11px;

		min-width: 0;

	}


	.sudca-top-phone {

		font-size: 11.5px;

	}


	.sudca-top-phone small {

		display: none !important;

	}


	/*
	 * With the bar down to just Office phone + Language at this
	 * width, there's ample room to keep the icon badge visible
	 * (it's kept at every breakpoint now — see the comment on
	 * .sudca-top-icon-badge in the base rules).
	 */

	.sudca-top-right {

		gap: 8px;

	}


	.sudca-topbar-divider-lang {

		height: 12px;

	}


	.sudca-language select {

		font-size: 9px !important;

		max-width: 66px !important;

	}


	.sudca-language img,
	.gtranslate_wrapper img {

		width: 12px !important;
		height: 9px !important;

	}


	.sudca-header-inner {

		min-height: 74px;

	}


	.sudca-main-header.is-scrolled .sudca-header-inner {

		min-height: 58px;

	}


	.sudca-brand {

		gap: 9px;

	}


	.sudca-brand img {

		width: 44px;
		height: 44px;

	}


	.sudca-main-header.is-scrolled .sudca-brand img {

		width: 34px;
		height: 34px;

	}


	.sudca-brand-text strong {

		font-size: 1.28rem;

	}


	.sudca-brand-text small {

		font-size: 6px;

	}


	.sudca-menu-toggle {

		width: 44px;
		height: 44px;

	}


	.sudca-mobile-panel {

		width: min(430px, 100vw);

	}


	.sudca-mobile-navigation {

		padding-inline: 20px;

	}


	.sudca-mobile-panel-head {

		padding-inline: 20px;

	}


	.sudca-mobile-footer {

		padding-inline: 20px;

	}


	.sudca-mobile-link {

		min-height: 58px;

		font-size: 19px;

	}


	.sudca-mobile-row-link {

		min-height: 58px;

	}


	.sudca-mobile-accordion-toggle {

		min-height: 58px;

	}


	.sudca-mobile-submenu-inner a {

		font-size: 12.5px;

	}


	.sudca-mobile-language-control select {

		font-size: 8px !important;

		max-width: 60px !important;

	}


	.sudca-search-overlay {

		align-items: flex-start;

		padding: 64px 12px 24px;

	}


	.sudca-search-box {

		width: 100%;

		padding: 30px 18px 22px;

		border-radius: 12px;

	}


	.sudca-search-close {

		top: 12px;
		right: 12px;

		width: 34px;
		height: 34px;

	}


	.sudca-search-close span {

		width: 13px;

		left: 10.5px;
		top: 15.5px;

	}


	.sudca-search-eyebrow {

		font-size: 9px;

	}


	.sudca-search-box h2 {

		margin: 8px 0 22px;

		font-size: 28px;

	}


	.sudca-search-box form {

		flex-wrap: wrap;

		gap: 10px;

	}


	.sudca-search-box input {

		width: 100%;

		order: 1;

		padding: 12px 0;

		font-size: 16px;

	}


	.sudca-search-form-icon {

		order: 0;

		width: 19px;
		height: 19px;

	}


	.sudca-search-box form button {

		order: 2;

		padding: 8px 0 2px;

	}


	.sudca-search-suggestions {

		gap: 18px;

		margin-top: 22px;

		padding-top: 20px;

	}


	.sudca-search-chips {

		gap: 8px;

	}


	.sudca-search-chips a {

		padding: 8px 13px;

		font-size: 12px;

	}


	.sudca-footer-cta {

		padding: 55px 0;

	}


	.sudca-footer-cta h2 {

		font-size: 38px;

	}


	.sudca-footer-cta p {

		font-size: 13px;

	}


	.sudca-footer-grid {

		grid-template-columns: 1fr;

		gap: 38px;

	}


	.sudca-footer-brand {

		grid-column: auto;

	}


	.sudca-footer-brand > p {

		font-size: 13px;

	}


	.sudca-footer-column a {

		font-size: 13.5px;

	}


	.sudca-footer-partners > div {

		gap: 12px 18px;

	}


	.sudca-footer-bottom {

		flex-direction: column;

		align-items: flex-start;

	}


	.sudca-back-top {

		right: 15px;
		bottom: calc(15px + env(safe-area-inset-bottom));

		width: 46px;
		height: 46px;

	}

}


/* =========================================================
   VERY SMALL PHONES
   Extra headroom below 380px so the topbar's two remaining
   groups (Office phone, Language) never touch. Icon badges
   stay visible at every width now that the bar only carries
   the phone number and Language — this tier just adds a
   little extra breathing room between the two.
   ========================================================= */

@media (max-width: 380px) {

	.sudca-topbar-inner {

		gap: 6px;

	}


	.sudca-top-contact {

		gap: 8px;

	}


	.sudca-top-phone span {

		display: inline-block;

		max-width: 120px;

		overflow: hidden;

		text-overflow: ellipsis;

		white-space: nowrap;

	}


	.sudca-language img,
	.gtranslate_wrapper img {

		display: none !important;

	}

}


/* =========================================================
   WORDPRESS ADMIN BAR OFFSET
   ========================================================= */

@media (min-width: 783px) {

	body.admin-bar .sudca-main-header {

		top: 32px;

	}

}


@media (max-width: 782px) {

	body.admin-bar .sudca-main-header {

		top: 46px;

	}

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	.sudca-site *,
	.sudca-site *::before,
	.sudca-site *::after {

		scroll-behavior: auto !important;

		transition-duration: .01ms !important;

		animation-duration: .01ms !important;

		animation-iteration-count: 1 !important;

	}

}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.sudca-site a:focus-visible,
.sudca-site button:focus-visible,
.sudca-site input:focus-visible {

	outline: 2px solid var(--sudca-brand-green-light, #67c84d);

	outline-offset: 3px;

}
/* =========================================================
   SUDCA FINAL HEADER OVERRIDES — V5.5
   Transparent-at-top / solid-on-scroll main header.
   SuDCA green is dominant; gold is supportive only.
   ========================================================= */

.sudca-main-header {
  background: rgba(255,255,255,0.82);
  border-bottom-color: rgba(255,255,255,0.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.home .sudca-main-header:not(.is-scrolled),
.front-page .sudca-main-header:not(.is-scrolled) {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  background: rgba(5,12,21,0.18);
  border-bottom-color: rgba(255,255,255,0.14);
  box-shadow: none;
  color: #fff;
}

.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
.home .sudca-main-header:not(.is-scrolled) .sudca-search-trigger,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-search-trigger {
  color: #fff;
}

.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text small,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text small {
  color: rgba(255,255,255,.72);
}

.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover,
.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:focus-visible,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:focus-visible {
  color: #fff;
  background: rgba(255,255,255,.09);
}

.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link::after,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link::after {
  background: var(--sudca-green-fresh);
}

.home .sudca-main-header:not(.is-scrolled) .sudca-chevron,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-chevron {
  color: var(--sudca-green-fresh);
}

.sudca-main-header.is-scrolled {
  position: sticky;
  background: rgba(255,255,255,.97);
  border-bottom-color: var(--sudca-border);
  box-shadow: 0 12px 35px rgba(6,12,21,.10);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.sudca-main-header.is-scrolled .sudca-brand-text strong,
.sudca-main-header.is-scrolled .sudca-nav-link,
.sudca-main-header.is-scrolled .sudca-search-trigger {
  color: var(--sudca-navy);
}

.sudca-partner-button {
  background: var(--sudca-green);
  border-color: var(--sudca-green);
  color: #fff;
}

.sudca-partner-button:hover {
  background: var(--sudca-green-mid);
  border-color: var(--sudca-green-mid);
}

.sudca-hamburger-line {
  background: currentColor;
}

.home .sudca-main-header:not(.is-scrolled) .sudca-hamburger-modern,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-hamburger-modern {
  color: #fff;
}

.sudca-main-header.is-scrolled .sudca-hamburger-modern {
  color: var(--sudca-navy);
}



/* =========================================================
   SUDCA FINAL HEADER / FOOTER SYSTEM — V7.4
   Clean production overrides built on the supplied V6.2 base.
   ========================================================= */
:root{
  --sudca-header-height: 82px;
  --sudca-header-height-scrolled: 82px;
  --sudca-header-height-tablet: 72px;
  --sudca-header-height-mobile: 66px;
  --sudca-brand-green: #159447;
  --sudca-brand-green-light: #67c84d;
  --sudca-brand-green-pale: #eaf7e5;
  --sudca-brand-green-soft: #d8f0d0;
  --sudca-brand-green-deep: #0f6f37;
  --sudca-gold-support: #3E8B51;
}

/* ---------- Top utility bar: light, calm, institutional ---------- */
.sudca-topbar{
  min-height:44px;
  background:linear-gradient(90deg,#dff3d8 0%,#eaf7e5 50%,#d8f0d0 100%) !important;
  color:#123b24 !important;
  border:0 !important;
  box-shadow:none !important;
}
.sudca-topbar-inner{min-height:44px}
.sudca-topbar a{color:#123b24 !important}
.sudca-topbar a:hover{color:#0f6f37 !important}
.sudca-top-icon-badge{
  background:rgba(255,255,255,.70) !important;
  color:#0f6f37 !important;
  border:1px solid rgba(15,111,55,.12) !important;
  box-shadow:none !important;
}
.sudca-top-icon{color:#0f6f37 !important}
.sudca-topbar a:hover .sudca-top-icon-badge{
  background:#159447 !important;
  color:#fff !important;
  border-color:#159447 !important;
  transform:translateY(-1px);
}
.sudca-topbar a:hover .sudca-top-icon{color:#fff !important}
.sudca-top-location{color:#356247 !important}
.sudca-topbar-divider{background:rgba(15,111,55,.16) !important}
.sudca-social-link{
  background:rgba(255,255,255,.58) !important;
  color:#0f6f37 !important;
  border:1px solid rgba(15,111,55,.10) !important;
}
.sudca-social-link:hover{
  background:#159447 !important;
  color:#fff !important;
  border-color:#159447 !important;
  transform:translateY(-1px);
}
/* GTranslate must remain readable as white text on the green language control. */
.sudca-topbar .sudca-language{
  display:flex;align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#0f6f37 !important;
  color:#fff !important;
}
.sudca-topbar .sudca-language .gtranslate_wrapper,
.sudca-topbar .sudca-language .gtranslate_wrapper *{
  color:#fff !important;
}
.sudca-topbar .sudca-language select{
  color:#fff !important;
  background:transparent !important;
  border:0 !important;
}
.sudca-topbar .sudca-language a{color:#fff !important}

/* ---------- Main header: transparent on hero, fixed-height after scroll ---------- */
.sudca-main-header{
  position:sticky;
  top:0;
  z-index:99990;
  min-height:var(--sudca-header-height);
  border-bottom:1px solid var(--sudca-border);
}
.sudca-header-inner,
.sudca-main-header.is-scrolled .sudca-header-inner{
  min-height:var(--sudca-header-height) !important;
  height:var(--sudca-header-height) !important;
}
.sudca-brand img,
.sudca-main-header.is-scrolled .sudca-brand img{
  width:58px !important;height:58px !important;
}
.sudca-main-header.is-scrolled .sudca-brand-text small{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  max-height:none !important;
}
.sudca-main-header.is-scrolled .sudca-brand-text strong{font-size:1.52rem !important}
.sudca-main-header.is-scrolled .sudca-nav-link{color:var(--sudca-navy)}
.sudca-main-header.is-scrolled .sudca-dropdown-arrow,
.sudca-main-header.is-scrolled .sudca-mega-arrow,
.sudca-main-header.is-scrolled .sudca-search-trigger{color:var(--sudca-navy)}
.sudca-main-header.is-scrolled .sudca-partner-button{min-height:46px}

/* Homepage hero overlay: no glow, no layout shift. */
.home .sudca-main-header:not(.is-scrolled),
.front-page .sudca-main-header:not(.is-scrolled){
  position:sticky;
  top:0;
  margin-bottom:calc(-1 * var(--sudca-header-height));
  background:linear-gradient(180deg,rgba(3,17,13,.56),rgba(3,17,13,.10)) !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  box-shadow:none !important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-search-trigger,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-search-trigger{color:#fff !important}
.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text small,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text small{color:rgba(255,255,255,.78) !important}

/* ---------- Mobile off-canvas: light green, not a dark second website ---------- */
.sudca-mobile-panel{
  background:linear-gradient(180deg,#eaf7e5 0%,#f5faef 42%,#ffffff 100%) !important;
  color:#123b24 !important;
  border-left:1px solid rgba(15,111,55,.12) !important;
  box-shadow:-28px 0 80px rgba(6,35,18,.20) !important;
}
.sudca-mobile-panel-head{
  background:rgba(255,255,255,.70) !important;
  border-bottom-color:rgba(15,111,55,.13) !important;
}
.sudca-mobile-logo strong,.sudca-mobile-link,.sudca-mobile-search-trigger{color:#123b24 !important}
.sudca-mobile-logo small{color:#5d7566 !important}
.sudca-mobile-close{
  color:#0f6f37 !important;
  background:#eaf7e5 !important;
  border:1px solid rgba(15,111,55,.16) !important;
}
.sudca-mobile-close:hover{background:#159447 !important;color:#fff !important}
.sudca-mobile-link{border-bottom-color:rgba(15,111,55,.12) !important}
.sudca-mobile-link:hover,
.sudca-mobile-link:focus-visible,
.sudca-mobile-link.is-active{color:#0f6f37 !important}
.sudca-mobile-link.is-active::after{background:#67c84d !important}
.sudca-mobile-accordion-toggle{color:#0f6f37 !important}
.sudca-mobile-submenu{
  background:rgba(103,200,77,.09) !important;
  border-left:2px solid rgba(15,111,55,.18) !important;
}
.sudca-mobile-submenu-inner a{
  color:#466453 !important;
  border-bottom-color:rgba(15,111,55,.08) !important;
}
.sudca-mobile-submenu-inner a:hover,
.sudca-mobile-submenu-inner a.is-active{color:#0f6f37 !important}
.sudca-mobile-nav-num{color:#6da85f !important}
.sudca-mobile-search-trigger{
  background:#fff !important;
  border:1px solid rgba(15,111,55,.14) !important;
}
.sudca-mobile-footer{
  background:#e0f1da !important;
  border-top-color:rgba(15,111,55,.13) !important;
}
.sudca-mobile-partner{background:#159447 !important;color:#fff !important}
.sudca-mobile-partner:hover{background:#0f6f37 !important}
.sudca-mobile-social a{
  background:#fff !important;
  color:#0f6f37 !important;
  border:1px solid rgba(15,111,55,.13) !important;
}
.sudca-mobile-social a:hover{background:#159447 !important;color:#fff !important}
.sudca-mobile-language > span{color:#0f6f37 !important}
.sudca-mobile-language-control{background:#fff !important;border:1px solid rgba(15,111,55,.12) !important}
.sudca-mobile-language-control *{color:#123b24 !important}

/* ---------- Footer: dark institutional base + restrained development illustration ---------- */
.sudca-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(180deg,#071711 0%,#04100b 100%) !important;
  color:rgba(255,255,255,.72) !important;
  border-top:1px solid rgba(103,200,77,.16) !important;
}
.sudca-footer::after{
  content:"";
  position:absolute;
  right:-5%;
  bottom:0;
  width:min(760px,62vw);
  height:460px;
  z-index:-1;
  opacity:.28;
  background:
    linear-gradient(140deg,transparent 0 46%,rgba(103,200,77,.16) 46.2% 46.7%,transparent 47%),
    repeating-linear-gradient(155deg,transparent 0 30px,rgba(255,255,255,.045) 31px 32px),
    repeating-linear-gradient(65deg,transparent 0 54px,rgba(103,200,77,.035) 55px 56px);
  clip-path:polygon(20% 100%,28% 82%,39% 86%,50% 63%,62% 72%,74% 48%,84% 55%,100% 25%,100% 100%);
}
.sudca-footer::before{
  content:"";
  position:absolute;
  right:7%;
  bottom:72px;
  width:430px;
  height:190px;
  z-index:-1;
  opacity:.20;
  border-bottom:1px solid rgba(103,200,77,.55);
  border-left:1px solid rgba(103,200,77,.35);
  transform:skewY(-11deg) rotate(-3deg);
}
.sudca-footer-tagline{
  position:relative;
  background:linear-gradient(135deg,#123b27 0%,#0d2a1d 100%) !important;
  border-bottom-color:rgba(255,255,255,.10) !important;
}
.sudca-footer-tagline .sudca-footer-eyebrow{color:#67c84d !important}
.sudca-footer-tagline h2{color:#fff !important}
.sudca-footer-grid{border-bottom-color:rgba(255,255,255,.10) !important}
.sudca-footer-logo strong,.sudca-footer-column h3{color:#fff !important}
.sudca-footer-logo small{color:rgba(255,255,255,.48) !important}
.sudca-footer-brand > p{color:rgba(255,255,255,.58) !important}
.sudca-footer-contact a{color:rgba(255,255,255,.84) !important}
.sudca-footer-column a{color:rgba(255,255,255,.64) !important}
.sudca-footer-column a:hover{color:#67c84d !important}
.sudca-footer-column h3::after{background:#67c84d !important}
.sudca-footer-office strong,.sudca-office strong{color:rgba(255,255,255,.86) !important}
.sudca-office span{color:rgba(255,255,255,.45) !important}
.sudca-footer-partners{border-bottom-color:rgba(255,255,255,.10) !important}
.sudca-footer-partners-head span,.sudca-footer-conversation span{color:#67c84d !important}
.sudca-footer-partners-head p,.sudca-footer-conversation p{color:rgba(255,255,255,.56) !important}
.sudca-footer-partners b{
  background:rgba(255,255,255,.045) !important;
  color:rgba(255,255,255,.64) !important;
  border:1px solid rgba(255,255,255,.10);
  padding:7px 10px;
  border-radius:3px;
}
.sudca-footer-conversation{border-bottom-color:rgba(255,255,255,.10) !important}
.sudca-footer-conversation a{color:#67c84d !important}
.sudca-footer-bottom{border-top-color:rgba(255,255,255,.08) !important}
.sudca-footer-bottom p{color:rgba(255,255,255,.42) !important}
.sudca-footer-bottom a{color:rgba(255,255,255,.70) !important}

/* ---------- Back to top: right aligned, quiet and consistent ---------- */
.sudca-back-top{
  right:28px !important;
  bottom:28px !important;
  width:48px !important;
  height:48px !important;
  background:#159447 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 12px 30px rgba(3,22,12,.25) !important;
}
.sudca-back-top:hover{background:#67c84d !important;color:#082315 !important}

/* ---------- Responsive fixed header heights: NEVER shrink ---------- */
@media(max-width:960px){
  :root{--sudca-header-height:72px;--sudca-header-height-scrolled:72px}
  .sudca-header-inner,.sudca-main-header.is-scrolled .sudca-header-inner{min-height:72px !important;height:72px !important}
  .sudca-brand img,.sudca-main-header.is-scrolled .sudca-brand img{width:50px !important;height:50px !important}
  .home .sudca-main-header:not(.is-scrolled),.front-page .sudca-main-header:not(.is-scrolled){margin-bottom:-72px}
}
@media(max-width:600px){
  :root{--sudca-header-height:66px;--sudca-header-height-scrolled:66px}
  .sudca-header-inner,.sudca-main-header.is-scrolled .sudca-header-inner{min-height:66px !important;height:66px !important}
  .sudca-brand img,.sudca-main-header.is-scrolled .sudca-brand img{width:44px !important;height:44px !important}
  .home .sudca-main-header:not(.is-scrolled),.front-page .sudca-main-header:not(.is-scrolled){margin-bottom:-66px}
  .sudca-topbar-inner{min-height:38px}
  .sudca-topbar .sudca-language{padding:5px 8px}
  .sudca-back-top{right:16px !important;bottom:16px !important;width:46px !important;height:46px !important}
  .sudca-footer::after{width:100%;height:300px;right:-18%;opacity:.16}
  .sudca-footer::before{right:0;width:260px;opacity:.12}
}


.sudca-footer-illustration{
  position:absolute;
  right:0;
  bottom:0;
  width:min(760px,58vw);
  height:300px;
  z-index:-1;
  color:#67c84d;
  opacity:.16;
  pointer-events:none;
}
.sudca-footer-illustration svg{width:100%;height:100%;display:block}
@media(max-width:600px){.sudca-footer-illustration{width:100%;height:240px;right:-22%;opacity:.09}}


/* =========================================================
   SUDCA V8 — AUTHORITATIVE HEADER / MOBILE / FOOTER FIXES
   These rules intentionally come last so older V5/V6/V7 rules
   cannot override the final component behavior.
   ========================================================= */

/* ---------- TOP MINI BAR: light institutional green ---------- */
.sudca-topbar{
	background:linear-gradient(180deg,#f2f7f1 0%,#e9f2e8 100%) !important;
	color:#173a29 !important;
	border-bottom:1px solid rgba(20,58,39,.10) !important;
	box-shadow:0 1px 0 rgba(255,255,255,.95), 0 2px 10px rgba(20,58,39,.045) !important;
}
.sudca-topbar a{color:#294938 !important}
.sudca-topbar a:hover{color:#0f6f37 !important}
.sudca-top-icon-badge{
	background:rgba(20,91,61,.075) !important;
	box-shadow:inset 0 0 0 1px rgba(20,91,61,.12) !important;
}
.sudca-top-icon{color:#4f8d55 !important}
.sudca-topbar a:hover .sudca-top-icon-badge{background:#dcebd8 !important}
.sudca-topbar a:hover .sudca-top-icon{color:#0f6f37 !important}
.sudca-top-phone small{color:#688071 !important}
.sudca-top-location{color:#587064 !important}
.sudca-topbar-divider{background:rgba(20,58,39,.14) !important}
.sudca-social-link{background:rgba(20,58,39,.055) !important;color:#4b6959 !important}
.sudca-social-link:hover{background:#3E8B51 !important;color:#102319 !important}
.sudca-language select{color:#294938 !important}
.sudca-language .gtranslate_wrapper{color:#294938 !important}

/* Location icons */
.sudca-top-location{
	display:inline-flex !important;
	align-items:center;
	gap:8px;
}
.sudca-location-item{
	display:inline-flex;
	align-items:center;
	gap:5px;
	white-space:nowrap;
}
.sudca-location-item svg{
	width:13px;
	height:13px;
	color:#4f8d55;
}
.sudca-location-separator{color:#a0ada5}

/* ---------- MAIN HEADER: only a gentle desktop shrink ---------- */
:root{
	--sudca-header-height:92px;
	--sudca-header-height-scrolled:82px;
}
.sudca-main-header,
.sudca-header-inner{transition:min-height 260ms cubic-bezier(.2,.7,.2,1),height 260ms cubic-bezier(.2,.7,.2,1),background 220ms ease,box-shadow 220ms ease}
.sudca-header-inner{min-height:92px !important;height:92px !important}
.sudca-main-header.is-scrolled .sudca-header-inner{min-height:82px !important;height:82px !important}
.sudca-brand img{width:58px !important;height:58px !important}
.sudca-main-header.is-scrolled .sudca-brand img{width:52px !important;height:52px !important}
.sudca-brand-text strong{font-size:1.58rem !important}
.sudca-main-header.is-scrolled .sudca-brand-text strong{font-size:1.48rem !important}
.sudca-brand-text small,
.sudca-main-header.is-scrolled .sudca-brand-text small{
	display:block !important;
	opacity:1 !important;
	visibility:visible !important;
	max-height:none !important;
	height:auto !important;
	overflow:visible !important;
}
.sudca-nav-link{min-height:92px !important}
.sudca-main-header.is-scrolled .sudca-nav-link{min-height:82px !important}
.sudca-main-header.is-scrolled .sudca-header-actions .sudca-partner-button{min-height:44px !important}

/* ---------- HOMEPAGE HEADER: clean frosted glass ---------- */
.home .sudca-main-header:not(.is-scrolled),
.front-page .sudca-main-header:not(.is-scrolled){
	background:rgba(10,34,23,.20) !important;
	border-bottom:1px solid rgba(255,255,255,.14) !important;
	box-shadow:0 8px 30px rgba(0,0,0,.06) !important;
	backdrop-filter:blur(14px) saturate(120%) !important;
	-webkit-backdrop-filter:blur(14px) saturate(120%) !important;
}
.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-search-trigger,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-search-trigger{
	color:#fff !important;
}

/* ---------- MOBILE OFF-CANVAS: no duplicate mobile header ---------- */
.sudca-mobile-panel{
	top:0 !important;
	background:linear-gradient(180deg,#f2f8ef 0%,#f8fbf6 46%,#fff 100%) !important;
	border-left:1px solid rgba(15,111,55,.12) !important;
	box-shadow:-28px 0 80px rgba(6,35,18,.18) !important;
}
.sudca-mobile-panel-head{display:none !important}
.sudca-mobile-panel-close{
	position:absolute !important;
	top:18px !important;
	right:20px !important;
	z-index:5 !important;
	width:42px !important;
	height:42px !important;
	background:rgba(255,255,255,.88) !important;
	color:#0f6f37 !important;
	border:1px solid rgba(15,111,55,.14) !important;
	box-shadow:0 5px 18px rgba(20,58,39,.08);
}
.sudca-mobile-navigation{
	padding-top:72px !important;
}
.sudca-mobile-footer{
	background:#e5f0e1 !important;
	border-top-color:rgba(15,111,55,.12) !important;
}
.sudca-mobile-link{color:#123b24 !important}
.sudca-mobile-link:hover,
.sudca-mobile-link:focus-visible,
.sudca-mobile-link.is-active{color:#0f6f37 !important}
.sudca-mobile-submenu{background:rgba(103,200,77,.07) !important}
.sudca-mobile-submenu-inner a{color:#466453 !important}
.sudca-mobile-submenu-inner a:hover,
.sudca-mobile-submenu-inner a.is-active{color:#0f6f37 !important}

/* ---------- FOOTER: full-section photographic fixed visual ---------- */
.sudca-footer{
	position:relative !important;
	isolation:isolate;
	overflow:hidden;
	background:#0b261a !important;
	color:#fff;
}
.sudca-footer::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-2;
	background:
		linear-gradient(90deg,rgba(5,24,15,.97) 0%,rgba(7,35,22,.92) 48%,rgba(9,45,27,.80) 100%),
		url("https://images.unsplash.com/photo-1516026672322-bc52d61a55d5?auto=format&fit=crop&w=2200&q=82")
		center center / cover no-repeat;
	background-attachment:fixed;
}
.sudca-footer::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	background:
		radial-gradient(circle at 78% 20%,rgba(127,175,67,.18),transparent 32%),
		linear-gradient(180deg,rgba(4,24,15,.08),rgba(4,24,15,.26));
	pointer-events:none;
}
.sudca-footer > *{position:relative;z-index:1}
.sudca-footer-illustration{display:none !important}

/* Stronger footer readability over the photograph */
.sudca-footer-tagline,
.sudca-footer-grid,
.sudca-footer-partners,
.sudca-footer-conversation,
.sudca-footer-bottom{border-color:rgba(255,255,255,.12) !important}
.sudca-footer-column a{transition:color 180ms ease,transform 180ms ease,opacity 180ms ease !important}
.sudca-footer-column a:hover,
.sudca-footer-contact a:hover,
.sudca-footer-bottom a:hover,
.sudca-footer-conversation a:hover{
	color:#91be51 !important;
	transform:translateX(3px);
}

/* ---------- BACK TO TOP: one global SuDCA component ---------- */
.sudca-back-top{
	right:28px !important;
	bottom:28px !important;
	width:48px !important;
	height:48px !important;
	border-radius:50% !important;
	background:#143a27 !important;
	color:#fff !important;
	border:1px solid rgba(255,255,255,.18) !important;
	box-shadow:0 12px 30px rgba(3,22,12,.25) !important;
}
.sudca-back-top svg{width:18px !important;height:18px !important}
.sudca-back-top:hover{background:#3E8B51 !important;color:#0a1526 !important;transform:translateY(-2px) !important}

/* ---------- MOBILE SIZES ---------- */
@media(max-width:960px){
	:root{--sudca-header-height:72px;--sudca-header-height-scrolled:68px}
	.sudca-header-inner{min-height:72px !important;height:72px !important}
	.sudca-main-header.is-scrolled .sudca-header-inner{min-height:68px !important;height:68px !important}
	.sudca-brand img{width:48px !important;height:48px !important}
	.sudca-main-header.is-scrolled .sudca-brand img{width:44px !important;height:44px !important}
	.sudca-nav-link{min-height:72px !important}
	.sudca-main-header.is-scrolled .sudca-nav-link{min-height:68px !important}
	.sudca-top-contact{gap:12px !important}
	.sudca-top-right{gap:8px !important}
	.sudca-topbar .sudca-top-phone-secondary,
	.sudca-topbar .sudca-top-email,
	.sudca-topbar .sudca-top-secondary,
	.sudca-topbar .sudca-topbar-divider-lang{display:none !important}
	.sudca-topbar-inner{min-height:42px !important}
	.sudca-topbar .sudca-top-phone{font-size:14px !important}
	.sudca-topbar .sudca-top-phone small{display:inline !important}
	.sudca-topbar .sudca-language{display:flex !important;margin-left:auto !important}
	.sudca-topbar .sudca-language select{font-size:11px !important}
}
@media(max-width:600px){
	:root{--sudca-header-height:66px;--sudca-header-height-scrolled:63px}
	.sudca-header-inner{min-height:66px !important;height:66px !important}
	.sudca-main-header.is-scrolled .sudca-header-inner{min-height:63px !important;height:63px !important}
	.sudca-brand img{width:44px !important;height:44px !important}
	.sudca-main-header.is-scrolled .sudca-brand img{width:42px !important;height:42px !important}
	.sudca-topbar-inner{min-height:42px !important}
	.sudca-topbar .sudca-top-phone{font-size:15px !important}
	.sudca-top-icon-badge{width:21px !important;height:21px !important}
	.sudca-mobile-panel-close{top:14px !important;right:16px !important}
	.sudca-mobile-navigation{padding-top:62px !important}
	.sudca-footer::before{background-attachment:scroll;background-position:center center}
	.sudca-back-top{right:16px !important;bottom:16px !important;width:46px !important;height:46px !important}
}


/* =========================================================
   SUDCA V8.1 — FINAL REFINEMENT
   ========================================================= */

/* Main header: subtle, visible shrink state at every desktop/mobile size. */
:root{
	--sudca-header-height:92px;
	--sudca-header-height-scrolled:84px;
}
.sudca-header-inner{
	min-height:92px !important;
	height:92px !important;
	transition:min-height .28s cubic-bezier(.2,.7,.2,1),height .28s cubic-bezier(.2,.7,.2,1) !important;
}
.sudca-main-header.is-scrolled .sudca-header-inner{
	min-height:84px !important;
	height:84px !important;
}
.sudca-nav-link{min-height:92px !important;transition:min-height .28s ease !important}
.sudca-main-header.is-scrolled .sudca-nav-link{min-height:84px !important}
.sudca-brand img{width:58px !important;height:58px !important;transition:width .28s ease,height .28s ease !important}
.sudca-main-header.is-scrolled .sudca-brand img{width:54px !important;height:54px !important}
.sudca-brand-text strong{transition:font-size .28s ease !important}
.sudca-brand-text small{
	display:block !important;
	visibility:visible !important;
	opacity:1 !important;
	max-height:none !important;
	height:auto !important;
	overflow:visible !important;
}
.sudca-main-header.is-scrolled .sudca-brand-text strong{font-size:1.52rem !important}
.sudca-main-header.is-scrolled .sudca-brand-text small{display:block !important;visibility:visible !important;opacity:1 !important}

/* Mobile/tablet shrink is deliberately small so the header remains usable. */
@media(max-width:960px){
	:root{--sudca-header-height:72px;--sudca-header-height-scrolled:68px}
	.sudca-header-inner{min-height:72px !important;height:72px !important}
	.sudca-main-header.is-scrolled .sudca-header-inner{min-height:68px !important;height:68px !important}
	.sudca-brand img{width:48px !important;height:48px !important}
	.sudca-main-header.is-scrolled .sudca-brand img{width:45px !important;height:45px !important}
}
@media(max-width:600px){
	:root{--sudca-header-height:66px;--sudca-header-height-scrolled:62px}
	.sudca-header-inner{min-height:66px !important;height:66px !important}
	.sudca-main-header.is-scrolled .sudca-header-inner{min-height:62px !important;height:62px !important}
	.sudca-brand img{width:44px !important;height:44px !important}
	.sudca-main-header.is-scrolled .sudca-brand img{width:41px !important;height:41px !important}
}

/* Mobile off-canvas: restore a proper internal panel header + visible close control. */
.sudca-mobile-panel-head{
	display:flex !important;
	min-height:82px !important;
	height:82px !important;
	padding:0 22px !important;
	position:relative !important;
	z-index:10 !important;
	flex-shrink:0 !important;
	align-items:center !important;
	justify-content:space-between !important;
	background:rgba(255,255,255,.86) !important;
	border-bottom:1px solid rgba(15,111,55,.13) !important;
	backdrop-filter:blur(12px) !important;
	-webkit-backdrop-filter:blur(12px) !important;
}
.sudca-mobile-logo{
	display:flex !important;
	align-items:center !important;
	gap:11px !important;
	text-decoration:none !important;
}
.sudca-mobile-logo img{width:46px !important;height:46px !important}
.sudca-mobile-logo strong{font-size:21px !important;line-height:.95 !important}
.sudca-mobile-logo small{display:block !important;font-size:7px !important;line-height:1.2 !important}
.sudca-mobile-panel-close{
	position:relative !important;
	top:auto !important;
	right:auto !important;
	width:42px !important;
	height:42px !important;
	min-width:42px !important;
	border-radius:50% !important;
	display:block !important;
	visibility:visible !important;
	opacity:1 !important;
	z-index:20 !important;
}
.sudca-mobile-panel-close span{display:block !important;visibility:visible !important;opacity:1 !important}
.sudca-mobile-navigation{
	padding-top:0 !important;
	flex:1 1 auto !important;
	min-height:0 !important;
	overflow-y:auto !important;
	-webkit-overflow-scrolling:touch !important;
}
@media(max-width:600px){
	.sudca-mobile-panel-head{min-height:76px !important;height:76px !important;padding-inline:18px !important}
	.sudca-mobile-logo img{width:42px !important;height:42px !important}
	.sudca-mobile-logo strong{font-size:19px !important}
}

/* Footer: the photographic treatment belongs to the entire footer, and remains fixed while scrolling. */
.sudca-footer{
	position:relative !important;
	isolation:isolate !important;
	overflow:hidden !important;
	background-color:#071a11 !important;
	background-image:
		linear-gradient(90deg,rgba(4,22,14,.96) 0%,rgba(7,35,22,.91) 48%,rgba(8,46,28,.82) 100%),
		url("https://images.unsplash.com/photo-1516026672322-bc52d61a55d5?auto=format&fit=crop&w=2400&q=84") !important;
	background-position:center center !important;
	background-size:cover !important;
	background-repeat:no-repeat !important;
	background-attachment:fixed !important;
}
.sudca-footer::before,
.sudca-footer::after{pointer-events:none !important}
.sudca-footer > *{position:relative !important;z-index:1 !important}
.sudca-footer-illustration{display:none !important}

@media(max-width:700px){
	/* iOS/Android browsers often ignore fixed attachment; keep the full-section visual safe. */
	.sudca-footer{background-attachment:scroll !important;background-position:center center !important}
}

/* =========================================================
   V8 FINAL MICRO-REFINEMENT
   Homepage hamburger visibility + gentler scroll shrink
   ========================================================= */

/* Keep the homepage hamburger unmistakably visible over the hero. */
.home .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-menu-toggle,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-menu-toggle{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	visibility:visible !important;
	opacity:1 !important;
	color:#fff !important;
	background:rgba(8,32,21,.58) !important;
	border-color:rgba(255,255,255,.34) !important;
	box-shadow:0 8px 24px rgba(0,0,0,.18) !important;
	backdrop-filter:blur(10px) !important;
	-webkit-backdrop-filter:blur(10px) !important;
}
.home .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-hamburger-line,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-hamburger-line{
	background:#fff !important;
}

/* Gentle desktop shrink: only a small reduction when scrolling. */
:root{
	--sudca-header-height:92px;
	--sudca-header-height-scrolled:87px;
}
.sudca-header-inner{
	min-height:92px !important;
	height:92px !important;
}
.sudca-main-header.is-scrolled .sudca-header-inner{
	min-height:87px !important;
	height:87px !important;
}
.sudca-nav-link{min-height:92px !important}
.sudca-main-header.is-scrolled .sudca-nav-link{min-height:87px !important}
.sudca-brand img{width:58px !important;height:58px !important}
.sudca-main-header.is-scrolled .sudca-brand img{width:55px !important;height:55px !important}

@media(max-width:960px){
	:root{--sudca-header-height:72px;--sudca-header-height-scrolled:69px}
	.sudca-header-inner{min-height:72px !important;height:72px !important}
	.sudca-main-header.is-scrolled .sudca-header-inner{min-height:69px !important;height:69px !important}
	.sudca-main-header.is-scrolled .sudca-brand img{width:46px !important;height:46px !important}
}
@media(max-width:600px){
	:root{--sudca-header-height:66px;--sudca-header-height-scrolled:63px}
	.sudca-header-inner{min-height:66px !important;height:66px !important}
	.sudca-main-header.is-scrolled .sudca-header-inner{min-height:63px !important;height:63px !important}
	.sudca-main-header.is-scrolled .sudca-brand img{width:42px !important;height:42px !important}
}


/* =========================================================
   SUDCA V8.3 — HIGH-END HEADER / GLOBAL BACK-TO-TOP
   Authoritative header shrink fix
   ========================================================= */

:root{
  --sudca-header-height:90px;
  --sudca-header-height-scrolled:78px;
}

/*
 * The shrink state is applied to the REAL sticky header box and its
 * inner layout. V8.2 used 92px -> 87px, which was technically working
 * but visually almost impossible to notice. V8.3 uses 90px -> 78px:
 * a restrained 12px reduction that is clearly visible without making
 * the desktop header feel compressed.
 */
.sudca-main-header{
  height:90px !important;
  min-height:90px !important;
  max-height:90px !important;
  overflow:visible !important;
  transition:
    height .28s ease,
    min-height .28s ease,
    max-height .28s ease,
    background .28s ease,
    box-shadow .28s ease !important;
}

.sudca-header-inner{
  height:90px !important;
  min-height:90px !important;
  max-height:90px !important;
  transition:
    height .28s ease,
    min-height .28s ease,
    max-height .28s ease !important;
}

.sudca-main-header.is-scrolled{
  height:78px !important;
  min-height:78px !important;
  max-height:78px !important;
}

.sudca-main-header.is-scrolled .sudca-header-inner{
  height:78px !important;
  min-height:78px !important;
  max-height:78px !important;
}

.sudca-main-header.is-scrolled .sudca-nav-link{
  min-height:78px !important;
  height:78px !important;
}

/* Keep the complete wordmark present while shrinking. */
.sudca-brand-text{
  min-width:0 !important;
}
.sudca-brand-text strong,
.sudca-brand-text small{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
.sudca-main-header.is-scrolled .sudca-brand-text small{
  display:block !important;
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
}

/* Responsive actual header-box shrink. */
@media (max-width:960px){
  :root{--sudca-header-height:72px;--sudca-header-height-scrolled:66px}
  .sudca-main-header{height:72px !important;min-height:72px !important;max-height:72px !important}
  .sudca-header-inner{height:72px !important;min-height:72px !important;max-height:72px !important}
  .sudca-main-header.is-scrolled{height:66px !important;min-height:66px !important;max-height:66px !important}
  .sudca-main-header.is-scrolled .sudca-header-inner{height:66px !important;min-height:66px !important;max-height:66px !important}
  .sudca-main-header.is-scrolled .sudca-nav-link{min-height:66px !important;height:66px !important}
}
@media (max-width:600px){
  :root{--sudca-header-height:66px;--sudca-header-height-scrolled:62px}
  .sudca-main-header{height:66px !important;min-height:66px !important;max-height:66px !important}
  .sudca-header-inner{height:66px !important;min-height:66px !important;max-height:66px !important}
  .sudca-main-header.is-scrolled{height:62px !important;min-height:62px !important;max-height:62px !important}
  .sudca-main-header.is-scrolled .sudca-header-inner{height:62px !important;min-height:62px !important;max-height:62px !important}
}

/* Global Back-to-Top: viewport-level component, independent of footer/page DOM. */
.sudca-back-top{
  position:fixed !important;
  right:28px !important;
  bottom:28px !important;
  z-index:2147483000 !important;
  width:50px !important;
  height:50px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:50% !important;
  background:rgba(20,58,39,.96) !important;
  color:#fff !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate3d(0,12px,0) !important;
  box-shadow:0 14px 34px rgba(5,24,15,.24) !important;
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease,background .22s ease !important;
}
.sudca-back-top.is-visible{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translate3d(0,0,0) !important;
}
.sudca-back-top:hover{
  background:#3E8B51 !important;
  color:#0a1526 !important;
  transform:translate3d(0,-3px,0) !important;
}
.sudca-back-top:focus-visible{
  outline:3px solid rgba(127,175,67,.38) !important;
  outline-offset:4px !important;
}
.sudca-back-top svg{width:18px !important;height:18px !important}
@media(max-width:600px){
  .sudca-back-top{
    right:16px !important;
    bottom:calc(16px + env(safe-area-inset-bottom,0px)) !important;
    width:46px !important;
    height:46px !important;
  }
}

/* =========================================================
   SUDCA V9 — PREMIUM GREEN DESIGN SYSTEM
   Global override layer. Keeps the approved V8.3 structure
   while moving the visual language to the new SuDCA identity.
   ========================================================= */
:root{
  --sudca-v9-950:#06150F;
  --sudca-v9-900:#0A2117;
  --sudca-v9-850:#0E2D1D;
  --sudca-v9-800:#123B25;
  --sudca-v9-700:#1B5A34;
  --sudca-v9-600:#2D7546;
  --sudca-v9-500:#3E8B51;
  --sudca-v9-400:#65A967;
  --sudca-v9-300:#8FC58B;
  --sudca-v9-200:#C8DFC5;
  --sudca-v9-100:#EAF3E8;
  --sudca-v9-050:#F5F9F4;
  --sudca-v9-white:#FFFFFF;
  --sudca-v9-black:#07100B;
  --sudca-v9-muted:#5F6D63;
  --sudca-v9-line:#DCE8DE;
}

html{scroll-behavior:smooth}
body.sudca-child-theme{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--sudca-v9-050);
  color:var(--sudca-v9-black);
}
body.sudca-child-theme h1,
body.sudca-child-theme h2,
body.sudca-child-theme h3,
body.sudca-child-theme h4,
body.sudca-child-theme h5,
body.sudca-child-theme h6,
.sudca-site .sudca-brand,
.sudca-site .sudca-nav-link,
.sudca-site .sudca-partner-button,
.sudca-site .sudca-mobile-link,
.sudca-site .sudca-footer-tagline h2,
.sudca-site .sudca-footer-column h3{
  font-family:"Manrope","Inter",sans-serif;
}

/* TOP UTILITY BAR */
.sudca-topbar{
  position:relative;
  z-index:1005;
  min-height:42px;
  background:linear-gradient(90deg,#F4F9F3 0%,#EEF6EE 52%,#F8FBF7 100%) !important;
  color:var(--sudca-v9-800) !important;
  border-bottom:1px solid rgba(45,117,70,.14) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset !important;
}
.sudca-topbar-inner{min-height:42px}
.sudca-topbar a,
.sudca-topbar .sudca-top-secondary,
.sudca-topbar .sudca-location-item,
.sudca-topbar .sudca-location-separator{
  color:var(--sudca-v9-700) !important;
}
.sudca-topbar a:hover{color:var(--sudca-v9-900) !important}
.sudca-top-icon-badge{
  background:var(--sudca-v9-100) !important;
  border:1px solid rgba(45,117,70,.12) !important;
  color:var(--sudca-v9-600) !important;
}
.sudca-topbar-divider{background:rgba(45,117,70,.18) !important}
.sudca-social-link:hover{
  background:var(--sudca-v9-600) !important;
  color:#fff !important;
}
.sudca-language{color:var(--sudca-v9-800) !important}

/* MAIN HEADER */
.sudca-main-header{
  --v9-header-height:88px;
  --v9-header-scrolled-height:74px;
  position:sticky;
  top:0;
  z-index:1000;
  min-height:var(--v9-header-height) !important;
  background:rgba(255,255,255,.97) !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(45,117,70,.10) !important;
  box-shadow:0 8px 30px rgba(6,21,15,.055) !important;
  transition:min-height .28s ease,background .28s ease,box-shadow .28s ease,backdrop-filter .28s ease !important;
}
.sudca-main-header .sudca-header-inner{
  min-height:var(--v9-header-height) !important;
  transition:min-height .28s ease !important;
}
.sudca-main-header.is-scrolled{
  min-height:var(--v9-header-scrolled-height) !important;
  background:rgba(255,255,255,.985) !important;
  box-shadow:0 10px 28px rgba(6,21,15,.09) !important;
}
.sudca-main-header.is-scrolled .sudca-header-inner{min-height:var(--v9-header-scrolled-height) !important}
.sudca-main-header.is-scrolled .sudca-brand img{
  width:52px !important;
  height:52px !important;
}
.sudca-main-header .sudca-brand img{transition:width .28s ease,height .28s ease}
.sudca-main-header.is-scrolled .sudca-brand-text strong{font-size:18px !important}
.sudca-main-header.is-scrolled .sudca-brand-text small{
  opacity:1 !important;
  max-height:30px !important;
  overflow:visible !important;
}
.sudca-main-header .sudca-brand-text strong{color:var(--sudca-v9-900) !important}
.sudca-main-header .sudca-brand-text small{color:var(--sudca-v9-600) !important}
.sudca-nav-link{color:var(--sudca-v9-800) !important}
.sudca-nav-link:hover,.sudca-nav-link.is-active{color:var(--sudca-v9-600) !important}
.sudca-nav-link.is-active::after{background:var(--sudca-v9-500) !important}
.sudca-dropdown-arrow,.sudca-mega-arrow{color:var(--sudca-v9-600) !important}
.sudca-partner-button{
  background:linear-gradient(135deg,var(--sudca-v9-700),var(--sudca-v9-500)) !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(27,90,52,.18) !important;
}
.sudca-partner-button:hover{background:var(--sudca-v9-900) !important;transform:translateY(-2px)}
.sudca-search-trigger{color:var(--sudca-v9-800) !important}
.sudca-search-trigger:hover{color:var(--sudca-v9-500) !important}

/* HOMEPAGE TRANSPARENT HEADER: clean glass, not invisible */
body.home .sudca-main-header,
body.front-page .sudca-main-header{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.66)) !important;
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  border-bottom-color:rgba(255,255,255,.28) !important;
  box-shadow:0 8px 30px rgba(6,21,15,.045) !important;
}
body.home .sudca-main-header.is-scrolled,
body.front-page .sudca-main-header.is-scrolled{
  background:rgba(255,255,255,.97) !important;
  backdrop-filter:blur(20px) saturate(145%);
  -webkit-backdrop-filter:blur(20px) saturate(145%);
}

/* DESKTOP MEGA/DROPDOWNS */
.sudca-simple-dropdown,
.sudca-mega-panel{
  background:rgba(255,255,255,.985) !important;
  border:1px solid rgba(45,117,70,.12) !important;
  box-shadow:0 28px 70px rgba(6,21,15,.14) !important;
}
.sudca-mega-heading,.sudca-mega-item h3,.sudca-mega-item strong{color:var(--sudca-v9-900) !important}
.sudca-mega-item:hover{background:var(--sudca-v9-050) !important}
.sudca-mega-number{color:var(--sudca-v9-500) !important}
.sudca-drop-icon{color:var(--sudca-v9-500) !important}

/* MOBILE HEADER / OFF CANVAS */
.sudca-mobile-actions .sudca-menu-toggle,
.sudca-hamburger-modern{color:var(--sudca-v9-800) !important}
.sudca-hamburger-modern span{background:currentColor !important}
.sudca-mobile-overlay{background:rgba(3,14,9,.62) !important;backdrop-filter:blur(4px)}
.sudca-mobile-panel{
  background:linear-gradient(180deg,#F8FBF7 0%,#EDF5ED 100%) !important;
  border-left:1px solid rgba(45,117,70,.12) !important;
  box-shadow:-28px 0 80px rgba(3,18,10,.20) !important;
}
.sudca-mobile-panel-head{
  background:rgba(255,255,255,.72) !important;
  border-bottom:1px solid rgba(45,117,70,.12) !important;
  backdrop-filter:blur(14px);
}
.sudca-mobile-logo strong{color:var(--sudca-v9-900) !important}
.sudca-mobile-logo small{color:var(--sudca-v9-600) !important}
.sudca-mobile-close{background:var(--sudca-v9-900) !important;color:#fff !important}
.sudca-mobile-link{color:var(--sudca-v9-900) !important}
.sudca-mobile-link:hover,.sudca-mobile-link.is-active,.sudca-mobile-row-link.is-active{color:var(--sudca-v9-600) !important}
.sudca-mobile-link.is-active::after{background:var(--sudca-v9-500) !important}
.sudca-mobile-nav-num{color:var(--sudca-v9-500) !important}
.sudca-mobile-submenu{background:rgba(255,255,255,.52) !important}
.sudca-mobile-submenu-inner a:hover,.sudca-mobile-submenu-inner a.is-active{color:var(--sudca-v9-600) !important;background:var(--sudca-v9-100) !important}
.sudca-mobile-view-all{color:var(--sudca-v9-700) !important}
.sudca-mobile-search-trigger{background:var(--sudca-v9-900) !important;color:#fff !important}
.sudca-mobile-partner{background:var(--sudca-v9-700) !important;color:#fff !important}
.sudca-mobile-partner:hover{background:var(--sudca-v9-900) !important}
.sudca-mobile-meta a{color:var(--sudca-v9-700) !important}
.sudca-mobile-social a{color:var(--sudca-v9-700) !important}
.sudca-mobile-social a:hover{background:var(--sudca-v9-600) !important;color:#fff !important}

/* SEARCH */
.sudca-search-overlay{background:rgba(5,18,11,.82) !important;backdrop-filter:blur(12px)}
.sudca-search-overlay .sudca-search-inner{background:#fff !important;border:1px solid var(--sudca-v9-line) !important}

/* FOOTER — full visual section */
.sudca-footer{
  position:relative !important;
  isolation:isolate;
  overflow:hidden !important;
  color:#fff !important;
  background:
    linear-gradient(100deg,rgba(4,21,13,.97) 0%,rgba(8,40,23,.91) 48%,rgba(12,57,31,.80) 100%),
    url("https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=2200&q=82") center/cover no-repeat !important;
  background-attachment:fixed !important;
}
.sudca-footer::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 82% 18%,rgba(101,169,103,.22),transparent 28%),
    linear-gradient(135deg,transparent 35%,rgba(200,223,197,.06) 35.2%,transparent 35.5%);
  pointer-events:none;
}
.sudca-footer::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(5,25,15,.08),rgba(4,16,10,.32));
  pointer-events:none;
}
.sudca-footer-illustration{display:none !important}
.sudca-footer-tagline{background:transparent !important;border-bottom:1px solid rgba(255,255,255,.10) !important}
.sudca-footer-tagline .sudca-footer-eyebrow{color:var(--sudca-v9-300) !important}
.sudca-footer-tagline h2{color:#fff !important;font-weight:800 !important}
.sudca-footer-grid{position:relative;z-index:2}
.sudca-footer-brand p{color:rgba(255,255,255,.72) !important}
.sudca-footer-logo strong{color:#fff !important}
.sudca-footer-logo small{color:var(--sudca-v9-300) !important}
.sudca-footer-column h3{color:#fff !important}
.sudca-footer-column a{color:rgba(255,255,255,.70) !important}
.sudca-footer-column a:hover{color:var(--sudca-v9-300) !important;transform:translateX(5px)}
.sudca-footer-contact a{color:rgba(255,255,255,.84) !important}
.sudca-footer-contact a:hover{color:var(--sudca-v9-300) !important}
.sudca-footer-view{color:var(--sudca-v9-300) !important}
.sudca-office strong{color:#fff !important}
.sudca-office span{color:rgba(255,255,255,.56) !important}
.sudca-footer-partners{border-top:1px solid rgba(255,255,255,.11) !important;border-bottom:1px solid rgba(255,255,255,.11) !important}
.sudca-footer-partners-head span{color:var(--sudca-v9-300) !important}
.sudca-footer-partners-head p{color:rgba(255,255,255,.58) !important}
.sudca-footer-partners b{color:rgba(255,255,255,.80) !important;border-color:rgba(255,255,255,.14) !important;background:rgba(255,255,255,.045) !important}
.sudca-footer-partners b:hover{color:#fff !important;background:rgba(101,169,103,.20) !important;border-color:rgba(143,197,139,.35) !important}
.sudca-footer-conversation{background:rgba(255,255,255,.055) !important;border:1px solid rgba(255,255,255,.10) !important}
.sudca-footer-conversation span{color:var(--sudca-v9-300) !important}
.sudca-footer-conversation p{color:rgba(255,255,255,.70) !important}
.sudca-footer-conversation a{color:#fff !important}
.sudca-footer-conversation a:hover{color:var(--sudca-v9-300) !important}
.sudca-footer-bottom{border-top:1px solid rgba(255,255,255,.10) !important}
.sudca-footer-bottom p{color:rgba(255,255,255,.50) !important}
.sudca-footer-bottom a{color:var(--sudca-v9-300) !important}

/* GLOBAL BACK TO TOP */
.sudca-back-top{
  position:fixed !important;
  right:28px !important;
  bottom:28px !important;
  z-index:999999 !important;
  width:52px !important;
  height:52px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:50% !important;
  background:var(--sudca-v9-900) !important;
  color:#fff !important;
  box-shadow:0 14px 35px rgba(3,18,10,.24) !important;
  backdrop-filter:blur(12px) !important;
  transition:opacity .25s ease,transform .25s ease,background .25s ease !important;
}
.sudca-back-top:hover{background:var(--sudca-v9-600) !important;transform:translateY(-4px) !important}
.sudca-back-top svg{width:20px !important;height:20px !important}

/* FOCUS + MOTION */
.sudca-site a:focus-visible,
.sudca-site button:focus-visible,
.sudca-site input:focus-visible,
.sudca-site select:focus-visible,
.sudca-site textarea:focus-visible{
  outline:3px solid rgba(101,169,103,.48) !important;
  outline-offset:3px !important;
}
@media(max-width:960px){
  .sudca-main-header{min-height:76px !important}
  .sudca-main-header .sudca-header-inner{min-height:76px !important}
  .sudca-main-header.is-scrolled{min-height:70px !important}
  .sudca-main-header.is-scrolled .sudca-header-inner{min-height:70px !important}
  .sudca-footer{background-attachment:scroll !important}
}
@media(max-width:700px){
  .sudca-topbar{min-height:48px !important}
  .sudca-topbar-inner{min-height:48px !important}
  .sudca-main-header{min-height:72px !important}
  .sudca-main-header .sudca-header-inner{min-height:72px !important}
  .sudca-main-header.is-scrolled{min-height:68px !important}
  .sudca-main-header.is-scrolled .sudca-header-inner{min-height:68px !important}
  .sudca-back-top{right:16px !important;bottom:18px !important;width:48px !important;height:48px !important}
}
@media(prefers-reduced-motion:reduce){
  .sudca-main-header,.sudca-main-header .sudca-header-inner,.sudca-main-header .sudca-brand img,.sudca-back-top{transition:none !important}
}


/* =========================================================
   SUDCA V9.1 — FINAL BRAND / MOBILE VISIBILITY REFINEMENTS
   - No gold anywhere in the global header/search/mega-menu UI.
   - Utility bar and desktop header use clean #FFFFFF.
   - Mobile phone is compact and label-free.
   - Mobile search / hamburger / close controls are forced visible.
   ========================================================= */

/* Brand tokens: green-only interface. */
:root{
  --sudca-gold:#3E8B51 !important;
  --sudca-gold-dark:#2D7546 !important;
  --sudca-gold-support:#3E8B51 !important;
}

/* TOP UTILITY BAR — pure white */
.sudca-topbar{
  background:#FFFFFF !important;
  color:var(--sudca-v9-800) !important;
  border-bottom:1px solid var(--sudca-v9-line) !important;
  box-shadow:0 1px 0 rgba(6,21,15,.025) !important;
}
.sudca-topbar a,
.sudca-topbar .sudca-top-secondary,
.sudca-topbar .sudca-location-item,
.sudca-topbar .sudca-location-separator{
  color:var(--sudca-v9-800) !important;
}
.sudca-topbar a:hover{color:var(--sudca-v9-600) !important}
.sudca-top-icon-badge{
  background:var(--sudca-v9-050) !important;
  color:var(--sudca-v9-600) !important;
  border-color:var(--sudca-v9-line) !important;
}
.sudca-topbar a:hover .sudca-top-icon-badge{
  background:var(--sudca-v9-600) !important;
  color:#fff !important;
  border-color:var(--sudca-v9-600) !important;
}
.sudca-top-icon{color:var(--sudca-v9-600) !important}
.sudca-topbar a:hover .sudca-top-icon{color:#fff !important}
.sudca-topbar .sudca-language{
  background:var(--sudca-v9-800) !important;
  color:#fff !important;
}

/* MAIN HEADER — clean white on every non-hero page */
.sudca-main-header{
  background:#FFFFFF !important;
  border-top:0 !important;
  border-bottom:1px solid var(--sudca-v9-line) !important;
}
.sudca-main-header.is-scrolled{
  background:#FFFFFF !important;
}

/* Homepage keeps its glass treatment, but remains green/white only. */
body.home .sudca-main-header:not(.is-scrolled),
body.front-page .sudca-main-header:not(.is-scrolled){
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.72)) !important;
  border-bottom-color:rgba(255,255,255,.42) !important;
}

/* Eliminate remaining gold visual language from navigation/search UI. */
.sudca-nav-link:hover,
.sudca-nav-link.is-active,
.sudca-search-trigger:hover,
.sudca-dropdown-arrow,
.sudca-mega-arrow,
.sudca-mega-number,
.sudca-drop-icon,
.sudca-search-eyebrow,
.sudca-search-chips a:hover,
.sudca-partner-button span{
  color:var(--sudca-v9-500) !important;
}
.sudca-nav-link.is-active::after{
  background:var(--sudca-v9-500) !important;
}
.sudca-search-chips a:hover{
  border-color:var(--sudca-v9-500) !important;
  background:var(--sudca-v9-050) !important;
}

/* Mobile actions — force visible, high-contrast controls. */
@media (max-width:960px){
  .sudca-mobile-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    margin-left:auto !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .sudca-mobile-actions .sudca-search-trigger,
  .sudca-mobile-actions .sudca-menu-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    z-index:100 !important;
    background:#FFFFFF !important;
    border:1px solid var(--sudca-v9-line) !important;
    color:var(--sudca-v9-800) !important;
  }

  .sudca-mobile-actions .sudca-search-trigger svg{
    display:block !important;
    width:18px !important;
    height:18px !important;
    visibility:visible !important;
    opacity:1 !important;
    color:var(--sudca-v9-800) !important;
  }

  .sudca-mobile-actions .sudca-hamburger-box{
    display:flex !important;
    position:relative !important;
    width:24px !important;
    height:24px !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .sudca-mobile-actions .sudca-hamburger-line{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    width:20px !important;
    height:2px !important;
    margin-left:-10px !important;
    background:var(--sudca-v9-800) !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .sudca-mobile-actions .sudca-hamburger-line:nth-child(1){transform:translateY(-6px) !important}
  .sudca-mobile-actions .sudca-hamburger-line:nth-child(2){transform:translateY(0) !important;width:15px !important;margin-left:-7px !important}
  .sudca-mobile-actions .sudca-hamburger-line:nth-child(3){transform:translateY(6px) !important}

  .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(1){transform:rotate(45deg) !important}
  .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(2){width:0 !important;opacity:0 !important}
  .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(3){transform:rotate(-45deg) !important}

  /* Mobile top bar: phone only + language. No "Office" label. */
  .sudca-topbar .sudca-top-phone small{
    display:none !important;
  }
  .sudca-topbar .sudca-top-phone{
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .sudca-topbar .sudca-top-icon-badge{
    width:27px !important;
    height:27px !important;
  }
  .sudca-topbar .sudca-top-icon{
    width:14px !important;
    height:14px !important;
  }
}

/* Very small phones: preserve the number without crowding the language control. */
@media (max-width:480px){
  .sudca-topbar .sudca-top-phone{
    font-size:11px !important;
    letter-spacing:-.01em !important;
  }
  .sudca-topbar .sudca-top-icon-badge{
    width:25px !important;
    height:25px !important;
  }
  .sudca-topbar .sudca-language{
    padding:4px 7px !important;
  }
}

/* Mobile off-canvas close button — force the X strokes above every layer. */
.sudca-mobile-panel .sudca-mobile-close,
.sudca-mobile-panel .sudca-mobile-panel-close{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  z-index:20 !important;
  visibility:visible !important;
  opacity:1 !important;
  width:42px !important;
  height:42px !important;
  background:#FFFFFF !important;
  color:var(--sudca-v9-800) !important;
  border:1px solid var(--sudca-v9-line) !important;
}
.sudca-mobile-panel .sudca-mobile-close span,
.sudca-mobile-panel .sudca-mobile-panel-close span{
  display:block !important;
  position:absolute !important;
  left:11px !important;
  top:20px !important;
  width:19px !important;
  height:2px !important;
  background:var(--sudca-v9-800) !important;
  opacity:1 !important;
  visibility:visible !important;
}
.sudca-mobile-panel .sudca-mobile-close:hover,
.sudca-mobile-panel .sudca-mobile-panel-close:hover{
  background:var(--sudca-v9-600) !important;
  border-color:var(--sudca-v9-600) !important;
}
.sudca-mobile-panel .sudca-mobile-close:hover span,
.sudca-mobile-panel .sudca-mobile-panel-close:hover span{
  background:#FFFFFF !important;
}

/* Final back-to-top hover: green only. */
.sudca-back-top:hover{
  background:var(--sudca-v9-600) !important;
  color:#FFFFFF !important;
}


/* =========================================================
   SUDCA V9.2 — FINAL GLOBAL REFINEMENT LAYER
   ========================================================= */

/* ---------- TOP UTILITY BAR: PURE WHITE ---------- */
.sudca-topbar{
  background:#FFFFFF !important;
  color:var(--sudca-v9-800) !important;
  border-bottom:1px solid rgba(27,90,52,.12) !important;
  box-shadow:0 1px 0 rgba(27,90,52,.04) !important;
}
.sudca-topbar a,
.sudca-topbar .sudca-top-secondary,
.sudca-topbar .sudca-location-item,
.sudca-topbar .sudca-location-separator,
.sudca-topbar .sudca-language,
.sudca-topbar .sudca-language *{
  color:var(--sudca-v9-800) !important;
}
.sudca-topbar a:hover{color:var(--sudca-v9-600) !important}
.sudca-top-icon-badge{
  background:var(--sudca-v9-100) !important;
  border:1px solid rgba(45,117,70,.14) !important;
  color:var(--sudca-v9-700) !important;
  box-shadow:none !important;
}
.sudca-top-icon{color:var(--sudca-v9-600) !important}
.sudca-topbar-divider{background:rgba(27,90,52,.14) !important}
.sudca-top-phone small{color:var(--sudca-v9-600) !important}
.sudca-top-location{color:var(--sudca-v9-700) !important}

/* Social icons: keep the glyph visible in both states. */
.sudca-social-link{
  background:var(--sudca-v9-100) !important;
  color:var(--sudca-v9-700) !important;
  border:1px solid rgba(45,117,70,.10) !important;
}
.sudca-social-link svg,
.sudca-social-link svg path{fill:currentColor !important;color:currentColor !important;opacity:1 !important}
.sudca-social-link:hover{
  background:var(--sudca-v9-700) !important;
  color:#FFFFFF !important;
  border-color:var(--sudca-v9-700) !important;
}
.sudca-social-link:hover svg,
.sudca-social-link:hover svg path{fill:#FFFFFF !important;color:#FFFFFF !important}

/* ---------- HOMEPAGE: TRUE TRANSPARENT / GLASS HERO HEADER ---------- */
body.home .sudca-main-header,
body.front-page .sudca-main-header{
  position:absolute !important;
  top:42px !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  background:rgba(255,255,255,.075) !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 8px 30px rgba(0,0,0,.035) !important;
  backdrop-filter:blur(16px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(16px) saturate(125%) !important;
}
body.home .sudca-main-header.is-scrolled,
body.front-page .sudca-main-header.is-scrolled{
  position:fixed !important;
  top:0 !important;
  background:rgba(255,255,255,.985) !important;
  border-bottom-color:rgba(27,90,52,.10) !important;
  box-shadow:0 10px 28px rgba(6,21,15,.09) !important;
  backdrop-filter:blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(135%) !important;
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
body.home .sudca-main-header:not(.is-scrolled) .sudca-search-trigger,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-search-trigger{
  color:#FFFFFF !important;
  text-shadow:0 1px 12px rgba(0,0,0,.18);
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text small,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text small{
  color:rgba(255,255,255,.82) !important;
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover{
  color:var(--sudca-v9-300) !important;
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-partner-button,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-partner-button{
  background:var(--sudca-v9-500) !important;
  border-color:var(--sudca-v9-500) !important;
  color:#FFFFFF !important;
}

/* ---------- MOBILE TOP BAR: CENTER THE PHONE ICON ---------- */
@media (max-width:960px){
  .sudca-topbar-inner{
    min-height:42px !important;
    overflow:hidden !important;
  }
  .sudca-top-contact{
    gap:8px !important;
    align-items:center !important;
  }
  .sudca-top-phone{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:42px !important;
    gap:0 !important;
    font-size:12px !important;
    line-height:1 !important;
  }
  .sudca-top-phone > span:last-child{
    display:inline-flex !important;
    align-items:center !important;
    height:42px !important;
  }
  .sudca-top-phone .sudca-top-icon-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:28px !important;
    height:28px !important;
    margin-right:7px !important;
  }
  .sudca-top-phone .sudca-top-icon{
    width:14px !important;
    height:14px !important;
  }
  .sudca-topbar .sudca-top-phone small{display:none !important}
  .sudca-top-right{gap:8px !important}
  .sudca-top-right .sudca-language{height:42px !important;display:flex !important;align-items:center !important}
}

/* ---------- MOBILE HEADER / HAMBURGER ---------- */
@media (max-width:960px){
  .sudca-mobile-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:9px !important;
    position:relative !important;
    z-index:100 !important;
  }
  .sudca-mobile-actions .sudca-menu-toggle,
  .sudca-mobile-actions .sudca-hamburger-modern{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    opacity:1 !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    padding:0 !important;
    border:1px solid var(--sudca-v9-200) !important;
    border-radius:50% !important;
    background:#FFFFFF !important;
    color:var(--sudca-v9-900) !important;
    box-shadow:0 5px 18px rgba(6,21,15,.08) !important;
    z-index:100 !important;
  }
  .sudca-mobile-actions .sudca-hamburger-box{
    position:relative !important;
    display:block !important;
    width:24px !important;
    height:24px !important;
  }
  .sudca-mobile-actions .sudca-hamburger-line{
    position:absolute !important;
    left:2px !important;
    display:block !important;
    width:20px !important;
    height:2.5px !important;
    margin:0 !important;
    border-radius:3px !important;
    background:var(--sudca-v9-900) !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  .sudca-mobile-actions .sudca-hamburger-line:nth-child(1){top:4px !important;transform:none !important}
  .sudca-mobile-actions .sudca-hamburger-line:nth-child(2){top:10.5px !important;width:15px !important;transform:none !important}
  .sudca-mobile-actions .sudca-hamburger-line:nth-child(3){top:17px !important;transform:none !important}
  .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(1){top:10.5px !important;transform:rotate(45deg) !important}
  .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(2){width:0 !important;opacity:0 !important}
  .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(3){top:10.5px !important;transform:rotate(-45deg) !important}
  .sudca-mobile-panel .sudca-mobile-close,
  .sudca-mobile-panel .sudca-mobile-panel-close{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    border:1px solid var(--sudca-v9-200) !important;
    border-radius:50% !important;
    background:#FFFFFF !important;
    color:var(--sudca-v9-900) !important;
    box-shadow:0 5px 16px rgba(6,21,15,.08) !important;
    visibility:visible !important;
    opacity:1 !important;
    z-index:100 !important;
  }
  .sudca-mobile-panel .sudca-mobile-close span,
  .sudca-mobile-panel .sudca-mobile-panel-close span{
    left:11px !important;
    top:20px !important;
    width:20px !important;
    height:2.5px !important;
    background:var(--sudca-v9-900) !important;
    border-radius:3px !important;
  }
}

/* ---------- FOOTER: BALANCED COLOR SURFACES ---------- */
.sudca-footer{
  background:
    linear-gradient(100deg,rgba(4,21,13,.97) 0%,rgba(7,39,22,.92) 52%,rgba(12,58,31,.86) 100%),
    url("https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=2200&q=82") center/cover no-repeat !important;
  background-attachment:fixed !important;
}
.sudca-footer-tagline{
  background:rgba(3,20,12,.30) !important;
}
.sudca-footer-cta{
  background:rgba(6,31,18,.34) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.sudca-footer-grid{
  background:rgba(2,18,11,.24) !important;
}
.sudca-footer-brand,
.sudca-footer-column{
  position:relative;
}
.sudca-footer-column a:hover{color:#C8DFC5 !important}
.sudca-footer-partners{
  background:rgba(2,18,11,.30) !important;
}
.sudca-footer-bottom{
  background:rgba(2,14,8,.42) !important;
}
.sudca-footer-conversation{
  background:linear-gradient(135deg,rgba(101,169,103,.14),rgba(255,255,255,.045)) !important;
  border-color:rgba(143,197,139,.20) !important;
}

@media (max-width:700px){
  .sudca-footer{
    background-attachment:scroll !important;
    background-position:center center !important;
  }
  .sudca-footer-tagline,
  .sudca-footer-cta,
  .sudca-footer-grid,
  .sudca-footer-partners,
  .sudca-footer-bottom{
    background:rgba(3,22,13,.48) !important;
  }
}

/* =========================================================
   SUDCA V9.3 — SCREENSHOT-DRIVEN FINAL REFINEMENT
   Global header / mobile utility / footer visual corrections.
   ========================================================= */

:root{
  /* Authoritative global footer tone */
  --sudca-footer-bg:#06150F;
  --sudca-footer-surface:#0A2117;
  --sudca-footer-surface-2:#0E2D1D;
  --sudca-footer-green:#3E8B51;
  --sudca-footer-green-light:#8FC58B;
}

/* ---------------------------------------------------------
   01. HOMEPAGE HEADER — genuinely transparent hero header
   --------------------------------------------------------- */
body.home .sudca-main-header:not(.is-scrolled),
body.front-page .sudca-main-header:not(.is-scrolled){
  position:absolute !important;
  top:42px !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  min-height:88px !important;
  background:rgba(6,21,15,.10) !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  box-shadow:none !important;
  backdrop-filter:blur(12px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(120%) !important;
}

/* Keep the hero visible through the glass rather than washing it white. */
body.home .sudca-main-header:not(.is-scrolled)::before,
body.front-page .sudca-main-header:not(.is-scrolled)::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.015)) !important;
  pointer-events:none !important;
}

body.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
body.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
body.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
body.home .sudca-main-header:not(.is-scrolled) .sudca-search-trigger,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-search-trigger{
  color:#FFFFFF !important;
  text-shadow:0 1px 10px rgba(0,0,0,.28) !important;
}

body.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text small,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text small{
  color:rgba(255,255,255,.82) !important;
}

body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover{
  color:#8FC58B !important;
  background:rgba(255,255,255,.07) !important;
}

/* Scroll state becomes the clean global white header. */
body.home .sudca-main-header.is-scrolled,
body.front-page .sudca-main-header.is-scrolled{
  position:fixed !important;
  top:0 !important;
  background:#FFFFFF !important;
  border-bottom:1px solid var(--sudca-v9-line) !important;
  box-shadow:0 10px 28px rgba(6,21,15,.09) !important;
}

/* ---------------------------------------------------------
   02. MOBILE HAMBURGER — explicit visible drawing
   --------------------------------------------------------- */
@media (max-width:960px){
  .sudca-mobile-actions .sudca-menu-toggle,
  .sudca-mobile-actions .sudca-hamburger-modern{
    position:relative !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    overflow:visible !important;
    isolation:isolate !important;
  }

  .sudca-mobile-actions .sudca-hamburger-box{
    position:relative !important;
    display:block !important;
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    min-height:24px !important;
    overflow:visible !important;
    z-index:3 !important;
  }

  .sudca-mobile-actions .sudca-hamburger-line{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    left:2px !important;
    right:auto !important;
    width:20px !important;
    height:3px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:99px !important;
    background:#0A2117 !important;
    box-shadow:none !important;
    z-index:4 !important;
  }

  .sudca-mobile-actions .sudca-hamburger-line:nth-child(1){
    top:3px !important;
    transform:none !important;
  }
  .sudca-mobile-actions .sudca-hamburger-line:nth-child(2){
    top:10.5px !important;
    width:15px !important;
    transform:none !important;
  }
  .sudca-mobile-actions .sudca-hamburger-line:nth-child(3){
    top:18px !important;
    transform:none !important;
  }

  /* Homepage: white hamburger over the hero. */
  body.home .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-menu-toggle,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-menu-toggle{
    background:rgba(6,21,15,.42) !important;
    border-color:rgba(255,255,255,.32) !important;
    box-shadow:0 8px 24px rgba(0,0,0,.18) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }

  body.home .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-hamburger-line,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-hamburger-line{
    background:#FFFFFF !important;
  }

  /* Inner pages: white button, deep-green hamburger. */
  body:not(.home):not(.front-page) .sudca-mobile-actions .sudca-menu-toggle{
    background:#FFFFFF !important;
    border-color:#C8DFC5 !important;
  }

  body:not(.home):not(.front-page) .sudca-mobile-actions .sudca-hamburger-line{
    background:#0A2117 !important;
  }
}

/* ---------------------------------------------------------
   03. MOBILE TOP UTILITY — language breathing room
   --------------------------------------------------------- */
@media (max-width:960px){
  .sudca-topbar .sudca-top-right,
  .sudca-topbar .sudca-language{
    align-self:center !important;
  }

  .sudca-topbar .sudca-language{
    position:relative !important;
    top:2px !important;
    min-height:34px !important;
    padding:5px 9px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
  }

  .sudca-topbar .sudca-language .gtranslate_wrapper{
    min-height:22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
}

@media (max-width:600px){
  .sudca-topbar .sudca-language{
    top:3px !important;
    min-height:34px !important;
    padding:5px 8px !important;
  }
}

/* ---------------------------------------------------------
   04. FOOTER — global standard + new photographic visual
   --------------------------------------------------------- */
.sudca-footer{
  --footer-base:var(--sudca-footer-bg);
  --footer-green:var(--sudca-footer-green);
  --footer-glow:var(--sudca-footer-green-light);
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background-color:var(--footer-base) !important;
  background-image:
    linear-gradient(105deg,rgba(4,18,11,.985) 0%,rgba(6,30,18,.92) 48%,rgba(8,49,27,.80) 100%),
    url("https://images.unsplash.com/photo-1469474968028-56623f02e42e?auto=format&fit=crop&w=2400&q=86") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
  color:#FFFFFF !important;
}

/* Replace previous footer pseudo-visuals with a controlled green glow system. */
.sudca-footer::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 78% 16%,rgba(143,197,139,.24),transparent 25%),
    radial-gradient(circle at 15% 72%,rgba(62,139,81,.15),transparent 28%),
    linear-gradient(180deg,rgba(6,21,15,.03),rgba(6,21,15,.38)) !important;
}

.sudca-footer::after{
  content:"" !important;
  position:absolute !important;
  right:-120px !important;
  bottom:-180px !important;
  width:620px !important;
  height:620px !important;
  z-index:-1 !important;
  pointer-events:none !important;
  border:1px solid rgba(143,197,139,.16) !important;
  border-radius:50% !important;
  box-shadow:
    0 0 0 55px rgba(143,197,139,.035),
    0 0 0 110px rgba(143,197,139,.025),
    0 0 80px rgba(101,169,103,.10) !important;
}

.sudca-footer > *{
  position:relative !important;
  z-index:1 !important;
}

/* Global footer section standard: no competing whites or legacy gold. */
.sudca-footer-tagline,
.sudca-footer-grid,
.sudca-footer-partners,
.sudca-footer-conversation,
.sudca-footer-bottom{
  background:rgba(6,21,15,.34) !important;
  border-color:rgba(143,197,139,.13) !important;
}

.sudca-footer-tagline{
  background:linear-gradient(135deg,rgba(14,45,29,.72),rgba(6,21,15,.38)) !important;
}

.sudca-footer-conversation{
  background:linear-gradient(135deg,rgba(62,139,81,.16),rgba(255,255,255,.035)) !important;
  border:1px solid rgba(143,197,139,.18) !important;
}

.sudca-footer-column a:hover,
.sudca-footer-contact a:hover,
.sudca-footer-bottom a:hover,
.sudca-footer-conversation a:hover{
  color:#8FC58B !important;
}

.sudca-footer-partners b:hover{
  background:rgba(101,169,103,.18) !important;
  border-color:rgba(143,197,139,.34) !important;
  color:#FFFFFF !important;
}

@media (max-width:700px){
  .sudca-footer{
    background-attachment:scroll !important;
    background-position:center center !important;
  }

  .sudca-footer-tagline,
  .sudca-footer-grid,
  .sudca-footer-partners,
  .sudca-footer-conversation,
  .sudca-footer-bottom{
    background:rgba(6,21,15,.58) !important;
  }

  .sudca-footer::after{
    right:-230px !important;
    bottom:-220px !important;
    width:500px !important;
    height:500px !important;
  }
}


/* =========================================================
   SUDCA V10 — PLATFORM HEADER / FOOTER REFINEMENT
   Authoritative final layer. Loaded last so legacy overrides
   cannot regress the global header, mobile navigation or footer.
   ========================================================= */

:root{
  --sudca-v10-green-950:#06150F;
  --sudca-v10-green-900:#0A2117;
  --sudca-v10-green-800:#123B25;
  --sudca-v10-green-700:#1B5A34;
  --sudca-v10-green-600:#2D7546;
  --sudca-v10-green-500:#3E8B51;
  --sudca-v10-green-400:#65A967;
  --sudca-v10-green-300:#8FC58B;
  --sudca-v10-green-200:#C8DFC5;
  --sudca-v10-green-100:#EAF3E8;
  --sudca-v10-blue-950:#050C15;
  --sudca-v10-blue-900:#0A1526;
  --sudca-v10-blue-800:#10243A;
  --sudca-v10-white:#FFFFFF;
  --sudca-v10-line:rgba(45,117,70,.16);
}

/* ---------------------------------------------------------
   01. ADMIN-BAR SAFE HEADER GEOMETRY
   --------------------------------------------------------- */
body.admin-bar .sudca-main-header.is-scrolled{
  top:32px !important;
}
@media (max-width:782px){
  body.admin-bar .sudca-main-header.is-scrolled{
    top:46px !important;
  }
}

/* Homepage: top utility bar + transparent hero header must never overlap. */
body.home .sudca-main-header:not(.is-scrolled),
body.front-page .sudca-main-header:not(.is-scrolled){
  position:absolute !important;
  top:42px !important;
  min-height:90px !important;
  height:90px !important;
  background:linear-gradient(180deg,rgba(6,21,15,.26),rgba(6,21,15,.08)) !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter:blur(10px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(10px) saturate(120%) !important;
}
body.admin-bar.home .sudca-main-header:not(.is-scrolled),
body.admin-bar.front-page .sudca-main-header:not(.is-scrolled){
  top:calc(42px + 32px) !important;
}
@media (max-width:782px){
  body.admin-bar.home .sudca-main-header:not(.is-scrolled),
  body.admin-bar.front-page .sudca-main-header:not(.is-scrolled){
    top:calc(42px + 46px) !important;
  }
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-header-inner,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-header-inner{
  min-height:90px !important;
  height:90px !important;
}

/* Scrolled homepage header remains global and compact, never transparent. */
body.home .sudca-main-header.is-scrolled,
body.front-page .sudca-main-header.is-scrolled{
  position:fixed !important;
  top:0 !important;
  min-height:78px !important;
  height:78px !important;
  background:#FFFFFF !important;
  border-bottom:1px solid var(--sudca-v10-line) !important;
  box-shadow:0 12px 30px rgba(6,21,15,.10) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-backdrop-filter:blur(16px) !important;
}
body.admin-bar.home .sudca-main-header.is-scrolled,
body.admin-bar.front-page .sudca-main-header.is-scrolled{
  top:32px !important;
}
@media(max-width:782px){
  body.admin-bar.home .sudca-main-header.is-scrolled,
  body.admin-bar.front-page .sudca-main-header.is-scrolled{
    top:46px !important;
  }
}

/* ---------------------------------------------------------
   02. PLATFORM-STYLE TOP NAVIGATION
   --------------------------------------------------------- */
.sudca-desktop-nav .sudca-nav-link,
.sudca-desktop-nav .sudca-dropdown-arrow,
.sudca-desktop-nav .sudca-mega-arrow{
  font-weight:900 !important;
}
.sudca-desktop-nav .sudca-nav-link{
  letter-spacing:-.015em !important;
}
.sudca-desktop-nav .sudca-nav-link:hover,
.sudca-desktop-nav .sudca-nav-link:focus-visible,
.sudca-desktop-nav .sudca-nav-link.is-active{
  color:var(--sudca-v10-green-600) !important;
}

/* Mega-menu items: clear hover + active system. */
.sudca-mega-item{
  position:relative !important;
  border:1px solid transparent !important;
  background:transparent !important;
  font-weight:700 !important;
  transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease !important;
}
.sudca-mega-item::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  bottom:9px;
  width:3px;
  border-radius:3px;
  background:var(--sudca-v10-green-500);
  transform:scaleY(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.sudca-mega-item:hover,
.sudca-mega-item:focus-visible,
.sudca-mega-item.is-active{
  background:var(--sudca-v10-green-100) !important;
  border-color:rgba(62,139,81,.18) !important;
  box-shadow:0 7px 20px rgba(10,33,23,.06) !important;
  transform:translateX(4px) !important;
}
.sudca-mega-item:hover::before,
.sudca-mega-item:focus-visible::before,
.sudca-mega-item.is-active::before{
  transform:scaleY(1);
}
.sudca-mega-item strong{
  font-family:"Manrope","Inter",sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  color:var(--sudca-v10-green-900) !important;
}
.sudca-mega-item small{
  color:#64736A !important;
  font-size:10px !important;
  font-weight:600 !important;
}
.sudca-mega-number{
  font-weight:900 !important;
  color:var(--sudca-v10-green-500) !important;
}

/* Simple dropdowns use the same interaction language. */
.sudca-simple-dropdown a{
  font-weight:800 !important;
  color:var(--sudca-v10-green-900) !important;
  border-left:3px solid transparent !important;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease !important;
}
.sudca-simple-dropdown a:hover,
.sudca-simple-dropdown a:focus-visible,
.sudca-simple-dropdown a.is-active{
  color:var(--sudca-v10-green-600) !important;
  background:var(--sudca-v10-green-100) !important;
  border-left-color:var(--sudca-v10-green-500) !important;
  transform:translateX(3px) !important;
}

/* ---------------------------------------------------------
   03. MOBILE HAMBURGER — fix the hidden/blocking span bug
   --------------------------------------------------------- */
@media(max-width:960px){
  .sudca-mobile-actions .sudca-menu-toggle{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    opacity:1 !important;
    overflow:visible !important;
    isolation:isolate !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    padding:0 !important;
    border:1px solid rgba(45,117,70,.28) !important;
    border-radius:50% !important;
    background:#FFFFFF !important;
    color:var(--sudca-v10-green-900) !important;
    box-shadow:0 8px 22px rgba(6,21,15,.13) !important;
  }

  /* Critical: the box is a transparent layout wrapper, not a filled span. */
  .sudca-mobile-actions .sudca-hamburger-modern > .sudca-hamburger-box{
    position:relative !important;
    display:block !important;
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    min-height:24px !important;
    background:transparent !important;
    color:inherit !important;
    overflow:visible !important;
    z-index:2 !important;
  }
  .sudca-mobile-actions .sudca-hamburger-modern > .sudca-hamburger-box .sudca-hamburger-line{
    position:absolute !important;
    left:2px !important;
    display:block !important;
    width:20px !important;
    height:3px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:999px !important;
    background:var(--sudca-v10-green-900) !important;
    opacity:1 !important;
    visibility:visible !important;
    box-shadow:none !important;
    z-index:3 !important;
  }
  .sudca-mobile-actions .sudca-hamburger-modern > .sudca-hamburger-box .sudca-hamburger-line:nth-child(1){top:3px !important;transform:none !important}
  .sudca-mobile-actions .sudca-hamburger-modern > .sudca-hamburger-box .sudca-hamburger-line:nth-child(2){top:10.5px !important;width:15px !important;transform:none !important}
  .sudca-mobile-actions .sudca-hamburger-modern > .sudca-hamburger-box .sudca-hamburger-line:nth-child(3){top:18px !important;transform:none !important}

  .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(1){top:10.5px !important;transform:rotate(45deg) !important;background:var(--sudca-v10-green-600) !important}
  .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(2){width:0 !important;opacity:0 !important}
  .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line:nth-child(3){top:10.5px !important;transform:rotate(-45deg) !important;background:var(--sudca-v10-green-600) !important}

  /* Homepage hero variant: dark glass control + white lines. */
  body.home .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-menu-toggle,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-menu-toggle{
    background:rgba(6,21,15,.52) !important;
    border-color:rgba(255,255,255,.38) !important;
    color:#FFFFFF !important;
  }
  body.home .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-hamburger-line,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-hamburger-line{
    background:#FFFFFF !important;
  }
  body.home .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-mobile-actions .sudca-menu-toggle.is-active .sudca-hamburger-line{
    background:var(--sudca-v10-green-300) !important;
  }
}

/* ---------------------------------------------------------
   04. MOBILE UTILITY BAR — balanced platform utility strip
   --------------------------------------------------------- */
@media(max-width:960px){
  .sudca-topbar{
    min-height:44px !important;
    height:44px !important;
    overflow:visible !important;
  }
  .sudca-topbar-inner{
    min-height:44px !important;
    height:44px !important;
    overflow:visible !important;
  }
  .sudca-top-contact{
    align-self:stretch !important;
    align-items:center !important;
  }
  .sudca-top-phone{
    height:44px !important;
    align-items:center !important;
    font-weight:900 !important;
    font-size:12px !important;
  }
  .sudca-top-icon-badge{
    width:24px !important;
    height:24px !important;
    margin-right:7px !important;
  }
  .sudca-topbar .sudca-language{
    align-self:center !important;
    position:relative !important;
    top:0 !important;
    min-height:36px !important;
    height:36px !important;
    margin-top:4px !important;
    margin-bottom:4px !important;
    padding:4px 9px !important;
    border-radius:999px !important;
    background:var(--sudca-v10-green-900) !important;
    border:1px solid rgba(101,169,103,.35) !important;
    box-shadow:0 5px 16px rgba(6,21,15,.12) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
  }
  .sudca-topbar .sudca-language .gtranslate_wrapper{
    min-height:26px !important;
    height:26px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .sudca-topbar .sudca-language select{
    color:#FFFFFF !important;
    font-weight:900 !important;
  }
}
@media(max-width:600px){
  .sudca-topbar,
  .sudca-topbar-inner{min-height:44px !important;height:44px !important}
  .sudca-topbar .sudca-top-phone{font-size:11.5px !important}
  .sudca-topbar .sudca-language{min-height:36px !important;height:36px !important;margin-top:4px !important;margin-bottom:4px !important}
}

/* ---------------------------------------------------------
   05. MOBILE OFF-CANVAS — company platform feel
   --------------------------------------------------------- */
.sudca-mobile-panel{
  background:
    radial-gradient(circle at 100% 0%,rgba(62,139,81,.10),transparent 28%),
    linear-gradient(180deg,#F9FCF9 0%,#EEF6EF 100%) !important;
  border-left:1px solid rgba(45,117,70,.18) !important;
}
.sudca-mobile-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(45,117,70,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(45,117,70,.035) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(135deg,black,transparent 72%);
  z-index:0;
}
.sudca-mobile-panel > *{position:relative !important;z-index:1 !important}
.sudca-mobile-panel-head{
  min-height:82px !important;
  height:82px !important;
  background:rgba(255,255,255,.90) !important;
  border-bottom:1px solid rgba(45,117,70,.14) !important;
}
.sudca-mobile-link{
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}
.sudca-mobile-submenu-inner a{
  font-weight:800 !important;
}
.sudca-mobile-submenu-inner a:hover,
.sudca-mobile-submenu-inner a:focus-visible,
.sudca-mobile-submenu-inner a.is-active{
  color:var(--sudca-v10-green-600) !important;
  background:var(--sudca-v10-green-100) !important;
  transform:translateX(3px);
}
.sudca-mobile-nav-num{font-weight:900 !important;color:var(--sudca-v10-green-500) !important}

/* ---------------------------------------------------------
   06. FOOTER — institutional navy base + visible image + green glow
   --------------------------------------------------------- */
.sudca-footer{
  --footer-base:var(--sudca-v10-blue-900);
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  color:#FFFFFF !important;
  background-color:var(--footer-base) !important;
  background-image:
    linear-gradient(105deg,rgba(5,12,21,.88) 0%,rgba(7,26,24,.72) 48%,rgba(12,55,34,.58) 100%),
    url("https://images.unsplash.com/photo-1516026672322-bc52d61a55d5?auto=format&fit=crop&w=2400&q=88") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
.sudca-footer::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 74% 16%,rgba(101,169,103,.34),transparent 23%),
    radial-gradient(circle at 22% 72%,rgba(62,139,81,.20),transparent 30%),
    radial-gradient(circle at 88% 78%,rgba(143,197,139,.12),transparent 24%),
    linear-gradient(180deg,rgba(5,12,21,.04),rgba(5,12,21,.42)) !important;
}
.sudca-footer::after{
  content:"" !important;
  position:absolute !important;
  right:-160px !important;
  bottom:-240px !important;
  width:720px !important;
  height:720px !important;
  border:1px solid rgba(101,169,103,.20) !important;
  border-radius:50% !important;
  box-shadow:
    0 0 0 60px rgba(101,169,103,.045),
    0 0 0 120px rgba(101,169,103,.028),
    0 0 110px rgba(101,169,103,.14) !important;
  z-index:-1 !important;
  pointer-events:none !important;
}
.sudca-footer > *{position:relative !important;z-index:1 !important}
.sudca-footer-tagline{
  background:linear-gradient(135deg,rgba(10,21,38,.68),rgba(10,33,23,.42)) !important;
  border-bottom:1px solid rgba(143,197,139,.12) !important;
}
.sudca-footer-grid{
  background:rgba(5,12,21,.34) !important;
}
.sudca-footer-partners{
  background:rgba(10,21,38,.46) !important;
  border-top:1px solid rgba(143,197,139,.12) !important;
  border-bottom:1px solid rgba(143,197,139,.12) !important;
}
.sudca-footer-conversation{
  background:linear-gradient(135deg,rgba(62,139,81,.17),rgba(10,21,38,.48)) !important;
  border:1px solid rgba(101,169,103,.24) !important;
}
.sudca-footer-bottom{
  background:rgba(5,12,21,.64) !important;
  border-top:1px solid rgba(143,197,139,.12) !important;
}
.sudca-footer-column a,
.sudca-footer-contact a,
.sudca-footer-bottom a,
.sudca-footer-conversation a{
  transition:color .2s ease,transform .2s ease !important;
}
.sudca-footer-column a:hover,
.sudca-footer-column a:focus-visible,
.sudca-footer-contact a:hover,
.sudca-footer-bottom a:hover,
.sudca-footer-conversation a:hover{
  color:var(--sudca-v10-green-300) !important;
}
.sudca-footer-partners b{
  color:#DDEBDF !important;
  border-color:rgba(143,197,139,.18) !important;
}
.sudca-footer-partners b:hover{
  color:#FFFFFF !important;
  background:rgba(62,139,81,.22) !important;
  border-color:rgba(143,197,139,.38) !important;
}
@media(max-width:700px){
  .sudca-footer{
    background-attachment:scroll !important;
    background-position:center center !important;
  }
  .sudca-footer::after{right:-250px;bottom:-240px;width:560px;height:560px}
  .sudca-footer-tagline,
  .sudca-footer-grid,
  .sudca-footer-partners,
  .sudca-footer-conversation,
  .sudca-footer-bottom{background:rgba(5,12,21,.62) !important}
}

/* ---------------------------------------------------------
   07. ACCESSIBILITY / REDUCED MOTION
   --------------------------------------------------------- */
.sudca-menu-toggle:focus-visible,
.sudca-mobile-panel-close:focus-visible,
.sudca-nav-link:focus-visible,
.sudca-mega-item:focus-visible,
.sudca-simple-dropdown a:focus-visible{
  outline:3px solid rgba(62,139,81,.35) !important;
  outline-offset:3px !important;
}
@media(prefers-reduced-motion:reduce){
  .sudca-mega-item,
  .sudca-simple-dropdown a,
  .sudca-footer-column a{transition:none !important}
}

/* V10.0 geometry lock: header begins exactly after utility bar. */
:root{--sudca-v10-topbar-height:42px}
body.home .sudca-main-header:not(.is-scrolled),
body.front-page .sudca-main-header:not(.is-scrolled){top:var(--sudca-v10-topbar-height) !important}
body.admin-bar.home .sudca-main-header:not(.is-scrolled),
body.admin-bar.front-page .sudca-main-header:not(.is-scrolled){top:calc(var(--sudca-v10-topbar-height) + 32px) !important}
@media(max-width:960px){
  :root{--sudca-v10-topbar-height:44px}
  body.home .sudca-main-header:not(.is-scrolled),
  body.front-page .sudca-main-header:not(.is-scrolled){top:var(--sudca-v10-topbar-height) !important}
  body.admin-bar.home .sudca-main-header:not(.is-scrolled),
  body.admin-bar.front-page .sudca-main-header:not(.is-scrolled){top:calc(var(--sudca-v10-topbar-height) + 46px) !important}
}

/* =========================================================
   SUDCA V10.1 — PREMIUM PLATFORM REFINEMENT
   Brand-green calibration + stronger navigation + full-width
   cinematic footer system.
   ========================================================= */

:root{
  /* Calibrated directly from the supplied SuDCA logo */
  --sudca-brand-green:#008001;
  --sudca-brand-green-dark:#005A00;
  --sudca-brand-green-deep:#003D00;
  --sudca-brand-green-mid:#006B00;
  --sudca-brand-green-light:#39A83A;
  --sudca-brand-green-pale:#DFF0DE;
  --sudca-brand-green-soft:#EEF7ED;

  /* Supportive platform navy / black */
  --sudca-platform-black:#020806;
  --sudca-platform-navy:#061421;
  --sudca-platform-navy-2:#0A1E2D;
}

/* ---------------------------------------------------------
   GLOBAL HEADER TYPOGRAPHY — stronger platform navigation
   --------------------------------------------------------- */
.sudca-brand-text strong{
  font-size:1.92rem !important;
  font-weight:950 !important;
  letter-spacing:-.065em !important;
}
.sudca-brand-text small{
  font-size:8.5px !important;
  font-weight:900 !important;
  letter-spacing:.075em !important;
}
.sudca-main-header.is-scrolled .sudca-brand-text strong{
  font-size:1.52rem !important;
}

.sudca-nav-link{
  font-size:16px !important;
  font-weight:950 !important;
  letter-spacing:-.018em !important;
}
.sudca-simple-dropdown a,
.sudca-mega-item strong,
.sudca-mega-view-all{
  font-weight:900 !important;
}
.sudca-mega-item strong{
  font-size:14px !important;
}
.sudca-mega-item small{
  font-size:11px !important;
}

/* ---------------------------------------------------------
   HEADER CTA — premium action control
   --------------------------------------------------------- */
.sudca-partner-button{
  position:relative !important;
  min-height:50px !important;
  padding:0 19px 0 22px !important;
  gap:14px !important;
  border:1px solid var(--sudca-brand-green) !important;
  border-radius:7px !important;
  background:linear-gradient(135deg,var(--sudca-brand-green),var(--sudca-brand-green-mid)) !important;
  color:#fff !important;
  font-family:'Manrope',sans-serif !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.035em !important;
  box-shadow:0 8px 24px rgba(0,128,1,.18), inset 0 1px 0 rgba(255,255,255,.20) !important;
  overflow:hidden !important;
}
.sudca-partner-button::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.18) 48%,transparent 72%);
  transform:translateX(-115%);
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
  pointer-events:none;
}
.sudca-partner-button:hover::before,
.sudca-partner-button:focus-visible::before{
  transform:translateX(115%);
}
.sudca-partner-button:hover,
.sudca-partner-button:focus-visible{
  background:linear-gradient(135deg,var(--sudca-brand-green-mid),var(--sudca-brand-green-dark)) !important;
  border-color:var(--sudca-brand-green-light) !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 13px 32px rgba(0,128,1,.25), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.sudca-partner-button span{
  position:relative;
  z-index:1;
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff !important;
  font-size:15px !important;
  line-height:1;
}
.sudca-partner-button{
  isolation:isolate;
}
.sudca-partner-button > *{position:relative;z-index:1}
.sudca-main-header.is-scrolled .sudca-partner-button{
  min-height:42px !important;
  padding-inline:17px !important;
}

/* =========================================================
   FOOTER — V11 CLEAN FINAL LAYER
   Supersedes all earlier footer patch layers (V9/V10/V10.1).
   No photographic background. Dark base + green gradient
   lighting only, per master spec §41/42/58.
   Container matches the site-wide --sudca-container system
   used by the header, so the footer never looks narrower
   or wider than the rest of the platform ("compressed" bug
   was a mismatched 1580px cap fighting the header's 1420px).
   ========================================================= */

.sudca-footer {

	position: relative;
	isolation: isolate;
	overflow: hidden;

	width: 100%;

	background: var(--sudca-platform-black);
	color: rgba(255,255,255,.72);

	font-family: 'Inter', sans-serif;

}

/* Green "lighting" — soft radial blooms, no photo, no neon. */
.sudca-footer::before {

	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;

	background:
		radial-gradient(ellipse 60% 55% at 82% 0%, rgba(0,128,1,.30), transparent 65%),
		radial-gradient(ellipse 46% 60% at 6% 70%, rgba(57,168,58,.16), transparent 68%),
		linear-gradient(180deg, rgba(6,20,33,.35) 0%, rgba(2,8,6,.65) 100%);

}

.sudca-footer::after {

	content: '';
	position: absolute;
	right: -12%;
	bottom: -22%;
	z-index: 0;
	pointer-events: none;

	width: min(56vw, 820px);
	height: min(56vw, 820px);

	border-radius: 50%;
	border: 1px solid rgba(0,128,1,.20);

	box-shadow:
		0 0 0 70px rgba(0,128,1,.045),
		0 0 0 140px rgba(0,128,1,.028),
		0 0 160px rgba(57,168,58,.16);

}

.sudca-footer > * {
	position: relative;
	z-index: 1;
}

/* ---------------------------------------------------------
   CONTAINER — full width background, consistent inner width
   --------------------------------------------------------- */

.sudca-footer-tagline-inner,
.sudca-footer > .sudca-container {

	width: min(calc(100% - 48px), var(--sudca-container)) !important;
	margin-inline: auto;

}

/* Large / TV screens: let the footer breathe further instead
   of freezing at the same cap as a laptop viewport. */
@media (min-width: 1800px) {

	.sudca-footer-tagline-inner,
	.sudca-footer > .sudca-container {
		width: min(90%, 1720px) !important;
	}

}

/* ---------------------------------------------------------
   TAGLINE BAND
   --------------------------------------------------------- */

.sudca-footer-tagline {

	padding: 54px 0 46px;
	background: linear-gradient(135deg, rgba(6,20,33,.55), rgba(0,61,0,.22));
	border-bottom: 1px solid rgba(57,168,58,.20);

}

.sudca-footer-tagline .sudca-footer-eyebrow {

	color: var(--sudca-brand-green-light);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;

}

.sudca-footer-tagline h2 {

	margin-top: 10px;
	color: #fff;
	font-family: 'Manrope', sans-serif;
	font-size: clamp(30px, 4vw, 54px);
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -.03em;

}

/* ---------------------------------------------------------
   FOOTER GRID
   --------------------------------------------------------- */

.sudca-footer-grid {

	padding: 60px 0 56px;

	display: grid;
	grid-template-columns: minmax(270px,1.5fr) repeat(4, minmax(150px,1fr));
	column-gap: 48px;
	row-gap: 40px;

	border-bottom: 1px solid rgba(57,168,58,.16);

}

.sudca-footer-logo strong {
	font-family: 'Manrope', sans-serif;
	font-size: 26px;
	font-weight: 800;
	color: #fff;
}

.sudca-footer-logo small {
	font-size: 12px;
	font-weight: 600;
	color: rgba(255,255,255,.56);
}

.sudca-footer-brand > p {

	max-width: 460px;
	margin-top: 18px;

	color: rgba(255,255,255,.72);
	font-size: 15px;
	line-height: 1.75;
	font-weight: 500;

}

.sudca-footer-contact a {

	display: block;
	margin-top: 8px;

	color: rgba(255,255,255,.86);
	font-size: 14px;
	font-weight: 700;

}

.sudca-footer-contact a:hover {
	color: var(--sudca-brand-green-light);
}

.sudca-footer-column h3 {

	font-family: 'Manrope', sans-serif;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: #fff;

}

.sudca-footer-column h3::after {
	background: var(--sudca-brand-green-light);
}

.sudca-footer-column a {

	display: block;
	margin-top: 12px;

	color: rgba(255,255,255,.68);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.5;

	transition: color 180ms ease, transform 180ms ease;

}

.sudca-footer-column a:hover,
.sudca-footer-column a:focus-visible {
	color: var(--sudca-brand-green-light);
	transform: translateX(4px);
}

.sudca-footer-view {
	color: var(--sudca-brand-green-light) !important;
	font-weight: 800 !important;
}

.sudca-office strong {
	display: block;
	margin-top: 14px;
	color: rgba(255,255,255,.88);
	font-size: 14px;
	font-weight: 700;
}

.sudca-office span {
	display: block;
	margin-top: 4px;
	color: rgba(255,255,255,.52);
	font-size: 13px;
}

/* ---------------------------------------------------------
   PARTNERS STRIP
   --------------------------------------------------------- */

.sudca-footer-partners {

	padding: 30px 0;

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 32px;

	border-bottom: 1px solid rgba(57,168,58,.14);

}

.sudca-footer-partners-head span {
	color: var(--sudca-brand-green-light);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sudca-footer-partners-head p {
	margin-top: 6px;
	color: rgba(255,255,255,.62);
	font-size: 14px;
	line-height: 1.6;
	max-width: 340px;
}

.sudca-footer-partners > div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
}

.sudca-footer-partners b {

	padding: 9px 16px;
	border: 1px solid rgba(57,168,58,.22);
	border-radius: 4px;
	background: rgba(0,128,1,.06);

	color: rgba(255,255,255,.86);
	font-size: 13px;
	font-weight: 700;

	transition: all 220ms ease;

}

.sudca-footer-partners b:hover {
	background: rgba(0,128,1,.22);
	border-color: rgba(57,168,58,.55);
	box-shadow: 0 0 24px rgba(0,128,1,.15);
	transform: translateY(-2px);
}

/* ---------------------------------------------------------
   START A CONVERSATION
   --------------------------------------------------------- */

.sudca-footer-conversation {

	margin: 26px 0;
	padding: 26px 30px;

	background: linear-gradient(135deg, rgba(0,128,1,.14), rgba(6,20,33,.70));
	border: 1px solid rgba(57,168,58,.24);
	border-radius: 6px;

}

.sudca-footer-conversation span {
	color: var(--sudca-brand-green-light);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sudca-footer-conversation p {
	margin-top: 8px;
	color: rgba(255,255,255,.72);
	font-size: 15px;
	font-weight: 500;
}

.sudca-footer-conversation a {
	color: #fff;
	font-weight: 800;
}

.sudca-footer-conversation a:hover {
	color: var(--sudca-brand-green-light);
}

/* ---------------------------------------------------------
   BOTTOM BAR
   --------------------------------------------------------- */

.sudca-footer-bottom {

	padding: 24px 0 30px;

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 20px;

	border-top: 1px solid rgba(57,168,58,.12);

}

.sudca-footer-bottom p {
	margin: 0;
	color: rgba(255,255,255,.50);
	font-size: 13px;
	font-weight: 500;
}

.sudca-footer-bottom a {
	color: var(--sudca-brand-green-light);
	font-weight: 700;
}

.sudca-footer-bottom a:hover {
	color: #fff;
}

/* ---------------------------------------------------------
   BACK TO TOP — globally consistent, every page
   --------------------------------------------------------- */

.sudca-back-top {

	position: fixed;
	right: 26px;
	bottom: 26px;
	z-index: 1000;

	width: 48px;
	height: 48px;

	display: flex;
	align-items: center;
	justify-content: center;

	border: 1px solid rgba(255,255,255,.18);
	border-radius: 50%;
	background: var(--sudca-brand-green);
	color: #fff;

	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px);

	box-shadow: 0 12px 32px rgba(0,0,0,.30);

	transition: opacity 220ms ease, visibility 220ms ease,
		transform 220ms ease, background 220ms ease;

}

.sudca-back-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sudca-back-top:hover {
	background: var(--sudca-brand-green-light);
}

.sudca-back-top svg {
	width: 20px;
	height: 20px;
}

.sudca-back-top:focus-visible {
	outline: 2px solid var(--sudca-brand-green-light);
	outline-offset: 3px;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 1100px) {

	.sudca-footer-grid {
		grid-template-columns: 1.3fr repeat(2, 1fr);
		row-gap: 44px;
	}

}

@media (max-width: 700px) {

	.sudca-footer-tagline-inner,
	.sudca-footer > .sudca-container {
		width: calc(100% - 32px) !important;
	}

	.sudca-footer-tagline {
		padding: 40px 0 34px;
	}

	.sudca-footer-tagline h2 {
		font-size: clamp(26px, 8vw, 36px);
	}

	.sudca-footer-grid {
		padding: 44px 0;
		grid-template-columns: 1fr;
		row-gap: 36px;
	}

	.sudca-footer-brand > p {
		font-size: 14px;
	}

	.sudca-footer-column a {
		font-size: 14px;
	}

	.sudca-footer-partners {
		flex-direction: column;
		align-items: flex-start;
	}

	.sudca-footer-conversation {
		padding: 22px 20px;
	}

	.sudca-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.sudca-footer::after {
		width: 70vw;
		height: 70vw;
		right: -30%;
		bottom: -30%;
	}

	.sudca-back-top {
		right: 16px;
		bottom: 16px;
		width: 44px;
		height: 44px;
	}

}

@media (prefers-reduced-motion: reduce) {

	.sudca-footer-column a,
	.sudca-footer-partners b,
	.sudca-back-top {
		transition: none !important;
	}

}

/* =========================================================
   SUDCA V12 — GLOBAL CORPORATE PLATFORM COLOR + WIDTH UPGRADE
   Final authoritative layer. Preserves the V10/V10.1 architecture
   while correcting the visual system for the real SuDCA logo green.
   ========================================================= */

:root{
  /* Real SuDCA identity — calibrated to the supplied logo */
  --sudca-brand-green:#008000;
  --sudca-brand-green-dark:#005C00;
  --sudca-brand-green-deep:#003F00;
  --sudca-brand-green-darker:#002800;
  --sudca-brand-green-mid:#006B00;
  --sudca-brand-green-light:#16A316;
  --sudca-brand-green-pale:#EAF6EA;
  --sudca-brand-green-soft:#F3FAF3;
  --sudca-brand-green-border:#C7E5C7;

  /* Corporate neutrals */
  --sudca-platform-black:#030806;
  --sudca-platform-ink:#07100B;
  --sudca-platform-navy:#081521;
  --sudca-platform-navy-2:#0D2232;
  --sudca-surface:#FFFFFF;
  --sudca-surface-soft:#F7FAF7;
  --sudca-text-strong:#102018;
  --sudca-text-body:#334139;
  --sudca-text-muted:#68756D;

  /* Neutralise legacy naming without changing component architecture. */
  --sudca-gold:var(--sudca-brand-green);
  --sudca-gold-dark:var(--sudca-brand-green-dark);
  --sudca-green-deep:var(--sudca-brand-green-deep);
  --sudca-green:var(--sudca-brand-green);
  --sudca-green-mid:var(--sudca-brand-green-mid);
  --sudca-green-fresh:var(--sudca-brand-green-light);
  --sudca-border:var(--sudca-brand-green-border);

  /* Legacy V9/V10 aliases — same brand family, no unrelated greens. */
  --sudca-v9-950:#003F00;
  --sudca-v9-900:#005C00;
  --sudca-v9-850:#0A2110;
  --sudca-v9-800:#0A2E16;
  --sudca-v9-700:#006B00;
  --sudca-v9-600:#008000;
  --sudca-v9-500:#008000;
  --sudca-v9-400:#16A316;
  --sudca-v9-300:#55B855;
  --sudca-v9-200:#C7E5C7;
  --sudca-v9-100:#EAF6EA;
  --sudca-v9-050:#F3FAF3;
  --sudca-v9-black:#07100B;
  --sudca-v9-muted:#68756D;
  --sudca-v9-line:#D5E4D6;

  --sudca-v10-green-950:#003F00;
  --sudca-v10-green-900:#005C00;
  --sudca-v10-green-800:#0A2E16;
  --sudca-v10-green-700:#006B00;
  --sudca-v10-green-600:#008000;
  --sudca-v10-green-500:#008000;
  --sudca-v10-green-400:#16A316;
  --sudca-v10-green-300:#55B855;
  --sudca-v10-green-200:#C7E5C7;
  --sudca-v10-green-100:#EAF6EA;
  --sudca-v10-blue-950:#03080C;
  --sudca-v10-blue-900:#081521;
  --sudca-v10-blue-800:#0D2232;
  --sudca-v10-line:rgba(0,128,0,.18);

  --sudca-footer-bg:#030806;
  --sudca-footer-surface:#07130D;
  --sudca-footer-surface-2:#0A2113;
  --sudca-footer-green:#008000;
  --sudca-footer-green-light:#16A316;
}

/* ---------------------------------------------------------
   01. GLOBAL TYPE + LINK/FOCUS LANGUAGE
   --------------------------------------------------------- */
.sudca-site,
.sudca-site input,
.sudca-site button,
.sudca-site textarea,
.sudca-site select{
  font-family:'Inter',sans-serif;
}
.sudca-site h1,
.sudca-site h2,
.sudca-site h3,
.sudca-site h4,
.sudca-site h5,
.sudca-site h6,
.sudca-site .sudca-brand-text strong,
.sudca-site .sudca-nav-link,
.sudca-site .sudca-partner-button{
  font-family:'Manrope',sans-serif;
}
.sudca-site :focus-visible{
  outline:3px solid rgba(0,128,0,.35) !important;
  outline-offset:3px;
}

/* ---------------------------------------------------------
   02. TOP UTILITY BAR — clean institutional white
   --------------------------------------------------------- */
.sudca-topbar{
  background:#FFFFFF !important;
  color:#334139 !important;
  border-bottom:1px solid #E5EDE6 !important;
  box-shadow:0 1px 0 rgba(0,63,0,.04) !important;
}
.sudca-topbar a,
.sudca-topbar .sudca-top-location,
.sudca-topbar .sudca-top-icon-badge{
  color:#34423A !important;
}
.sudca-topbar a:hover,
.sudca-topbar a:focus-visible,
.sudca-topbar .sudca-social-link:hover,
.sudca-topbar .sudca-social-link:focus-visible{
  color:var(--sudca-brand-green) !important;
}
.sudca-topbar .sudca-top-icon-badge{
  background:#F0F7F0 !important;
  border-color:#D4E7D4 !important;
}
.sudca-topbar .sudca-topbar-divider{
  background:#DCE7DE !important;
}
.sudca-topbar .sudca-social-link{
  background:transparent !important;
  color:#4A5A50 !important;
}
.sudca-topbar .sudca-social-link:hover,
.sudca-topbar .sudca-social-link:focus-visible{
  background:var(--sudca-brand-green-pale) !important;
}
.sudca-topbar .sudca-language{
  color:#24332B !important;
}

/* GTranslate controls inherit the clean utility language. */
.sudca-topbar .gtranslate_wrapper a,
.sudca-topbar .gtranslate_wrapper select{
  color:#334139 !important;
  background:transparent !important;
}
.sudca-topbar .gtranslate_wrapper a:hover{
  color:var(--sudca-brand-green) !important;
}

/* ---------------------------------------------------------
   03. MAIN HEADER — white inner pages / transparent homepage
   --------------------------------------------------------- */
.sudca-main-header{
  background:#FFFFFF !important;
  border-bottom:1px solid #E4EAE5 !important;
  box-shadow:0 8px 26px rgba(7,16,11,.06) !important;
}
.sudca-brand-text strong{
  color:var(--sudca-brand-green) !important;
}
.sudca-brand-text small{
  color:#4D5A52 !important;
}
.sudca-nav-link,
.sudca-dropdown-arrow,
.sudca-mega-arrow,
.sudca-search-trigger{
  color:#18251E !important;
}
.sudca-nav-link:hover,
.sudca-nav-link:focus-visible,
.sudca-nav-dropdown.is-active > .sudca-nav-link,
.sudca-nav-link.is-active,
.sudca-dropdown-arrow:hover,
.sudca-search-trigger:hover{
  color:var(--sudca-brand-green) !important;
  background:var(--sudca-brand-green-soft) !important;
}

/* Homepage remains genuinely transparent over the hero. */
body.home .sudca-main-header:not(.is-scrolled),
body.front-page .sudca-main-header:not(.is-scrolled){
  background:linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.035)) !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px) saturate(115%) !important;
  -webkit-backdrop-filter:blur(10px) saturate(115%) !important;
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
body.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
body.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
body.home .sudca-main-header:not(.is-scrolled) .sudca-search-trigger,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-search-trigger{
  color:#FFFFFF !important;
  background:transparent !important;
  text-shadow:0 1px 12px rgba(0,0,0,.32) !important;
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text small,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text small{
  color:rgba(255,255,255,.84) !important;
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover{
  color:#FFFFFF !important;
  background:rgba(0,128,0,.30) !important;
}

/* Sticky state — controlled shrink, never a white flash or width cut. */
.sudca-main-header.is-scrolled{
  width:100% !important;
  left:0 !important;
  right:0 !important;
  background:#FFFFFF !important;
  border-bottom:1px solid #DDE7DF !important;
  box-shadow:0 10px 30px rgba(7,16,11,.09) !important;
}
.sudca-main-header.is-scrolled .sudca-brand-text strong{color:var(--sudca-brand-green) !important}
.sudca-main-header.is-scrolled .sudca-brand-text small{color:#4D5A52 !important}
.sudca-main-header.is-scrolled .sudca-nav-link{color:#18251E !important}
.sudca-main-header.is-scrolled .sudca-nav-link:hover,
.sudca-main-header.is-scrolled .sudca-nav-link.is-active,
.sudca-main-header.is-scrolled .sudca-nav-dropdown.is-active > .sudca-nav-link{
  color:var(--sudca-brand-green) !important;
  background:var(--sudca-brand-green-soft) !important;
}

/* ---------------------------------------------------------
   04. HEADER CTA — real brand green, no legacy gold
   --------------------------------------------------------- */
.sudca-partner-button{
  background:linear-gradient(135deg,#008000,#006B00) !important;
  border-color:#008000 !important;
  box-shadow:0 9px 26px rgba(0,128,0,.18),inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.sudca-partner-button:hover,
.sudca-partner-button:focus-visible{
  background:linear-gradient(135deg,#16A316,#005C00) !important;
  border-color:#16A316 !important;
  box-shadow:0 13px 32px rgba(0,128,0,.24),inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* ---------------------------------------------------------
   05. MENUS / SEARCH — corporate green interaction language
   --------------------------------------------------------- */
.sudca-simple-dropdown,
.sudca-mega-menu{
  border-color:#D8E5D9 !important;
  box-shadow:0 22px 60px rgba(7,16,11,.13) !important;
}
.sudca-simple-dropdown a:hover,
.sudca-simple-dropdown a:focus-visible,
.sudca-mega-item:hover,
.sudca-mega-item:focus-visible{
  color:var(--sudca-brand-green) !important;
  background:var(--sudca-brand-green-soft) !important;
  border-color:var(--sudca-brand-green-border) !important;
}
.sudca-mega-item small{color:#647168 !important}
.sudca-mega-item strong{color:#17241C !important}
.sudca-mega-item:hover strong{color:var(--sudca-brand-green-dark) !important}

/* ---------------------------------------------------------
   06. FOOTER — FULL-WIDTH CORPORATE PLATFORM SURFACE
   --------------------------------------------------------- */
.sudca-footer{
  width:100% !important;
  max-width:none !important;
  background:
    radial-gradient(ellipse 55% 65% at 82% 0%,rgba(0,128,0,.20),transparent 66%),
    radial-gradient(ellipse 42% 55% at 4% 82%,rgba(22,163,22,.10),transparent 70%),
    linear-gradient(135deg,#020504 0%,#06120C 48%,#071A12 100%) !important;
  background-attachment:scroll !important;
  color:rgba(255,255,255,.76) !important;
}
.sudca-footer::before{
  background:
    radial-gradient(circle at 78% 12%,rgba(0,128,0,.16),transparent 26%),
    radial-gradient(circle at 18% 76%,rgba(22,163,22,.08),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,.18)) !important;
}
.sudca-footer::after{
  border-color:rgba(0,128,0,.16) !important;
  box-shadow:
    0 0 0 70px rgba(0,128,0,.035),
    0 0 0 140px rgba(0,128,0,.020),
    0 0 150px rgba(22,163,22,.10) !important;
}

/* TRUE FULL-BLEED INNER FOOTER SYSTEM.
   The background spans the viewport; content uses controlled
   side padding instead of a narrow max-width box. */
.sudca-footer-tagline-inner,
.sudca-footer > .sudca-container{
  width:100% !important;
  max-width:none !important;
  margin-inline:0 !important;
  padding-inline:clamp(20px,3.2vw,64px) !important;
}
.sudca-footer-grid{
  grid-template-columns:minmax(280px,1.55fr) repeat(4,minmax(0,1fr)) !important;
  column-gap:clamp(24px,2.8vw,52px) !important;
  row-gap:42px !important;
  background:transparent !important;
}
.sudca-footer-tagline{
  background:linear-gradient(135deg,rgba(0,63,0,.22),rgba(8,21,33,.24)) !important;
  border-bottom:1px solid rgba(22,163,22,.16) !important;
}
.sudca-footer-grid,
.sudca-footer-partners,
.sudca-footer-bottom{
  border-color:rgba(22,163,22,.14) !important;
}
.sudca-footer-brand > p,
.sudca-footer-column a,
.sudca-footer-contact a,
.sudca-footer-partners-head p,
.sudca-footer-conversation p{
  color:rgba(255,255,255,.72) !important;
}
.sudca-footer-column h3,
.sudca-footer-logo strong,
.sudca-footer-bottom p{
  color:#FFFFFF !important;
}
.sudca-footer-logo small{color:rgba(255,255,255,.58) !important}
.sudca-footer-eyebrow,
.sudca-footer-partners-head span,
.sudca-footer-conversation span,
.sudca-footer-view{
  color:#16A316 !important;
}
.sudca-footer-column a:hover,
.sudca-footer-column a:focus-visible,
.sudca-footer-contact a:hover,
.sudca-footer-contact a:focus-visible,
.sudca-footer-bottom a:hover,
.sudca-footer-bottom a:focus-visible,
.sudca-footer-conversation a:hover,
.sudca-footer-conversation a:focus-visible{
  color:#55B855 !important;
}
.sudca-footer-partners b{
  background:rgba(0,128,0,.07) !important;
  border-color:rgba(22,163,22,.24) !important;
  color:rgba(255,255,255,.88) !important;
}
.sudca-footer-partners b:hover{
  background:rgba(0,128,0,.18) !important;
  border-color:rgba(22,163,22,.48) !important;
}
.sudca-footer-conversation{
  background:linear-gradient(135deg,rgba(0,128,0,.14),rgba(8,21,33,.38)) !important;
  border-color:rgba(22,163,22,.24) !important;
}

/* Long institutional labels must wrap rather than disappear/crop. */
.sudca-footer,
.sudca-footer-grid,
.sudca-footer-column,
.sudca-footer-column a,
.sudca-footer-brand,
.sudca-footer-brand > p,
.sudca-footer-partners-head,
.sudca-footer-conversation{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:normal;
}

/* ---------------------------------------------------------
   07. BACK TO TOP — consistent green utility control
   --------------------------------------------------------- */
.sudca-back-top{
  background:#008000 !important;
  border-color:rgba(255,255,255,.22) !important;
  color:#FFFFFF !important;
  box-shadow:0 12px 34px rgba(0,0,0,.28),0 0 0 1px rgba(0,128,0,.10) !important;
}
.sudca-back-top:hover,
.sudca-back-top:focus-visible{
  background:#16A316 !important;
}

/* ---------------------------------------------------------
   08. RESPONSIVE FULL-WIDTH FOOTER
   --------------------------------------------------------- */
@media (max-width:1100px){
  .sudca-footer-grid{
    grid-template-columns:minmax(260px,1.35fr) repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:700px){
  .sudca-footer-tagline-inner,
  .sudca-footer > .sudca-container{
    width:100% !important;
    padding-inline:20px !important;
  }
  .sudca-footer-grid{
    grid-template-columns:1fr !important;
    column-gap:0 !important;
    row-gap:34px !important;
  }
  .sudca-footer-tagline{padding:40px 0 34px !important}
}

/* ---------------------------------------------------------
   09. REDUCED MOTION
   --------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .sudca-site *,
  .sudca-site *::before,
  .sudca-site *::after{
    scroll-behavior:auto !important;
  }
}

/* V12 version marker */
body::after{content:'';display:none}

/* =========================================================
   SUDCA V12 FINAL BRAND PALETTE + PLATFORM POLISH
   Source of truth: supplied SuDCA logo green ≈ #008000.
   This layer intentionally overrides legacy V9/V11 values
   without rewriting the working component architecture.
   ========================================================= */
:root{
  --sudca-logo-green:#008000;
  --sudca-green-deep:#003D00;
  --sudca-green-dark:#005A00;
  --sudca-green:#008000;
  --sudca-green-mid:#159415;
  --sudca-green-fresh:#35A935;
  --sudca-green-light:#DCEFDC;
  --sudca-green-tint:#F2F8F2;
  --sudca-navy:#071512;
  --sudca-navy-dark:#030907;
  --sudca-text:#172019;
  --sudca-text-soft:#617067;
  --sudca-border:#DDE6DE;
  --sudca-cream:#F7FAF7;
  --sudca-gold:#008000;
  --sudca-gold-dark:#005A00;

  --sudca-v9-950:#003300;
  --sudca-v9-900:#004400;
  --sudca-v9-850:#005000;
  --sudca-v9-800:#005A00;
  --sudca-v9-700:#006B00;
  --sudca-v9-600:#007500;
  --sudca-v9-500:#008000;
  --sudca-v9-400:#269926;
  --sudca-v9-300:#66B266;
  --sudca-v9-200:#B7D9B7;
  --sudca-v9-100:#DCEEDC;
  --sudca-v9-050:#F2F8F2;
  --sudca-v9-white:#FFFFFF;
  --sudca-v9-black:#07100B;
  --sudca-v9-muted:#617067;
  --sudca-v9-line:#DDE8DD;
}

/* Small correction: keep the light green token valid CSS. */
:root{--sudca-green-light:#DCEFDC;}

/* ---------------------------------------------------------
   GLOBAL BUSINESS-PLATFORM SURFACE
   --------------------------------------------------------- */
.sudca-site{
  background:#fff;
  color:var(--sudca-text);
}
.sudca-site ::selection{
  background:rgba(0,128,0,.18);
  color:var(--sudca-v9-black);
}

/* ---------------------------------------------------------
   TOP UTILITY BAR — institutional green, not a rainbow gradient
   --------------------------------------------------------- */
.sudca-topbar{
  background:linear-gradient(90deg,#003D00 0%,#005A00 52%,#006B00 100%) !important;
  color:rgba(255,255,255,.9) !important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.10) !important;
}
.sudca-topbar a{color:rgba(255,255,255,.86) !important}
.sudca-topbar a:hover,
.sudca-topbar a:focus-visible{color:#fff !important}
.sudca-topbar .sudca-social a:hover,
.sudca-topbar .sudca-social a:focus-visible{
  background:#008000 !important;
  color:#fff !important;
}

/* ---------------------------------------------------------
   MAIN HEADER — clean corporate white on inner pages
   --------------------------------------------------------- */
.sudca-main-header{
  background:rgba(255,255,255,.97) !important;
  border-bottom:1px solid rgba(0,128,0,.10) !important;
  box-shadow:0 8px 30px rgba(3,25,9,.06) !important;
}
.sudca-main-header .sudca-brand-text strong,
.sudca-main-header .sudca-nav-link,
.sudca-search-trigger,
.sudca-hamburger-modern{
  color:#004400 !important;
}
.sudca-main-header .sudca-brand-text small{
  color:#006B00 !important;
}
.sudca-nav-link:hover,
.sudca-nav-link.is-active,
.sudca-search-trigger:hover{
  color:#008000 !important;
}
.sudca-nav-link.is-active::after{
  background:#008000 !important;
}
.sudca-partner-button{
  background:linear-gradient(135deg,#006B00,#008000) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(0,128,0,.18) !important;
}
.sudca-partner-button:hover,
.sudca-partner-button:focus-visible{
  background:#004400 !important;
  color:#fff !important;
}

/* Homepage transparent header remains transparent; only its
   controls receive the brand contrast treatment. */
.home .sudca-main-header:not(.is-scrolled),
.home .sudca-main-header.sudca-transparent,
.sudca-home .sudca-main-header:not(.is-scrolled),
.sudca-home .sudca-main-header.sudca-transparent{
  background:transparent !important;
  border-bottom-color:transparent !important;
  box-shadow:none !important;
}

/* ---------------------------------------------------------
   BUTTONS / INTERACTION
   --------------------------------------------------------- */
.sudca-site .sudca-button,
.sudca-site .sudca-cta,
.sudca-site .sudca-primary-button{
  background:#008000;
  color:#fff;
}
.sudca-site .sudca-button:hover,
.sudca-site .sudca-cta:hover,
.sudca-site .sudca-primary-button:hover{
  background:#005A00;
  color:#fff;
}

/* ---------------------------------------------------------
   FOOTER — full viewport width + deep corporate platform tone
   --------------------------------------------------------- */
.sudca-footer{
  position:relative;
  width:100%;
  max-width:none !important;
  overflow:hidden;
  background:
    radial-gradient(900px 420px at 78% 12%,rgba(0,128,0,.16),transparent 65%),
    radial-gradient(700px 380px at 10% 80%,rgba(0,90,0,.12),transparent 68%),
    linear-gradient(135deg,#020706 0%,#04120A 48%,#061A0D 100%) !important;
  color:rgba(255,255,255,.76) !important;
  border-top:1px solid rgba(0,128,0,.22) !important;
}
.sudca-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(0,128,0,.035) 50%,transparent 100%);
}
.sudca-footer > .sudca-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding-left:clamp(24px,4vw,72px) !important;
  padding-right:clamp(24px,4vw,72px) !important;
}
.sudca-footer-tagline{
  position:relative;
  background:linear-gradient(90deg,rgba(0,61,0,.28),rgba(0,128,0,.08),rgba(0,61,0,.22)) !important;
  border-bottom:1px solid rgba(255,255,255,.09) !important;
}
.sudca-footer-tagline-inner{
  width:100% !important;
  max-width:none !important;
}
.sudca-footer-eyebrow,
.sudca-footer-partners-head span,
.sudca-footer-conversation span,
.sudca-footer-view{
  color:#35A935 !important;
}
.sudca-footer-tagline h2,
.sudca-footer-cta h2,
.sudca-footer-column h3,
.sudca-footer-logo strong,
.sudca-footer-bottom p{
  color:#fff !important;
}
.sudca-footer-grid{
  position:relative;
  width:100% !important;
  max-width:none !important;
  grid-template-columns:minmax(280px,1.65fr) repeat(4,minmax(150px,1fr)) !important;
  gap:clamp(28px,3vw,58px) !important;
  padding:72px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.09) !important;
}
.sudca-footer-brand{
  padding-right:clamp(0px,2vw,28px) !important;
}
.sudca-footer-logo img{
  width:58px !important;
  height:58px !important;
  object-fit:contain;
}
.sudca-footer-brand > p,
.sudca-footer-column a,
.sudca-footer-contact a,
.sudca-footer-partners-head p,
.sudca-footer-conversation p{
  color:rgba(255,255,255,.70) !important;
}
.sudca-footer-column a:hover,
.sudca-footer-column a:focus-visible,
.sudca-footer-contact a:hover,
.sudca-footer-contact a:focus-visible,
.sudca-footer-bottom a:hover,
.sudca-footer-bottom a:focus-visible,
.sudca-footer-conversation a:hover,
.sudca-footer-conversation a:focus-visible{
  color:#35A935 !important;
}
.sudca-footer-column h3::after{
  background:#008000 !important;
}
.sudca-footer-social a{
  background:rgba(255,255,255,.07) !important;
  color:rgba(255,255,255,.82) !important;
  border:1px solid rgba(255,255,255,.07);
}
.sudca-footer-social a:hover,
.sudca-footer-social a:focus-visible{
  background:#008000 !important;
  color:#fff !important;
  border-color:#008000 !important;
}
.sudca-footer-partners,
.sudca-footer-bottom{
  width:100% !important;
  border-color:rgba(255,255,255,.09) !important;
}
.sudca-footer-partners b{
  background:rgba(0,128,0,.08) !important;
  border-color:rgba(53,169,53,.25) !important;
  color:rgba(255,255,255,.9) !important;
}
.sudca-footer-partners b:hover{
  background:rgba(0,128,0,.18) !important;
  border-color:rgba(53,169,53,.55) !important;
}
.sudca-footer-conversation{
  background:linear-gradient(135deg,rgba(0,128,0,.12),rgba(255,255,255,.025)) !important;
  border-color:rgba(53,169,53,.22) !important;
}
.sudca-footer-conversation a{color:#35A935 !important}
.sudca-footer-bottom{
  padding-bottom:26px;
}

/* ---------------------------------------------------------
   LARGE / TABLET / MOBILE — never crop footer content
   --------------------------------------------------------- */
@media (max-width:1250px){
  .sudca-footer-grid{
    grid-template-columns:minmax(250px,1.5fr) repeat(2,minmax(170px,1fr)) !important;
  }
}
@media (max-width:760px){
  .sudca-footer > .sudca-container,
  .sudca-footer-tagline-inner{
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .sudca-footer-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
    padding:48px 0 !important;
  }
  .sudca-footer-brand{padding-right:0 !important}
  .sudca-footer-tagline{padding:40px 0 34px !important}
}

/* ---------------------------------------------------------
   HARD SAFETY: no hidden/cropped institutional footer text
   --------------------------------------------------------- */
.sudca-footer,
.sudca-footer *{
  max-width:100%;
}
.sudca-footer a,
.sudca-footer p,
.sudca-footer span,
.sudca-footer small,
.sudca-footer strong{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* V12 final marker */
:root{--sudca-version:12;}

/* =========================================================
   SUDCA V13 — FINAL VISUAL POLISH
   1. Context-aware top utility bar:
      - Homepage: clean white, because the main header is transparent.
      - Inner pages: authoritative SuDCA green, because the main header is white.
   2. Footer: one unified full-width dark canvas; no nested panels with
      competing backgrounds/widths.
   3. Mobile off-canvas: clear hover, focus and active states for every
      navigation row and submenu item.
   ========================================================= */

/* ---------- V13 BRAND TOKENS: derived from supplied SuDCA logo ---------- */
:root{
  --sudca-logo-green:#008000;
  --sudca-green-deep:#005700;
  --sudca-green-dark:#006B00;
  --sudca-green-mid:#159415;
  --sudca-green-fresh:#35A935;
  --sudca-green-light:#DCEFDC;
  --sudca-green-soft:#F2F8F2;
  --sudca-platform-dark:#06120B;
  --sudca-platform-deep:#081A10;
}

/* ---------- TOP MINI BAR — HOMEPAGE = WHITE ---------- */
.home .sudca-topbar,
.front-page .sudca-topbar{
  background:#fff !important;
  color:#183D25 !important;
  border-bottom:1px solid rgba(0,128,0,.12) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.035),0 4px 14px rgba(0,55,0,.035) !important;
}
.home .sudca-topbar a,
.front-page .sudca-topbar a{
  color:#234A30 !important;
}
.home .sudca-topbar a:hover,
.home .sudca-topbar a:focus-visible,
.front-page .sudca-topbar a:hover,
.front-page .sudca-topbar a:focus-visible{
  color:var(--sudca-logo-green) !important;
}
.home .sudca-top-icon-badge,
.front-page .sudca-top-icon-badge{
  background:rgba(0,128,0,.07) !important;
  box-shadow:inset 0 0 0 1px rgba(0,128,0,.12) !important;
}
.home .sudca-top-icon,
.front-page .sudca-top-icon,
.home .sudca-location-item svg,
.front-page .sudca-location-item svg{
  color:var(--sudca-logo-green) !important;
}
.home .sudca-top-phone small,
.front-page .sudca-top-phone small{
  color:#6B7D70 !important;
}
.home .sudca-top-location,
.front-page .sudca-top-location{
  color:#52685A !important;
}
.home .sudca-topbar-divider,
.front-page .sudca-topbar-divider{
  background:rgba(0,80,0,.14) !important;
}
.home .sudca-social-link,
.front-page .sudca-social-link{
  background:rgba(0,128,0,.055) !important;
  color:#42614B !important;
}
.home .sudca-social-link:hover,
.home .sudca-social-link:focus-visible,
.front-page .sudca-social-link:hover,
.front-page .sudca-social-link:focus-visible{
  background:var(--sudca-logo-green) !important;
  color:#fff !important;
}
.home .sudca-language select,
.front-page .sudca-language select,
.home .sudca-language .gtranslate_wrapper,
.front-page .sudca-language .gtranslate_wrapper{
  color:#234A30 !important;
}

/* ---------- TOP MINI BAR — INNER PAGES = BRAND GREEN ---------- */
body:not(.home):not(.front-page) .sudca-topbar{
  background:linear-gradient(100deg,#005700 0%,#006B00 48%,#008000 100%) !important;
  color:rgba(255,255,255,.94) !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.10),0 2px 12px rgba(0,50,0,.10) !important;
}
body:not(.home):not(.front-page) .sudca-topbar a{
  color:rgba(255,255,255,.93) !important;
}
body:not(.home):not(.front-page) .sudca-topbar a:hover,
body:not(.home):not(.front-page) .sudca-topbar a:focus-visible{
  color:#fff !important;
}
body:not(.home):not(.front-page) .sudca-top-icon-badge{
  background:rgba(255,255,255,.10) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.13) !important;
}
body:not(.home):not(.front-page) .sudca-top-icon,
body:not(.home):not(.front-page) .sudca-location-item svg{
  color:#D9F2D9 !important;
}
body:not(.home):not(.front-page) .sudca-top-phone small{
  color:rgba(255,255,255,.62) !important;
}
body:not(.home):not(.front-page) .sudca-top-location{
  color:rgba(255,255,255,.78) !important;
}
body:not(.home):not(.front-page) .sudca-topbar-divider{
  background:rgba(255,255,255,.18) !important;
}
body:not(.home):not(.front-page) .sudca-social-link{
  background:rgba(255,255,255,.09) !important;
  color:#E7F7E7 !important;
}
body:not(.home):not(.front-page) .sudca-social-link:hover,
body:not(.home):not(.front-page) .sudca-social-link:focus-visible{
  background:#fff !important;
  color:var(--sudca-logo-green) !important;
}
body:not(.home):not(.front-page) .sudca-language select,
body:not(.home):not(.front-page) .sudca-language .gtranslate_wrapper{
  color:#fff !important;
}

/* ---------- V13 FOOTER — ONE UNIFIED CANVAS ---------- */
.sudca-footer{
  background:
    radial-gradient(900px 420px at 82% 12%,rgba(0,128,0,.18),transparent 65%),
    radial-gradient(720px 420px at 8% 78%,rgba(0,107,0,.10),transparent 68%),
    linear-gradient(145deg,#041009 0%,#06140C 48%,#071A0F 100%) !important;
  color:rgba(255,255,255,.74) !important;
}
.sudca-footer::before{
  display:none !important;
}
.sudca-footer::after{
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 25%,rgba(0,128,0,.035) 100%) !important;
}

/* The footer's outer shell is full width; the actual content gets one
   consistent readable width. This prevents nested panels from looking
   like separate boxes while retaining generous desktop breathing room. */
.sudca-footer > .sudca-container{
  width:min(calc(100% - 72px),1600px) !important;
  max-width:1600px !important;
  margin-inline:auto !important;
  padding:0 !important;
  background:transparent !important;
}
.sudca-footer-tagline{
  width:100% !important;
  background:transparent !important;
}
.sudca-footer-tagline-inner{
  width:min(calc(100% - 72px),1600px) !important;
  max-width:1600px !important;
  margin-inline:auto !important;
  padding-inline:0 !important;
  background:transparent !important;
}
.sudca-footer-grid,
.sudca-footer-partners,
.sudca-footer-conversation,
.sudca-footer-bottom{
  background:transparent !important;
}
.sudca-footer-grid{
  grid-template-columns:1.75fr repeat(4,minmax(0,1fr)) !important;
  gap:clamp(28px,3.2vw,56px) !important;
}
.sudca-footer-column,
.sudca-footer-brand{
  min-width:0 !important;
}
.sudca-footer-column a,
.sudca-footer-contact a,
.sudca-footer-brand > p,
.sudca-footer-column h3,
.sudca-footer-logo,
.sudca-footer-partners-head,
.sudca-footer-conversation,
.sudca-footer-bottom{
  overflow-wrap:anywhere;
}
.sudca-footer-partners > div{
  min-width:0 !important;
}
.sudca-footer-partners b{
  background:rgba(255,255,255,.035) !important;
  border-color:rgba(255,255,255,.10) !important;
}
.sudca-footer-illustration{
  color:#35A935 !important;
  opacity:.10 !important;
}

/* ---------- V13 MOBILE OFF-CANVAS STATES ---------- */
.sudca-mobile-navigation .sudca-mobile-link,
.sudca-mobile-navigation .sudca-mobile-accordion-toggle,
.sudca-mobile-navigation .sudca-mobile-submenu-inner a,
.sudca-mobile-footer a{
  -webkit-tap-highlight-color:transparent;
}

.sudca-mobile-navigation .sudca-mobile-link{
  position:relative;
  border-radius:8px;
  transition:background 180ms ease,color 180ms ease,transform 180ms ease,box-shadow 180ms ease;
}
.sudca-mobile-navigation .sudca-mobile-link:hover,
.sudca-mobile-navigation .sudca-mobile-link:focus-visible{
  color:var(--sudca-logo-green) !important;
  background:rgba(0,128,0,.075) !important;
  box-shadow:inset 3px 0 0 var(--sudca-logo-green);
  padding-left:12px;
  outline:none;
}
.sudca-mobile-navigation .sudca-mobile-link.is-active{
  color:#005700 !important;
  background:rgba(0,128,0,.10) !important;
  box-shadow:inset 4px 0 0 var(--sudca-logo-green);
  padding-left:12px;
}
.sudca-mobile-navigation .sudca-mobile-link.is-active::after{
  background:var(--sudca-logo-green) !important;
}

.sudca-mobile-row{
  border-bottom-color:rgba(0,128,0,.11) !important;
  border-radius:8px;
  transition:background 180ms ease,box-shadow 180ms ease;
}
.sudca-mobile-group:hover > .sudca-mobile-row,
.sudca-mobile-group:focus-within > .sudca-mobile-row{
  background:rgba(0,128,0,.045) !important;
}
.sudca-mobile-accordion-toggle{
  border-radius:7px;
  transition:background 180ms ease,color 180ms ease,box-shadow 180ms ease;
}
.sudca-mobile-accordion-toggle:hover,
.sudca-mobile-accordion-toggle:focus-visible{
  background:rgba(0,128,0,.10) !important;
  box-shadow:inset 0 0 0 1px rgba(0,128,0,.13);
  outline:none;
}
.sudca-mobile-accordion-toggle[aria-expanded="true"]{
  background:rgba(0,128,0,.12) !important;
  box-shadow:inset 0 0 0 1px rgba(0,128,0,.15);
}
.sudca-mobile-accordion-toggle[aria-expanded="true"] .sudca-accordion-icon i{
  background:var(--sudca-logo-green) !important;
}

.sudca-mobile-submenu{
  background:rgba(0,128,0,.035) !important;
  border-left:2px solid rgba(0,128,0,.12);
  margin-left:4px;
}
.sudca-mobile-submenu-inner a{
  position:relative;
  border-bottom-color:rgba(0,128,0,.08) !important;
  border-radius:6px;
  color:#50685A !important;
  transition:background 180ms ease,color 180ms ease,padding-left 180ms ease,box-shadow 180ms ease;
}
.sudca-mobile-submenu-inner a:hover,
.sudca-mobile-submenu-inner a:focus-visible{
  color:#005700 !important;
  background:rgba(0,128,0,.075) !important;
  padding-left:24px;
  box-shadow:inset 3px 0 0 var(--sudca-logo-green);
  outline:none;
}
.sudca-mobile-submenu-inner a.is-active{
  color:#005700 !important;
  background:rgba(0,128,0,.10) !important;
  padding-left:24px;
  box-shadow:inset 3px 0 0 var(--sudca-logo-green);
  font-weight:900 !important;
}
.sudca-mobile-submenu-inner a.is-active .sudca-mobile-nav-num{
  color:var(--sudca-logo-green) !important;
  opacity:1;
}

.sudca-mobile-search-trigger:hover,
.sudca-mobile-search-trigger:focus-visible{
  border-color:rgba(0,128,0,.30) !important;
  background:rgba(0,128,0,.055) !important;
  color:#005700 !important;
  outline:none;
  box-shadow:0 0 0 3px rgba(0,128,0,.08);
}
.sudca-mobile-partner{
  background:var(--sudca-logo-green) !important;
  transition:background 180ms ease,transform 180ms ease,box-shadow 180ms ease;
}
.sudca-mobile-partner:hover,
.sudca-mobile-partner:focus-visible{
  background:#005700 !important;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,80,0,.16);
  outline:none;
}

/* Touch/mobile: preserve the active visual state without relying on hover. */
@media(max-width:960px){
  .sudca-footer > .sudca-container,
  .sudca-footer-tagline-inner{
    width:min(calc(100% - 40px),1600px) !important;
  }
}
@media(max-width:600px){
  .sudca-footer > .sudca-container,
  .sudca-footer-tagline-inner{
    width:min(calc(100% - 32px),1600px) !important;
  }
  .sudca-mobile-navigation .sudca-mobile-link{
    padding-right:8px;
  }
}


/* =========================================================
   SUDCA V14 — REFINEMENT PASS
   Based on V13, preserving the approved architecture.
   1. Homepage/inner-page utility bar states are explicit.
   2. Search icon is brand-green instead of black.
   3. Inner-page location/social contrast is corrected.
   4. Mobile Search SuDCA label is always readable.
   5. Footer is one responsive canvas at every breakpoint.
   6. Footer category links stack cleanly on phones.
   7. Footer credit has intentional desktop/mobile line breaks.
   ========================================================= */

:root{
  --sudca-logo-green:#008000;
  --sudca-green-deep:#005700;
  --sudca-green-dark:#006B00;
  --sudca-green-mid:#159415;
  --sudca-green-fresh:#35A935;
  --sudca-platform-dark:#06120B;
  --sudca-platform-deep:#081A10;
}

/* ---------------------------------------------------------
   01. TOP MINI BAR — EXPLICIT PAGE CONTEXT
   --------------------------------------------------------- */
.sudca-topbar.sudca-topbar-home{
  background:#FFFFFF !important;
  color:#183D25 !important;
  border-bottom:1px solid rgba(0,128,0,.12) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.035),0 4px 14px rgba(0,55,0,.035) !important;
}
.sudca-topbar.sudca-topbar-home a,
.sudca-topbar.sudca-topbar-home .sudca-top-secondary,
.sudca-topbar.sudca-topbar-home .sudca-location-item,
.sudca-topbar.sudca-topbar-home .sudca-location-separator{
  color:#234A30 !important;
}
.sudca-topbar.sudca-topbar-home .sudca-top-icon-badge{
  background:rgba(0,128,0,.07) !important;
  border-color:rgba(0,128,0,.13) !important;
  color:#006B00 !important;
}
.sudca-topbar.sudca-topbar-home .sudca-social-link{
  background:rgba(0,128,0,.07) !important;
  color:#006B00 !important;
}
.sudca-topbar.sudca-topbar-home .sudca-social-link:hover,
.sudca-topbar.sudca-topbar-home .sudca-social-link:focus-visible{
  background:#008000 !important;
  color:#FFFFFF !important;
}
.sudca-topbar.sudca-topbar-home .sudca-topbar-divider{
  background:rgba(0,128,0,.16) !important;
}
.sudca-topbar.sudca-topbar-home .sudca-language select,
.sudca-topbar.sudca-topbar-home .sudca-language .gtranslate_wrapper{
  color:#234A30 !important;
}

.sudca-topbar.sudca-topbar-inner-page{
  background:linear-gradient(100deg,#003D00 0%,#005A00 52%,#008000 100%) !important;
  color:#FFFFFF !important;
  border-bottom:1px solid rgba(0,0,0,.16) !important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.10),0 3px 14px rgba(0,45,0,.10) !important;
}
.sudca-topbar.sudca-topbar-inner-page a,
.sudca-topbar.sudca-topbar-inner-page .sudca-top-secondary,
.sudca-topbar.sudca-topbar-inner-page .sudca-location-item,
.sudca-topbar.sudca-topbar-inner-page .sudca-location-separator{
  color:rgba(255,255,255,.96) !important;
}
.sudca-topbar.sudca-topbar-inner-page a:hover,
.sudca-topbar.sudca-topbar-inner-page a:focus-visible{
  color:#FFFFFF !important;
}
.sudca-topbar.sudca-topbar-inner-page .sudca-top-icon-badge{
  background:rgba(255,255,255,.11) !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#FFFFFF !important;
}
.sudca-topbar.sudca-topbar-inner-page .sudca-top-icon{
  color:#FFFFFF !important;
}
.sudca-topbar.sudca-topbar-inner-page .sudca-top-phone small{
  color:rgba(255,255,255,.66) !important;
}
.sudca-topbar.sudca-topbar-inner-page .sudca-topbar-divider{
  background:rgba(255,255,255,.25) !important;
}
.sudca-topbar.sudca-topbar-inner-page .sudca-social-link{
  background:rgba(255,255,255,.10) !important;
  color:#FFFFFF !important;
  border:1px solid rgba(255,255,255,.10) !important;
}
.sudca-topbar.sudca-topbar-inner-page .sudca-social-link svg,
.sudca-topbar.sudca-topbar-inner-page .sudca-social-link svg path{
  color:currentColor !important;
  fill:currentColor !important;
}
.sudca-topbar.sudca-topbar-inner-page .sudca-social-link:hover,
.sudca-topbar.sudca-topbar-inner-page .sudca-social-link:focus-visible{
  background:#FFFFFF !important;
  color:#008000 !important;
  border-color:#FFFFFF !important;
  transform:translateY(-1px);
}
.sudca-topbar.sudca-topbar-inner-page .sudca-social-link:hover svg path,
.sudca-topbar.sudca-topbar-inner-page .sudca-social-link:focus-visible svg path{
  fill:#008000 !important;
}
.sudca-topbar.sudca-topbar-inner-page .sudca-language select,
.sudca-topbar.sudca-topbar-inner-page .sudca-language .gtranslate_wrapper{
  color:#FFFFFF !important;
}

/* Fallback for installations where a page builder strips the explicit class. */
body:not(.home):not(.front-page) .sudca-topbar{
  background:linear-gradient(100deg,#003D00 0%,#005A00 52%,#008000 100%) !important;
  color:#FFFFFF !important;
}
body:not(.home):not(.front-page) .sudca-topbar .sudca-top-location,
body:not(.home):not(.front-page) .sudca-topbar .sudca-location-item,
body:not(.home):not(.front-page) .sudca-topbar .sudca-location-separator{
  color:rgba(255,255,255,.96) !important;
}

/* ---------------------------------------------------------
   02. MAIN HEADER SEARCH — BRAND GREEN, NEVER BLACK
   --------------------------------------------------------- */
.sudca-main-header .sudca-search-trigger svg{
  color:#008000 !important;
}
.sudca-main-header .sudca-search-trigger:hover svg,
.sudca-main-header .sudca-search-trigger:focus-visible svg{
  color:#005700 !important;
}
.sudca-main-header .sudca-search-trigger:hover,
.sudca-main-header .sudca-search-trigger:focus-visible{
  border-color:#008000 !important;
  background:#F2F8F2 !important;
}

/* ---------------------------------------------------------
   03. MOBILE OFF-CANVAS SEARCH LABEL
   --------------------------------------------------------- */
.sudca-mobile-search-trigger,
.sudca-mobile-search-trigger .sudca-mobile-search-label{
  color:#005700 !important;
}
.sudca-mobile-search-trigger .sudca-mobile-search-icon,
.sudca-mobile-search-trigger .sudca-mobile-search-icon svg{
  color:#008000 !important;
}
.sudca-mobile-search-trigger:hover .sudca-mobile-search-label,
.sudca-mobile-search-trigger:focus-visible .sudca-mobile-search-label{
  color:#003D00 !important;
}

/* ---------------------------------------------------------
   04. FOOTER — SINGLE RESPONSIVE CANVAS
   --------------------------------------------------------- */
.sudca-footer{
  width:100% !important;
  overflow:hidden !important;
  background:
    radial-gradient(900px 420px at 82% 12%,rgba(0,128,0,.16),transparent 65%),
    radial-gradient(720px 420px at 8% 78%,rgba(0,107,0,.09),transparent 68%),
    linear-gradient(145deg,#041009 0%,#06140C 48%,#071A0F 100%) !important;
}
.sudca-footer > .sudca-container,
.sudca-footer .sudca-footer-tagline-inner{
  width:min(calc(100% - 48px),1600px) !important;
  max-width:1600px !important;
  margin-inline:auto !important;
  padding-inline:0 !important;
  background:transparent !important;
}
.sudca-footer-tagline,
.sudca-footer-grid,
.sudca-footer-partners,
.sudca-footer-conversation,
.sudca-footer-bottom{
  width:100% !important;
  background:transparent !important;
}
.sudca-footer-grid{
  grid-template-columns:minmax(250px,1.7fr) repeat(4,minmax(0,1fr)) !important;
}
.sudca-footer-column,
.sudca-footer-brand{
  min-width:0 !important;
}
.sudca-footer-column a,
.sudca-footer-contact a,
.sudca-footer-brand > p,
.sudca-footer-column h3,
.sudca-footer-bottom p,
.sudca-footer-conversation p{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

/* ---------------------------------------------------------
   05. FOOTER MOBILE CATEGORY LINKS
   --------------------------------------------------------- */
@media(max-width:1100px){
  .sudca-footer-grid{
    grid-template-columns:minmax(230px,1.4fr) repeat(2,minmax(0,1fr)) !important;
    gap:36px 28px !important;
  }
}
@media(max-width:700px){
  .sudca-footer > .sudca-container,
  .sudca-footer .sudca-footer-tagline-inner{
    width:calc(100% - 32px) !important;
  }
  .sudca-footer-grid{
    grid-template-columns:1fr !important;
    gap:32px !important;
    padding:46px 0 !important;
  }
  .sudca-footer-brand{
    grid-column:1 !important;
    padding-right:0 !important;
  }
  .sudca-footer-column{
    width:100% !important;
    padding:0 0 6px !important;
  }
  .sudca-footer-column h3{
    font-size:12px !important;
    margin-bottom:8px !important;
  }
  .sudca-footer-column a{
    width:100% !important;
    min-height:32px !important;
    display:flex !important;
    align-items:center !important;
    line-height:1.45 !important;
  }
  .sudca-footer-partners{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  .sudca-footer-partners > div{
    width:100% !important;
    justify-content:flex-start !important;
  }
  .sudca-footer-conversation{
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:8px !important;
  }
  .sudca-footer-bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:14px !important;
    padding:22px 0 calc(24px + env(safe-area-inset-bottom,0px)) !important;
  }
  .sudca-footer-bottom p{
    width:100% !important;
  }
}

/* ---------------------------------------------------------
   06. FOOTER CREDIT — DESKTOP ONE LINE / MOBILE TWO LINES
   --------------------------------------------------------- */
.sudca-footer-credit{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:4px !important;
}
.sudca-credit-line{
  display:inline !important;
}
.sudca-credit-solutions-mobile{
  display:none !important;
}
.sudca-credit-solutions-desktop{
  display:inline !important;
}
@media(max-width:600px){
  .sudca-footer-credit{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:2px !important;
    line-height:1.6 !important;
  }
  .sudca-credit-line-one,
  .sudca-credit-line-two{
    display:block !important;
  }
  .sudca-credit-solutions-desktop{
    display:none !important;
  }
  .sudca-credit-solutions-mobile{
    display:inline !important;
  }
}

/* V14 marker */
:root{--sudca-version:14;}

/* =========================================================
   V14.1 — HEADER SIZE REFINEMENT ONLY
   Smaller navigation + logo, more breathing room before search.
   Homepage search: green circular control with white icon.
   ========================================================= */

@media (min-width: 961px) {

  .sudca-header-inner {
    gap: 14px;
  }

  .sudca-brand {
    gap: 10px;
  }

  .sudca-brand img {
    width: 56px;
    height: 56px;
  }

  .sudca-brand-text strong {
    font-size: 1.52rem;
  }

  .sudca-desktop-nav {
    gap: 2px;
  }

  .sudca-nav-link {
    min-height: var(--sudca-header-height);
    padding-left: 12px;
    padding-right: 12px;
    gap: 5px;
    font-size: 13px;
    letter-spacing: -.005em;
  }

  .sudca-header-actions {
    gap: 10px;
    margin-left: 14px;
  }

  .sudca-search-trigger {
    width: 40px;
    height: 40px;
  }

  .sudca-search-trigger svg {
    width: 17px;
    height: 17px;
  }

  .sudca-main-header.is-scrolled .sudca-brand img {
    width: 40px;
    height: 40px;
  }

  .sudca-main-header.is-scrolled .sudca-brand-text strong {
    font-size: 1.22rem;
  }

  .sudca-main-header.is-scrolled .sudca-nav-link {
    min-height: var(--sudca-header-height-scrolled);
    padding-left: 10px;
    padding-right: 10px;
    font-size: 12.5px;
  }

  .sudca-main-header.is-scrolled .sudca-search-trigger {
    width: 36px;
    height: 36px;
  }

  .sudca-main-header.is-scrolled .sudca-search-trigger svg {
    width: 15px;
    height: 15px;
  }

  /* Homepage only: clean green circular search control. */
  body.home .sudca-main-header .sudca-search-trigger {
    width: 40px;
    height: 40px;
    background: #0f7a32;
    border-color: #0f7a32;
  }

  body.home .sudca-main-header .sudca-search-trigger svg,
  body.home .sudca-main-header .sudca-search-trigger svg * {
    color: #fff;
    stroke: #fff;
  }

  body.home .sudca-main-header .sudca-search-trigger:hover {
    background: #0b662a;
    border-color: #0b662a;
  }

  body.home .sudca-main-header.is-scrolled .sudca-search-trigger {
    width: 36px;
    height: 36px;
  }

}


/* =========================================================
   SUDCA GLOBAL V15 — AUTHORITATIVE REFINED BRAND SYSTEM
   Evolution of the existing SuDCA green; NOT a new brand.
   The V15 layer intentionally wins over legacy V9/V13 patch layers.
   ========================================================= */
:root{
  --sudca-v15-deep:#071607;
  --sudca-v15-dark:#063B08;
  --sudca-v15-dark-2:#07500A;
  --sudca-v15-green-dark:#08630D;
  --sudca-v15-green:#4A941F;
  --sudca-v15-green-2:#5AA42A;
  --sudca-v15-green-3:#69AF32;
  --sudca-v15-lime:#78B83A;
  --sudca-v15-lime-2:#8BC64A;
  --sudca-v15-lime-light:#9ACF5A;
  --sudca-v15-pale:#C4E29A;
  --sudca-v15-tint:#EDF6DF;
  --sudca-v15-white:#FFFFFF;
  --sudca-v15-black:#071008;
  --sudca-v15-muted:#536257;
  --sudca-v15-line:#D8E4CF;
  --sudca-v15-blue:#07111F;
  --sudca-v15-blue-2:#0A1728;
  --sudca-v15-blue-3:#142B40;

  /* Canonical aliases used by existing global components. */
  --sudca-green-deep:var(--sudca-v15-deep);
  --sudca-green:var(--sudca-v15-green);
  --sudca-green-mid:var(--sudca-v15-green-2);
  --sudca-green-fresh:var(--sudca-v15-lime-light);
  --sudca-gold:var(--sudca-v15-green);
  --sudca-gold-dark:var(--sudca-v15-green-dark);
  --sudca-navy:var(--sudca-v15-blue);
  --sudca-navy-dark:var(--sudca-v15-black);
  --sudca-white:#fff;
  --sudca-cream:#F8FAF5;
  --sudca-text:#172119;
  --sudca-text-soft:var(--sudca-v15-muted);
  --sudca-border:var(--sudca-v15-line);
  --sudca-green-tint:var(--sudca-v15-tint);
  --sudca-v9-700:var(--sudca-v15-green);
  --sudca-v9-500:var(--sudca-v15-lime);
  --sudca-v9-300:var(--sudca-v15-pale);
}

/* ---------- Utility bar ---------- */
.sudca-topbar{
  background:#fff !important;
  color:var(--sudca-v15-dark) !important;
  box-shadow:inset 0 -1px 0 rgba(6,59,8,.10) !important;
}
.sudca-topbar a{color:var(--sudca-v15-dark) !important}
.sudca-topbar a:hover{color:var(--sudca-v15-green) !important}
.sudca-topbar .sudca-top-icon-badge{background:rgba(74,148,31,.10) !important;color:var(--sudca-v15-green) !important}
.sudca-topbar .sudca-topbar-divider{background:rgba(6,59,8,.14) !important}
.sudca-social-link:hover{background:var(--sudca-v15-green) !important;color:#fff !important}
.sudca-language .gtranslate_wrapper select:focus{outline:2px solid rgba(74,148,31,.35) !important;outline-offset:2px}

/* ---------- Main header ---------- */
.sudca-main-header{border-bottom-color:rgba(6,59,8,.10) !important}
.sudca-main-header.is-scrolled{box-shadow:0 10px 30px rgba(7,22,7,.08) !important}
.sudca-nav-link:hover,.sudca-nav-link.is-active{color:var(--sudca-v15-green) !important}
.sudca-nav-dropdown.is-active > .sudca-nav-link,
.sudca-nav-dropdown.is-open > .sudca-nav-link{color:var(--sudca-v15-green) !important}
.sudca-dropdown-arrow:hover,.sudca-mega-arrow:hover{color:var(--sudca-v15-green) !important}
.sudca-partner-button{background:var(--sudca-v15-green) !important;color:#fff !important;border-color:var(--sudca-v15-green) !important}
.sudca-partner-button:hover{background:var(--sudca-v15-dark) !important;border-color:var(--sudca-v15-dark) !important}
.sudca-search-trigger:hover{color:var(--sudca-v15-green) !important}

/* ---------- Dropdown / mega menu ---------- */
.sudca-nav-dropdown .sudca-dropdown-menu,
.sudca-mega-menu{border-top-color:var(--sudca-v15-green) !important}
.sudca-dropdown-menu a:hover,
.sudca-mega-menu a:hover,
.sudca-mega-menu .is-active{color:var(--sudca-v15-green) !important}
.sudca-mega-arrow{color:var(--sudca-v15-green) !important}

/* ---------- Mobile header / off-canvas ---------- */
.sudca-hamburger-modern:hover{background:var(--sudca-v15-green) !important;color:#fff !important}
.sudca-mobile-panel{border-left:1px solid rgba(6,59,8,.12) !important}
.sudca-mobile-link:hover,
.sudca-mobile-link.is-active,
.sudca-mobile-row-link.is-active{color:var(--sudca-v15-green) !important}
.sudca-mobile-link.is-active::after{background:var(--sudca-v15-green) !important}
.sudca-mobile-nav-num{color:var(--sudca-v15-green) !important}
.sudca-mobile-accordion-toggle:hover{background:var(--sudca-v15-tint) !important;color:var(--sudca-v15-green) !important}
.sudca-mobile-accordion-toggle[aria-expanded="true"]{background:var(--sudca-v15-tint) !important;color:var(--sudca-v15-green) !important}
.sudca-mobile-submenu-inner a:hover,
.sudca-mobile-submenu-inner a.is-active{color:var(--sudca-v15-green) !important}
.sudca-mobile-view-all{color:var(--sudca-v15-green) !important}
.sudca-mobile-search-trigger:hover{background:var(--sudca-v15-tint) !important;color:var(--sudca-v15-green) !important}
.sudca-mobile-partner{background:var(--sudca-v15-green) !important;color:#fff !important}
.sudca-mobile-partner:hover{background:var(--sudca-v15-dark) !important}
.sudca-mobile-social a:hover{background:var(--sudca-v15-green) !important;color:#fff !important}

/* ---------- Search ---------- */
.sudca-search-eyebrow{color:var(--sudca-v15-green) !important}
.sudca-search-close:hover{background:var(--sudca-v15-green) !important;color:#fff !important}
.sudca-search-box form:focus-within{border-color:var(--sudca-v15-green) !important;box-shadow:0 0 0 4px rgba(74,148,31,.10) !important}
.sudca-search-form-icon{color:var(--sudca-v15-green) !important}
.sudca-search-box form button{background:var(--sudca-v15-green) !important;color:#fff !important}
.sudca-search-box form button:hover{background:var(--sudca-v15-dark) !important}

/* ---------- Footer ---------- */
.sudca-footer{
  background:
    radial-gradient(700px 420px at 12% 78%,rgba(74,148,31,.16),transparent 68%),
    radial-gradient(620px 380px at 88% 18%,rgba(120,184,58,.10),transparent 70%),
    linear-gradient(135deg,#071008 0%,#07111F 48%,#063B08 140%) !important;
}
.sudca-footer-tagline .sudca-footer-eyebrow,
.sudca-footer-partners-head span,
.sudca-footer-conversation span{color:var(--sudca-v15-lime-light) !important}
.sudca-footer-column a:hover,
.sudca-footer-contact a:hover,
.sudca-footer-conversation a:hover{color:var(--sudca-v15-lime-light) !important}
.sudca-footer-column h3::after{background:var(--sudca-v15-green) !important}
.sudca-footer-cta-button{background:var(--sudca-v15-green) !important;color:#fff !important}
.sudca-footer-cta-button:hover{background:var(--sudca-v15-lime) !important;color:#071008 !important}
.sudca-footer-partners b:hover{border-color:rgba(154,207,90,.55) !important;color:var(--sudca-v15-lime-light) !important}

/* ---------- Global Back to Top ---------- */
.sudca-back-top{
  background:var(--sudca-v15-green) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 14px 35px rgba(6,59,8,.22) !important;
}
.sudca-back-top:hover{background:var(--sudca-v15-lime) !important;color:#071008 !important;transform:translateY(-4px) !important}
.sudca-back-top:focus-visible{outline:3px solid var(--sudca-v15-lime-light) !important;outline-offset:3px}

/* ---------- Shared focus / accessibility ---------- */
.sudca-site a:focus-visible,
.sudca-site button:focus-visible,
.sudca-site input:focus-visible,
.sudca-site select:focus-visible{outline:3px solid rgba(139,198,74,.65);outline-offset:3px}

/* ---------- Responsive container normalization ---------- */
.sudca-container{width:min(calc(100% - 72px),1440px) !important}
@media(max-width:768px){.sudca-container{width:min(calc(100% - 32px),1440px) !important}}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .sudca-site *, .sudca-site *::before, .sudca-site *::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important}
}


/* =========================================================
   SUDCA GLOBAL V19 — PROJECTS-INTEGRATED PLATFORM SHELL
   Built from the working V15 architecture. This layer wins over
   legacy patch layers without deleting the proven components.
   ========================================================= */
:root{
  --sudca-v19-green:#72B52D;
  --sudca-v19-green-deep:#3F7D16;
  --sudca-v19-green-dark:#174D0B;
  --sudca-v19-lime:#8BCB43;
  --sudca-v19-lime-light:#B8E477;
  --sudca-v19-tint:#EFF7E7;
  --sudca-v19-ink:#0B1510;
  --sudca-v19-blue:#0A1728;
  --sudca-v19-blue-2:#112A43;
  --sudca-v19-line:#D7E5CC;
  --sudca-v19-muted:#536257;
  --sudca-logo-green:var(--sudca-v19-green);
  --sudca-version:19;
}

/* Core aliases: keep the existing page code compatible. */
.sudca-site{--sudca-green:var(--sudca-v19-green);--sudca-green-mid:#5FA525;--sudca-green-fresh:var(--sudca-v19-lime);--sudca-gold:var(--sudca-v19-green);--sudca-gold-dark:var(--sudca-v19-green-deep);--sudca-navy:var(--sudca-v19-blue);--sudca-navy-dark:var(--sudca-v19-ink);--sudca-text:var(--sudca-v19-ink);--sudca-text-soft:var(--sudca-v19-muted);--sudca-border:var(--sudca-v19-line);--sudca-green-tint:var(--sudca-v19-tint)}
:root{--sudca-v9-500:var(--sudca-v19-green);--sudca-v9-700:var(--sudca-v19-green-deep);--sudca-v9-400:var(--sudca-v19-lime);--sudca-v9-300:var(--sudca-v19-lime-light);}

/* TOPBAR — high-contrast states */
.sudca-topbar.sudca-topbar-home{background:linear-gradient(90deg,#FFFFFF 0%,#F5FAF0 55%,#EDF7E4 100%) !important;color:var(--sudca-v19-green-dark) !important;border-bottom:1px solid rgba(63,125,22,.18) !important}
.sudca-topbar.sudca-topbar-home a{color:#244019 !important}
.sudca-topbar.sudca-topbar-home a:hover,.sudca-topbar.sudca-topbar-home a:focus-visible{color:var(--sudca-v19-green-deep) !important}
.sudca-topbar.sudca-topbar-home .sudca-top-icon-badge{background:rgba(114,181,45,.13) !important;color:var(--sudca-v19-green-deep) !important;border-color:rgba(63,125,22,.15) !important}
.sudca-topbar.sudca-topbar-home .sudca-social-link{background:rgba(114,181,45,.10) !important;color:#36562A !important}
.sudca-topbar.sudca-topbar-home .sudca-social-link:hover{background:var(--sudca-v19-green) !important;color:#fff !important}
body:not(.home):not(.front-page) .sudca-topbar{background:linear-gradient(100deg,#174D0B 0%,#3F7D16 55%,#72B52D 100%) !important}
body:not(.home):not(.front-page) .sudca-topbar a{color:#fff !important}
body:not(.home):not(.front-page) .sudca-topbar a:hover{color:#E9FFD1 !important}
body:not(.home):not(.front-page) .sudca-top-icon-badge{background:rgba(255,255,255,.12) !important;color:#DFF5C6 !important}
body:not(.home):not(.front-page) .sudca-social-link:hover{background:#fff !important;color:var(--sudca-v19-green-deep) !important}

/* MAIN HEADER — controlled width, strong type, no collisions. */
.sudca-main-header{border-bottom:1px solid rgba(63,125,22,.22) !important;background:#fff !important}
.sudca-main-header.is-scrolled{border-bottom-color:rgba(63,125,22,.28) !important}
body.home .sudca-main-header{background:rgba(8,25,13,.72) !important;border-bottom-color:rgba(184,228,119,.30) !important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.home .sudca-main-header .sudca-brand-text strong,body.home .sudca-main-header .sudca-brand-text small,body.home .sudca-main-header .sudca-nav-link{color:#fff !important}
body.home .sudca-main-header .sudca-chevron{color:#D9F4B8 !important}
body.home .sudca-main-header .sudca-nav-link:hover,body.home .sudca-main-header .sudca-nav-link.is-active{color:#C7F08F !important}
.sudca-nav-link{font-size:14px !important;font-weight:900 !important;padding-left:13px !important;padding-right:13px !important}
.sudca-nav-link::after{left:13px !important;right:13px !important;bottom:-1px !important;height:3px !important;background:var(--sudca-v19-green) !important}
.sudca-nav-dropdown{flex-shrink:0}
.sudca-desktop-nav{gap:1px !important;flex-wrap:nowrap !important}
.sudca-header-inner{gap:10px !important}
.sudca-header-actions{gap:9px !important;margin-left:8px !important}
.sudca-search-trigger{border-color:rgba(63,125,22,.22) !important}
.sudca-search-trigger svg{color:var(--sudca-v19-green-deep) !important}
body.home .sudca-search-trigger{background:var(--sudca-v19-green) !important;border-color:var(--sudca-v19-green) !important}
body.home .sudca-search-trigger svg,body.home .sudca-search-trigger svg *{color:#fff !important;stroke:#fff !important}
.sudca-partner-button{background:var(--sudca-v19-green) !important;border-color:var(--sudca-v19-green) !important}
.sudca-partner-button:hover{background:var(--sudca-v19-green-deep) !important;border-color:var(--sudca-v19-green-deep) !important}

/* Mega menu: flush to header bottom, no visual gap. */
.sudca-mega-panel,.sudca-simple-dropdown{top:calc(100% - 1px) !important;border-top:3px solid var(--sudca-v19-green) !important;border-radius:0 0 16px 16px !important}
.sudca-mega-panel{width:min(1160px,calc(100vw - 56px)) !important}
.sudca-mega-content{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr) !important}
.sudca-mega-heading h2{font-size:28px !important}
.sudca-mega-item strong{font-size:14px !important}
.sudca-mega-item small{font-size:11px !important}
.sudca-mega-item:hover{background:var(--sudca-v19-tint) !important}
.sudca-mega-number{color:var(--sudca-v19-green-deep) !important}
.sudca-mega-visual{background:linear-gradient(145deg,#10250F,#173A16 58%,#0A1728) !important}
.sudca-mega-visual img{display:none !important}
.sudca-mega-visual-art{position:absolute;inset:0;display:grid;place-items:center;color:var(--sudca-v19-lime);overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(114,181,45,.18),transparent 55%)}
.sudca-mega-visual-art svg{width:88%;max-width:360px;opacity:.9}
.sudca-art-ring{position:absolute;border:1px solid rgba(184,228,119,.18);border-radius:50%}
.sudca-art-ring.ring-a{width:150px;height:150px}.sudca-art-ring.ring-b{width:240px;height:240px}.sudca-art-ring.ring-c{width:330px;height:330px}
.sudca-art-node{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--sudca-v19-lime);box-shadow:0 0 0 7px rgba(114,181,45,.12),0 0 25px rgba(139,203,67,.45)}
.sudca-art-node.node-a{left:28%;top:56%}.sudca-art-node.node-b{left:57%;top:37%}.sudca-art-node.node-c{right:18%;top:25%}
.sudca-mega-visual-content > span,.sudca-mega-visual-content a span{color:var(--sudca-v19-lime) !important}

/* PROJECTS MEGA MENU */
.sudca-projects-mega-panel{width:min(1040px,calc(100vw - 56px)) !important}
.sudca-projects-mega-content{display:grid;grid-template-columns:.72fr 1.28fr;min-height:310px;background:#fff}
.sudca-projects-mega-intro{padding:34px 36px;background:linear-gradient(145deg,#0E2A0D,#174D0B);color:#fff;display:flex;flex-direction:column;justify-content:center}
.sudca-projects-mega-label{font-size:9px;font-weight:900;letter-spacing:.16em;color:var(--sudca-v19-lime-light)}
.sudca-projects-mega-intro h2{margin:10px 0 14px;font:900 34px/1.02 Manrope,sans-serif;letter-spacing:-.045em;color:#fff}
.sudca-projects-mega-intro p{margin:0;color:rgba(255,255,255,.72);font:500 13px/1.7 Inter,sans-serif}
.sudca-projects-mega-cta{display:inline-flex;align-items:center;gap:9px;margin-top:22px;color:#fff;font:900 11px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.sudca-projects-mega-cta span{color:var(--sudca-v19-lime-light);font-size:16px;transition:transform .2s ease}.sudca-projects-mega-cta:hover span{transform:translateX(4px)}
.sudca-projects-mega-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:34px 34px}
.sudca-projects-mega-column{display:flex;flex-direction:column;gap:4px}
.sudca-projects-mega-column>span{margin-bottom:8px;color:var(--sudca-v19-green-deep);font:900 9px/1 Inter,sans-serif;letter-spacing:.16em}
.sudca-projects-mega-column a{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;padding:11px 10px;border-radius:8px;color:#132019;font:800 12.5px/1.35 Manrope,sans-serif;transition:background .2s ease,color .2s ease,transform .2s ease}
.sudca-projects-mega-column a b{color:var(--sudca-v19-green-deep);font:900 10px/1 Manrope,sans-serif}.sudca-projects-mega-column a:hover{background:var(--sudca-v19-tint);color:var(--sudca-v19-green-dark);transform:translateX(3px)}

/* SEARCH — platform-like full-width command surface. */
.sudca-search-overlay{padding:clamp(22px,5vw,60px) !important}
.sudca-search-box{width:min(1180px,100%) !important;max-width:none !important;border:1px solid rgba(114,181,45,.20) !important;box-shadow:0 35px 100px rgba(5,18,10,.28) !important}
.sudca-search-box form{min-height:72px !important}
.sudca-search-box form input{font-size:clamp(18px,2vw,25px) !important;font-weight:700 !important}
.sudca-search-suggestions{display:grid !important;grid-template-columns:1fr 1fr !important;gap:18px !important}
.sudca-search-chips a:hover{border-color:var(--sudca-v19-green) !important;background:var(--sudca-v19-tint) !important;color:var(--sudca-v19-green-dark) !important}
.sudca-search-box::after{content:'Powered by InnovixOpia';display:block;margin-top:28px;padding-top:16px;border-top:1px solid #E3EBDD;color:#778174;font:700 10px/1 Inter,sans-serif;letter-spacing:.06em;text-align:right}

/* FOOTER — exactly 2 rows × 4 columns on desktop. */
.sudca-footer{width:100% !important;background:radial-gradient(900px 500px at 85% 12%,rgba(114,181,45,.15),transparent 65%),radial-gradient(700px 420px at 5% 82%,rgba(63,125,22,.15),transparent 68%),linear-gradient(135deg,#050B08 0%,#09130D 48%,#0B2011 100%) !important}
.sudca-footer-grid-v19{display:grid !important;grid-template-columns:1.35fr repeat(3,minmax(0,1fr)) !important;grid-template-rows:auto auto !important;gap:0 34px !important;padding:62px 0 48px !important}
.sudca-footer-cell-brand{min-width:0 !important}.sudca-footer-grid-v19>.sudca-footer-column{min-width:0 !important;padding:10px 0 20px !important}
.sudca-footer-grid-v19>.sudca-footer-column:nth-child(n+5){border-top:1px solid rgba(255,255,255,.09);padding-top:32px !important}
.sudca-footer-brand>p{max-width:420px !important;color:rgba(255,255,255,.57) !important;font-size:13px !important;line-height:1.8 !important}
.sudca-footer-column h3{font-size:12px !important;font-weight:900 !important;letter-spacing:.02em !important;color:#fff !important}
.sudca-footer-column a{font-size:11.5px !important;line-height:1.45 !important;color:rgba(255,255,255,.58) !important;transition:color .2s ease,transform .2s ease !important}
.sudca-footer-column a:hover{color:var(--sudca-v19-lime-light) !important;transform:translateX(3px)}
.sudca-footer-icon-links{display:flex;gap:8px;margin-top:20px}.sudca-footer-icon-links a{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.04);color:rgba(255,255,255,.72);transition:.2s ease}.sudca-footer-icon-links a:hover{background:var(--sudca-v19-green);border-color:var(--sudca-v19-green);color:#fff;transform:translateY(-2px)}.sudca-footer-icon-links svg{width:14px;height:14px}
.sudca-office{margin-top:20px;padding-top:15px;border-top:1px solid rgba(255,255,255,.08)}.sudca-office strong{display:block;color:#fff;font-size:10px}.sudca-office span{display:block;margin-top:5px;color:rgba(255,255,255,.42);font-size:9px;line-height:1.5}
.sudca-footer-link-icon{display:inline-grid;place-items:center;width:19px;height:19px;margin-right:7px;border:1px solid rgba(184,228,119,.22);border-radius:50%;color:var(--sudca-v19-lime-light);font-size:10px}
.sudca-legal-stat{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px}.sudca-legal-stat b{color:#fff}.sudca-legal-stat span{color:var(--sudca-v19-lime-light);text-align:right}.sudca-legal-note{margin-top:12px;color:rgba(255,255,255,.40);font-size:9px;line-height:1.6}
.sudca-footer-conversation{border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);padding:24px 0 !important}.sudca-footer-conversation span{color:var(--sudca-v19-lime-light) !important}.sudca-footer-conversation a{color:#fff !important}.sudca-footer-bottom{padding:22px 0 !important}.sudca-footer-bottom p{font-size:10px !important}.sudca-footer-credit a{color:var(--sudca-v19-lime-light) !important}

/* MOBILE: intentionally collapses the 2×4 desktop grid to one clean stream. */
@media(max-width:1180px) and (min-width:961px){.sudca-nav-link{padding-left:9px !important;padding-right:9px !important;font-size:12.5px !important}.sudca-header-inner{gap:6px !important}.sudca-partner-button{padding:0 13px !important;font-size:10px !important}.sudca-search-trigger{width:37px !important;height:37px !important}}
@media(max-width:960px){
  body.home .sudca-main-header{background:rgba(8,25,13,.90) !important}
  .sudca-mobile-panel{width:min(450px,94vw) !important;background:#FBFDF9 !important;border-left:1px solid rgba(63,125,22,.16) !important}
  .sudca-mobile-panel-head{min-height:82px !important;background:linear-gradient(90deg,#fff,#F1F8EA) !important;border-bottom-color:rgba(63,125,22,.16) !important}
  .sudca-mobile-navigation{padding:10px 20px 28px !important}
  .sudca-mobile-link{min-height:66px !important;font-size:21px !important}
  .sudca-mobile-row{border-bottom:1px solid rgba(63,125,22,.10) !important}
  .sudca-mobile-submenu{background:#F3F8EE !important;border-left:2px solid rgba(114,181,45,.45) !important}
  .sudca-mobile-submenu-inner a{font-size:14px !important;color:#4E6250 !important}
  .sudca-mobile-link:hover,.sudca-mobile-link.is-active{background:rgba(114,181,45,.09) !important;color:var(--sudca-v19-green-deep) !important}
  .sudca-mobile-search-trigger{border-color:rgba(63,125,22,.18) !important;background:#fff !important}
  .sudca-mobile-search-trigger .sudca-mobile-search-icon,.sudca-mobile-search-trigger .sudca-mobile-search-icon svg{color:var(--sudca-v19-green-deep) !important}
  .sudca-mobile-search-label{color:#1B321D !important;font-weight:900 !important}
  .sudca-footer-grid-v19{grid-template-columns:1fr 1fr !important;grid-template-rows:none !important;gap:28px 24px !important}
  .sudca-footer-grid-v19>.sudca-footer-column:nth-child(n+5){border-top:0;padding-top:10px !important}
}
@media(max-width:700px){
  .sudca-projects-mega-content{display:block}.sudca-projects-mega-intro{padding:26px}.sudca-projects-mega-columns{grid-template-columns:1fr;padding:20px}.sudca-search-suggestions{grid-template-columns:1fr !important}
  .sudca-footer-grid-v19{grid-template-columns:1fr !important;gap:0 !important;padding:42px 0 30px !important}.sudca-footer-grid-v19>.sudca-footer-column,.sudca-footer-grid-v19>.sudca-footer-brand{padding:20px 0 !important;border-top:1px solid rgba(255,255,255,.08) !important}.sudca-footer-grid-v19>.sudca-footer-brand{border-top:0 !important}.sudca-footer-tagline-inner{flex-direction:column !important;align-items:flex-start !important;gap:22px !important}.sudca-footer-tagline h2{font-size:clamp(32px,9vw,48px) !important}.sudca-footer-bottom{align-items:flex-start !important;flex-direction:column !important;gap:10px !important}
}
@media(prefers-reduced-motion:reduce){.sudca-projects-mega-column a,.sudca-footer-icon-links a{transition:none !important}}

/* =========================================================
   SUDCA V21.0 — CORRECTION / REFINEMENT LAYER
   Purpose: deterministic homepage transparency + sticky state,
   collision-safe navigation, flush mega menus, stronger search,
   and clean full-width footer presentation.
   ========================================================= */
:root{
  --sudca-v20-green:#72B52D;
  --sudca-v20-green-dark:#3F7D16;
  --sudca-v20-green-deep:#174D0B;
  --sudca-v20-lime:#8BCB43;
  --sudca-v20-lime-soft:#B8E477;
  --sudca-v20-tint:#EFF7E7;
  --sudca-v20-ink:#0B1510;
  --sudca-v20-navy:#0A1728;
  --sudca-v20-line:#D7E5CC;
}

/* ---------- HEADER STATE MACHINE ---------- */
.sudca-main-header{
  position:sticky !important;
  top:0 !important;
  z-index:99990 !important;
  isolation:isolate;
  background:#fff !important;
  border-bottom:1px solid rgba(63,125,22,.22) !important;
  box-shadow:none;
}

/* Homepage: transparent only at the top. */
body.home .sudca-main-header:not(.is-scrolled),
body.front-page .sudca-main-header:not(.is-scrolled){
  background:rgba(7,22,12,.48) !important;
  border-bottom:1px solid rgba(184,228,119,.34) !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px) saturate(120%);
  -webkit-backdrop-filter:blur(10px) saturate(120%);
}

/* Homepage: deterministic white sticky state — higher specificity
   than the transparent rule above, so it can never remain dark. */
body.home .sudca-main-header.is-scrolled,
body.front-page .sudca-main-header.is-scrolled{
  background:#fff !important;
  border-bottom:1px solid rgba(63,125,22,.24) !important;
  box-shadow:0 10px 32px rgba(7,22,12,.10) !important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

/* Header type on homepage top / sticky / inner pages. */
body.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
body.home .sudca-main-header:not(.is-scrolled) .sudca-brand-text small,
body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text strong,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-brand-text small,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link{
  color:#fff !important;
  text-shadow:0 1px 10px rgba(0,0,0,.18);
}

body.home .sudca-main-header.is-scrolled .sudca-brand-text strong,
body.home .sudca-main-header.is-scrolled .sudca-brand-text small,
body.home .sudca-main-header.is-scrolled .sudca-nav-link,
body.front-page .sudca-main-header.is-scrolled .sudca-brand-text strong,
body.front-page .sudca-main-header.is-scrolled .sudca-brand-text small,
body.front-page .sudca-main-header.is-scrolled .sudca-nav-link{
  color:var(--sudca-v20-navy) !important;
  text-shadow:none;
}

body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover,
body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link.is-active,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link.is-active{
  color:var(--sudca-v20-lime-soft) !important;
}
body.home .sudca-main-header.is-scrolled .sudca-nav-link:hover,
body.home .sudca-main-header.is-scrolled .sudca-nav-link.is-active,
body.front-page .sudca-main-header.is-scrolled .sudca-nav-link:hover,
body.front-page .sudca-main-header.is-scrolled .sudca-nav-link.is-active{
  color:var(--sudca-v20-green-deep) !important;
}

/* Active/hover line always terminates exactly on the header bottom edge. */
.sudca-nav-link::after{
  bottom:-1px !important;
  height:3px !important;
  left:14px !important;
  right:14px !important;
  z-index:5;
  background:var(--sudca-v20-green) !important;
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link::after,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link::after{
  background:var(--sudca-v20-lime-soft) !important;
}

/* Keep navigation readable without squeezing the brand. */
.sudca-header-inner{
  gap:clamp(10px,1.2vw,22px) !important;
  padding-block:0 !important;
}
.sudca-desktop-nav{
  gap:clamp(2px,.35vw,7px) !important;
  flex:1 1 auto;
  justify-content:flex-end;
  min-width:0;
}
.sudca-nav-link{
  padding-inline:clamp(10px,.85vw,16px) !important;
  font-size:clamp(12px,.78vw,15px) !important;
  font-weight:900 !important;
}
.sudca-header-actions{gap:10px !important;margin-left:clamp(6px,1vw,16px) !important}

/* Search icon: contrast follows header state. */
.sudca-search-trigger{
  width:44px !important;height:44px !important;
  background:#fff !important;
  border:1px solid rgba(63,125,22,.25) !important;
  color:var(--sudca-v20-green-deep) !important;
}
.sudca-search-trigger svg{color:currentColor !important}
.sudca-search-trigger:hover{background:var(--sudca-v20-tint) !important;border-color:var(--sudca-v20-green) !important;color:var(--sudca-v20-green-deep) !important}
body.home .sudca-main-header:not(.is-scrolled) .sudca-search-trigger,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-search-trigger{
  background:var(--sudca-v20-green) !important;
  border-color:var(--sudca-v20-green) !important;
  color:#fff !important;
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-search-trigger:hover,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-search-trigger:hover{
  background:var(--sudca-v20-lime) !important;color:#0b1510 !important;
}
body.home .sudca-main-header.is-scrolled .sudca-search-trigger,
body.front-page .sudca-main-header.is-scrolled .sudca-search-trigger{
  background:var(--sudca-v20-green) !important;border-color:var(--sudca-v20-green) !important;color:#fff !important;
}

/* ---------- MEGA MENUS: FLUSH + PLATFORM SURFACE ---------- */
.sudca-nav-dropdown{position:relative !important;height:100%}
.sudca-mega-panel,
.sudca-simple-dropdown{
  z-index:100000 !important;
  top:calc(100% - 1px) !important;
  margin-top:0 !important;
  border-top:3px solid var(--sudca-v20-green) !important;
  border-radius:0 0 16px 16px !important;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(7,22,12,.18) !important;
}
.sudca-mega-panel{width:min(1180px,calc(100vw - 44px)) !important}
.sudca-mega-content{max-height:min(700px,calc(100vh - 120px)) !important}
.sudca-mega-item:hover,.sudca-projects-mega-column a:hover{transform:translateX(4px)}
.sudca-mega-item,.sudca-projects-mega-column a{transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease !important}
.sudca-projects-mega-panel{width:min(1160px,calc(100vw - 44px)) !important}
.sudca-projects-mega-content{min-height:350px !important}
.sudca-projects-mega-columns{gap:14px !important}

/* ---------- SEARCH COMMAND CENTER ---------- */
.sudca-search-overlay{
  position:fixed !important;inset:0 !important;z-index:1000000 !important;
  display:flex !important;align-items:flex-start !important;justify-content:center !important;
  padding:clamp(28px,6vh,72px) clamp(16px,4vw,56px) !important;
  background:rgba(5,12,8,.72) !important;
  backdrop-filter:blur(12px) saturate(110%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(110%) !important;
}
.sudca-search-box{
  position:relative !important;width:min(1240px,100%) !important;max-width:none !important;
  max-height:calc(100dvh - 56px);overflow:auto;
  padding:clamp(28px,4vw,52px) !important;
  background:#fff !important;border:1px solid rgba(114,181,45,.24) !important;
  border-top:4px solid var(--sudca-v20-green) !important;border-radius:20px !important;
  box-shadow:0 40px 120px rgba(0,0,0,.28) !important;
}
.sudca-search-box h2{font-size:clamp(32px,4vw,58px) !important;line-height:1 !important;letter-spacing:-.045em !important;color:var(--sudca-v20-navy) !important}
.sudca-search-box form{
  display:grid !important;grid-template-columns:28px 1fr auto !important;align-items:center !important;
  min-height:76px !important;margin-top:26px !important;padding:8px 8px 8px 20px !important;
  border:1px solid #d9e5d2 !important;border-radius:12px !important;background:#fbfdf9 !important;
}
.sudca-search-box form input{min-width:0 !important;width:100% !important;border:0 !important;background:transparent !important;color:var(--sudca-v20-ink) !important;outline:none !important}
.sudca-search-box form button{min-height:58px !important;padding-inline:24px !important;border:0 !important;border-radius:8px !important;background:var(--sudca-v20-green) !important;color:#fff !important;font-weight:900 !important;cursor:pointer !important}
.sudca-search-box form button:hover{background:var(--sudca-v20-green-deep) !important}
.sudca-search-suggestions{grid-template-columns:1fr 1fr !important;gap:24px !important;margin-top:28px !important}
.sudca-search-group>span{display:block !important;margin-bottom:10px !important;color:var(--sudca-v20-green-deep) !important;font-size:10px !important;font-weight:900 !important;letter-spacing:.14em !important;text-transform:uppercase !important}
.sudca-search-chips{display:flex !important;flex-wrap:wrap !important;gap:8px !important}
.sudca-search-chips a{border:1px solid #dce8d7 !important;background:#f8fbf6 !important;color:#29401f !important;border-radius:999px !important;font-weight:800 !important;transition:.2s ease !important}
.sudca-search-chips a:hover{background:var(--sudca-v20-tint) !important;border-color:var(--sudca-v20-green) !important;color:var(--sudca-v20-green-deep) !important;transform:translateY(-2px)}
.sudca-search-credit{display:flex !important;justify-content:flex-end !important;align-items:center !important;gap:5px !important;margin-top:30px !important;padding-top:18px !important;border-top:1px solid #e3eadf !important;color:#7b867b !important;font-size:10px !important;font-weight:700 !important}
.sudca-search-credit a{color:var(--sudca-v20-green-dark) !important;font-weight:900 !important;text-decoration:none !important}
.sudca-search-credit a:hover{color:var(--sudca-v20-green) !important;text-decoration:underline !important;text-underline-offset:3px}
/* Kill the previous fake credit pseudo-element. */
.sudca-search-box::after{content:none !important;display:none !important}

/* ---------- FOOTER: CLEAN, FULL-BLEED, NO DECORATIVE IMAGE ---------- */
.sudca-footer{
  width:100% !important;margin:0 !important;
  background:linear-gradient(145deg,#050B08 0%,#09130D 55%,#0E2412 100%) !important;
  background-image:none !important;
  color:#fff !important;
  border-top:1px solid rgba(114,181,45,.22) !important;
}
.sudca-footer > .sudca-container{width:min(calc(100% - 72px),1440px) !important;margin-inline:auto !important}
.sudca-footer-grid-v19{gap:0 42px !important;padding:66px 0 52px !important}
.sudca-footer-column h3{font-size:13px !important;font-weight:900 !important;margin-bottom:18px !important;color:#fff !important}
.sudca-footer-column h3::after{background:var(--sudca-v20-green) !important}
.sudca-footer-column a{font-size:12px !important;font-weight:800 !important;line-height:1.55 !important;color:rgba(255,255,255,.72) !important;padding-block:4px !important}
.sudca-footer-column a:hover{color:var(--sudca-v20-lime-soft) !important;transform:translateX(4px)}
.sudca-footer-brand>p{font-weight:600 !important;color:rgba(255,255,255,.66) !important;line-height:1.85 !important}
.sudca-footer-icon-links a{color:rgba(255,255,255,.82) !important}
.sudca-footer-icon-links a:hover{background:var(--sudca-v20-green) !important;border-color:var(--sudca-v20-green) !important;color:#fff !important}
.sudca-footer-conversation{padding:26px 0 !important}
.sudca-footer-conversation p{font-weight:600 !important;color:rgba(255,255,255,.68) !important}
.sudca-footer-conversation a{font-weight:900 !important;color:var(--sudca-v20-lime-soft) !important}
.sudca-footer-bottom{padding:24px 0 !important}
.sudca-footer-bottom p{font-weight:700 !important;color:rgba(255,255,255,.58) !important}
.sudca-footer-credit a{color:var(--sudca-v20-lime-soft) !important;font-weight:900 !important}
.sudca-footer-credit a:hover{color:#fff !important;text-decoration:underline !important;text-underline-offset:3px}

@media(max-width:1180px) and (min-width:961px){
  .sudca-nav-link{font-size:12px !important;padding-inline:8px !important}
  .sudca-desktop-nav{gap:0 !important}
  .sudca-header-actions{margin-left:5px !important}
  .sudca-partner-button{padding-inline:12px !important;font-size:10px !important}
}
@media(max-width:960px){
  body.home .sudca-main-header:not(.is-scrolled),body.front-page .sudca-main-header:not(.is-scrolled){background:rgba(7,22,12,.78) !important}
  body.home .sudca-main-header.is-scrolled,body.front-page .sudca-main-header.is-scrolled{background:#fff !important}
  .sudca-search-suggestions{grid-template-columns:1fr !important}
  .sudca-search-box form{grid-template-columns:24px 1fr !important}
  .sudca-search-box form button{grid-column:1 / -1;margin-top:8px;width:100%}
  .sudca-footer > .sudca-container{width:min(calc(100% - 36px),1440px) !important}
}
@media(max-width:600px){
  .sudca-search-overlay{padding:12px !important}
  .sudca-search-box{max-height:calc(100dvh - 24px) !important;padding:24px 18px !important;border-radius:16px !important}
  .sudca-search-box form{padding:8px 12px !important;min-height:68px !important}
  .sudca-search-box form input{font-size:16px !important}
  .sudca-footer-grid-v19{padding:38px 0 28px !important}
}


/* =========================================================
   V21.0 — TYPOGRAPHY + FOOTER POLISH
   Stronger navigation without sacrificing layout; clean
   institutional footer with no photographic/illustrative layer.
   ========================================================= */

/* Desktop navigation: larger, confident and still compact enough
   to accommodate the full architecture. */
.sudca-desktop-nav{gap:4px !important}
.sudca-nav-link{
  font-size:17px !important;
  font-weight:900 !important;
  letter-spacing:-.015em !important;
  padding-left:16px !important;
  padding-right:16px !important;
}
.sudca-nav-dropdown .sudca-nav-link{
  padding-right:8px !important;
}
.sudca-dropdown-arrow,.sudca-mega-arrow{
  width:30px !important;
}
.sudca-chevron{
  width:11px !important;
  height:8px !important;
  color:var(--sudca-v20-green,#72B52D) !important;
  stroke:currentColor;
}
.sudca-nav-dropdown:hover .sudca-chevron,
.sudca-nav-dropdown:focus-within .sudca-chevron,
.sudca-nav-dropdown.is-open .sudca-chevron,
.sudca-nav-dropdown.is-active .sudca-chevron{
  color:var(--sudca-v20-green-dark,#4F861D) !important;
}

/* Keep medium desktops balanced: typography stays bold, spacing
   compresses before the header can collide. */
@media (max-width:1280px) and (min-width:961px){
  .sudca-nav-link{font-size:15px !important;padding-inline:11px !important}
  .sudca-nav-dropdown .sudca-nav-link{padding-right:5px !important}
  .sudca-desktop-nav{gap:1px !important}
}
@media (max-width:1080px) and (min-width:961px){
  .sudca-nav-link{font-size:14px !important;padding-inline:8px !important}
  .sudca-dropdown-arrow,.sudca-mega-arrow{width:24px !important}
}

/* Footer: hard full-bleed dark surface. Remove every inherited
   image/illustration layer that can turn the section white/busy. */
.sudca-footer,
.sudca-footer::before,
.sudca-footer::after,
.sudca-footer-tagline,
.sudca-footer-cta,
.sudca-footer-grid,
.sudca-footer-partners,
.sudca-footer-conversation,
.sudca-footer-bottom{
  background-image:none !important;
}
.sudca-footer{
  background:linear-gradient(145deg,#050B08 0%,#08150E 52%,#0D2415 100%) !important;
  color:#fff !important;
}
.sudca-footer::before,.sudca-footer::after{display:none !important}
.sudca-footer-tagline{
  background:linear-gradient(135deg,#0B2517 0%,#123B27 100%) !important;
  padding:72px 0 62px !important;
}
.sudca-footer-tagline-inner{
  align-items:center !important;
  gap:42px !important;
}
.sudca-footer-tagline h2{
  font-size:clamp(34px,4.2vw,52px) !important;
  font-weight:900 !important;
  line-height:1.04 !important;
  color:#fff !important;
  margin-top:10px !important;
}
.sudca-footer-tagline .sudca-footer-eyebrow{
  color:var(--sudca-v20-lime-soft,#A9D66F) !important;
  font-weight:900 !important;
}
.sudca-footer-cta-button{
  margin-top:18px !important;
  min-height:58px !important;
  padding-inline:27px !important;
  font-size:13px !important;
  font-weight:900 !important;
  background:var(--sudca-v20-green,#72B52D) !important;
  color:#071008 !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}
.sudca-footer-cta-button:hover{
  background:#A9D66F !important;
  color:#071008 !important;
  transform:translateY(-3px) !important;
}

.sudca-footer-grid-v19{
  grid-template-columns:1.35fr repeat(3,minmax(0,1fr)) !important;
  gap:0 48px !important;
  padding:74px 0 58px !important;
}
.sudca-footer-brand>p{
  font-size:15px !important;
  font-weight:650 !important;
  line-height:1.85 !important;
  color:rgba(255,255,255,.72) !important;
}
.sudca-footer-column{gap:13px !important}
.sudca-footer-column h3{
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  margin-bottom:9px !important;
  color:#fff !important;
}
.sudca-footer-column h3::after{height:3px !important;width:30px !important;background:var(--sudca-v20-green,#72B52D) !important}
.sudca-footer-column a{
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.55 !important;
  color:rgba(255,255,255,.78) !important;
  padding-block:3px !important;
}
.sudca-footer-column a:hover{color:#A9D66F !important;transform:translateX(4px)}
.sudca-footer-contact a{font-size:14px !important;font-weight:800 !important}
.sudca-office strong{font-weight:900 !important;color:#fff !important}
.sudca-office span{font-weight:650 !important;color:rgba(255,255,255,.52) !important}

/* Real semantic contact icons: consistent, visible and modern. */
.sudca-footer-link-icon{
  width:29px !important;height:29px !important;
  display:inline-grid !important;place-items:center !important;
  margin-right:8px !important;
  border:1px solid rgba(114,181,45,.30) !important;
  border-radius:9px !important;
  background:rgba(114,181,45,.10) !important;
  color:#A9D66F !important;
  vertical-align:-8px !important;
  transition:.2s ease !important;
}
.sudca-footer-column a:hover .sudca-footer-link-icon{
  background:var(--sudca-v20-green,#72B52D) !important;
  border-color:var(--sudca-v20-green,#72B52D) !important;
  color:#071008 !important;
  transform:none !important;
}
.sudca-footer-link-icon svg{width:15px !important;height:15px !important}

.sudca-footer-icon-links{gap:10px !important;margin-top:23px !important}
.sudca-footer-icon-links a{width:40px !important;height:40px !important;border-radius:11px !important;background:rgba(255,255,255,.055) !important;border:1px solid rgba(255,255,255,.13) !important;color:#A9D66F !important}
.sudca-footer-icon-links a:hover{background:var(--sudca-v20-green,#72B52D) !important;border-color:var(--sudca-v20-green,#72B52D) !important;color:#071008 !important}
.sudca-footer-icon-links svg{width:17px !important;height:17px !important}

.sudca-footer-conversation{
  padding:30px 0 !important;
  background:rgba(114,181,45,.055) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}
.sudca-footer-conversation span{font-weight:900 !important;color:#A9D66F !important}
.sudca-footer-conversation p{font-size:14px !important;font-weight:650 !important;color:rgba(255,255,255,.72) !important}
.sudca-footer-conversation a{font-weight:900 !important;color:#A9D66F !important}
.sudca-footer-bottom{padding:25px 0 !important;background:#030906 !important}
.sudca-footer-bottom p{font-weight:700 !important;color:rgba(255,255,255,.58) !important}
.sudca-footer-credit a{font-weight:900 !important;color:#A9D66F !important}

@media(max-width:960px){
  .sudca-footer-tagline{padding:58px 0 48px !important}
  .sudca-footer-tagline-inner{gap:24px !important;align-items:flex-start !important}
  .sudca-footer-cta-button{margin-top:8px !important}
  .sudca-footer-grid-v19{gap:28px 26px !important;padding:52px 0 40px !important}
}
@media(max-width:600px){
  .sudca-nav-link{font-size:16px !important}
  .sudca-footer-tagline h2{font-size:clamp(32px,9vw,46px) !important}
  .sudca-footer-cta-button{width:100% !important;margin-top:8px !important}
  .sudca-footer-grid-v19{grid-template-columns:1fr !important;gap:0 !important}
  .sudca-footer-grid-v19>.sudca-footer-column,.sudca-footer-grid-v19>.sudca-footer-brand{padding:25px 0 !important}
}

/* =========================================================
   V21.0 REFINEMENT — RESPONSIVE NAV + CLEAN FULL-WIDTH FOOTER
   ========================================================= */

/* Desktop navigation: large and bold without allowing the logo,
   navigation and actions to collide on narrower desktop widths. */
.sudca-main-header .sudca-header-inner{
  gap:clamp(10px,1.15vw,22px);
}
.sudca-desktop-nav{
  flex:1 1 auto;
  min-width:0;
  justify-content:flex-end;
  gap:clamp(1px,.35vw,6px);
}
.sudca-nav-link{
  flex:0 1 auto;
  padding-inline:clamp(8px,.9vw,20px);
  font-size:clamp(13px,1vw,16px);
  font-weight:900;
  letter-spacing:-.012em;
}
.sudca-nav-link::after{
  left:clamp(8px,.8vw,18px);
  right:clamp(8px,.8vw,18px);
}

/* Keep the brand authoritative while giving navigation the room it needs. */
@media (max-width:1320px) and (min-width:961px){
  .sudca-brand{gap:10px}
  .sudca-brand img{width:56px;height:56px}
  .sudca-brand-text strong{font-size:clamp(1.35rem,1.7vw,1.55rem)}
  .sudca-brand-text small{font-size:7px}
  .sudca-header-inner{gap:8px}
  .sudca-nav-link{padding-inline:7px;font-size:13.5px}
  .sudca-nav-link::after{left:7px;right:7px}
}

@media (max-width:1120px) and (min-width:961px){
  .sudca-brand img{width:48px;height:48px}
  .sudca-brand-text strong{font-size:1.28rem}
  .sudca-brand-text small{display:none}
  .sudca-nav-link{padding-inline:5px;font-size:12.5px;gap:5px}
  .sudca-header-actions{gap:6px}
}

/* Sub-menu / mega-menu indicators: visible brand accent with a calm hover state. */
.sudca-nav-dropdown .sudca-dropdown-arrow svg,
.sudca-nav-dropdown .sudca-mega-arrow svg{
  color:var(--sudca-v9-600,#72B52D) !important;
  stroke:currentColor !important;
  transition:color var(--sudca-transition),transform var(--sudca-transition);
}
.sudca-nav-dropdown:hover > .sudca-nav-link .sudca-dropdown-arrow svg,
.sudca-nav-dropdown:hover > .sudca-nav-link .sudca-mega-arrow svg,
.sudca-nav-dropdown.is-open > .sudca-nav-link .sudca-dropdown-arrow svg,
.sudca-nav-dropdown.is-open > .sudca-nav-link .sudca-mega-arrow svg{
  color:var(--sudca-v9-500,#159447) !important;
  transform:translateY(1px);
}

/* ---------- Footer: remove every decorative background visual ---------- */
.sudca-footer,
.sudca-footer::before,
.sudca-footer::after{
  background-image:none !important;
}
.sudca-footer::before,
.sudca-footer::after{
  display:none !important;
  content:none !important;
}
.sudca-footer{
  background:#06110c !important;
  border-top:1px solid rgba(114,181,45,.24) !important;
}

/* Footer CTA/tagline: clean full-width band, with deliberate breathing room
   between heading and CTA. */
.sudca-footer-tagline{
  width:100%;
  background:linear-gradient(135deg,#0b2418 0%,#07170f 100%) !important;
  padding:68px 0 62px !important;
}
.sudca-footer-tagline-inner{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:46px !important;
}
.sudca-footer-tagline h2{
  margin-top:16px !important;
  margin-bottom:0 !important;
  font-size:clamp(32px,4vw,50px) !important;
  font-weight:900 !important;
}
.sudca-footer-tagline .sudca-footer-cta-button{
  margin-top:24px;
  min-height:56px;
  white-space:nowrap;
}

/* Conversation and legal/copyright strips become true full-width,
   clean bands rather than inheriting the constrained content background. */
.sudca-footer-conversation,
.sudca-footer-bottom{
  position:relative;
  width:100%;
}
.sudca-footer-conversation{
  margin-top:0 !important;
  padding:32px max(36px,calc((100vw - var(--sudca-container))/2)) !important;
  background:#091a12 !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  display:block !important;
}
.sudca-footer-conversation span{
  display:block;
  margin-bottom:10px;
  color:#9ad94b !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase;
}
.sudca-footer-conversation p{
  color:rgba(255,255,255,.78) !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.65 !important;
}
.sudca-footer-conversation a{
  color:#9ad94b !important;
  font-weight:900 !important;
  text-decoration:none;
  border-bottom:1px solid rgba(154,217,75,.35);
  transition:color var(--sudca-transition),border-color var(--sudca-transition);
}
.sudca-footer-conversation a:hover{
  color:#c4ef78 !important;
  border-bottom-color:#c4ef78;
}

.sudca-footer-bottom{
  margin:0 !important;
  padding:24px max(36px,calc((100vw - var(--sudca-container))/2)) !important;
  background:#040c08 !important;
  border-top:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.sudca-footer-bottom p{
  color:rgba(255,255,255,.58) !important;
  font-size:12px !important;
  font-weight:800 !important;
}
.sudca-footer-bottom a{
  color:#9ad94b !important;
  font-weight:900 !important;
  transition:color var(--sudca-transition),text-decoration-color var(--sudca-transition);
}
.sudca-footer-bottom a:hover{
  color:#c4ef78 !important;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Stronger footer hierarchy without making every element visually heavy. */
.sudca-footer-column h3{
  font-size:13px !important;
  font-weight:900 !important;
}
.sudca-footer-column a{
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.5 !important;
}
.sudca-footer-brand > p{
  font-weight:600 !important;
  line-height:1.8 !important;
}
.sudca-footer-logo strong{font-weight:900 !important}

@media (max-width:760px){
  .sudca-footer-tagline-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:18px !important;
  }
  .sudca-footer-tagline{padding:52px 0 48px !important}
  .sudca-footer-tagline .sudca-footer-cta-button{
    margin-top:6px;
    width:100%;
  }
  .sudca-footer-conversation,
  .sudca-footer-bottom{
    padding-left:22px !important;
    padding-right:22px !important;
  }
  .sudca-footer-bottom{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:9px !important;
  }
}

@media (max-width:420px){
  .sudca-footer-conversation,
  .sudca-footer-bottom{padding-left:17px !important;padding-right:17px !important}
  .sudca-footer-conversation p{font-size:13px !important}
  .sudca-footer-bottom p{font-size:10.5px !important}
}

/* V21.0: no horizontal overflow from navigation or footer bands. */
html,body{max-width:100%;overflow-x:hidden}


/* =========================================================
   V21 — STRUCTURAL HEADER / FOOTER REFINEMENT
   The previous versions accumulated breakpoint overrides. This
   layer establishes one deterministic responsive architecture:
   desktop navigation is used only when there is enough measured
   horizontal room; below 1120px the mobile off-canvas takes over.
   This prevents the logo and navigation from ever occupying the
   same horizontal space.
   ========================================================= */

:root{
  --sudca-v21-green:#72B52D;
  --sudca-v21-green-dark:#3F7D16;
  --sudca-v21-lime:#A9D66F;
  --sudca-v21-deep:#174D0B;
  --sudca-v21-navy:#0A1728;
  --sudca-v21-header:88px;
  --sudca-v21-header-shrink:60px;
}

/* ---------- HEADER: stable three-zone layout ---------- */
.sudca-main-header .sudca-header-inner{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:clamp(16px,1.8vw,32px) !important;
  min-height:var(--sudca-v21-header) !important;
}
.sudca-main-header.is-scrolled .sudca-header-inner{
  min-height:var(--sudca-v21-header-shrink) !important;
}

.sudca-brand{
  min-width:0 !important;
  max-width:100% !important;
  overflow:visible !important;
}
.sudca-brand-text{min-width:0 !important}
.sudca-brand-text strong{white-space:nowrap !important}

.sudca-desktop-nav{
  min-width:0 !important;
  width:100% !important;
  margin-left:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:clamp(1px,.35vw,7px) !important;
  overflow:visible !important;
}

/* Confident typography on wide displays. */
.sudca-nav-link{
  flex:0 1 auto !important;
  min-width:0 !important;
  padding-inline:clamp(9px,1vw,17px) !important;
  font-size:clamp(14px,.98vw,17px) !important;
  font-weight:900 !important;
  letter-spacing:-.015em !important;
}
.sudca-nav-dropdown .sudca-nav-link{padding-right:7px !important}
.sudca-dropdown-arrow,.sudca-mega-arrow{
  flex:0 0 26px !important;
  width:26px !important;
}
.sudca-header-actions{
  min-width:max-content !important;
  margin-left:0 !important;
  gap:9px !important;
}

/* Give the logo a little more breathing room at medium desktop sizes. */
@media (max-width:1280px) and (min-width:1121px){
  .sudca-main-header .sudca-header-inner{
    column-gap:14px !important;
  }
  .sudca-brand{gap:10px !important}
  .sudca-brand img{width:50px !important;height:50px !important}
  .sudca-brand-text strong{font-size:1.32rem !important}
  .sudca-nav-link{
    padding-inline:7px !important;
    font-size:14px !important;
  }
  .sudca-nav-dropdown .sudca-nav-link{padding-right:4px !important}
  .sudca-dropdown-arrow,.sudca-mega-arrow{flex-basis:22px !important;width:22px !important}
  .sudca-header-actions{gap:7px !important}
  .sudca-partner-button{padding-inline:12px !important;font-size:10.5px !important}
  .sudca-search-trigger{width:40px !important;height:40px !important}
}

/* Hard responsive hand-off. Below this width the mobile architecture
   is safer and cleaner than attempting to compress seven nav items. */
@media (max-width:1120px){
  .sudca-main-header .sudca-header-inner{
    display:flex !important;
    min-height:78px !important;
    gap:12px !important;
  }
  .sudca-main-header.is-scrolled .sudca-header-inner{min-height:60px !important}
  .sudca-desktop-nav,.sudca-header-actions{display:none !important}
  .sudca-mobile-actions{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-left:auto !important;
    flex:0 0 auto !important;
  }
  .sudca-brand{flex:1 1 auto !important;min-width:0 !important}
  .sudca-brand-text{overflow:hidden !important}
  .sudca-brand-text strong{font-size:1.35rem !important}
  .sudca-brand-text small{overflow:hidden;text-overflow:ellipsis}
}

@media (max-width:600px){
  .sudca-main-header .sudca-header-inner{min-height:72px !important;gap:9px !important}
  .sudca-main-header.is-scrolled .sudca-header-inner{min-height:58px !important}
  .sudca-brand{gap:9px !important}
  .sudca-brand img{width:44px !important;height:44px !important}
  .sudca-main-header.is-scrolled .sudca-brand img{width:36px !important;height:36px !important}
  .sudca-brand-text strong{font-size:1.16rem !important}
  .sudca-brand-text small{font-size:6.5px !important}
  .sudca-mobile-actions{gap:6px !important}
  .sudca-mobile-actions .sudca-search-trigger{width:40px !important;height:40px !important}
  .sudca-menu-toggle{width:42px !important;height:42px !important}
}

/* ---------- INDICATORS ---------- */
.sudca-chevron{
  color:var(--sudca-v21-green) !important;
  stroke:currentColor !important;
}
.sudca-nav-dropdown:hover .sudca-chevron,
.sudca-nav-dropdown:focus-within .sudca-chevron,
.sudca-nav-dropdown.is-open .sudca-chevron,
.sudca-nav-dropdown.is-active .sudca-chevron{
  color:var(--sudca-v21-lime) !important;
}

/* ---------- MEGA MENU CONNECTION ---------- */
.sudca-mega-panel,.sudca-simple-dropdown{
  top:calc(100% - 1px) !important;
  margin-top:0 !important;
  transform:translate(-50%,10px) !important;
}
.sudca-mega-wrap:hover .sudca-mega-panel,
.sudca-mega-wrap:focus-within .sudca-mega-panel,
.sudca-mega-wrap.is-open .sudca-mega-panel,
.sudca-nav-dropdown:hover .sudca-simple-dropdown,
.sudca-nav-dropdown:focus-within .sudca-simple-dropdown,
.sudca-nav-dropdown.is-open .sudca-simple-dropdown{
  transform:translate(-50%,0) !important;
}

/* ---------- FOOTER: clean full-bleed bands ---------- */
.sudca-footer,
.sudca-footer-tagline,
.sudca-footer-conversation,
.sudca-footer-bottom{
  background-image:none !important;
}
.sudca-footer{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  overflow:hidden !important;
  background:#06110B !important;
  color:#fff !important;
}
.sudca-footer::before,.sudca-footer::after{display:none !important}
.sudca-footer > .sudca-container{
  width:min(calc(100% - 72px),1440px) !important;
  max-width:none !important;
  margin-inline:auto !important;
}

.sudca-footer-tagline{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:#0A2014 !important;
  border-bottom:1px solid rgba(169,214,111,.18) !important;
}
.sudca-footer-tagline-inner{
  width:min(calc(100vw - 72px),1440px) !important;
  margin-inline:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:48px !important;
}
.sudca-footer-tagline h2{
  margin-top:12px !important;
  margin-bottom:0 !important;
  font-weight:900 !important;
}
.sudca-footer-cta-button{margin-top:0 !important;flex:0 0 auto !important}

.sudca-footer-grid-v19{
  width:100% !important;
  background:transparent !important;
}
.sudca-footer-conversation,
.sudca-footer-bottom{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
.sudca-footer-conversation{
  padding:30px max(36px,calc((100vw - 1440px)/2 + 36px)) !important;
  background:#091A10 !important;
}
.sudca-footer-bottom{
  padding:24px max(36px,calc((100vw - 1440px)/2 + 36px)) !important;
  background:#030906 !important;
}
.sudca-footer-conversation span,
.sudca-footer-conversation p,
.sudca-footer-bottom p{font-weight:800 !important}
.sudca-footer-conversation a,
.sudca-footer-bottom a{
  color:var(--sudca-v21-lime) !important;
  font-weight:900 !important;
}

@media(max-width:760px){
  .sudca-footer > .sudca-container{width:calc(100% - 32px) !important}
  .sudca-footer-tagline-inner{width:calc(100vw - 32px) !important;align-items:flex-start !important;flex-direction:column !important;gap:24px !important}
  .sudca-footer-cta-button{width:100% !important}
  .sudca-footer-conversation{padding:28px 16px !important}
  .sudca-footer-bottom{padding:22px 16px !important;flex-direction:column !important;align-items:flex-start !important;gap:9px !important}
}

/* Keep accessibility and keyboard focus obvious. */
.sudca-nav-link:focus-visible,
.sudca-dropdown-arrow:focus-visible,
.sudca-mega-arrow:focus-visible,
.sudca-search-trigger:focus-visible,
.sudca-menu-toggle:focus-visible,
.sudca-footer-column a:focus-visible{
  outline:2px solid var(--sudca-v21-green) !important;
  outline-offset:3px !important;
}


/* =========================================================
   SUDCA V22 — FINAL REFINEMENT LAYER
   Built on V21.0; additive overrides only.
   Focus: page sticky header, strong submenu indicators,
   advanced mega menus, platform search, and clean footer.
   ========================================================= */

:root{
  --sudca-v22-lime:#72B52D;
  --sudca-v22-lime-bright:#8BCB43;
  --sudca-v22-lime-soft:#EAF5D9;
  --sudca-v22-forest:#123B25;
  --sudca-v22-ink:#07100B;
  --sudca-v22-blue:#0A1526;
  --sudca-v22-line:rgba(114,181,45,.24);
}

/* ---------------------------------------------------------
   01. INNER-PAGE STICKY HEADER — HARDENED
   --------------------------------------------------------- */
body:not(.home):not(.front-page) .sudca-main-header{
  position:sticky !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  z-index:99990 !important;
  width:100% !important;
}
body.admin-bar:not(.home):not(.front-page) .sudca-main-header{
  top:32px !important;
}
@media(max-width:782px){
  body.admin-bar:not(.home):not(.front-page) .sudca-main-header{
    top:46px !important;
  }
}

/* Keep the homepage's transparent hero header exactly where it belongs. */
body.home .sudca-main-header:not(.is-scrolled),
body.front-page .sudca-main-header:not(.is-scrolled){
  z-index:99990 !important;
}

/* ---------------------------------------------------------
   02. LARGE, BOLD NAVIGATION WITHOUT COLLISION
   Uses fluid sizing so the logo, nav and actions retain room.
   --------------------------------------------------------- */
.sudca-header-inner{
  gap:clamp(12px,1.5vw,28px) !important;
}
.sudca-brand{
  flex:0 0 auto !important;
  min-width:clamp(190px,17vw,245px) !important;
}
.sudca-desktop-nav{
  flex:1 1 auto !important;
  justify-content:flex-end !important;
  min-width:0 !important;
  gap:clamp(2px,.45vw,9px) !important;
}
.sudca-nav-link{
  font-size:clamp(13px,.92vw,16px) !important;
  font-weight:900 !important;
  padding-inline:clamp(10px,.85vw,18px) !important;
}
.sudca-nav-dropdown .sudca-nav-link{
  padding-right:clamp(5px,.4vw,9px) !important;
}
.sudca-dropdown-arrow,
.sudca-mega-arrow{
  width:28px !important;
  min-width:28px !important;
}

/* On compact desktop widths, preserve hierarchy instead of allowing overlap. */
@media (min-width:1121px) and (max-width:1320px){
  .sudca-brand{min-width:205px !important;}
  .sudca-brand img{width:56px;height:56px;}
  .sudca-brand-text strong{font-size:1.48rem;}
  .sudca-nav-link{font-size:13px !important;padding-inline:8px !important;}
  .sudca-dropdown-arrow,.sudca-mega-arrow{width:24px !important;min-width:24px !important;}
  .sudca-partner-button{padding-inline:13px !important;font-size:11px !important;}
  .sudca-search-trigger{width:40px;height:40px;}
}

/* ---------------------------------------------------------
   03. SUBMENU INDICATORS — STRONG LIME CONTRAST
   --------------------------------------------------------- */
.sudca-chevron,
.sudca-dropdown-arrow svg,
.sudca-mega-arrow svg{
  color:var(--sudca-v22-lime) !important;
  stroke:currentColor !important;
  filter:drop-shadow(0 0 5px rgba(114,181,45,.18));
}
.sudca-dropdown-arrow:hover svg,
.sudca-mega-arrow:hover svg,
.sudca-nav-dropdown:hover .sudca-chevron,
.sudca-nav-dropdown:focus-within .sudca-chevron,
.sudca-nav-dropdown.is-open .sudca-chevron,
.sudca-nav-dropdown.is-open .sudca-dropdown-arrow svg,
.sudca-nav-dropdown.is-open .sudca-mega-arrow svg{
  color:var(--sudca-v22-lime-bright) !important;
}
body.home .sudca-main-header:not(.is-scrolled) .sudca-chevron,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-chevron,
body.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow svg,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow svg,
body.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow svg,
body.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow svg{
  color:var(--sudca-v22-lime-bright) !important;
}

/* ---------------------------------------------------------
   04. MEGA MENUS — CLEAN PLATFORM CONNECTION
   No gap; strong top edge; intentional left breathing room.
   --------------------------------------------------------- */
.sudca-mega-panel{
  top:calc(100% - 1px) !important;
  border-top:3px solid var(--sudca-v22-lime) !important;
  border-left-color:rgba(18,59,37,.10) !important;
  border-right-color:rgba(18,59,37,.10) !important;
  border-bottom-color:rgba(18,59,37,.14) !important;
  box-shadow:0 24px 70px rgba(7,16,11,.18),0 4px 0 rgba(114,181,45,.05) !important;
  overflow:hidden !important;
}
.sudca-mega-content{
  padding-left:clamp(34px,4vw,74px) !important;
  padding-right:clamp(28px,3.2vw,56px) !important;
}
.sudca-mega-list{
  padding-left:0 !important;
}
.sudca-mega-item{
  min-height:72px !important;
  border-radius:12px !important;
  transition:transform 180ms ease,background 180ms ease,border-color 180ms ease !important;
}
.sudca-mega-item:hover,
.sudca-mega-item:focus-visible,
.sudca-mega-item.is-active{
  transform:translateX(5px) !important;
  background:var(--sudca-v22-lime-soft) !important;
}
.sudca-mega-item strong,
.sudca-mega-heading,
.sudca-mega-view-all{
  font-weight:900 !important;
}

/* Projects mega menu gets the same left breathing room and hierarchy. */
.sudca-projects-mega-panel .sudca-projects-mega-content{
  padding-left:clamp(34px,4vw,74px) !important;
  padding-right:clamp(28px,3.2vw,56px) !important;
}
.sudca-projects-mega-column a{
  font-weight:850 !important;
}
.sudca-projects-mega-column a:hover{
  color:var(--sudca-v22-lime) !important;
  transform:translateX(4px);
}

/* Desktop-only hover/open behavior is retained; mobile uses its accordion. */
@media(max-width:1120px){
  .sudca-mega-panel{display:none !important;}
}

/* ---------------------------------------------------------
   05. ADVANCED SEARCH PLATFORM
   Wide, layered, keyboard-friendly, visually connected to
   the same lime/forest system.
   --------------------------------------------------------- */
.sudca-search-overlay{
  background:rgba(4,10,7,.78) !important;
  backdrop-filter:blur(18px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(120%) !important;
  padding:clamp(18px,4vw,56px) !important;
}
.sudca-search-box{
  width:min(1180px,100%) !important;
  max-height:min(90vh,920px) !important;
  overflow:auto !important;
  padding:clamp(34px,5vw,72px) !important;
  border:1px solid rgba(114,181,45,.20) !important;
  border-top:4px solid var(--sudca-v22-lime) !important;
  border-radius:22px !important;
  background:linear-gradient(145deg,#fff 0%,#f8fbf6 100%) !important;
  box-shadow:0 35px 110px rgba(0,0,0,.35) !important;
}
.sudca-search-box h2{
  font-size:clamp(34px,5vw,64px) !important;
  font-weight:900 !important;
  letter-spacing:-.055em !important;
}
.sudca-search-box form{
  min-height:72px !important;
  margin-top:30px !important;
  border:1px solid rgba(18,59,37,.16) !important;
  border-bottom:3px solid var(--sudca-v22-lime) !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 12px 35px rgba(7,16,11,.07) !important;
}
.sudca-search-box input{
  font-size:clamp(16px,2vw,21px) !important;
  font-weight:650 !important;
}
.sudca-search-box form button{
  min-height:50px !important;
  padding-inline:24px !important;
  border-radius:10px !important;
  background:var(--sudca-v22-lime) !important;
  color:#07100B !important;
  font-weight:900 !important;
}
.sudca-search-box form button:hover{
  background:var(--sudca-v22-lime-bright) !important;
}
.sudca-search-suggestions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:30px !important;
  margin-top:34px !important;
}
.sudca-search-group{
  padding:22px !important;
  border:1px solid rgba(18,59,37,.10) !important;
  border-radius:16px !important;
  background:#fff !important;
}
.sudca-search-group > span{
  font-weight:900 !important;
  color:var(--sudca-v22-forest) !important;
}
.sudca-search-chips a{
  font-weight:800 !important;
  border-color:rgba(18,59,37,.13) !important;
}
.sudca-search-chips a:hover{
  background:var(--sudca-v22-lime-soft) !important;
  color:var(--sudca-v22-forest) !important;
  border-color:rgba(114,181,45,.40) !important;
}
.sudca-search-credit{
  margin-top:34px !important;
  padding-top:22px !important;
  border-top:1px solid rgba(18,59,37,.10) !important;
  font-weight:750 !important;
}
.sudca-search-credit a{
  color:var(--sudca-v22-lime) !important;
  font-weight:900 !important;
  text-decoration:none !important;
}
.sudca-search-credit a:hover{
  color:var(--sudca-v22-forest) !important;
  text-decoration:underline !important;
  text-underline-offset:4px !important;
}
@media(max-width:760px){
  .sudca-search-suggestions{grid-template-columns:1fr !important;}
  .sudca-search-box form{display:grid !important;grid-template-columns:1fr auto !important;}
  .sudca-search-form-icon{display:none !important;}
  .sudca-search-box input{min-width:0 !important;}
}
@media(max-width:520px){
  .sudca-search-overlay{padding:10px !important;}
  .sudca-search-box{padding:26px 20px !important;border-radius:16px !important;}
  .sudca-search-box form{grid-template-columns:1fr !important;padding:8px !important;}
  .sudca-search-box form button{width:100% !important;}
}

/* ---------------------------------------------------------
   06. FOOTER — SOURCE-GROUNDED LEGAL + PARTNER STRIP
   --------------------------------------------------------- */
.sudca-footer{
  background:linear-gradient(145deg,#050c15 0%,#08150f 55%,#0b2117 100%) !important;
}
.sudca-footer-tagline{
  background:linear-gradient(90deg,rgba(114,181,45,.07),rgba(255,255,255,0),rgba(114,181,45,.05)) !important;
}
.sudca-footer-tagline-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:36px !important;
}
.sudca-footer-tagline h2{font-weight:900 !important;}
.sudca-footer-cta-button{
  margin-top:18px !important;
  background:var(--sudca-v22-lime) !important;
  color:#07100B !important;
  font-weight:900 !important;
}
.sudca-footer-cta-button:hover{
  background:#fff !important;
  color:#07100B !important;
}
.sudca-footer-grid{
  align-items:start !important;
}
.sudca-footer-column h3{
  font-size:13px !important;
  font-weight:900 !important;
}
.sudca-footer-column a,
.sudca-footer-brand > p,
.sudca-footer-contact a{
  font-weight:750 !important;
}
.sudca-footer-partners{
  background:rgba(255,255,255,.025) !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  padding:34px 0 !important;
}
.sudca-footer-partners b{
  color:rgba(255,255,255,.72) !important;
  font-weight:850 !important;
}
.sudca-footer-conversation{
  width:100% !important;
  padding:30px 0 !important;
  background:transparent !important;
}
.sudca-footer-conversation p{
  font-weight:700 !important;
}
.sudca-footer-conversation a{
  color:var(--sudca-v22-lime) !important;
  font-weight:900 !important;
}
.sudca-footer-bottom{
  width:100% !important;
  padding:25px 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  background:transparent !important;
}
.sudca-footer-bottom p{
  font-weight:700 !important;
}
.sudca-footer-bottom a{
  color:var(--sudca-v22-lime) !important;
}
.sudca-footer-bottom a:hover{
  color:#fff !important;
  text-decoration:underline !important;
  text-underline-offset:4px !important;
}

/* Legal data is now presented as verified source-backed facts only. */
.sudca-legal-column{
  min-width:0 !important;
}
.sudca-legal-stat{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
  width:100% !important;
  padding:10px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.sudca-legal-stat b{
  color:#fff !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}
.sudca-legal-stat span{
  color:rgba(255,255,255,.64) !important;
  font-size:12px !important;
  line-height:1.55 !important;
  font-weight:650 !important;
}
.sudca-legal-note{
  margin-top:12px !important;
  color:rgba(255,255,255,.48) !important;
  font-size:11px !important;
  line-height:1.7 !important;
  font-weight:600 !important;
}

/* Footer link icons: consistent modern stroke treatment. */
.sudca-footer-link-icon{
  display:inline-grid !important;
  place-items:center !important;
  width:26px !important;
  height:26px !important;
  margin-right:7px !important;
  border:1px solid rgba(114,181,45,.25) !important;
  border-radius:8px !important;
  color:var(--sudca-v22-lime) !important;
  vertical-align:middle !important;
}
.sudca-footer-link-icon svg{width:14px !important;height:14px !important;}
.sudca-footer-column a:hover .sudca-footer-link-icon{
  background:var(--sudca-v22-lime) !important;
  color:#07100B !important;
  border-color:var(--sudca-v22-lime) !important;
}

@media(max-width:980px){
  .sudca-footer-tagline-inner{align-items:flex-start !important;flex-direction:column !important;}
  .sudca-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:42px 30px !important;}
  .sudca-footer-brand{grid-column:1/-1 !important;}
}
@media(max-width:620px){
  .sudca-footer-grid{grid-template-columns:1fr !important;gap:34px !important;}
  .sudca-footer-brand{grid-column:auto !important;}
  .sudca-footer-bottom{flex-direction:column !important;align-items:flex-start !important;gap:10px !important;}
  .sudca-footer-conversation{display:block !important;}
  .sudca-footer-conversation p{margin-top:8px !important;}
}

/* ---------------------------------------------------------
   07. REMOVE LEGACY DECORATIVE FOOTER VISUALS
   --------------------------------------------------------- */
.sudca-footer::before,
.sudca-footer::after,
.sudca-footer-tagline::before,
.sudca-footer-tagline::after{
  content:none !important;
  background-image:none !important;
}

/* =========================================================
   SUDCA GLOBAL V23 — ACTUAL FINAL FIX LAYER
   These rules intentionally override earlier V22 rules.
   ========================================================= */
:root{
  --sudca-v23-lime:#72B52D;
  --sudca-v23-lime-bright:#8BCB43;
  --sudca-v23-dark:#07100B;
}

/* 01 — Inner pages: robust scroll-sticky state.
   JS adds .sudca-force-sticky only after the utility bar has
   passed, preventing the header from ever sitting over the topbar. */
body:not(.home):not(.front-page) .sudca-main-header{
  z-index:99990 !important;
}
body:not(.home):not(.front-page) .sudca-main-header.sudca-force-sticky{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
}
body.admin-bar:not(.home):not(.front-page) .sudca-main-header.sudca-force-sticky{top:32px !important;}
@media(max-width:782px){
  body.admin-bar:not(.home):not(.front-page) .sudca-main-header.sudca-force-sticky{top:46px !important;}
}
.sudca-header-spacer-v23{display:none;height:0;}
body:not(.home):not(.front-page) .sudca-header-spacer-v23.is-active{display:block;}

/* 02 — Navigation: larger/bolder, but fluid before collision. */
@media(min-width:1121px){
  .sudca-nav-link{
    font-size:clamp(13.5px,.88vw,16px) !important;
    font-weight:900 !important;
    padding-left:clamp(7px,.65vw,15px) !important;
    padding-right:clamp(7px,.65vw,15px) !important;
  }
  .sudca-desktop-nav{gap:clamp(1px,.28vw,6px) !important;}
}

/* 03 — Indicators: state-aware lime, visible on every header. */
.sudca-dropdown-arrow,.sudca-mega-arrow{color:var(--sudca-v23-lime) !important;}
.sudca-dropdown-arrow svg,.sudca-mega-arrow svg,.sudca-chevron{
  color:var(--sudca-v23-lime) !important;
  stroke:currentColor !important;
}
.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-chevron,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-chevron{
  color:#B7E56D !important;
}
.sudca-main-header.is-scrolled .sudca-dropdown-arrow,
.sudca-main-header.is-scrolled .sudca-mega-arrow,
.sudca-main-header.is-scrolled .sudca-chevron,
.sudca-main-header.sudca-force-sticky .sudca-dropdown-arrow,
.sudca-main-header.sudca-force-sticky .sudca-mega-arrow,
.sudca-main-header.sudca-force-sticky .sudca-chevron{
  color:var(--sudca-v23-lime) !important;
}
.sudca-dropdown-arrow:hover,.sudca-mega-arrow:hover,
.sudca-nav-dropdown.is-open .sudca-dropdown-arrow,
.sudca-nav-dropdown.is-open .sudca-mega-arrow{
  color:var(--sudca-v23-lime-bright) !important;
}

/* 04 — Mega menus: full-width, truly flush to viewport edges.
   Removes the old Expertise-right / Projects-left white edges. */
@media(min-width:1121px){
  .sudca-mega-panel{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    transform:translateY(12px) !important;
    border-radius:0 0 18px 18px !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:3px solid var(--sudca-v23-lime) !important;
  }
  .sudca-mega-wrap:hover .sudca-mega-panel,
  .sudca-mega-wrap:focus-within .sudca-mega-panel,
  .sudca-mega-wrap.is-open .sudca-mega-panel{
    transform:translateY(0) !important;
  }
  .sudca-mega-content,
  .sudca-projects-mega-panel .sudca-projects-mega-content{
    width:min(1320px,calc(100vw - 64px)) !important;
    max-width:1320px !important;
    margin:0 auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  /* Dynamic vertical attachment: normal header vs scrolled/fixed header. */
  .sudca-main-header .sudca-mega-panel{top:82px !important;}
  body:not(.home):not(.front-page) .sudca-main-header:not(.sudca-force-sticky) .sudca-mega-panel{top:126px !important;}
}

/* Projects panel receives the same full-width platform treatment. */
@media(min-width:1121px){
  .sudca-projects-mega-panel{
    left:0 !important;right:0 !important;width:100vw !important;
  }
}

/* 05 — Footer: no clipping / no negative left edge. */
.sudca-footer,
.sudca-footer > .sudca-container,
.sudca-footer .sudca-footer-grid,
.sudca-footer .sudca-footer-partners,
.sudca-footer .sudca-footer-conversation,
.sudca-footer .sudca-footer-bottom{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  overflow:visible !important;
}
.sudca-footer > .sudca-container{
  width:min(1320px,calc(100% - 48px)) !important;
  max-width:1320px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.sudca-footer-grid{
  width:100% !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  column-gap:34px !important;
  row-gap:44px !important;
}
.sudca-footer-column,.sudca-footer-brand,.sudca-legal-column{min-width:0 !important;max-width:none !important;}
.sudca-footer-column h3{font-size:14px !important;font-weight:900 !important;}
.sudca-footer-column a{font-size:13px !important;font-weight:800 !important;line-height:1.45 !important;}
.sudca-footer-brand > p{font-size:13px !important;line-height:1.75 !important;font-weight:650 !important;}
@media(max-width:1000px){.sudca-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media(max-width:620px){
  .sudca-footer > .sudca-container{width:calc(100% - 28px) !important;}
  .sudca-footer-grid{grid-template-columns:1fr !important;row-gap:32px !important;}
}

/* =========================================================
   SUDCA GLOBAL V24 — FINAL NAV + FOOTER POLISH
   Requested production refinements. Appended last intentionally.
   ========================================================= */
:root{
  --sudca-v24-lime:#72B52D;
  --sudca-v24-lime-bright:#9BDA4D;
  --sudca-v24-lime-soft:#C9EE8B;
  --sudca-v24-ink:#07100B;
}

/* ---------------------------------------------------------
   01. DESKTOP NAV — larger/bolder, but collision-safe
   --------------------------------------------------------- */
@media (min-width:1121px){
  .sudca-header-inner{
    display:flex !important;
    min-width:0 !important;
  }
  .sudca-desktop-nav{
    flex:1 1 auto !important;
    min-width:0 !important;
    justify-content:flex-end !important;
    gap:clamp(2px,.34vw,7px) !important;
  }
  .sudca-nav-link{
    font-size:clamp(14px,.86vw,16px) !important;
    font-weight:950 !important;
    letter-spacing:-.012em !important;
    padding-left:clamp(6px,.55vw,13px) !important;
    padding-right:clamp(6px,.55vw,13px) !important;
  }
  .sudca-nav-dropdown .sudca-nav-link{
    padding-right:clamp(4px,.30vw,8px) !important;
  }
  .sudca-dropdown-arrow,
  .sudca-mega-arrow{
    width:26px !important;
    flex:0 0 26px !important;
  }
  .sudca-chevron{
    width:11px !important;
    height:8px !important;
    stroke-width:2.5 !important;
  }
  .sudca-header-actions{
    flex:0 0 auto !important;
    min-width:max-content !important;
    margin-left:clamp(5px,.55vw,12px) !important;
  }
}

/* Mid-desktop: preserve boldness while giving the navigation more room. */
@media (min-width:1121px) and (max-width:1300px){
  .sudca-nav-link{
    font-size:13.5px !important;
    padding-left:5px !important;
    padding-right:5px !important;
  }
  .sudca-desktop-nav{gap:1px !important;}
  .sudca-dropdown-arrow,.sudca-mega-arrow{width:23px !important;flex-basis:23px !important;}
  .sudca-brand{gap:10px !important;}
  .sudca-brand img{width:52px !important;height:52px !important;}
  .sudca-brand-text strong{font-size:1.42rem !important;}
}

/* Powerful state-aware submenu indicators. */
.sudca-dropdown-arrow,
.sudca-mega-arrow,
.sudca-chevron,
.sudca-dropdown-arrow svg,
.sudca-mega-arrow svg{
  color:var(--sudca-v24-lime) !important;
  stroke:currentColor !important;
  fill:none !important;
}
.sudca-dropdown-arrow:hover,
.sudca-mega-arrow:hover,
.sudca-dropdown-arrow:focus-visible,
.sudca-mega-arrow:focus-visible,
.sudca-nav-dropdown.is-open > .sudca-dropdown-arrow,
.sudca-nav-dropdown.is-open > .sudca-mega-arrow,
.sudca-nav-dropdown:hover .sudca-chevron,
.sudca-nav-dropdown:focus-within .sudca-chevron{
  color:var(--sudca-v24-lime-bright) !important;
}
.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-chevron,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-chevron{
  color:var(--sudca-v24-lime-soft) !important;
}
.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow:hover,
.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow:hover,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow:hover,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow:hover{
  color:#D8FFA0 !important;
}
.sudca-main-header.is-scrolled .sudca-dropdown-arrow,
.sudca-main-header.is-scrolled .sudca-mega-arrow,
.sudca-main-header.is-scrolled .sudca-chevron,
.sudca-main-header.sudca-force-sticky .sudca-dropdown-arrow,
.sudca-main-header.sudca-force-sticky .sudca-mega-arrow,
.sudca-main-header.sudca-force-sticky .sudca-chevron{
  color:var(--sudca-v24-lime) !important;
}

/* ---------------------------------------------------------
   02. MEGA MENUS — edge-to-edge, no artificial side white
   --------------------------------------------------------- */
@media (min-width:1121px){
  .sudca-mega-panel,
  .sudca-projects-mega-panel{
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    transform:translateY(0) !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:3px solid var(--sudca-v24-lime) !important;
  }
  .sudca-mega-content,
  .sudca-projects-mega-content{
    width:min(1320px,calc(100vw - 64px)) !important;
    max-width:1320px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* ---------------------------------------------------------
   03. FOOTER — true full-width bands + no left clipping
   --------------------------------------------------------- */
.sudca-footer{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  background:#07180F !important;
}
.sudca-footer > .sudca-container,
.sudca-footer > .sudca-footer-tagline{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.sudca-footer .sudca-container{
  box-sizing:border-box !important;
}
.sudca-footer-tagline{
  width:100% !important;
  padding:58px 0 48px !important;
  background:linear-gradient(90deg,#0B2417 0%,#0E2D1B 52%,#0B2417 100%) !important;
}
.sudca-footer-tagline-inner{
  width:min(1320px,calc(100% - 56px)) !important;
  max-width:1320px !important;
  margin:0 auto !important;
  padding:0 !important;
}
.sudca-footer-tagline-inner > div{
  min-width:0 !important;
}
.sudca-footer-tagline h2{
  margin:0 0 22px !important;
  font-weight:950 !important;
  color:#fff !important;
}
.sudca-footer-cta-button{
  margin-top:0 !important;
  font-weight:950 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}

.sudca-footer > .sudca-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.sudca-footer-grid,
.sudca-footer-partners,
.sudca-footer-conversation,
.sudca-footer-bottom{
  width:min(1320px,calc(100% - 56px)) !important;
  max-width:1320px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.sudca-footer-grid{
  padding:72px 0 64px !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:52px 38px !important;
  align-items:start !important;
}
.sudca-footer-brand,
.sudca-footer-column{
  min-width:0 !important;
  overflow:visible !important;
}
.sudca-footer-column a,
.sudca-footer-brand > p,
.sudca-footer-contact a{
  font-weight:800 !important;
}
.sudca-footer-column a{font-size:14px !important;}
.sudca-footer-column h3{
  font-size:14px !important;
  font-weight:950 !important;
  letter-spacing:.11em !important;
}

/* Professional legal information panel. */
.sudca-legal-column{
  padding:22px 22px 18px !important;
  border:1px solid rgba(114,181,45,.22) !important;
  border-radius:16px !important;
  background:linear-gradient(145deg,rgba(114,181,45,.09),rgba(255,255,255,.025)) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.10) !important;
}
.sudca-legal-column h3{
  margin-bottom:8px !important;
}
.sudca-legal-stat{
  padding:12px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.09) !important;
}
.sudca-legal-stat:last-child{border-bottom:0 !important;}
.sudca-legal-stat b{
  color:var(--sudca-v24-lime-bright) !important;
  font-weight:950 !important;
}
.sudca-legal-stat span{
  color:rgba(255,255,255,.72) !important;
  font-weight:650 !important;
}

/* DOCUMENTED NETWORK: full-width row, never squeezed into the right. */
.sudca-footer-partners{
  display:block !important;
  padding:34px 0 !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.025) !important;
}
.sudca-footer-partners-head{
  width:100% !important;
  max-width:none !important;
  display:block !important;
  margin:0 0 20px !important;
}
.sudca-footer-partners-head span{
  display:block !important;
  color:var(--sudca-v24-lime-bright) !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.15em !important;
}
.sudca-footer-partners-head p{
  margin:7px 0 0 !important;
  font-weight:650 !important;
}
.sudca-footer-partners > div:not(.sudca-footer-partners-head){
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  justify-content:stretch !important;
  align-items:stretch !important;
  gap:10px !important;
}
.sudca-footer-partners b{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  width:100% !important;
  padding:9px 12px !important;
  text-align:center !important;
  color:rgba(255,255,255,.78) !important;
  font-weight:850 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:7px !important;
  background:rgba(255,255,255,.035) !important;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease !important;
}
.sudca-footer-partners b:hover{
  color:#fff !important;
  border-color:rgba(114,181,45,.48) !important;
  background:rgba(114,181,45,.10) !important;
  transform:translateY(-2px);
}

/* Conversation and copyright bands are full-width visually, with centered content. */
.sudca-footer-conversation{
  display:block !important;
  padding:32px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}
.sudca-footer-conversation span{
  display:block !important;
  margin-bottom:9px !important;
  color:var(--sudca-v24-lime-bright) !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.sudca-footer-conversation p{
  margin:0 !important;
  color:rgba(255,255,255,.78) !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.7 !important;
}
.sudca-footer-conversation a{
  color:var(--sudca-v24-lime-bright) !important;
  font-weight:950 !important;
}
.sudca-footer-bottom{
  display:flex !important;
  padding:26px 0 30px !important;
  border-top:0 !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.sudca-footer-bottom p{
  color:rgba(255,255,255,.58) !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.6 !important;
}
.sudca-footer-bottom a{
  color:var(--sudca-v24-lime-bright) !important;
  font-weight:950 !important;
}

@media(max-width:1100px){
  .sudca-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:42px 30px !important;}
  .sudca-footer-brand{grid-column:1/-1 !important;}
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:960px){
  .sudca-nav-link{font-weight:900 !important;}
  .sudca-footer-tagline-inner{width:calc(100% - 36px) !important;}
  .sudca-footer-grid,.sudca-footer-partners,.sudca-footer-conversation,.sudca-footer-bottom{width:calc(100% - 36px) !important;}
}
@media(max-width:620px){
  .sudca-footer-tagline{padding:46px 0 40px !important;}
  .sudca-footer-tagline-inner{width:calc(100% - 28px) !important;gap:20px !important;}
  .sudca-footer-grid,.sudca-footer-partners,.sudca-footer-conversation,.sudca-footer-bottom{width:calc(100% - 28px) !important;}
  .sudca-footer-grid{grid-template-columns:1fr !important;gap:32px !important;padding:48px 0 42px !important;}
  .sudca-footer-brand{grid-column:auto !important;}
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .sudca-footer-bottom{flex-direction:column !important;align-items:flex-start !important;gap:9px !important;}
}
@media(max-width:390px){
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:1fr !important;}
}



/* =========================================================
   SUDCA GLOBAL V27 — AUTHORITATIVE FINAL REFINEMENT
   ---------------------------------------------------------
   This is the only final override layer in this file.
   Goals:
   - larger/bolder navigation without collisions
   - state-aware, high-contrast submenu indicators
   - mega menus physically attached to the header edge
   - full-width footer bands without card/grid decoration
   - balanced four-column footer architecture
   - no decorative footer image
   ========================================================= */

:root{
  --sudca-v27-lime:#72B52D;
  --sudca-v27-lime-bright:#C7F27A;
  --sudca-v27-lime-soft:#D9FFA2;
  --sudca-v27-ink:#07100B;
  --sudca-v27-footer:#07180F;
  --sudca-v27-footer-panel:#0B2417;
  --sudca-v27-header-desktop:92px;
  --sudca-v27-header-sticky:84px;
  --sudca-v27-mega-top:92px;
}

/* =========================================================
   01 — HEADER GEOMETRY / NO COLLISION
   ========================================================= */
.sudca-main-header{
  position:sticky !important;
  top:0 !important;
  z-index:99990 !important;
  width:100% !important;
}
.sudca-header-inner{
  width:min(1420px,calc(100% - 56px)) !important;
  min-height:var(--sudca-v27-header-desktop) !important;
  height:var(--sudca-v27-header-desktop) !important;
  display:flex !important;
  align-items:center !important;
  gap:clamp(10px,1.15vw,22px) !important;
}
.sudca-brand{
  flex:0 0 auto !important;
  min-width:0 !important;
  gap:12px !important;
}
.sudca-brand img{
  width:58px !important;
  height:58px !important;
}
.sudca-brand-text{
  min-width:0 !important;
}
.sudca-brand-text strong{
  font-size:clamp(1.35rem,1.45vw,1.72rem) !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

.sudca-desktop-nav{
  flex:1 1 auto !important;
  min-width:0 !important;
  margin-left:clamp(4px,1vw,16px) !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
  gap:clamp(1px,.35vw,7px) !important;
}
.sudca-nav-link{
  flex:0 1 auto !important;
  min-width:0 !important;
  min-height:var(--sudca-v27-header-desktop) !important;
  padding:0 clamp(8px,.75vw,17px) !important;
  font-size:clamp(14px,.98vw,17px) !important;
  font-weight:950 !important;
  letter-spacing:-.018em !important;
}
.sudca-nav-dropdown{flex:0 1 auto !important;min-width:0 !important}
.sudca-nav-dropdown .sudca-nav-link{padding-right:clamp(5px,.35vw,9px) !important}
.sudca-dropdown-arrow,.sudca-mega-arrow{
  width:28px !important;
  flex:0 0 28px !important;
  min-height:var(--sudca-v27-header-desktop) !important;
}
.sudca-header-actions{
  flex:0 0 auto !important;
  margin-left:clamp(4px,.6vw,12px) !important;
  gap:8px !important;
}
.sudca-partner-button{
  white-space:nowrap !important;
  font-weight:950 !important;
}

/* Mid desktop: protect layout first, while keeping typography bold. */
@media (min-width:1121px) and (max-width:1320px){
  .sudca-header-inner{width:calc(100% - 34px) !important;gap:8px !important}
  .sudca-brand{gap:8px !important}
  .sudca-brand img{width:50px !important;height:50px !important}
  .sudca-brand-text strong{font-size:1.32rem !important}
  .sudca-desktop-nav{gap:0 !important;margin-left:4px !important}
  .sudca-nav-link{font-size:13.4px !important;padding-left:5px !important;padding-right:5px !important}
  .sudca-nav-dropdown .sudca-nav-link{padding-right:2px !important}
  .sudca-dropdown-arrow,.sudca-mega-arrow{width:22px !important;flex-basis:22px !important}
  .sudca-header-actions{gap:5px !important;margin-left:4px !important}
  .sudca-partner-button{padding-left:12px !important;padding-right:12px !important;font-size:10px !important}
  .sudca-search-trigger{width:40px !important;height:40px !important}
}

/* =========================================================
   02 — INDICATORS: POWERFUL + STATE AWARE
   ========================================================= */
.sudca-dropdown-arrow,
.sudca-mega-arrow,
.sudca-chevron,
.sudca-dropdown-arrow svg,
.sudca-mega-arrow svg{
  color:var(--sudca-v27-lime) !important;
  fill:none !important;
  stroke:currentColor !important;
  opacity:1 !important;
}
.sudca-dropdown-arrow svg path,
.sudca-mega-arrow svg path,
.sudca-chevron path{
  stroke:currentColor !important;
}
.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-chevron,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-chevron{
  color:var(--sudca-v27-lime-bright) !important;
  filter:drop-shadow(0 0 5px rgba(199,242,122,.32));
}
.sudca-main-header.is-scrolled .sudca-dropdown-arrow,
.sudca-main-header.is-scrolled .sudca-mega-arrow,
.sudca-main-header.is-scrolled .sudca-chevron,
.sudca-main-header.sudca-force-sticky .sudca-dropdown-arrow,
.sudca-main-header.sudca-force-sticky .sudca-mega-arrow,
.sudca-main-header.sudca-force-sticky .sudca-chevron{
  color:var(--sudca-v27-lime) !important;
}
.sudca-dropdown-arrow:hover,
.sudca-mega-arrow:hover,
.sudca-dropdown-arrow:focus-visible,
.sudca-mega-arrow:focus-visible,
.sudca-nav-dropdown:hover .sudca-chevron,
.sudca-nav-dropdown:focus-within .sudca-chevron,
.sudca-nav-dropdown.is-open .sudca-chevron{
  color:var(--sudca-v27-lime-bright) !important;
  filter:drop-shadow(0 0 6px rgba(199,242,122,.42));
}

/* =========================================================
   03 — MEGA MENUS: ZERO GAP / CLEAN ATTACHMENT
   ========================================================= */
@media(min-width:1121px){
  .sudca-main-header .sudca-mega-panel,
  .sudca-main-header .sudca-simple-dropdown{
    top:var(--sudca-v27-mega-top) !important;
  }
  .sudca-mega-panel{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:3px solid var(--sudca-v27-lime) !important;
    border-radius:0 0 18px 18px !important;
    transform:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    transition:opacity 180ms ease,visibility 180ms ease !important;
  }
  .sudca-mega-wrap:hover > .sudca-mega-panel,
  .sudca-mega-wrap:focus-within > .sudca-mega-panel,
  .sudca-mega-wrap.is-open > .sudca-mega-panel{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
  .sudca-simple-dropdown{
    transform:translateX(-50%) !important;
  }
  .sudca-mega-content,
  .sudca-projects-mega-content{
    width:min(1320px,calc(100vw - 64px)) !important;
    max-width:1320px !important;
    margin:0 auto !important;
    padding:34px 0 38px !important;
  }
  .sudca-mega-content{display:grid !important}
  .sudca-projects-mega-content{display:grid !important}
}

/* =========================================================
   04 — DYNAMIC MEGA TOP: JS writes exact header bottom here.
   The fallback values are correct for the normal/sticky states.
   ========================================================= */
.sudca-main-header{--sudca-v27-mega-local-top:92px}
.sudca-main-header.is-scrolled,
.sudca-main-header.sudca-force-sticky{--sudca-v27-mega-local-top:84px}

/* =========================================================
   05 — FOOTER: CLEAN COLUMNS, NO CARD GRID
   ========================================================= */
.sudca-footer{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;
  overflow:visible !important;
  background:var(--sudca-v27-footer) !important;
  color:#fff !important;
}
.sudca-footer::before,
.sudca-footer::after,
.sudca-footer-tagline::before,
.sudca-footer-tagline::after{
  content:none !important;
  display:none !important;
  background:none !important;
  background-image:none !important;
}
.sudca-footer > .sudca-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.sudca-footer-tagline{
  width:100% !important;
  padding:64px 0 54px !important;
  background:linear-gradient(135deg,#0A2117 0%,#0B2B1A 52%,#0A2117 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}
.sudca-footer-tagline-inner{
  width:min(1380px,calc(100vw - 64px)) !important;
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:46px !important;
}
.sudca-footer-tagline-inner > div{min-width:0 !important}
.sudca-footer-eyebrow{
  color:var(--sudca-v27-lime-bright) !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
}
.sudca-footer-tagline h2{
  margin:14px 0 0 !important;
  color:#fff !important;
  font-size:clamp(34px,4.2vw,60px) !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.055em !important;
}
.sudca-footer-cta-button{
  flex:0 0 auto !important;
  margin:0 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

.sudca-footer-grid{
  width:min(1380px,calc(100vw - 64px)) !important;
  max-width:1380px !important;
  margin:0 auto !important;
  padding:62px 0 54px !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:1fr !important;
  gap:44px 46px !important;
  align-items:stretch !important;
}
/* Remove the old boxed/grid-card appearance completely. */
.sudca-footer-brand,
.sudca-footer-column,
.sudca-footer-grid-v19 > .sudca-footer-brand,
.sudca-footer-grid-v19 > .sudca-footer-column{
  min-width:0 !important;
  min-height:238px !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:flex !important;
  flex-direction:column !important;
}
.sudca-footer-brand > p{
  margin-top:20px !important;
  max-width:360px !important;
  color:rgba(255,255,255,.72) !important;
  font-size:14px !important;
  line-height:1.78 !important;
  font-weight:700 !important;
}
.sudca-footer-column h3{
  margin:0 0 19px !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
}
.sudca-footer-column a{
  margin:0 0 11px !important;
  padding:0 !important;
  color:rgba(255,255,255,.78) !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:850 !important;
  transform:none !important;
}
.sudca-footer-column a:hover,
.sudca-footer-column a:focus-visible{
  color:var(--sudca-v27-lime-bright) !important;
  transform:translateX(3px) !important;
}
.sudca-footer-view{color:var(--sudca-v27-lime) !important}
.sudca-footer-link-icon{display:inline-flex !important;margin-right:8px !important;color:var(--sudca-v27-lime) !important;vertical-align:middle !important}
.sudca-footer-link-icon svg{width:16px !important;height:16px !important}
.sudca-office{
  margin-top:auto !important;
  padding-top:18px !important;
  color:rgba(255,255,255,.74) !important;
}
.sudca-office strong{display:block !important;color:#fff !important;font-weight:900 !important}
.sudca-office span{display:block !important;margin-top:5px !important;font-size:11px !important;line-height:1.5 !important;color:rgba(255,255,255,.50) !important}

/* Legal is intentionally NOT a card: same visual language and height as peers. */
.sudca-legal-column{
  min-height:238px !important;
  height:100% !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.sudca-legal-column h3{margin-bottom:16px !important}
.sudca-legal-stat{
  display:grid !important;
  grid-template-columns:minmax(72px,.42fr) minmax(0,1fr) !important;
  gap:10px !important;
  padding:8px 0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.075) !important;
}
.sudca-legal-stat:last-child{border-bottom:0 !important}
.sudca-legal-stat b{
  color:var(--sudca-v27-lime-bright) !important;
  font-size:10px !important;
  line-height:1.4 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
}
.sudca-legal-stat span{
  color:rgba(255,255,255,.68) !important;
  font-size:11px !important;
  line-height:1.5 !important;
  font-weight:700 !important;
}

/* =========================================================
   06 — DOCUMENTED NETWORK / CONVERSATION / COPYRIGHT
   Genuine full-width bands, centered inner content.
   ========================================================= */
.sudca-footer-partners,
.sudca-footer-conversation,
.sudca-footer-bottom{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.sudca-footer-partners{
  padding:34px max(32px,calc((100vw - 1380px)/2)) 38px !important;
  border-top:1px solid rgba(255,255,255,.09) !important;
  border-bottom:1px solid rgba(255,255,255,.09) !important;
  background:#091C12 !important;
}
.sudca-footer-partners-head,
.sudca-footer-partners > div:not(.sudca-footer-partners-head),
.sudca-footer-conversation > *,
.sudca-footer-bottom > *{
  width:100% !important;
  max-width:1380px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.sudca-footer-partners-head{margin-bottom:19px !important}
.sudca-footer-partners-head span{
  color:var(--sudca-v27-lime-bright) !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.16em !important;
}
.sudca-footer-partners-head p{margin:7px 0 0 !important;color:rgba(255,255,255,.58) !important;font-weight:700 !important}
.sudca-footer-partners > div:not(.sudca-footer-partners-head){
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
}
.sudca-footer-partners b{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:8px 12px !important;
  color:rgba(255,255,255,.78) !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-align:center !important;
  border:0 !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.035) !important;
}
.sudca-footer-partners b:hover{color:#fff !important;background:rgba(114,181,45,.12) !important}

.sudca-footer-conversation{
  padding:38px max(32px,calc((100vw - 1380px)/2)) !important;
  background:var(--sudca-v27-footer-panel) !important;
  border-bottom:1px solid rgba(255,255,255,.09) !important;
}
.sudca-footer-conversation span{
  display:block !important;
  color:var(--sudca-v27-lime-bright) !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
}
.sudca-footer-conversation p{
  margin-top:9px !important;
  color:rgba(255,255,255,.78) !important;
  font-size:14px !important;
  line-height:1.7 !important;
  font-weight:800 !important;
}
.sudca-footer-conversation a{color:var(--sudca-v27-lime-bright) !important;font-weight:950 !important}
.sudca-footer-conversation a:hover{text-decoration:underline !important}

.sudca-footer-bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:25px max(32px,calc((100vw - 1380px)/2)) 30px !important;
  background:var(--sudca-v27-footer) !important;
}
.sudca-footer-bottom p{margin:0 !important;color:rgba(255,255,255,.55) !important;font-size:12px !important;font-weight:800 !important;line-height:1.6 !important}
.sudca-footer-bottom a{color:var(--sudca-v27-lime-bright) !important;font-weight:950 !important}
.sudca-footer-bottom a:hover{text-decoration:underline !important}

/* =========================================================
   07 — RESPONSIVE FOOTER + NAV
   ========================================================= */
@media(max-width:1100px){
  .sudca-footer-grid{
    width:calc(100vw - 48px) !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:40px 34px !important;
  }
  .sudca-footer-brand{grid-column:auto !important}
  .sudca-footer-brand,.sudca-footer-column,.sudca-legal-column{min-height:220px !important}
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:960px){
  .sudca-header-inner{width:calc(100% - 36px) !important}
  .sudca-desktop-nav,.sudca-header-actions{display:none !important}
  .sudca-mobile-actions{display:flex !important}
  .sudca-header-inner{min-height:72px !important;height:72px !important}
  .sudca-main-header.is-scrolled .sudca-header-inner{min-height:68px !important;height:68px !important}
  .sudca-brand img{width:48px !important;height:48px !important}
  .sudca-main-header.is-scrolled .sudca-brand img{width:44px !important;height:44px !important}
}
@media(max-width:680px){
  .sudca-footer-tagline{padding:48px 0 42px !important}
  .sudca-footer-tagline-inner{width:calc(100vw - 32px) !important;flex-direction:column !important;align-items:flex-start !important;gap:24px !important}
  .sudca-footer-grid{width:calc(100vw - 32px) !important;grid-template-columns:1fr !important;gap:30px !important;padding:48px 0 42px !important}
  .sudca-footer-brand,.sudca-footer-column,.sudca-legal-column{min-height:0 !important;height:auto !important}
  .sudca-footer-partners{padding-left:16px !important;padding-right:16px !important}
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .sudca-footer-conversation,.sudca-footer-bottom{padding-left:16px !important;padding-right:16px !important}
  .sudca-footer-bottom{flex-direction:column !important;align-items:flex-start !important}
}
@media(max-width:390px){
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:1fr !important}
  .sudca-brand-text small{font-size:7px !important}
}

/* =========================================================
   08 — INNER-PAGE STICKY SAFETY
   ========================================================= */
body:not(.home):not(.front-page) .sudca-main-header.sudca-force-sticky{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
}
body.admin-bar:not(.home):not(.front-page) .sudca-main-header.sudca-force-sticky{top:32px !important}
@media(max-width:782px){body.admin-bar:not(.home):not(.front-page) .sudca-main-header.sudca-force-sticky{top:46px !important}}
.sudca-header-spacer-v23{display:none !important;height:0 !important}
body:not(.home):not(.front-page) .sudca-header-spacer-v23.is-active{display:block !important}

/* =========================================================
   09 — BACK TO TOP
   ========================================================= */
.sudca-back-top{
  width:48px !important;height:48px !important;border-radius:50% !important;
  background:#143A27 !important;color:#fff !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
.sudca-back-top:hover{background:var(--sudca-v27-lime) !important;color:#07100B !important}



/* =========================================================
   SUDCA GLOBAL V30 — FINAL PROFESSIONAL REFINEMENT
   This block intentionally supersedes earlier V27 overrides.
   Goals: larger/bolder navigation without collision, state-aware
   indicators, mathematically attached mega menus, and a clean
   full-width footer with equal column treatment.
   ========================================================= */
:root{
  --sudca-v30-lime:#72B52D;
  --sudca-v30-lime-bright:#C7F27A;
  --sudca-v30-lime-hover:#D9FFA2;
  --sudca-v30-ink:#07100B;
  --sudca-v30-footer:#07180F;
  --sudca-v30-footer-2:#091C12;
  --sudca-v30-max:1440px;
}

/* ---------- HEADER: controlled desktop geometry ---------- */
@media(min-width:1321px){
  .sudca-header-inner{
    width:min(var(--sudca-v30-max),calc(100% - 72px)) !important;
    gap:clamp(18px,1.5vw,32px) !important;
  }
  .sudca-brand{flex:0 0 clamp(245px,18vw,300px) !important}
  .sudca-desktop-nav{
    flex:1 1 auto !important;
    min-width:0 !important;
    justify-content:center !important;
    gap:clamp(3px,.45vw,9px) !important;
  }
  .sudca-nav-link{
    min-width:max-content !important;
    font-size:clamp(16px,1.05vw,19px) !important;
    font-weight:950 !important;
    letter-spacing:-.022em !important;
    padding-inline:clamp(9px,.72vw,16px) !important;
  }
  .sudca-nav-dropdown .sudca-nav-link{padding-right:clamp(4px,.28vw,7px) !important}
  .sudca-dropdown-arrow,.sudca-mega-arrow{
    width:25px !important;flex-basis:25px !important;min-width:25px !important;
  }
  .sudca-header-actions{flex:0 0 auto !important;gap:10px !important;margin-left:0 !important}
  .sudca-partner-button{font-size:11px !important;font-weight:950 !important}
}

@media(min-width:1121px) and (max-width:1320px){
  .sudca-header-inner{width:calc(100% - 30px) !important;gap:7px !important}
  .sudca-brand{flex-basis:210px !important;gap:7px !important}
  .sudca-brand img{width:48px !important;height:48px !important}
  .sudca-brand-text strong{font-size:1.25rem !important}
  .sudca-desktop-nav{gap:0 !important;margin-left:0 !important}
  .sudca-nav-link{font-size:14.4px !important;font-weight:950 !important;padding-inline:4px !important;letter-spacing:-.02em !important}
  .sudca-nav-dropdown .sudca-nav-link{padding-right:1px !important}
  .sudca-dropdown-arrow,.sudca-mega-arrow{width:21px !important;flex-basis:21px !important;min-width:21px !important}
  .sudca-header-actions{gap:4px !important}
  .sudca-partner-button{font-size:9.5px !important;padding-inline:10px !important}
  .sudca-search-trigger{width:39px !important;height:39px !important}
}

/* ---------- NAV INDICATORS: explicit stroke inheritance ---------- */
.sudca-main-header .sudca-dropdown-arrow,
.sudca-main-header .sudca-mega-arrow,
.sudca-main-header .sudca-chevron{
  color:var(--sudca-v30-lime) !important;
  opacity:1 !important;
}
.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-chevron,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-chevron{
  color:var(--sudca-v30-lime-bright) !important;
  filter:drop-shadow(0 0 5px rgba(199,242,122,.38)) !important;
}
.sudca-main-header.is-scrolled .sudca-dropdown-arrow,
.sudca-main-header.is-scrolled .sudca-mega-arrow,
.sudca-main-header.is-scrolled .sudca-chevron,
.sudca-main-header.sudca-force-sticky .sudca-dropdown-arrow,
.sudca-main-header.sudca-force-sticky .sudca-mega-arrow,
.sudca-main-header.sudca-force-sticky .sudca-chevron{
  color:var(--sudca-v30-lime) !important;
  filter:none !important;
}
.sudca-main-header .sudca-dropdown-arrow svg,
.sudca-main-header .sudca-mega-arrow svg,
.sudca-main-header .sudca-chevron svg,
.sudca-main-header .sudca-dropdown-arrow svg path,
.sudca-main-header .sudca-mega-arrow svg path,
.sudca-main-header .sudca-chevron svg path{
  color:inherit !important;
  fill:none !important;
  stroke:currentColor !important;
}
.sudca-main-header .sudca-dropdown-arrow:hover,
.sudca-main-header .sudca-mega-arrow:hover,
.sudca-main-header .sudca-dropdown-arrow:focus-visible,
.sudca-main-header .sudca-mega-arrow:focus-visible,
.sudca-main-header .sudca-nav-dropdown:hover .sudca-chevron,
.sudca-main-header .sudca-nav-dropdown:focus-within .sudca-chevron{
  color:var(--sudca-v30-lime-hover) !important;
  filter:drop-shadow(0 0 7px rgba(217,255,162,.42)) !important;
}

/* ---------- MEGA MENUS: absolutely no visual gap ---------- */
@media(min-width:1121px){
  .sudca-main-header .sudca-mega-panel,
  .sudca-main-header .sudca-simple-dropdown{
    margin-top:0 !important;
    transform:none !important;
  }
  .sudca-main-header .sudca-mega-panel{
    top:var(--sudca-v27-mega-top) !important;
    left:0 !important;right:0 !important;width:100vw !important;
    border-top:3px solid var(--sudca-v30-lime) !important;
    box-shadow:0 24px 55px rgba(7,16,11,.16) !important;
  }
  .sudca-main-header .sudca-mega-panel::before{
    content:none !important;
    display:none !important;
  }
  .sudca-mega-content,
  .sudca-projects-mega-content{
    width:min(1400px,calc(100vw - 72px)) !important;
    margin:0 auto !important;
    padding:36px 0 40px !important;
  }
  .sudca-projects-mega-content{grid-template-columns:minmax(230px,.42fr) minmax(0,1.58fr) !important;gap:48px !important}
  .sudca-mega-items-grid{gap:8px 12px !important}
  .sudca-mega-item{font-size:14px !important;font-weight:900 !important}
  .sudca-mega-heading{font-size:13px !important;font-weight:950 !important}
  .sudca-projects-mega-column a{font-size:14px !important;font-weight:900 !important}
}

/* ---------- FOOTER: equal clean columns, no cards ---------- */
.sudca-footer{background:var(--sudca-v30-footer) !important}
.sudca-footer-grid{
  width:min(var(--sudca-v30-max),calc(100vw - 72px)) !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  align-items:stretch !important;
  gap:54px 48px !important;
}
.sudca-footer-grid > .sudca-footer-brand,
.sudca-footer-grid > .sudca-footer-column{
  min-height:248px !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.sudca-footer-grid > .sudca-legal-column{
  min-height:248px !important;
  height:auto !important;
  align-self:stretch !important;
}
.sudca-footer-column h3{font-size:16px !important;font-weight:950 !important;margin-bottom:21px !important}
.sudca-footer-column a{font-size:14px !important;font-weight:850 !important;margin-bottom:13px !important}
.sudca-footer-brand > p{font-size:14px !important;font-weight:650 !important}
.sudca-legal-stat{grid-template-columns:88px minmax(0,1fr) !important;padding:7px 0 !important}
.sudca-legal-stat b{font-size:10px !important;font-weight:950 !important}
.sudca-legal-stat span{font-size:11px !important;font-weight:650 !important}

/* Full-width bands — inner content only is constrained. */
.sudca-footer-partners,
.sudca-footer-conversation,
.sudca-footer-bottom{width:100vw !important;max-width:100vw !important;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important}
.sudca-footer-partners-head,
.sudca-footer-partners > div:not(.sudca-footer-partners-head),
.sudca-footer-conversation > *,
.sudca-footer-bottom > *{width:min(var(--sudca-v30-max),calc(100vw - 72px)) !important;max-width:var(--sudca-v30-max) !important}
.sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:12px !important}
.sudca-footer-partners b{background:transparent !important;border:1px solid rgba(255,255,255,.09) !important;font-weight:900 !important}
.sudca-footer-partners b:hover{border-color:rgba(199,242,122,.38) !important;background:rgba(114,181,45,.08) !important}
.sudca-footer-conversation{background:#0B2417 !important}
.sudca-footer-bottom{background:#07180F !important}

@media(max-width:1100px){
  .sudca-footer-grid{width:calc(100vw - 48px) !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:42px 34px !important}
  .sudca-footer-grid > .sudca-footer-brand,.sudca-footer-grid > .sudca-footer-column,.sudca-footer-grid > .sudca-legal-column{min-height:220px !important}
  .sudca-footer-partners-head,.sudca-footer-partners > div:not(.sudca-footer-partners-head),.sudca-footer-conversation > *, .sudca-footer-bottom > *{width:calc(100vw - 48px) !important}
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:960px){
  .sudca-header-inner{width:calc(100% - 36px) !important}
}
@media(max-width:680px){
  .sudca-footer-grid{width:calc(100vw - 32px) !important;grid-template-columns:1fr !important;gap:34px !important}
  .sudca-footer-grid > .sudca-footer-brand,.sudca-footer-grid > .sudca-footer-column,.sudca-footer-grid > .sudca-legal-column{min-height:0 !important}
  .sudca-footer-partners-head,.sudca-footer-partners > div:not(.sudca-footer-partners-head),.sudca-footer-conversation > *, .sudca-footer-bottom > *{width:calc(100vw - 32px) !important}
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:390px){
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:1fr !important}
}


/* =========================================================
   V31 FINAL REFINEMENT — HEADER ATTACHMENT + FOOTER CLEANUP
   ========================================================= */
@media (min-width:1121px){
  /* The menu edge is calculated from the real rendered header box.
     One pixel of overlap intentionally sits over the header border,
     eliminating the visible seam/gap between header and panel. */
  .sudca-main-header .sudca-mega-panel,
  .sudca-main-header .sudca-simple-dropdown{
    top:calc(var(--sudca-v27-mega-top, 92px) - 1px) !important;
    margin-top:0 !important;
    transform:translateX(-50%) !important;
  }
  .sudca-main-header .sudca-mega-panel{
    left:0 !important;
    right:auto !important;
    width:100vw !important;
    transform:none !important;
  }
  .sudca-main-header .sudca-mega-panel,
  .sudca-main-header .sudca-simple-dropdown{
    border-top-left-radius:0 !important;
    border-top-right-radius:0 !important;
  }
  .sudca-main-header .sudca-mega-panel{border-top:2px solid var(--sudca-v30-lime) !important}
}

/* Footer is a clean full-bleed system; content itself stays aligned
   to the same readable max-width as the rest of the site. */
.sudca-footer{overflow:visible !important;background:var(--sudca-v30-footer) !important}
.sudca-footer > .sudca-container{width:100% !important;max-width:none !important;margin:0 !important;padding:0 !important}
.sudca-footer-grid-v19{width:min(var(--sudca-v30-max,1400px),calc(100vw - 72px)) !important;margin-inline:auto !important}
.sudca-footer-partners,
.sudca-footer-conversation,
.sudca-footer-bottom{width:100vw !important;max-width:100vw !important;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important}
.sudca-footer-partners-head,
.sudca-footer-partners > div:not(.sudca-footer-partners-head),
.sudca-footer-conversation > *,
.sudca-footer-bottom > *{max-width:var(--sudca-v30-max,1400px) !important}
.sudca-footer-partners-head,
.sudca-footer-partners > div:not(.sudca-footer-partners-head){width:min(var(--sudca-v30-max,1400px),calc(100vw - 72px)) !important;margin-inline:auto !important}
.sudca-footer-conversation{padding-left:0 !important;padding-right:0 !important}
.sudca-footer-conversation > *{width:min(var(--sudca-v30-max,1400px),calc(100vw - 72px)) !important;margin-left:auto !important;margin-right:auto !important}
.sudca-footer-bottom{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:space-between !important;gap:30px !important;padding-left:0 !important;padding-right:0 !important}
.sudca-footer-bottom > *{width:auto !important;margin:0 !important}
.sudca-footer-credit{margin-left:auto !important;text-align:right !important}
.sudca-footer-credit .sudca-credit-line{display:inline !important}
.sudca-office{margin-top:2px !important;padding:0 !important}

/* Legal & Registration: compact, factual, visually consistent with the
   other columns rather than becoming a tall card. */
.sudca-footer-grid-v19 .sudca-legal-column{min-height:0 !important;height:auto !important;align-self:start !important;gap:10px !important}
.sudca-footer-grid-v19 .sudca-legal-column .sudca-legal-stat{margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important}
.sudca-footer-grid-v19 .sudca-legal-column .sudca-legal-stat b{font-size:10px !important;font-weight:900 !important;letter-spacing:.06em !important}
.sudca-footer-grid-v19 .sudca-legal-column .sudca-legal-stat span{font-size:11px !important;line-height:1.45 !important;font-weight:600 !important}

@media(max-width:960px){
 .sudca-footer-grid-v19{width:calc(100vw - 36px) !important}
 .sudca-footer-partners-head,
 .sudca-footer-partners > div:not(.sudca-footer-partners-head),
 .sudca-footer-conversation > *,
 .sudca-footer-bottom{width:calc(100vw - 36px) !important}
}
@media(max-width:620px){
 .sudca-footer-grid-v19{width:calc(100vw - 28px) !important}
 .sudca-footer-partners-head,
 .sudca-footer-partners > div:not(.sudca-footer-partners-head),
 .sudca-footer-conversation > *,
 .sudca-footer-bottom{width:calc(100vw - 28px) !important}
 .sudca-footer-bottom{flex-direction:column !important;align-items:flex-start !important;gap:8px !important}
 .sudca-footer-credit{margin-left:0 !important;text-align:left !important}
 .sudca-footer-credit .sudca-credit-line{display:inline !important}
}


/* =========================================================
   SUDCA V32 — HEADER ALIGNMENT + CLEAN FOOTER
   Final refinement layer
   ========================================================= */

/* Header: keep the brand, navigation and actions on one
   predictable vertical axis in both normal and sticky states. */
@media (min-width:1241px){
  .sudca-header-inner{
    height:var(--sudca-v27-header-desktop,92px) !important;
    min-height:var(--sudca-v27-header-desktop,92px) !important;
    align-items:stretch !important;
  }
  .sudca-brand,
  .sudca-desktop-nav,
  .sudca-header-actions{
    height:100% !important;
    align-items:center !important;
  }
  .sudca-desktop-nav{
    margin-left:12px !important;
    gap:clamp(2px,.28vw,6px) !important;
  }
  .sudca-nav-link{
    height:100% !important;
    min-height:0 !important;
    padding-inline:clamp(9px,.68vw,15px) !important;
    font-size:clamp(14px,.93vw,16px) !important;
    line-height:1 !important;
  }
  .sudca-nav-dropdown{
    height:100% !important;
    display:flex !important;
    align-items:stretch !important;
  }
  .sudca-nav-dropdown .sudca-nav-link{
    height:100% !important;
    min-height:0 !important;
  }
  .sudca-dropdown-arrow,
  .sudca-mega-arrow{
    height:100% !important;
    min-height:0 !important;
    align-self:stretch !important;
  }

  .sudca-main-header.is-scrolled .sudca-header-inner,
  .sudca-main-header.sudca-force-sticky .sudca-header-inner{
    height:var(--sudca-v27-header-sticky,84px) !important;
    min-height:var(--sudca-v27-header-sticky,84px) !important;
  }
  .sudca-main-header.is-scrolled .sudca-nav-link,
  .sudca-main-header.sudca-force-sticky .sudca-nav-link{
    height:100% !important;
    min-height:0 !important;
  }
  .sudca-main-header.is-scrolled .sudca-dropdown-arrow,
  .sudca-main-header.is-scrolled .sudca-mega-arrow,
  .sudca-main-header.sudca-force-sticky .sudca-dropdown-arrow,
  .sudca-main-header.sudca-force-sticky .sudca-mega-arrow{
    height:100% !important;
    min-height:0 !important;
  }
}

/* At the compact desktop range, stop shrinking the type into
   unreadable widths. Switch to the proper mobile navigation
   before logo/menu/action collision can occur. */
@media (max-width:1240px){
  .sudca-desktop-nav,
  .sudca-header-actions{display:none !important}
  .sudca-mobile-actions{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-left:auto !important;
  }
  .sudca-header-inner{
    width:calc(100% - 40px) !important;
    height:76px !important;
    min-height:76px !important;
    align-items:center !important;
  }
  .sudca-main-header.is-scrolled .sudca-header-inner,
  .sudca-main-header.sudca-force-sticky .sudca-header-inner{
    height:68px !important;
    min-height:68px !important;
  }
}

/* Menu panels: simple dropdowns belong to their menu trigger;
   mega menus are fixed to the actual header bottom. */
@media (min-width:1241px){
  .sudca-main-header .sudca-simple-dropdown{
    top:calc(100% - 1px) !important;
    transform:translate(-50%,8px) !important;
  }
  .sudca-main-header .sudca-nav-dropdown:hover > .sudca-simple-dropdown,
  .sudca-main-header .sudca-nav-dropdown:focus-within > .sudca-simple-dropdown,
  .sudca-main-header .sudca-nav-dropdown.is-open > .sudca-simple-dropdown{
    transform:translate(-50%,0) !important;
  }
  .sudca-main-header .sudca-mega-panel{
    top:var(--sudca-v27-mega-top) !important;
  }
}
@media (max-width:1240px){
  .sudca-main-header .sudca-mega-panel,
  .sudca-main-header .sudca-simple-dropdown{
    display:none !important;
  }
}

/* Footer contact/location: sit directly beneath Contact rather
   than being pushed to the bottom of an equal-height column. */
.sudca-footer-column .sudca-office{
  margin-top:0 !important;
  padding-top:0 !important;
  margin-bottom:16px !important;
}
.sudca-footer-column .sudca-office strong{
  font-size:13px !important;
  line-height:1.35 !important;
}
.sudca-footer-column .sudca-office span{
  margin-top:4px !important;
  font-size:10.5px !important;
  line-height:1.45 !important;
}

/* Legal & Registration: concise information, no tall visual block. */
.sudca-footer-grid .sudca-legal-column{
  min-height:0 !important;
  height:auto !important;
  align-self:start !important;
}
.sudca-footer-grid .sudca-legal-column h3{
  margin-bottom:14px !important;
}
.sudca-footer-grid .sudca-legal-stat{
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) !important;
  gap:10px !important;
  padding:6px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.065) !important;
}
.sudca-footer-grid .sudca-legal-stat b{
  font-size:9px !important;
  line-height:1.35 !important;
  letter-spacing:.045em !important;
}
.sudca-footer-grid .sudca-legal-stat span{
  font-size:10px !important;
  line-height:1.4 !important;
  font-weight:600 !important;
}

/* The legal copy is intentionally shorter and more useful. */
.sudca-footer-grid .sudca-legal-stat:nth-of-type(3) span{
  max-width:240px !important;
}

/* Copyright + InnovixOpia credit: one clean horizontal baseline. */
.sudca-footer-bottom{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  gap:32px !important;
}
.sudca-footer-bottom > p:first-child{
  flex:1 1 auto !important;
  min-width:0 !important;
  text-align:left !important;
  white-space:nowrap !important;
}
.sudca-footer-bottom > .sudca-footer-credit{
  flex:0 0 auto !important;
  margin-left:auto !important;
  text-align:right !important;
  white-space:nowrap !important;
}
.sudca-footer-credit .sudca-credit-line{
  display:inline !important;
  white-space:nowrap !important;
}
.sudca-footer-credit .sudca-credit-line-one{
  margin-right:4px !important;
}

/* Keep all footer bands clean: no accidental inherited cards,
   gradients or nested background boxes in the closing area. */
.sudca-footer-conversation,
.sudca-footer-bottom{
  border-radius:0 !important;
  box-shadow:none !important;
}
.sudca-footer-conversation{
  background:#0B2417 !important;
}
.sudca-footer-bottom{
  background:#07180F !important;
}

/* Smaller screens can stack the legal/copyright information,
   but desktop/tablet stays horizontal as requested. */
@media (max-width:680px){
  .sudca-footer-bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
    flex-wrap:wrap !important;
    gap:7px !important;
  }
  .sudca-footer-bottom > p:first-child,
  .sudca-footer-bottom > .sudca-footer-credit{
    width:100% !important;
    white-space:normal !important;
    text-align:left !important;
  }
  .sudca-footer-credit .sudca-credit-line{
    white-space:normal !important;
  }
}

/* =========================================================
   SUDCA V33 — HIGH-END HEADER / FOOTER POLISH
   Final precision layer. Built on V32 without disturbing the
   established visual system.
   ========================================================= */

/* ---------- HEADER: larger, stronger utility + primary type ---------- */
.sudca-topbar a{
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:-.012em !important;
}
.sudca-top-phone{font-size:14.5px !important;font-weight:850 !important}
.sudca-top-phone-secondary{font-size:14px !important;font-weight:800 !important}
.sudca-top-email{font-size:14px !important;font-weight:700 !important}
.sudca-top-location{font-size:13px !important;font-weight:700 !important}
.sudca-top-phone small{font-size:10px !important;font-weight:850 !important}

@media (min-width:1241px){
  .sudca-nav-link{
    font-size:clamp(15px,1vw,17px) !important;
    font-weight:900 !important;
    letter-spacing:-.014em !important;
    padding-inline:clamp(10px,.72vw,17px) !important;
  }
  .sudca-desktop-nav{gap:clamp(3px,.32vw,7px) !important}
  .sudca-dropdown-arrow,.sudca-mega-arrow{
    width:34px !important;
  }
  .sudca-brand-text strong{font-size:1.78rem !important}
  .sudca-main-header.is-scrolled .sudca-brand-text strong{font-size:1.58rem !important}
}

/* Responsive type: enlarge first, then step down gracefully rather than
   squeezing desktop navigation until it collides with the brand. */
@media (max-width:1240px) and (min-width:961px){
  .sudca-topbar a{font-size:13px !important}
  .sudca-header-inner{height:76px !important;min-height:76px !important}
}
@media (max-width:960px){
  .sudca-topbar a{font-size:12px !important}
  .sudca-top-phone{font-size:12.5px !important}
  .sudca-topbar-inner{min-height:40px !important}
}
@media (max-width:600px){
  .sudca-topbar a{font-size:11.5px !important}
  .sudca-top-phone{font-size:12px !important}
}

/* ---------- HEADER: vivid parent/submenu indicators everywhere ---------- */
.sudca-main-header .sudca-dropdown-arrow,
.sudca-main-header .sudca-mega-arrow,
.sudca-main-header .sudca-chevron{
  color:#159447 !important;
}
.sudca-main-header .sudca-dropdown-arrow svg,
.sudca-main-header .sudca-mega-arrow svg,
.sudca-main-header .sudca-chevron svg{
  stroke:currentColor !important;
}
.sudca-main-header .sudca-nav-dropdown:hover > .sudca-dropdown-arrow,
.sudca-main-header .sudca-nav-dropdown:hover > .sudca-mega-arrow,
.sudca-main-header .sudca-nav-dropdown:focus-within > .sudca-dropdown-arrow,
.sudca-main-header .sudca-nav-dropdown:focus-within > .sudca-mega-arrow,
.sudca-main-header .sudca-nav-dropdown.is-open > .sudca-dropdown-arrow,
.sudca-main-header .sudca-nav-dropdown.is-open > .sudca-mega-arrow{
  color:#67c84d !important;
}
.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
.home .sudca-main-header:not(.is-scrolled) .sudca-chevron,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-chevron{
  color:#A9E86F !important;
}

/* ---------- HEADER: no oversized sticky hover block ---------- */
.sudca-nav-link:hover,
.sudca-nav-link:focus-visible{
  background:transparent !important;
}
.sudca-nav-link::before{
  content:"";
  position:absolute;
  left:7px;
  right:7px;
  top:9px;
  bottom:9px;
  border-radius:7px;
  background:rgba(21,59,41,.055);
  opacity:0;
  transform:scale(.98);
  transition:opacity .18s ease,transform .18s ease;
  z-index:-1;
}
.sudca-nav-link:hover::before,
.sudca-nav-link:focus-visible::before{
  opacity:1;
  transform:scale(1);
}
.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover::before,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover::before,
.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:focus-visible::before,
.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:focus-visible::before{
  background:rgba(255,255,255,.09);
}
.sudca-main-header.is-scrolled .sudca-nav-link::after{
  height:2px !important;
  bottom:0 !important;
}

/* ---------- MENUS: physically kiss the header border ---------- */
@media (min-width:1241px){
  .sudca-main-header .sudca-mega-panel{
    top:calc(var(--sudca-v27-mega-top,92px) - 2px) !important;
    border-top:3px solid #67c84d !important;
  }
  .sudca-main-header .sudca-simple-dropdown{
    top:calc(100% - 1px) !important;
  }
  /* Give simple dropdowns the same clear top edge treatment as the mega menu. */
  .sudca-main-header .sudca-simple-dropdown{
    border-top:2px solid #67c84d !important;
  }
}

/* ---------- FOOTER: contact locations live BELOW the contact links ---------- */
.sudca-footer-column .sudca-office{
  order:20 !important;
  margin:10px 0 0 !important;
  padding-top:14px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  width:100% !important;
}
.sudca-footer-column .sudca-office strong{
  display:block !important;
  font-size:12.5px !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
}
.sudca-footer-column .sudca-office span{
  display:block !important;
  margin-top:4px !important;
  font-size:10.5px !important;
  line-height:1.5 !important;
  color:rgba(255,255,255,.48) !important;
}

/* ---------- FOOTER: modern compact Legal & Registration ---------- */
.sudca-footer-grid .sudca-legal-column{
  gap:0 !important;
}
.sudca-footer-grid .sudca-legal-column h3{
  margin-bottom:11px !important;
}
.sudca-footer-grid .sudca-legal-stat{
  grid-template-columns:78px minmax(0,1fr) !important;
  gap:9px !important;
  padding:7px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.055) !important;
}
.sudca-footer-grid .sudca-legal-stat:last-child{border-bottom:0 !important}
.sudca-footer-grid .sudca-legal-stat b{
  font-size:9px !important;
  line-height:1.35 !important;
  color:rgba(255,255,255,.46) !important;
  text-transform:uppercase !important;
  letter-spacing:.065em !important;
}
.sudca-footer-grid .sudca-legal-stat span{
  font-size:10.5px !important;
  line-height:1.42 !important;
  color:rgba(255,255,255,.68) !important;
}

/* ---------- FOOTER: closing bands are full-bleed, with clean inset content.
   Nothing touches or disappears beneath the viewport edges. ---------- */
.sudca-footer-conversation,
.sudca-footer-bottom{
  position:relative !important;
  overflow:hidden !important;
  border-left:0 !important;
  border-right:0 !important;
}
.sudca-footer-conversation > *,
.sudca-footer-bottom > *{
  box-sizing:border-box !important;
}
.sudca-footer-conversation > *{
  padding-left:0 !important;
  padding-right:0 !important;
}
.sudca-footer-bottom > *{
  padding-left:0 !important;
  padding-right:0 !important;
}
.sudca-footer-conversation{
  padding-top:28px !important;
  padding-bottom:28px !important;
  background:#0B2417 !important;
}
.sudca-footer-conversation span{
  display:block !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.10em !important;
  text-transform:none !important;
}
.sudca-footer-conversation p{
  margin:7px 0 0 !important;
  font-size:14px !important;
  line-height:1.65 !important;
}
.sudca-footer-bottom{
  min-height:66px !important;
  padding-top:18px !important;
  padding-bottom:18px !important;
  background:#07180F !important;
}
.sudca-footer-bottom > p:first-child,
.sudca-footer-bottom > .sudca-footer-credit{
  font-size:11.5px !important;
  line-height:1.5 !important;
}

@media (max-width:680px){
  .sudca-footer-conversation > *,
  .sudca-footer-bottom > *{
    width:calc(100vw - 30px) !important;
  }
  .sudca-footer-bottom{min-height:0 !important;padding-top:16px !important;padding-bottom:16px !important}
}

/* =========================================================
   SUDCA V33 — HIGH-END HEADER / FOOTER POLISH
   ========================================================= */
.sudca-topbar a{font-size:14px !important;font-weight:800 !important;letter-spacing:-.012em !important}
.sudca-top-phone{font-size:14.5px !important;font-weight:850 !important}
.sudca-top-phone-secondary{font-size:14px !important;font-weight:800 !important}
.sudca-top-email{font-size:14px !important;font-weight:700 !important}
.sudca-top-location{font-size:13px !important;font-weight:700 !important}
.sudca-top-phone small{font-size:10px !important;font-weight:850 !important}
@media (min-width:1241px){
  .sudca-nav-link{font-size:clamp(15px,1vw,17px) !important;font-weight:900 !important;letter-spacing:-.014em !important;padding-inline:clamp(10px,.72vw,17px) !important}
  .sudca-desktop-nav{gap:clamp(3px,.32vw,7px) !important}
  .sudca-dropdown-arrow,.sudca-mega-arrow{width:34px !important}
  .sudca-brand-text strong{font-size:1.78rem !important}
  .sudca-main-header.is-scrolled .sudca-brand-text strong{font-size:1.58rem !important}
}
@media (max-width:1240px) and (min-width:961px){.sudca-topbar a{font-size:13px !important}.sudca-header-inner{height:76px !important;min-height:76px !important}}
@media (max-width:960px){.sudca-topbar a{font-size:12px !important}.sudca-top-phone{font-size:12.5px !important}.sudca-topbar-inner{min-height:40px !important}}
@media (max-width:600px){.sudca-topbar a{font-size:11.5px !important}.sudca-top-phone{font-size:12px !important}}

/* Parent/submenu indicators are always visibly branded. */
.sudca-main-header .sudca-dropdown-arrow,.sudca-main-header .sudca-mega-arrow,.sudca-main-header .sudca-chevron{color:#159447 !important}
.sudca-main-header .sudca-dropdown-arrow svg,.sudca-main-header .sudca-mega-arrow svg,.sudca-main-header .sudca-chevron svg{stroke:currentColor !important}
.sudca-main-header .sudca-nav-dropdown:hover > .sudca-dropdown-arrow,.sudca-main-header .sudca-nav-dropdown:hover > .sudca-mega-arrow,.sudca-main-header .sudca-nav-dropdown:focus-within > .sudca-dropdown-arrow,.sudca-main-header .sudca-nav-dropdown:focus-within > .sudca-mega-arrow,.sudca-main-header .sudca-nav-dropdown.is-open > .sudca-dropdown-arrow,.sudca-main-header .sudca-nav-dropdown.is-open > .sudca-mega-arrow{color:#67c84d !important}
.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,.home .sudca-main-header:not(.is-scrolled) .sudca-chevron,.front-page .sudca-main-header:not(.is-scrolled) .sudca-chevron{color:#A9E86F !important}

/* Compact hover treatment: the visual hover surface never extends beyond the header. */
.sudca-nav-link:hover,.sudca-nav-link:focus-visible{background:transparent !important}
.sudca-nav-link::before{content:"";position:absolute;left:7px;right:7px;top:9px;bottom:9px;border-radius:7px;background:rgba(21,59,41,.055);opacity:0;transform:scale(.98);transition:opacity .18s ease,transform .18s ease;z-index:-1}
.sudca-nav-link:hover::before,.sudca-nav-link:focus-visible::before{opacity:1;transform:scale(1)}
.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover::before,.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover::before,.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:focus-visible::before,.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:focus-visible::before{background:rgba(255,255,255,.09)}
.sudca-main-header.is-scrolled .sudca-nav-link::after{height:2px !important;bottom:0 !important}

/* No seam: the mega menu's green top rule overlaps the header's bottom border by 2px. */
@media (min-width:1241px){
  .sudca-main-header .sudca-mega-panel{top:calc(var(--sudca-v27-mega-top,92px) - 2px) !important;border-top:3px solid #67c84d !important}
  .sudca-main-header .sudca-simple-dropdown{top:calc(100% - 1px) !important;border-top:2px solid #67c84d !important}
}

/* Contact locations belong beneath the complete Contact column. */
.sudca-footer-column .sudca-office{order:20 !important;margin:10px 0 0 !important;padding-top:14px !important;border-top:1px solid rgba(255,255,255,.08) !important;width:100% !important}
.sudca-footer-column .sudca-office strong{display:block !important;font-size:12.5px !important;font-weight:850 !important;letter-spacing:-.01em !important}
.sudca-footer-column .sudca-office span{display:block !important;margin-top:4px !important;font-size:10.5px !important;line-height:1.5 !important;color:rgba(255,255,255,.48) !important}

/* Legal: compact metadata list, no card-like bulk. */
.sudca-footer-grid .sudca-legal-column{gap:0 !important}
.sudca-footer-grid .sudca-legal-column h3{margin-bottom:11px !important}
.sudca-footer-grid .sudca-legal-stat{grid-template-columns:78px minmax(0,1fr) !important;gap:9px !important;padding:7px 0 !important;border-bottom:1px solid rgba(255,255,255,.055) !important}
.sudca-footer-grid .sudca-legal-stat:last-child{border-bottom:0 !important}
.sudca-footer-grid .sudca-legal-stat b{font-size:9px !important;line-height:1.35 !important;color:rgba(255,255,255,.46) !important;text-transform:uppercase !important;letter-spacing:.065em !important}
.sudca-footer-grid .sudca-legal-stat span{font-size:10.5px !important;line-height:1.42 !important;color:rgba(255,255,255,.68) !important}

/* Closing bands: full-width backgrounds, clean readable inset, no edge clipping. */
.sudca-footer-conversation,.sudca-footer-bottom{position:relative !important;overflow:hidden !important;border-left:0 !important;border-right:0 !important;border-radius:0 !important;box-shadow:none !important}
.sudca-footer-conversation{padding-top:28px !important;padding-bottom:28px !important;background:#0B2417 !important}
.sudca-footer-bottom{min-height:66px !important;padding-top:18px !important;padding-bottom:18px !important;background:#07180F !important}
.sudca-footer-conversation > *, .sudca-footer-bottom > *{box-sizing:border-box !important}
.sudca-footer-conversation > *{padding-left:0 !important;padding-right:0 !important}
.sudca-footer-bottom > *{padding-left:0 !important;padding-right:0 !important}
.sudca-footer-conversation span{display:block !important;font-size:13px !important;font-weight:900 !important;letter-spacing:.10em !important;text-transform:none !important}
.sudca-footer-conversation p{margin:7px 0 0 !important;font-size:14px !important;line-height:1.65 !important}
.sudca-footer-bottom > p:first-child,.sudca-footer-bottom > .sudca-footer-credit{font-size:11.5px !important;line-height:1.5 !important}
@media (max-width:680px){
 .sudca-footer-conversation > *, .sudca-footer-bottom > *{width:calc(100vw - 30px) !important}
 .sudca-footer-bottom{min-height:0 !important;padding-top:16px !important;padding-bottom:16px !important}
}

/* =========================================================
   SUDCA V34 — PRECISION HEADER / FOOTER FINISH
   High-end pass: consistent geometry in normal + sticky states,
   flush menu attachment, compact hover surfaces, stronger type,
   and a cleaner closing footer system.
   ========================================================= */

:root{
  --sudca-v34-header-normal:92px;
  --sudca-v34-header-sticky:84px;
  --sudca-v34-menu-rule:#67c84d;
  --sudca-v34-menu-rule-bright:#A9E86F;
}

/* One geometry contract for both header states. */
.sudca-main-header .sudca-header-inner{
  box-sizing:border-box !important;
  align-items:center !important;
}
.sudca-main-header:not(.is-scrolled):not(.sudca-force-sticky) .sudca-header-inner{
  height:var(--sudca-v34-header-normal) !important;
  min-height:var(--sudca-v34-header-normal) !important;
}
.sudca-main-header.is-scrolled .sudca-header-inner,
.sudca-main-header.sudca-force-sticky .sudca-header-inner{
  height:var(--sudca-v34-header-sticky) !important;
  min-height:var(--sudca-v34-header-sticky) !important;
}

/* Larger, confident utility bar without letting it become noisy. */
.sudca-topbar a,
.sudca-topbar .sudca-top-location,
.sudca-topbar .sudca-location-item{
  font-size:14.5px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.sudca-topbar .sudca-top-phone{font-size:15px !important;font-weight:850 !important}
.sudca-topbar .sudca-top-email{font-size:14.5px !important;font-weight:750 !important}
.sudca-topbar .sudca-top-phone small{font-size:10.5px !important;font-weight:850 !important}

/* Main navigation: readable first, compact only when necessary. */
@media (min-width:1241px){
  .sudca-desktop-nav{
    align-items:center !important;
    gap:clamp(4px,.38vw,8px) !important;
  }
  .sudca-nav-link{
    height:var(--sudca-v34-header-normal) !important;
    min-height:var(--sudca-v34-header-normal) !important;
    padding-inline:clamp(10px,.68vw,16px) !important;
    font-size:clamp(15.5px,1.02vw,17.5px) !important;
    font-weight:900 !important;
    letter-spacing:-.012em !important;
    line-height:1 !important;
  }
  .sudca-main-header.is-scrolled .sudca-nav-link,
  .sudca-main-header.sudca-force-sticky .sudca-nav-link{
    height:var(--sudca-v34-header-sticky) !important;
    min-height:var(--sudca-v34-header-sticky) !important;
    padding-inline:clamp(10px,.68vw,16px) !important;
    font-size:clamp(15px,1vw,17px) !important;
    font-weight:900 !important;
  }
  .sudca-nav-dropdown .sudca-nav-link{padding-right:5px !important}
  .sudca-dropdown-arrow,.sudca-mega-arrow{
    height:var(--sudca-v34-header-normal) !important;
    min-height:var(--sudca-v34-header-normal) !important;
    width:30px !important;
    flex:0 0 30px !important;
  }
  .sudca-main-header.is-scrolled .sudca-dropdown-arrow,
  .sudca-main-header.is-scrolled .sudca-mega-arrow,
  .sudca-main-header.sudca-force-sticky .sudca-dropdown-arrow,
  .sudca-main-header.sudca-force-sticky .sudca-mega-arrow{
    height:var(--sudca-v34-header-sticky) !important;
    min-height:var(--sudca-v34-header-sticky) !important;
  }
}

@media (min-width:1241px) and (max-width:1360px){
  .sudca-header-inner{width:calc(100% - 40px) !important;gap:8px !important}
  .sudca-brand{gap:8px !important}
  .sudca-brand img{width:52px !important;height:52px !important}
  .sudca-brand-text strong{font-size:1.5rem !important}
  .sudca-nav-link{font-size:15px !important;padding-inline:8px !important}
  .sudca-main-header.is-scrolled .sudca-nav-link,
  .sudca-main-header.sudca-force-sticky .sudca-nav-link{font-size:15px !important;padding-inline:8px !important}
  .sudca-dropdown-arrow,.sudca-mega-arrow{width:25px !important;flex-basis:25px !important}
  .sudca-header-actions{gap:6px !important}
}

@media (max-width:1240px){
  .sudca-topbar a{font-size:13px !important;font-weight:800 !important}
  .sudca-topbar .sudca-top-phone{font-size:13.5px !important}
}
@media (max-width:960px){
  .sudca-topbar a{font-size:12px !important}
  .sudca-topbar .sudca-top-phone{font-size:12.5px !important}
}
@media (max-width:600px){
  .sudca-topbar a{font-size:11.5px !important}
  .sudca-topbar .sudca-top-phone{font-size:12px !important}
}

/* Indicators: branded on every parent menu, in both normal and sticky states. */
.sudca-main-header .sudca-dropdown-arrow,
.sudca-main-header .sudca-mega-arrow,
.sudca-main-header .sudca-chevron{
  color:#159447 !important;
  opacity:1 !important;
}
.sudca-main-header.is-scrolled .sudca-dropdown-arrow,
.sudca-main-header.is-scrolled .sudca-mega-arrow,
.sudca-main-header.is-scrolled .sudca-chevron,
.sudca-main-header.sudca-force-sticky .sudca-dropdown-arrow,
.sudca-main-header.sudca-force-sticky .sudca-mega-arrow,
.sudca-main-header.sudca-force-sticky .sudca-chevron{color:#35A94F !important}
.sudca-main-header .sudca-nav-dropdown:hover .sudca-dropdown-arrow,
.sudca-main-header .sudca-nav-dropdown:hover .sudca-mega-arrow,
.sudca-main-header .sudca-nav-dropdown:hover .sudca-chevron,
.sudca-main-header .sudca-nav-dropdown:focus-within .sudca-dropdown-arrow,
.sudca-main-header .sudca-nav-dropdown:focus-within .sudca-mega-arrow,
.sudca-main-header .sudca-nav-dropdown:focus-within .sudca-chevron,
.sudca-main-header .sudca-nav-dropdown.is-open .sudca-dropdown-arrow,
.sudca-main-header .sudca-nav-dropdown.is-open .sudca-mega-arrow,
.sudca-main-header .sudca-nav-dropdown.is-open .sudca-chevron{color:var(--sudca-v34-menu-rule-bright) !important}

/* The hover surface is deliberately inset and identical in normal/sticky states. */
.sudca-nav-link{position:relative !important;z-index:1 !important;background:transparent !important}
.sudca-nav-link::before{
  left:6px !important;
  right:6px !important;
  top:12px !important;
  bottom:12px !important;
  border-radius:8px !important;
  transform:scale(.985) !important;
  transform-origin:center !important;
}
.sudca-main-header.is-scrolled .sudca-nav-link::before,
.sudca-main-header.sudca-force-sticky .sudca-nav-link::before{
  top:10px !important;
  bottom:10px !important;
}
.sudca-nav-link:hover::before,
.sudca-nav-link:focus-visible::before{transform:scale(1) !important}

/* Flush menu attachment: the colored top rule is the first visible pixel.
   JS supplies the real rendered header bottom, so normal/sticky offsets stay exact. */
@media (min-width:1241px){
  .sudca-main-header .sudca-mega-panel{
    top:calc(var(--sudca-v27-mega-top,92px) - 2px) !important;
    margin-top:0 !important;
    border-top:3px solid var(--sudca-v34-menu-rule) !important;
    border-radius:0 0 18px 18px !important;
  }
  .sudca-main-header .sudca-simple-dropdown{
    top:calc(100% - 1px) !important;
    margin-top:0 !important;
    border-top:2px solid var(--sudca-v34-menu-rule) !important;
    border-radius:0 0 12px 12px !important;
  }
  .sudca-main-header .sudca-mega-panel::before{display:none !important;content:none !important}
}

/* Footer contact: location is structurally below all contact actions. */
.sudca-footer-column .sudca-office{
  display:block !important;
  margin:16px 0 0 !important;
  padding:12px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  width:100% !important;
}
.sudca-footer-column .sudca-office strong{
  display:block !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  font-weight:850 !important;
}
.sudca-footer-column .sudca-office span{
  display:block !important;
  margin-top:4px !important;
  font-size:10.5px !important;
  line-height:1.5 !important;
  color:rgba(255,255,255,.48) !important;
}

/* Legal: compact editorial metadata, not a tall card. */
.sudca-footer-grid .sudca-legal-column{
  min-height:0 !important;
  height:auto !important;
  align-self:start !important;
  gap:0 !important;
}
.sudca-footer-grid .sudca-legal-column h3{margin-bottom:10px !important}
.sudca-footer-grid .sudca-legal-stat{
  grid-template-columns:82px minmax(0,1fr) !important;
  gap:10px !important;
  padding:7px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.055) !important;
}
.sudca-footer-grid .sudca-legal-stat b{
  font-size:9px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:.065em !important;
  color:rgba(255,255,255,.44) !important;
}
.sudca-footer-grid .sudca-legal-stat span{
  font-size:10.5px !important;
  line-height:1.42 !important;
  font-weight:600 !important;
  color:rgba(255,255,255,.68) !important;
}

/* Closing bands: full-bleed backgrounds, strictly contained content.
   Overflow is clipped so no text/background artifact appears at either edge. */
.sudca-footer-conversation,
.sudca-footer-bottom{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  overflow:hidden !important;
  clip-path:inset(0) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.sudca-footer-conversation > *,
.sudca-footer-bottom > *{
  width:min(var(--sudca-v30-max,1400px),calc(100vw - 72px)) !important;
  max-width:var(--sudca-v30-max,1400px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
.sudca-footer-conversation{
  padding:28px 0 !important;
  background:#0B2417 !important;
}
.sudca-footer-bottom{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:32px !important;
  padding:18px 0 !important;
  min-height:66px !important;
  background:#07180F !important;
}
.sudca-footer-bottom > p:first-child{flex:1 1 auto !important;text-align:left !important}
.sudca-footer-bottom > .sudca-footer-credit{flex:0 0 auto !important;margin-left:auto !important;text-align:right !important}

@media(max-width:680px){
  .sudca-footer-conversation > *,
  .sudca-footer-bottom > *{width:calc(100vw - 30px) !important}
  .sudca-footer-bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:7px !important;
    min-height:0 !important;
    padding:16px 0 !important;
  }
  .sudca-footer-bottom > p:first-child,
  .sudca-footer-bottom > .sudca-footer-credit{width:calc(100vw - 30px) !important;text-align:left !important}
}



/* =========================================================
   SUDCA V41 — CLEAN HEADER / MENU GEOMETRY
   Single positioning model for desktop navigation.
   Menus are positioned absolutely from the actual sticky
   .sudca-main-header, never from viewport coordinates.
   This keeps normal + scrolled + inner-page sticky states
   geometrically identical and removes header/menu gaps.
   ========================================================= */

:root{
  --sudca-menu-green:#159447;
  --sudca-menu-lime:#67c84d;
  --sudca-desktop-header-height:92px;
  --sudca-desktop-header-sticky-height:84px;
}

@media (min-width:1241px){

  /* The header is the ONLY positioning reference for desktop panels. */
  .sudca-main-header{
    position:sticky !important;
    top:0 !important;
    overflow:visible !important;
  }

  .sudca-header-inner{
    height:var(--sudca-desktop-header-height) !important;
    min-height:var(--sudca-desktop-header-height) !important;
    overflow:visible !important;
  }

  .sudca-main-header.is-scrolled .sudca-header-inner,
  .sudca-main-header.sudca-force-sticky .sudca-header-inner{
    height:var(--sudca-desktop-header-sticky-height) !important;
    min-height:var(--sudca-desktop-header-sticky-height) !important;
  }

  .sudca-desktop-nav{
    position:static !important;
    height:100% !important;
    overflow:visible !important;
  }

  /* IMPORTANT: dropdown wrappers are static so their absolute panels
     resolve against .sudca-main-header, not a short flex child. */
  .sudca-nav-dropdown{
    position:static !important;
    align-self:stretch !important;
    height:100% !important;
  }

  .sudca-nav-dropdown > .sudca-nav-link,
  .sudca-nav-dropdown > .sudca-dropdown-arrow,
  .sudca-nav-dropdown > .sudca-mega-arrow{
    height:100% !important;
    min-height:0 !important;
  }

  /* One authoritative vertical attachment point. */
  .sudca-main-header .sudca-simple-dropdown,
  .sudca-main-header .sudca-mega-panel{
    margin-top:0 !important;
    top:calc(100% - 1px) !important;
  }

  /* Simple menus: JS supplies only their horizontal center.
     Vertical position always comes from the real header height. */
  .sudca-main-header .sudca-simple-dropdown{
    left:var(--sudca-simple-menu-left,50%) !important;
    border-top:2px solid var(--sudca-menu-lime) !important;
    border-radius:0 0 12px 12px !important;
    transform:translate(-50%,10px) !important;
  }

  .sudca-nav-dropdown:hover > .sudca-simple-dropdown,
  .sudca-nav-dropdown:focus-within > .sudca-simple-dropdown,
  .sudca-nav-dropdown.is-open > .sudca-simple-dropdown{
    transform:translate(-50%,0) !important;
  }

  /* Mega menus retain the V36 visual footprint and are centered
     against the full header, not against the dropdown trigger. */
  .sudca-main-header .sudca-mega-panel{
    left:50% !important;
    border-top:3px solid var(--sudca-menu-lime) !important;
    border-radius:0 0 18px 18px !important;
    transform:translate(-50%,12px) !important;
  }

  .sudca-mega-wrap:hover > .sudca-mega-panel,
  .sudca-mega-wrap:focus-within > .sudca-mega-panel,
  .sudca-mega-wrap.is-open > .sudca-mega-panel{
    transform:translate(-50%,0) !important;
  }

  /* Never allow an invisible pseudo-element to create a seam. */
  .sudca-main-header .sudca-mega-panel::before{
    display:none !important;
    content:none !important;
  }

  /* Bold, consistent top-level navigation. */
  .sudca-nav-link{
    font-weight:900 !important;
    letter-spacing:-.015em !important;
  }

  /* Colored submenu indicators on every desktop header state. */
  .sudca-main-header .sudca-dropdown-arrow,
  .sudca-main-header .sudca-mega-arrow,
  .sudca-main-header .sudca-chevron{
    color:var(--sudca-menu-green) !important;
  }

  .sudca-main-header .sudca-nav-dropdown:hover > .sudca-dropdown-arrow,
  .sudca-main-header .sudca-nav-dropdown:hover > .sudca-mega-arrow,
  .sudca-main-header .sudca-nav-dropdown:focus-within > .sudca-dropdown-arrow,
  .sudca-main-header .sudca-nav-dropdown:focus-within > .sudca-mega-arrow,
  .sudca-main-header .sudca-nav-dropdown.is-open > .sudca-dropdown-arrow,
  .sudca-main-header .sudca-nav-dropdown.is-open > .sudca-mega-arrow,
  .sudca-main-header .sudca-nav-dropdown:hover .sudca-chevron,
  .sudca-main-header .sudca-nav-dropdown:focus-within .sudca-chevron,
  .sudca-main-header .sudca-nav-dropdown.is-open .sudca-chevron{
    color:var(--sudca-menu-lime) !important;
  }

  .sudca-main-header.is-scrolled .sudca-dropdown-arrow,
  .sudca-main-header.is-scrolled .sudca-mega-arrow,
  .sudca-main-header.sudca-force-sticky .sudca-dropdown-arrow,
  .sudca-main-header.sudca-force-sticky .sudca-mega-arrow,
  .sudca-main-header.is-scrolled .sudca-chevron,
  .sudca-main-header.sudca-force-sticky .sudca-chevron{
    color:var(--sudca-menu-green) !important;
  }

  .sudca-main-header.is-scrolled .sudca-nav-dropdown:hover .sudca-chevron,
  .sudca-main-header.is-scrolled .sudca-nav-dropdown:focus-within .sudca-chevron,
  .sudca-main-header.is-scrolled .sudca-nav-dropdown.is-open .sudca-chevron,
  .sudca-main-header.sudca-force-sticky .sudca-nav-dropdown:hover .sudca-chevron,
  .sudca-main-header.sudca-force-sticky .sudca-nav-dropdown:focus-within .sudca-chevron,
  .sudca-main-header.sudca-force-sticky .sudca-nav-dropdown.is-open .sudca-chevron{
    color:var(--sudca-menu-lime) !important;
  }

  /* Header-to-menu seam: the colored rule occupies the connection edge. */
  .sudca-main-header .sudca-simple-dropdown,
  .sudca-main-header .sudca-mega-panel{
    z-index:100001 !important;
  }

  /* Simple submenu typography. */
  .sudca-simple-dropdown a{
    font-size:13.5px !important;
    font-weight:850 !important;
  }

  .sudca-simple-dropdown .sudca-drop-icon{
    color:var(--sudca-menu-green) !important;
  }

  .sudca-simple-dropdown a:hover .sudca-drop-icon,
  .sudca-simple-dropdown a:focus-visible .sudca-drop-icon,
  .sudca-simple-dropdown a.is-active .sudca-drop-icon{
    color:var(--sudca-menu-lime) !important;
  }

  /* Mega menu headings/items are deliberately bold and editorial. */
  .sudca-mega-heading span,
  .sudca-projects-mega-label,
  .sudca-projects-mega-column > span{
    font-weight:900 !important;
    letter-spacing:.09em !important;
  }

  .sudca-mega-item strong,
  .sudca-projects-mega-column a{
    font-weight:850 !important;
  }

  .sudca-mega-item .sudca-mega-number,
  .sudca-projects-mega-column a b{
    color:var(--sudca-menu-lime) !important;
    font-weight:900 !important;
  }

  /* Consistent parent underline. */
  .sudca-main-header .sudca-nav-dropdown > .sudca-nav-link::after{
    left:8px !important;
    right:8px !important;
    bottom:0 !important;
    height:3px !important;
    border-radius:3px 3px 0 0 !important;
    background:var(--sudca-menu-green) !important;
    transform:scaleX(0) !important;
    opacity:1 !important;
  }

  .sudca-main-header .sudca-nav-dropdown:hover > .sudca-nav-link::after,
  .sudca-main-header .sudca-nav-dropdown:focus-within > .sudca-nav-link::after,
  .sudca-main-header .sudca-nav-dropdown.is-open > .sudca-nav-link::after,
  .sudca-main-header .sudca-nav-dropdown.is-active > .sudca-nav-link::after,
  .sudca-main-header .sudca-nav-dropdown > .sudca-nav-link.is-active::after{
    transform:scaleX(1) !important;
  }

  .sudca-main-header .sudca-nav-dropdown:hover > .sudca-nav-link::after,
  .sudca-main-header .sudca-nav-dropdown:focus-within > .sudca-nav-link::after,
  .sudca-main-header .sudca-nav-dropdown.is-open > .sudca-nav-link::after{
    background:var(--sudca-menu-lime) !important;
  }
}

@media (min-width:1241px) and (max-width:1360px){
  .sudca-nav-link{
    font-size:15px !important;
    padding-inline:7px !important;
  }
  .sudca-nav-dropdown > .sudca-nav-link{padding-right:4px !important}
  .sudca-dropdown-arrow,.sudca-mega-arrow{width:24px !important;flex-basis:24px !important}
}

@media (prefers-reduced-motion:reduce){
  .sudca-simple-dropdown,
  .sudca-mega-panel{transition:none !important}
}

/* =========================================================
   SUDCA V42 — FINAL HEADER HOVER + HOMEPAGE STICKY INDICATORS
   Keep V41's working menu geometry. This layer only corrects
   the header interaction surface and gives the footer a cleaner,
   more institutional finish.
   ========================================================= */

@media (min-width:1241px){
  /* The navigation link itself is the visual clipping boundary.
     Nothing from the hover treatment can extend below the header. */
  .sudca-main-header .sudca-nav-link{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
    box-sizing:border-box !important;
  }

  /* Rebuild the hover surface as a strictly inset layer. */
  .sudca-main-header .sudca-nav-link::before{
    content:"" !important;
    position:absolute !important;
    inset:10px 6px !important;
    width:auto !important;
    height:auto !important;
    top:10px !important;
    right:6px !important;
    bottom:10px !important;
    left:6px !important;
    border-radius:8px !important;
    transform:none !important;
    opacity:0 !important;
    pointer-events:none !important;
    z-index:-1 !important;
    transition:opacity .18s ease !important;
  }

  .sudca-main-header .sudca-nav-link:hover::before,
  .sudca-main-header .sudca-nav-link:focus-visible::before{
    opacity:1 !important;
    transform:none !important;
  }

  /* Sticky header gets the same contained interaction footprint. */
  .sudca-main-header.is-scrolled .sudca-nav-link::before,
  .sudca-main-header.sudca-force-sticky .sudca-nav-link::before{
    top:9px !important;
    right:6px !important;
    bottom:9px !important;
    left:6px !important;
  }

  /* Homepage sticky state: indicators must remain visible on the
     white sticky header, not inherit the transparent hero treatment. */
  body.home .sudca-main-header.is-scrolled .sudca-dropdown-arrow,
  body.home .sudca-main-header.is-scrolled .sudca-mega-arrow,
  body.home .sudca-main-header.is-scrolled .sudca-chevron,
  body.front-page .sudca-main-header.is-scrolled .sudca-dropdown-arrow,
  body.front-page .sudca-main-header.is-scrolled .sudca-mega-arrow,
  body.front-page .sudca-main-header.is-scrolled .sudca-chevron{
    color:#159447 !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  body.home .sudca-main-header.is-scrolled .sudca-nav-dropdown:hover .sudca-chevron,
  body.home .sudca-main-header.is-scrolled .sudca-nav-dropdown:focus-within .sudca-chevron,
  body.home .sudca-main-header.is-scrolled .sudca-nav-dropdown.is-open .sudca-chevron,
  body.front-page .sudca-main-header.is-scrolled .sudca-nav-dropdown:hover .sudca-chevron,
  body.front-page .sudca-main-header.is-scrolled .sudca-nav-dropdown:focus-within .sudca-chevron,
  body.front-page .sudca-main-header.is-scrolled .sudca-nav-dropdown.is-open .sudca-chevron{
    color:#67c84d !important;
  }

  /* Keep the underline strictly inside the header's bottom edge. */
  .sudca-main-header .sudca-nav-dropdown > .sudca-nav-link::after{
    bottom:0 !important;
    max-height:3px !important;
  }
}

/* =========================================================
   V42 — CLEAN INSTITUTIONAL FOOTER
   ========================================================= */
.sudca-footer{
  background:#07130D !important;
  color:#fff !important;
  overflow:hidden !important;
}

.sudca-footer-tagline{
  background:#0B2116 !important;
  border-top:1px solid rgba(255,255,255,.05) !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  padding:58px 0 54px !important;
}

.sudca-footer-tagline-inner{
  min-height:0 !important;
  align-items:center !important;
  gap:36px !important;
}

.sudca-footer-tagline .sudca-footer-eyebrow{
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  color:#78C85B !important;
}

.sudca-footer-tagline h2{
  margin:8px 0 0 !important;
  font-size:clamp(32px,4vw,50px) !important;
  line-height:1.04 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  color:#fff !important;
}

.sudca-footer-cta-button{
  min-height:48px !important;
  padding:0 20px !important;
  border:1px solid rgba(103,200,77,.48) !important;
  background:#159447 !important;
  color:#fff !important;
  border-radius:7px !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  box-shadow:none !important;
}
.sudca-footer-cta-button:hover,
.sudca-footer-cta-button:focus-visible{
  background:#67c84d !important;
  color:#07130D !important;
  border-color:#67c84d !important;
}

.sudca-footer > .sudca-container{
  padding-top:0 !important;
}

.sudca-footer-grid-v19{
  padding:54px 0 42px !important;
  row-gap:44px !important;
  column-gap:48px !important;
}

.sudca-footer-brand p{
  max-width:390px !important;
  font-size:13px !important;
  line-height:1.75 !important;
  color:rgba(255,255,255,.62) !important;
}

.sudca-footer-column h3{
  margin:0 0 14px !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:#78C85B !important;
}

.sudca-footer-column > a{
  display:block !important;
  padding:5px 0 !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
  color:rgba(255,255,255,.67) !important;
  text-decoration:none !important;
}
.sudca-footer-column > a:hover,
.sudca-footer-column > a:focus-visible{
  color:#fff !important;
}

.sudca-footer-column .sudca-footer-link-icon{
  color:#5DB84A !important;
}

.sudca-footer-column .sudca-office{
  margin-top:13px !important;
  padding-top:12px !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
}
.sudca-footer-column .sudca-office strong{
  font-size:11.5px !important;
  font-weight:800 !important;
  color:rgba(255,255,255,.78) !important;
}
.sudca-footer-column .sudca-office span{
  font-size:10px !important;
  color:rgba(255,255,255,.43) !important;
}

.sudca-footer-partners{
  margin:0 !important;
  padding:22px 0 25px !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  background:transparent !important;
}
.sudca-footer-partners-head{
  display:flex !important;
  align-items:baseline !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin-bottom:13px !important;
}
.sudca-footer-partners-head span{
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.15em !important;
  color:#78C85B !important;
}
.sudca-footer-partners-head p{
  margin:0 !important;
  font-size:10.5px !important;
  color:rgba(255,255,255,.42) !important;
}
.sudca-footer-partners > div:last-child{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px 22px !important;
}
.sudca-footer-partners b{
  font-size:10.5px !important;
  font-weight:700 !important;
  color:rgba(255,255,255,.48) !important;
}

.sudca-footer-conversation{
  background:#0A1D13 !important;
  border-top:0 !important;
  padding:27px 0 !important;
}
.sudca-footer-conversation .sudca-footer-closing-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
}
.sudca-footer-conversation span{
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#78C85B !important;
}
.sudca-footer-conversation p{
  margin:0 !important;
  font-size:12.5px !important;
  color:rgba(255,255,255,.62) !important;
}
.sudca-footer-conversation p a{
  color:#fff !important;
  font-weight:800 !important;
}

.sudca-footer-bottom{
  background:#050D08 !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
  padding:15px 0 !important;
}
.sudca-footer-bottom .sudca-footer-closing-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}
.sudca-footer-bottom p{
  margin:0 !important;
  font-size:10.5px !important;
  line-height:1.5 !important;
  color:rgba(255,255,255,.38) !important;
}
.sudca-footer-bottom .sudca-footer-credit{
  color:rgba(255,255,255,.43) !important;
}
.sudca-footer-bottom a{
  color:rgba(255,255,255,.7) !important;
  font-weight:700 !important;
}

@media(max-width:760px){
  .sudca-footer-tagline{padding:44px 0 !important}
  .sudca-footer-tagline-inner,
  .sudca-footer-conversation .sudca-footer-closing-inner,
  .sudca-footer-bottom .sudca-footer-closing-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .sudca-footer-tagline h2{font-size:34px !important}
  .sudca-footer-grid-v19{padding:40px 0 30px !important;row-gap:30px !important}
  .sudca-footer-partners-head{display:block !important}
  .sudca-footer-partners-head p{margin-top:6px !important}
  .sudca-footer-conversation{padding:23px 0 !important}
}

/* =========================================================
   V44 — INNER-PAGE MEGA MENU FLUSH ATTACHMENT
   The legacy stylesheet contained an older fixed-position mega-menu
   rule with hard-coded viewport offsets (82px/126px). On inner pages
   that could leave a visible gap below the main header. The mega panel
   now resolves vertically from the actual .sudca-main-header in every
   desktop state, while retaining full-viewport width.
   ========================================================= */
@media (min-width:1241px){
  .sudca-main-header .sudca-mega-panel{
    position:absolute !important;
    top:calc(100% - 1px) !important;
    bottom:auto !important;
    margin-top:0 !important;
    left:50% !important;
    right:auto !important;
    width:100vw !important;
    max-width:none !important;
    transform:translate(-50%,12px) !important;
    z-index:100001 !important;
  }

  .sudca-mega-wrap:hover > .sudca-mega-panel,
  .sudca-mega-wrap:focus-within > .sudca-mega-panel,
  .sudca-mega-wrap.is-open > .sudca-mega-panel{
    transform:translate(-50%,0) !important;
  }
}

/* =========================================================
   SUDCA V43 — HEADER HEIGHT LOCK + CLEAN PREVIOUS-STYLE FOOTER
   Fixes the sticky active/hover surface extending below the real
   header edge. The visual interaction is now inset inside a header
   whose outer box and inner navigation have exactly the same height.
   ========================================================= */

@media (min-width:1241px){
  /* ---------------------------------------------------------
     01. AUTHORITATIVE HEADER HEIGHTS
     Homepage top = 90px; inner-page top = 92px; all sticky = 84px.
     Main header, inner row and navigation links are identical in height.
     --------------------------------------------------------- */
  .sudca-main-header.is-scrolled,
  .sudca-main-header.sudca-force-sticky{
    height:84px !important;
    min-height:84px !important;
    max-height:84px !important;
  }
  .sudca-main-header.is-scrolled .sudca-header-inner,
  .sudca-main-header.sudca-force-sticky .sudca-header-inner{
    height:84px !important;
    min-height:84px !important;
    max-height:84px !important;
  }
  .sudca-main-header.is-scrolled .sudca-nav-link,
  .sudca-main-header.sudca-force-sticky .sudca-nav-link,
  .sudca-main-header.is-scrolled .sudca-dropdown-arrow,
  .sudca-main-header.is-scrolled .sudca-mega-arrow,
  .sudca-main-header.sudca-force-sticky .sudca-dropdown-arrow,
  .sudca-main-header.sudca-force-sticky .sudca-mega-arrow{
    height:84px !important;
    min-height:84px !important;
    max-height:84px !important;
  }

  body.home .sudca-main-header.is-scrolled,
  body.front-page .sudca-main-header.is-scrolled{
    height:84px !important;
    min-height:84px !important;
    max-height:84px !important;
  }
  body.home .sudca-main-header.is-scrolled .sudca-header-inner,
  body.front-page .sudca-main-header.is-scrolled .sudca-header-inner{
    height:84px !important;
    min-height:84px !important;
    max-height:84px !important;
  }

  body.home .sudca-main-header:not(.is-scrolled),
  body.front-page .sudca-main-header:not(.is-scrolled){
    height:90px !important;
    min-height:90px !important;
    max-height:90px !important;
  }
  body.home .sudca-main-header:not(.is-scrolled) .sudca-header-inner,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-header-inner{
    height:90px !important;
    min-height:90px !important;
    max-height:90px !important;
  }
  body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
  body.home .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-dropdown-arrow,
  body.home .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-mega-arrow{
    height:90px !important;
    min-height:90px !important;
    max-height:90px !important;
  }

  body:not(.home):not(.front-page) .sudca-main-header:not(.sudca-force-sticky){
    height:92px !important;
    min-height:92px !important;
    max-height:92px !important;
  }
  body:not(.home):not(.front-page) .sudca-main-header:not(.sudca-force-sticky) .sudca-header-inner{
    height:92px !important;
    min-height:92px !important;
    max-height:92px !important;
  }
  body:not(.home):not(.front-page) .sudca-main-header:not(.sudca-force-sticky) .sudca-nav-link,
  body:not(.home):not(.front-page) .sudca-main-header:not(.sudca-force-sticky) .sudca-dropdown-arrow,
  body:not(.home):not(.front-page) .sudca-main-header:not(.sudca-force-sticky) .sudca-mega-arrow{
    height:92px !important;
    min-height:92px !important;
    max-height:92px !important;
  }

  /* ---------------------------------------------------------
     02. ACTIVE / HOVER SURFACE — contained, never full-height
     --------------------------------------------------------- */
  .sudca-main-header .sudca-nav-link{
    background:transparent !important;
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
    box-sizing:border-box !important;
  }
  .sudca-main-header .sudca-nav-link::before{
    content:"" !important;
    position:absolute !important;
    top:9px !important;
    right:6px !important;
    bottom:9px !important;
    left:6px !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    border-radius:8px !important;
    background:var(--sudca-brand-green-soft,#EAF5E7) !important;
    opacity:0 !important;
    transform:none !important;
    pointer-events:none !important;
    z-index:-1 !important;
    transition:opacity .16s ease !important;
  }
  .sudca-main-header .sudca-nav-link:hover::before,
  .sudca-main-header .sudca-nav-link:focus-visible::before,
  .sudca-main-header .sudca-nav-link.is-active::before,
  .sudca-main-header .sudca-nav-dropdown.is-active > .sudca-nav-link::before,
  .sudca-main-header .sudca-nav-dropdown.is-open > .sudca-nav-link::before{
    opacity:1 !important;
  }

  /* Sticky: slightly tighter visual inset, still fully inside 84px. */
  .sudca-main-header.is-scrolled .sudca-nav-link::before,
  .sudca-main-header.sudca-force-sticky .sudca-nav-link::before{
    top:8px !important;
    bottom:8px !important;
  }

  /* Keep the active/hover text and indicator above the surface. */
  .sudca-main-header .sudca-nav-link{
    color:#18251E !important;
  }
  .sudca-main-header .sudca-nav-link:hover,
  .sudca-main-header .sudca-nav-link:focus-visible,
  .sudca-main-header .sudca-nav-link.is-active,
  .sudca-main-header .sudca-nav-dropdown.is-active > .sudca-nav-link{
    color:var(--sudca-brand-green,#159447) !important;
  }
  body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link{
    color:#fff !important;
    background:transparent !important;
  }
  body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link::before,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link::before{
    background:rgba(255,255,255,.09) !important;
  }
  body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover,
  body.home .sudca-main-header:not(.is-scrolled) .sudca-nav-link:focus-visible,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:hover,
  body.front-page .sudca-main-header:not(.is-scrolled) .sudca-nav-link:focus-visible{
    color:#fff !important;
    background:transparent !important;
  }

  /* The underline is the only element allowed to touch the exact
     bottom edge of the header. */
  .sudca-main-header .sudca-nav-dropdown > .sudca-nav-link::after{
    bottom:0 !important;
    height:3px !important;
    max-height:3px !important;
    z-index:6 !important;
  }
}

/* =========================================================
   V43 — FOOTER: RETURN TO THE STRONG PREVIOUS ARCHITECTURE,
   REFINED FOR CLEANER INSTITUTIONAL PRESENTATION.
   ========================================================= */
.sudca-footer{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#06110B !important;
  color:#fff !important;
}
.sudca-footer::before,
.sudca-footer::after,
.sudca-footer-tagline::before,
.sudca-footer-tagline::after{
  display:none !important;
  content:none !important;
  background:none !important;
  background-image:none !important;
}
.sudca-footer > .sudca-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.sudca-footer-tagline{
  width:100% !important;
  padding:56px 0 48px !important;
  background:#0A2117 !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}
.sudca-footer-tagline-inner{
  width:min(1380px,calc(100vw - 64px)) !important;
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:46px !important;
}
.sudca-footer-tagline-inner > div{min-width:0 !important}
.sudca-footer-eyebrow{
  color:#8BCB43 !important;
  font-size:11px !important;
  line-height:1.3 !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
}
.sudca-footer-tagline h2{
  margin:13px 0 0 !important;
  color:#fff !important;
  font-size:clamp(34px,4.2vw,58px) !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.05em !important;
}
.sudca-footer-cta-button{
  flex:0 0 auto !important;
  margin:0 !important;
  white-space:nowrap !important;
  font-weight:950 !important;
}

.sudca-footer-grid-v19{
  width:min(1380px,calc(100vw - 64px)) !important;
  max-width:1380px !important;
  margin:0 auto !important;
  padding:58px 0 48px !important;
  display:grid !important;
  grid-template-columns:1.35fr repeat(3,minmax(0,1fr)) !important;
  grid-template-rows:auto auto !important;
  gap:42px 46px !important;
  background:transparent !important;
}
.sudca-footer-grid-v19 > .sudca-footer-brand,
.sudca-footer-grid-v19 > .sudca-footer-column{
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.sudca-footer-grid-v19 > .sudca-footer-column:nth-child(n+5){
  border-top:1px solid rgba(255,255,255,.075) !important;
  padding-top:28px !important;
}
.sudca-footer-brand > p{
  margin:18px 0 0 !important;
  max-width:360px !important;
  color:rgba(255,255,255,.68) !important;
  font-size:13px !important;
  line-height:1.72 !important;
  font-weight:650 !important;
}
.sudca-footer-column h3{
  margin:0 0 17px !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
}
.sudca-footer-column a{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 0 10px !important;
  padding:0 !important;
  color:rgba(255,255,255,.68) !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  font-weight:750 !important;
  transform:none !important;
}
.sudca-footer-column a:hover,
.sudca-footer-column a:focus-visible{
  color:#8BCB43 !important;
  transform:translateX(3px) !important;
}
.sudca-footer-view{color:#8BCB43 !important;font-weight:900 !important}
.sudca-footer-link-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  height:18px !important;
  margin-right:7px !important;
  color:#8BCB43 !important;
  vertical-align:-4px !important;
}
.sudca-footer-link-icon svg{width:15px !important;height:15px !important}
.sudca-office{
  margin-top:16px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(255,255,255,.075) !important;
}
.sudca-office strong{display:block !important;color:#fff !important;font-size:11.5px !important;font-weight:900 !important}
.sudca-office span{display:block !important;margin-top:4px !important;color:rgba(255,255,255,.46) !important;font-size:10px !important;line-height:1.5 !important}

.sudca-legal-column{min-height:0 !important;height:auto !important}
.sudca-legal-column h3{margin-bottom:13px !important}
.sudca-legal-stat{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) !important;
  gap:9px !important;
  padding:7px 0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  background:transparent !important;
}
.sudca-legal-stat:last-child{border-bottom:0 !important}
.sudca-legal-stat b{
  color:#8BCB43 !important;
  font-size:9px !important;
  line-height:1.4 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}
.sudca-legal-stat span{color:rgba(255,255,255,.62) !important;font-size:10.5px !important;line-height:1.5 !important;font-weight:650 !important}

.sudca-footer-partners{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:30px max(32px,calc((100vw - 1380px)/2)) 34px !important;
  box-sizing:border-box !important;
  border-top:1px solid rgba(255,255,255,.075) !important;
  border-bottom:1px solid rgba(255,255,255,.075) !important;
  background:#091C12 !important;
}
.sudca-footer-partners-head,
.sudca-footer-partners > div:not(.sudca-footer-partners-head){
  width:100% !important;
  max-width:1380px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.sudca-footer-partners-head{margin-bottom:17px !important}
.sudca-footer-partners-head span{
  color:#8BCB43 !important;
  font-size:10px !important;
  line-height:1.3 !important;
  font-weight:950 !important;
  letter-spacing:.15em !important;
}
.sudca-footer-partners-head p{margin:6px 0 0 !important;color:rgba(255,255,255,.48) !important;font-size:11px !important;line-height:1.5 !important;font-weight:650 !important}
.sudca-footer-partners > div:not(.sudca-footer-partners-head){
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:9px !important;
}
.sudca-footer-partners b{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:7px 10px !important;
  color:rgba(255,255,255,.66) !important;
  font-size:10.5px !important;
  line-height:1.3 !important;
  font-weight:850 !important;
  text-align:center !important;
  border:1px solid rgba(255,255,255,.055) !important;
  border-radius:4px !important;
  background:rgba(255,255,255,.018) !important;
}
.sudca-footer-partners b:hover{color:#fff !important;border-color:rgba(139,203,67,.25) !important;background:rgba(114,181,45,.07) !important}

.sudca-footer-conversation{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:30px 0 !important;
  box-sizing:border-box !important;
  background:#0B2417 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.sudca-footer-conversation .sudca-footer-closing-inner{
  width:min(1380px,calc(100vw - 64px)) !important;
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:baseline !important;
  gap:10px 24px !important;
}
.sudca-footer-conversation span{flex:0 0 auto !important;color:#8BCB43 !important;font-size:11px !important;line-height:1.3 !important;font-weight:950 !important;letter-spacing:.12em !important;text-transform:uppercase !important}
.sudca-footer-conversation p{flex:1 1 auto !important;margin:0 !important;color:rgba(255,255,255,.66) !important;font-size:12.5px !important;line-height:1.6 !important;font-weight:650 !important}
.sudca-footer-conversation a{color:#fff !important;font-weight:900 !important}
.sudca-footer-bottom{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:18px 0 !important;
  box-sizing:border-box !important;
  background:#030906 !important;
}
.sudca-footer-bottom .sudca-footer-closing-inner{
  width:min(1380px,calc(100vw - 64px)) !important;
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
}
.sudca-footer-bottom p{margin:0 !important;color:rgba(255,255,255,.42) !important;font-size:10.5px !important;line-height:1.5 !important;font-weight:650 !important}
.sudca-footer-bottom .sudca-footer-credit{margin-left:auto !important;text-align:right !important;white-space:nowrap !important}
.sudca-footer-bottom a{color:#8BCB43 !important;font-weight:900 !important}

@media(max-width:1100px){
  .sudca-footer-grid-v19{width:calc(100vw - 48px) !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:36px 30px !important}
  .sudca-footer-grid-v19 > .sudca-footer-column:nth-child(n+5){border-top:0 !important;padding-top:8px !important}
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .sudca-footer-tagline-inner,.sudca-footer-conversation .sudca-footer-closing-inner,.sudca-footer-bottom .sudca-footer-closing-inner{width:calc(100vw - 48px) !important}
}
@media(max-width:680px){
  .sudca-footer-tagline{padding:44px 0 38px !important}
  .sudca-footer-tagline-inner{width:calc(100vw - 32px) !important;flex-direction:column !important;align-items:flex-start !important;gap:22px !important}
  .sudca-footer-tagline h2{font-size:clamp(32px,9vw,48px) !important}
  .sudca-footer-cta-button{width:auto !important}
  .sudca-footer-grid-v19{width:calc(100vw - 32px) !important;grid-template-columns:1fr !important;gap:0 !important;padding:38px 0 28px !important}
  .sudca-footer-grid-v19 > .sudca-footer-column,
  .sudca-footer-grid-v19 > .sudca-footer-brand{padding:19px 0 !important;border-top:1px solid rgba(255,255,255,.075) !important}
  .sudca-footer-grid-v19 > .sudca-footer-brand{border-top:0 !important;padding-top:0 !important}
  .sudca-footer-partners{padding:26px 16px 28px !important}
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .sudca-footer-conversation{padding:25px 16px !important}
  .sudca-footer-conversation .sudca-footer-closing-inner{width:100% !important;display:block !important}
  .sudca-footer-conversation p{margin-top:7px !important}
  .sudca-footer-bottom{padding:17px 16px !important}
  .sudca-footer-bottom .sudca-footer-closing-inner{width:100% !important;display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:7px !important}
  .sudca-footer-bottom .sudca-footer-credit{margin-left:0 !important;text-align:left !important;white-space:normal !important}
}
@media(max-width:390px){
  .sudca-footer-partners > div:not(.sudca-footer-partners-head){grid-template-columns:1fr !important}
}

/* =========================================================
   V45 — AUTHORITATIVE RENDERED GEOMETRY ATTACHMENT
   Inner-page mega menus must attach to the actual rendered bottom
   edge of .sudca-main-header. JavaScript measures that edge and
   writes an inline top value; this rule is the safe fallback.
   No fixed 82px/92px/126px viewport offsets are used here.
   ========================================================= */
@media (min-width:1241px){
  .sudca-main-header .sudca-mega-panel,
  .sudca-main-header .sudca-simple-dropdown{
    position:absolute !important;
    top:var(--sudca-menu-attach-top, calc(100% - 1px)) !important;
    margin-top:0 !important;
  }

  .sudca-main-header .sudca-mega-panel{
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    transform:translate(-50%,12px) !important;
  }

  .sudca-mega-wrap:hover > .sudca-mega-panel,
  .sudca-mega-wrap:focus-within > .sudca-mega-panel,
  .sudca-mega-wrap.is-open > .sudca-mega-panel{
    transform:translate(-50%,0) !important;
  }
}
