:root {
	--aqc-navy-950: #040b15;
	--aqc-navy-900: #071426;
	--aqc-navy-850: #0a1e37;
	--aqc-navy-800: #0c2d52;
	--aqc-blue: #237cf0;
	--aqc-blue-light: #70adff;
	--aqc-green: #4ade80;
	--aqc-white: #ffffff;
	--aqc-text-soft: #cbd9ea;
	--aqc-text-muted: #9fb2ca;
	--aqc-border: rgba(255, 255, 255, 0.13);
	--aqc-shell: 1480px;
}

#masthead,
#site-navigation,
.site-footer,
.aq-page > .aq-header {
	display: none !important;
}

.aq-site-header *,
.aq-site-footer * {
	box-sizing: border-box;
}

.aq-site-shell {
	width: min(var(--aqc-shell), calc(100% - 48px));
	margin-inline: auto;
}

.aq-site-header {
	position: sticky;
	top: 0;
	z-index: 9999;
	color: var(--aqc-white);
	background: rgba(7, 20, 38, 0.975);
	border-bottom: 1px solid var(--aqc-border);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	font-family: Inter, Arial, sans-serif;
}

.admin-bar .aq-site-header {
	top: 32px;
}

.aq-site-header__inner {
	position: relative;
	display: flex;
	min-height: 86px;
	align-items: center;
	gap: clamp(18px, 2vw, 32px);
}

.aq-site-logo {
	display: inline-flex;
	width: 188px;
	flex: 0 0 188px;
	align-items: center;
	text-decoration: none;
}

.aq-site-logo img {
	display: block;
	width: 100%;
	height: auto;
}

.aq-site-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(13px, 1.25vw, 23px);
	margin-left: auto;
}

.aq-site-nav__link {
	position: relative;
	display: inline-flex;
	min-height: 85px;
	align-items: center;
	padding: 0;
	color: var(--aqc-white);
	font-size: 14px;
	font-weight: 760;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
}

.aq-site-nav__link::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 20px;
	left: 0;
	height: 2px;
	border-radius: 3px;
	background: var(--aqc-blue-light);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 180ms ease;
}

.aq-site-nav__link:hover,
.aq-site-nav__link:focus-visible,
.aq-site-nav__link.is-current,
.aq-site-nav__item.is-current > .aq-site-nav__service-control .aq-site-nav__link {
	color: #ffffff;
}

.aq-site-nav__link:hover::after,
.aq-site-nav__link:focus-visible::after,
.aq-site-nav__link.is-current::after,
.aq-site-nav__item.is-current > .aq-site-nav__service-control .aq-site-nav__link::after {
	transform: scaleX(1);
}

.aq-site-nav__item {
	position: relative;
}

.aq-site-nav__service-control {
	display: flex;
	align-items: center;
}

.aq-site-submenu-toggle {
	display: grid;
	width: 25px;
	height: 36px;
	margin-left: 3px;
	place-items: center;
	border: 0;
	background: transparent;
	color: #bcd0e8;
	cursor: pointer;
}

.aq-site-submenu-toggle span {
	display: block;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 180ms ease;
}

.aq-site-submenu-toggle[aria-expanded="true"] span {
	transform: translateY(2px) rotate(225deg);
}

.aq-site-services-menu {
	position: absolute;
	top: calc(100% - 5px);
	left: 50%;
	display: grid;
	width: min(850px, calc(100vw - 48px));
	grid-template-columns: 1.05fr 1fr 1fr;
	gap: 0;
	overflow: hidden;
	visibility: hidden;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 18px;
	background: #07182d;
	box-shadow: 0 28px 65px rgba(0, 0, 0, 0.38);
	opacity: 0;
	transform: translate(-50%, 10px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.aq-site-nav__item--services:hover .aq-site-services-menu,
.aq-site-nav__item--services:focus-within .aq-site-services-menu,
.aq-site-services-menu.is-open {
	visibility: visible;
	opacity: 1;
	transform: translate(-50%, 0);
}

.aq-site-services-menu__intro {
	padding: 30px;
	background:
		radial-gradient(circle at 100% 0, rgba(35, 124, 240, 0.42), transparent 43%),
		linear-gradient(145deg, #0a2445, #0a397b);
}

.aq-site-services-menu__intro > span,
.aq-site-services-menu__label {
	display: block;
	color: #77b0ff;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.aq-site-services-menu__intro strong {
	display: block;
	margin-top: 12px;
	color: #ffffff;
	font-size: 20px;
	line-height: 1.35;
}

.aq-site-services-menu__intro a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 23px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 850;
	text-decoration: none;
}

.aq-site-services-menu__group {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 2px;
	padding: 27px 24px;
	border-left: 1px solid rgba(255, 255, 255, 0.09);
}

.aq-site-services-menu__label {
	margin: 1px 9px 10px;
}

.aq-site-services-menu__group a {
	padding: 9px;
	border-radius: 8px;
	color: var(--aqc-text-soft);
	font-size: 12px;
	font-weight: 720;
	line-height: 1.35;
	text-decoration: none;
	transition: background 160ms ease, color 160ms ease;
}

.aq-site-services-menu__group a:hover,
.aq-site-services-menu__group a:focus-visible {
	background: rgba(255, 255, 255, 0.07);
	color: #ffffff;
}

.aq-site-header__actions {
	display: flex;
	align-items: center;
}

.aq-site-button,
.aq-site-mobile-cta {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 10px 19px;
	border-radius: 9px;
	font-size: 14px;
	font-weight: 850;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.aq-site-button:hover,
.aq-site-button:focus-visible {
	transform: translateY(-2px);
}

.aq-site-button--primary {
	color: #ffffff;
	background: var(--aqc-blue);
	box-shadow: 0 12px 28px rgba(35, 124, 240, 0.3);
}

.aq-site-button--primary:hover,
.aq-site-button--primary:focus-visible {
	color: #ffffff;
	background: #126ce0;
}

.aq-site-mobile-cta {
	display: none;
}

.aq-site-mobile-contact {
	display: none;
}

.aq-site-menu-toggle {
	display: none;
	width: 46px;
	height: 46px;
	margin-left: auto;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid var(--aqc-border);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
	cursor: pointer;
}

.aq-site-menu-toggle__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.aq-site-menu-toggle__icon,
.aq-site-menu-toggle__icon::before,
.aq-site-menu-toggle__icon::after {
	display: block;
	width: 22px;
	height: 2px;
	background: currentColor;
	transition: transform 180ms ease, opacity 180ms ease;
}

.aq-site-menu-toggle__icon {
	position: relative;
}

.aq-site-menu-toggle__icon::before,
.aq-site-menu-toggle__icon::after {
	content: "";
	position: absolute;
	left: 0;
}

.aq-site-menu-toggle__icon::before {
	top: -7px;
}

.aq-site-menu-toggle__icon::after {
	top: 7px;
}

.aq-site-menu-toggle[aria-expanded="true"] .aq-site-menu-toggle__icon {
	background: transparent;
}

.aq-site-menu-toggle[aria-expanded="true"] .aq-site-menu-toggle__icon::before {
	top: 0;
	transform: rotate(45deg);
}

.aq-site-menu-toggle[aria-expanded="true"] .aq-site-menu-toggle__icon::after {
	top: 0;
	transform: rotate(-45deg);
}

.aq-site-footer {
	position: relative;
	z-index: 2;
	padding: 76px 0 25px;
	border-top: 1px solid var(--aqc-border);
	background:
		radial-gradient(circle at 84% 10%, rgba(35, 124, 240, 0.22), transparent 29%),
		linear-gradient(135deg, var(--aqc-navy-950), var(--aqc-navy-800));
	color: #ffffff;
	font-family: Inter, Arial, sans-serif;
}

.aq-site-footer__top {
	display: grid;
	grid-template-columns: minmax(290px, 1.5fr) repeat(3, minmax(165px, 0.82fr));
	gap: clamp(34px, 4vw, 64px);
}

.aq-site-logo--footer {
	width: 220px;
	margin-bottom: 22px;
}

.aq-site-footer__brand > p {
	max-width: 480px;
	margin: 0 0 20px;
	color: var(--aqc-text-soft);
	font-size: 15px;
	line-height: 1.75;
}

.aq-site-footer__contact {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-bottom: 24px;
}

.aq-site-footer__contact a {
	color: #ffffff;
	font-size: 13px;
	font-weight: 780;
	text-decoration: none;
}

.aq-site-footer__market {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: -10px 0 24px !important;
	color: var(--aqc-text-muted) !important;
	font-size: 12px !important;
}

.aq-site-footer__market span {
	color: var(--aqc-green);
	font-size: 8px;
}

.aq-site-footer__column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 11px;
}

.aq-site-footer__column h2 {
	margin: 5px 0 10px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.aq-site-footer__column a {
	margin: 0;
	color: var(--aqc-text-soft);
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
}

.aq-site-footer__column a:hover,
.aq-site-footer__column a:focus-visible,
.aq-site-footer__bottom a:hover,
.aq-site-footer__bottom a:focus-visible {
	color: #ffffff;
}

.aq-site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 62px;
	padding-top: 23px;
	border-top: 1px solid var(--aqc-border);
}

.aq-site-footer__bottom p,
.aq-site-footer__bottom a {
	margin: 0;
	color: var(--aqc-text-muted);
	font-size: 12px;
	line-height: 1.5;
	text-decoration: none;
}

@media (max-width: 1320px) {
	.aq-site-header__actions {
		display: none;
	}
}

@media (max-width: 1080px) {
	.aq-site-shell {
		width: min(100% - 32px, var(--aqc-shell));
	}

	.aq-site-header__inner {
		min-height: 76px;
	}

	.aq-site-logo {
		width: 190px;
		flex-basis: 190px;
	}

	.aq-site-menu-toggle {
		display: inline-flex;
	}

	.aq-site-nav {
		position: absolute;
		top: calc(100% + 1px);
		right: 0;
		left: 0;
		display: none;
		max-height: calc(100vh - 95px);
		align-items: stretch;
		gap: 0;
		overflow-y: auto;
		margin: 0;
		padding: 12px;
		border: 1px solid var(--aqc-border);
		border-radius: 0 0 16px 16px;
		background: var(--aqc-navy-900);
		box-shadow: 0 22px 48px rgba(0, 0, 0, 0.34);
	}

	.aq-site-nav.is-open {
		display: flex;
		flex-direction: column;
	}

	.aq-site-nav__link {
		width: 100%;
		min-height: 50px;
		padding: 0 14px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.aq-site-nav__link::after {
		display: none;
	}

	.aq-site-nav__service-control {
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.aq-site-nav__service-control .aq-site-nav__link {
		flex: 1;
		border: 0;
	}

	.aq-site-submenu-toggle {
		width: 50px;
		height: 50px;
	}

	.aq-site-services-menu {
		position: static;
		display: none;
		width: 100%;
		grid-template-columns: 1fr 1fr;
		visibility: visible;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		opacity: 1;
		transform: none;
		transition: none;
	}

	.aq-site-services-menu.is-open {
		display: grid;
		transform: none;
	}

	.aq-site-nav__item--services:hover .aq-site-services-menu,
	.aq-site-nav__item--services:focus-within .aq-site-services-menu {
		transform: none;
	}

	.aq-site-services-menu__intro {
		grid-column: 1 / -1;
		padding: 22px;
	}

	.aq-site-services-menu__intro strong {
		font-size: 17px;
	}

	.aq-site-services-menu__group {
		padding: 20px 17px;
	}

	.aq-site-mobile-cta {
		display: inline-flex;
		margin-top: 12px;
		background: var(--aqc-blue);
		color: #ffffff;
	}

	.aq-site-mobile-contact {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin-top: 12px;
	}

	.aq-site-mobile-contact a {
		display: inline-flex;
		min-height: 44px;
		align-items: center;
		justify-content: center;
		padding: 8px 11px;
		border: 1px solid rgba(255, 255, 255, 0.14);
		border-radius: 9px;
		background: rgba(255, 255, 255, 0.06);
		color: #ffffff;
		font-size: 12px;
		font-weight: 760;
		text-align: center;
		text-decoration: none;
	}

	.aq-site-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

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

@media (max-width: 640px) {
	.admin-bar .aq-site-header {
		top: 0;
	}

	.aq-site-logo {
		width: 175px;
		flex-basis: 175px;
	}

	.aq-site-services-menu {
		grid-template-columns: 1fr;
	}

	.aq-site-services-menu__intro {
		grid-column: auto;
	}

	.aq-site-services-menu__group {
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		border-left: 0;
	}

	.aq-site-mobile-contact {
		grid-template-columns: 1fr;
	}

	.aq-site-footer {
		padding-top: 58px;
	}

	.aq-site-footer__top {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.aq-site-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		margin-top: 45px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aq-site-header *,
	.aq-site-footer * {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
