/**
 * Standards FM — header design (hero-slider101995).
 *
 * Fixed transparent header: top row (lang / logo / search) + centered nav,
 * hover dropdown panels (sub row or 5-col mega), full-width search bar,
 * slide-in mobile drawer with accordions.
 */

:root {
	--hd-mobile-surface: #0a1440;
	--hd-mobile-header-bg: rgba(7, 14, 46, 0.72);
}

.hd,
.hd *,
.hd-drawer,
.hd-drawer * {
	box-sizing: border-box;
}

.hd {
	--hd-container: 1280px;
	--hd-muted: rgba(255, 255, 255, 0.6);
	--hd-line: rgba(255, 255, 255, 0.25);
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 50;
	color: #fff;
	font-family: var(--sfm-font-sans);
	font-weight: var(--sfm-weight-medium);
	background: linear-gradient(180deg, rgba(6, 12, 40, 0.92), rgba(8, 16, 52, 0.7));
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition: background 0.35s, -webkit-backdrop-filter 0.35s, backdrop-filter 0.35s;
}

.hd.is-scrolled {
	background: rgba(7, 14, 46, 0.96);
}

/* Front page: the header sits over the hero, so it stays fully transparent —
   exactly the hero's own darkness — until the user scrolls or interacts
   with a menu item, then only a slight darken kicks in. Inner pages with a
   featured-image hero get the same treatment (see page-hero.css). */
.sfm-front .hd,
.sfm-has-hero .hd {
	background: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.sfm-front .hd.is-scrolled,
.sfm-front .hd.is-nav,
.sfm-has-hero .hd.is-scrolled,
.sfm-has-hero .hd.is-nav {
	background: rgba(7, 14, 46, 0.82);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.hd a {
	color: inherit;
	text-decoration: none;
}

.hd-wrap {
	width: min(var(--hd-container), 100% - 48px);
	margin-inline: auto;
}

/* Top row: language / logo / actions */
.hd-top {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: 92px;
	transition: height 0.3s;
}

.hd.is-scrolled .hd-top {
	height: 72px;
}

.hd-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 30px;
	min-width: 100px;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font: inherit;
	font-size: var(--sfm-text-base);
	font-weight: var(--sfm-weight-medium);
	transition: background 0.25s;
}

.hd-pill:hover {
	background: rgba(255, 255, 255, 0.26);
}

.hd-pill svg {
	width: 16px;
	height: 16px;
	flex: none;
}

.hd-lang {
	justify-self: start;
}

.hd-actions {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 12px;
}

.hd-search-btn {
	min-width: 100px;
}

/* Logo — replace text lockup with the white SVG mark */
.hd-logo {
	display: flex;
	align-items: center;
	line-height: 1;
}

.hd-logo img {
	height: 56px;
	width: auto;
	display: block;
}

/* Main nav */
.hd-nav {
	display: flex;
	justify-content: center;
	gap: 41px;
	height: 46px;
	overflow: hidden;
}

.hd-link {
	position: relative;
	padding: 4px 0 12px;
	font-size: 17px;
	font-weight: var(--sfm-weight-medium);
	color: var(--hd-muted);
	transition: color 0.25s;
	white-space: nowrap;
}

.hd-link:hover,
.hd-link.is-current,
.hd-link.is-on {
	color: #fff;
}

.hd-link::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 26px;
	height: 2px;
	margin-left: -13px;
	background: #fff;
	transform: scaleX(0);
	transition: transform 0.25s;
}

.hd-link.is-on::after {
	transform: scaleX(1);
}

/* Sub menu + mega menu */
.hd-panels {
	border-top: 1px solid var(--hd-line);
}

.hd-panel {
	display: none;
}

.hd-panel.is-on {
	display: block;
	animation: hd-in 0.28s ease;
}

@keyframes hd-in {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.hd-sub {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 41px;
	height: 60px;
}

.hd-sub a {
	font-size: 17px;
	font-weight: var(--sfm-weight-medium);
	color: rgba(255, 255, 255, 0.88);
	transition: color 0.2s, opacity 0.2s;
	white-space: nowrap;
}

.hd-sub a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 6px;
}

.hd-mega {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	padding: 30px 0 34px;
}

.hd-mega a {
	display: block;
	padding: 4px 26px;
	border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.hd-mega a:first-child {
	border-left: 0;
	padding-left: 0;
}

.hd-mega strong {
	display: block;
	font-size: var(--sfm-text-lg);
	font-weight: var(--sfm-weight-medium);
	line-height: 1.2;
}

.hd-mega span {
	display: block;
	margin-top: 10px;
	font-size: var(--sfm-text-sm);
	line-height: 1.45;
	color: var(--hd-muted);
}

.hd-mega a:hover strong {
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* Projects mega menu: side rail + six category image cards */
.hd-projmega {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 40px;
	align-items: center;
	padding: 30px 0 34px;
}

.hd-projmega__title {
	margin: 0 0 22px;
	font-size: 27px;
	font-weight: var(--sfm-weight-bold);
	line-height: 1.15;
	color: #fff;
}

.hd-projmega__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 24px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 999px;
	font-size: var(--sfm-text-sm);
	font-weight: var(--sfm-weight-medium);
	color: #fff;
	transition: background 0.25s, border-color 0.25s, color 0.25s;
}

.hd-projmega__btn svg {
	width: 15px;
	height: 15px;
	transition: transform 0.25s;
}

.hd-projmega__btn:hover {
	background: #fff;
	border-color: #fff;
	color: #0c1430;
}

.hd-projmega__btn:hover svg {
	transform: translateX(3px);
}

.hd-projmega__cards {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hd-projcard {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: 12px;
	overflow: hidden;
	isolation: isolate;
	background: linear-gradient(135deg, #0a1440, #12315f);
}

.hd-projcard__img {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-size: cover;
	background-position: center;
	transition: transform 0.4s ease, filter 0.4s ease;
}

.hd-projcard__shade {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(180deg, rgba(2, 11, 42, 0) 28%, rgba(2, 11, 42, 0.5) 68%, rgba(2, 11, 42, 0.88) 100%);
}

.hd-projcard__label {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 11px;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
}

.hd-projcard__title {
	font-size: 13px;
	font-weight: var(--sfm-weight-bold);
	line-height: 1.3;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.hd-projcard__arrow {
	flex: none;
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 50%;
	background: rgba(2, 11, 42, 0.25);
	transition: transform 0.3s, background 0.3s;
}

.hd-projcard__arrow svg {
	width: 12px;
	height: 12px;
}

.hd-projcard:hover .hd-projcard__img {
	transform: scale(1.05);
	filter: brightness(1.12);
}

.hd-projcard:hover .hd-projcard__arrow {
	transform: translateX(3px);
	background: rgba(1, 164, 76, 0.85);
}

@media (max-width: 1180px) {
	.hd-projmega {
		grid-template-columns: 190px 1fr;
		gap: 24px;
	}

	.hd-projmega__title {
		font-size: 22px;
	}

	.hd-projcard__title {
		font-size: var(--sfm-text-xs);
	}
}

/* Services mega menu: category tabs with service image cards */
.hd-srvmega { padding: 22px 0 28px; }
.hd-srvmega__heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.hd-srvmega__heading strong { font-size:19px; font-weight:var(--sfm-weight-bold); }
.hd-srvmega__heading > a, .hd-srvmega__category-link { color:rgba(255,255,255,.78); font-size:var(--sfm-text-sm); }
.hd-srvmega__heading > a:hover, .hd-srvmega__category-link:hover { color:#fff; }
.hd-srvmega__tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid rgba(255,255,255,.22); margin-bottom:16px; }
.hd-srvmega__tab { min-height:48px; padding:8px 12px; border:0; border-bottom:2px solid transparent; background:none; color:rgba(255,255,255,.78); font:inherit; font-size:var(--sfm-text-sm); font-weight:var(--sfm-weight-bold); cursor:pointer; transition:color .2s,border-color .2s,background .2s; }
.hd-srvmega__tab:hover, .hd-srvmega__tab.is-active { color:#fff; }
.hd-srvmega__tab.is-active { border-bottom-color:#00a94f; background:rgba(255,255,255,.045); }
.hd-srvmega__panel[hidden] { display:none; }
.hd-srvmega__cards { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.hd-srvmega__card { display:block; min-width:0; overflow:hidden; border-radius:10px; background:rgba(255,255,255,.08); color:#fff; transition:transform .22s,background .22s; }
.hd-srvmega__card:hover { transform:translateY(-3px); background:rgba(255,255,255,.14); }
.hd-srvmega__image { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; background:linear-gradient(135deg,#142451,#263b66); }
.hd-srvmega__image--empty { min-height:70px; }
.hd-srvmega__label { display:flex; justify-content:space-between; gap:8px; align-items:center; min-height:42px; padding:8px 10px; font-size:12px; line-height:1.3; font-weight:var(--sfm-weight-bold); }
.hd-srvmega__label span { flex:none; color:#45c778; }
.hd-srvmega__category-link { display:inline-block; margin-top:12px; }
@media(max-width:1180px) { .hd-srvmega__cards { grid-template-columns:repeat(4,minmax(0,1fr)); } .hd-srvmega__tab { font-size:var(--sfm-text-xs); padding-inline:7px; } }

/* Search */
.hd-search {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	padding: 15px 0;
	background: inherit;
	-webkit-backdrop-filter: inherit;
	backdrop-filter: inherit;
	border-top: 1px solid var(--hd-line);
}

.hd.is-search .hd-search {
	display: block;
	animation: hd-in 0.25s ease;
}

.hd-search-row {
	display: flex;
	align-items: center;
	gap: 14px;
}

.hd-search input {
	flex: 1;
	min-width: 0;
	height: 44px;
	padding: 0 18px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.05);
	color: #fff;
	font: inherit;
	font-size: var(--sfm-text-base);
	outline: none;
	transition: border-color 0.25s, background 0.25s;
}

.hd-search input:focus {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.09);
}

.hd-search input::placeholder {
	color: var(--hd-muted);
}

.hd-search-go {
	flex: none;
	height: 44px;
	padding: 0 22px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	background: #fff;
	color: #00134f;
	font: inherit;
	font-size: var(--sfm-text-md);
	font-weight: var(--sfm-weight-medium);
	transition: background 0.25s, color 0.25s, opacity 0.25s;
}

.hd-search-go:hover {
	opacity: 0.82;
}

.hd-search-go svg {
	width: 17px;
	height: 17px;
}

/* Mobile drawer */
.hd-burger {
	display: none;
	width: 42px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	cursor: pointer;
	position: relative;
}

.hd-burger span {
	position: absolute;
	left: 13px;
	right: 13px;
	height: 1.5px;
	background: #fff;
	transition: transform 0.3s, top 0.3s;
}

.hd-burger span:first-child {
	top: 11px;
}

.hd-burger span:last-child {
	top: 18px;
}

.hd.is-menu .hd-burger span:first-child {
	top: 14.5px;
	transform: rotate(45deg);
}

.hd.is-menu .hd-burger span:last-child {
	top: 14.5px;
	transform: rotate(-45deg);
}

.hd-drawer {
	position: fixed;
	inset: 0;
	z-index: 49;
	padding: 84px 24px 32px;
	overflow-y: auto;
	background: var(--hd-mobile-surface);
	color: #fff;
	font-family: var(--sfm-font-sans);
	font-weight: var(--sfm-weight-medium);
	transform: translateX(100%);
	visibility: hidden;
	transition: transform 0.35s ease, visibility 0s 0.35s;
}

.hd-drawer.is-open {
	transform: none;
	visibility: visible;
	transition: transform 0.35s ease;
}

.hd-drawer a,
.hd-acc {
	display: block;
	width: 100%;
	padding: 16px 0;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	background: none;
	color: #fff;
	font: inherit;
	font-size: var(--sfm-text-xl);
	font-weight: var(--sfm-weight-medium);
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}

.hd-acc {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.hd-acc::after {
	content: "+";
	font-size: var(--sfm-text-2xl);
	font-weight: var(--sfm-weight-medium);
}

.hd-acc[aria-expanded="true"]::after {
	content: "–";
}

.hd-acc-body {
	display: none;
	padding-left: 14px;
}

.hd-acc[aria-expanded="true"] + .hd-acc-body {
	display: block;
}

.hd-acc-body a {
	font-size: var(--sfm-text-base);
	font-weight: var(--sfm-weight-medium);
	color: rgba(255, 255, 255, 0.8);
	padding: 12px 0;
}

.hd-project-drawer { padding-left:0; }
.hd-drawer .hd-project-drawer__all { color:#fff; font-weight:var(--sfm-weight-bold); }
.hd-project-drawer__cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:10px 0 14px; }
.hd-drawer .hd-project-drawer__card { overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.14); border-radius:8px; background:rgba(255,255,255,.06); font-size:12px; line-height:1.3; }
.hd-project-drawer__card img, .hd-project-drawer__image { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; background:linear-gradient(135deg,#142451,#263b66); }
.hd-drawer .hd-project-drawer__card span:not(.hd-project-drawer__image) { display:block; padding:8px; }
.hd-project-drawer__image--empty { min-height:70px; }

.hd-service-drawer { padding-left:0; }
.hd-drawer .hd-service-drawer__all { color:#fff; font-weight:var(--sfm-weight-bold); }
.hd-drawer .hd-service-group__toggle { padding:13px 0; font-size:var(--sfm-text-base); color:rgba(255,255,255,.9); }
.hd-service-group__body { padding:0 0 12px 10px; }
.hd-service-group__cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.hd-drawer .hd-service-drawer__card { overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.14); border-radius:8px; background:rgba(255,255,255,.06); font-size:12px; line-height:1.3; }
.hd-service-drawer__card img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.hd-drawer .hd-service-drawer__card span { display:block; padding:8px; }
.hd-drawer .hd-service-group__all { padding:10px 0 4px; border:0; font-size:var(--sfm-text-sm); color:#72d593; }

@media (max-width: 1000px) {
	/* Keep the mobile header clear over the hero, then tint it after scrolling. */
	#hd {
		background: transparent;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	#hd.is-scrolled {
		background: var(--hd-mobile-header-bg);
		-webkit-backdrop-filter: blur(6px);
		backdrop-filter: blur(6px);
	}

	#hd.is-menu,
	#hd.is-menu.is-scrolled {
		background: var(--hd-mobile-surface);
	}

	.hd-nav,
	.hd-panels,
	.hd-lang {
		display: none;
	}

	.hd-top,
	.hd.is-scrolled .hd-top {
		grid-template-columns: 1fr auto;
		height: 68px;
	}

	.hd-logo {
		align-items: flex-start;
	}

	.hd-logo img {
		height: 40px;
	}

	.hd-search-btn {
		min-width: 42px;
		padding: 0;
	}

	.hd-search-btn span {
		display: none;
	}

	.hd-burger {
		display: block;
	}
}

/* Content offset: the header is fixed and overlays the page. */
.sfm-inner .site-main {
	padding-top: 150px;
}

@media (max-width: 1000px) {
	.sfm-inner .site-main {
		padding-top: 84px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hd *,
	.hd-drawer * {
		animation: none !important;
		transition-duration: 0.01ms !important;
	}
}