/* Shared frontend foundation: variables, base elements, header, breadcrumbs, footer, utility UI. */

:root {
	--aw-bg: #ffffff;
	--aw-ink: #111827;
	--aw-muted: #5e6a7d;
	--aw-soft: #f5f8fc;
	--aw-line: #e7edf5;
	--aw-blue: #00bbd7;
	--aw-cyan: #00bbd7;
	--aw-pink: #f02d86;
	--aw-orange: #ff6a00;
	--aw-yellow: #ffc400;
	--aw-green: #0aa35b;
	--aw-violet: #5b35d5;
	--aw-radius: 18px;
	--aw-shadow: 0 18px 46px rgba(17, 24, 39, 0.11);
	--aw-shadow-soft: 0 12px 30px rgba(17, 24, 39, 0.08);
	--aw-container: min(100% - 40px, 1640px);
	--aw-font-heading: "Montserrat", ui-sans-serif, system-ui, sans-serif;
	--aw-font-body: "Open Sans", ui-sans-serif, system-ui, sans-serif;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--aw-bg);
	color: var(--aw-ink);
	font-family: var(--aw-font-body);
	font-size: 16px;
	line-height: 1.5;
}

html.aw-page-transition-ready body > .site-header,
html.aw-page-transition-ready body > .site-breadcrumbs,
html.aw-page-transition-ready body > .site-main,
html.aw-page-transition-ready body > main,
html.aw-page-transition-ready body > .site-footer {
	opacity: 0;
	transform: translate3d(0, 8px, 0);
}

html.aw-page-transition-ready body.aw-page-loaded > .site-header,
html.aw-page-transition-ready body.aw-page-loaded > .site-breadcrumbs,
html.aw-page-transition-ready body.aw-page-loaded > .site-main,
html.aw-page-transition-ready body.aw-page-loaded > main,
html.aw-page-transition-ready body.aw-page-loaded > .site-footer {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition:
		opacity 260ms ease,
		transform 320ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

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

select {
	min-height: 46px;
	padding: 0 42px 0 14px;
	border: 1px solid #dce6f4;
	border-radius: 14px;
	background:
		linear-gradient(45deg, transparent 50%, #667085 50%) calc(100% - 21px) 50% / 6px 6px no-repeat,
		linear-gradient(135deg, #667085 50%, transparent 50%) calc(100% - 17px) 50% / 6px 6px no-repeat,
		#f8fbff;
	color: #111827;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	outline: none;
	appearance: none;
	transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

select:hover,
select:focus {
	border-color: rgba(0, 187, 215, 0.45);
	background-color: #fff;
	box-shadow: 0 0 0 4px rgba(0, 187, 215, 0.1);
}

.aw-custom-select {
	position: relative;
	display: inline-block;
	min-width: 150px;
}

.aw-custom-select__native {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	pointer-events: none;
}

.aw-custom-select__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	min-height: 46px;
	padding: 0 14px;
	border: 1px solid #dce6f4;
	border-radius: 14px;
	background: #f8fbff;
	color: #111827;
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-align: left;
	cursor: pointer;
	outline: none;
	transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.aw-custom-select__button span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.aw-custom-select__button i {
	flex: 0 0 auto;
	color: #667085;
	font-size: 12px;
	transition: transform 180ms ease;
}

.aw-custom-select.is-open .aw-custom-select__button i {
	transform: rotate(180deg);
}

.aw-custom-select.is-open .aw-custom-select__button,
.aw-custom-select__button:focus {
	border-color: rgba(0, 187, 215, 0.45);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(0, 187, 215, 0.1);
}

.aw-custom-select__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	left: 0;
	z-index: 80;
	display: grid;
	gap: 4px;
	max-height: 278px;
	padding: 8px;
	overflow-y: auto;
	border: 1px solid #dce6f4;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 24px 54px rgba(15, 23, 42, 0.14);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-4px) scale(0.98);
	transform-origin: top;
	transition: opacity 160ms ease, transform 160ms ease;
}

.aw-custom-select.is-open .aw-custom-select__menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

.aw-custom-select__menu button {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 38px;
	padding: 0 12px;
	border: 0 !important;
	border-radius: 10px;
	background: transparent !important;
	color: #182235 !important;
	font: inherit;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.25;
	text-align: left;
	cursor: pointer;
	box-shadow: none !important;
}

.aw-custom-select__menu button:hover,
.aw-custom-select__menu button:focus,
.aw-custom-select__menu button[aria-selected="true"] {
	background: #f3f6fa !important;
	color: #182235 !important;
	outline: none;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.screen-reader-text:focus {
	z-index: 100000;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	padding: 10px 14px;
	clip: auto;
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--aw-shadow-soft);
}

.aw-scroll-animations-ready .aw-reveal {
	opacity: 1;
	transition:
		opacity 620ms cubic-bezier(0.2, 0.8, 0.2, 1),
		transform 620ms cubic-bezier(0.2, 0.8, 0.2, 1),
		filter 620ms cubic-bezier(0.2, 0.8, 0.2, 1);
	transition-delay: var(--aw-reveal-delay, 0ms);
	will-change: opacity, transform, filter;
}

.aw-scroll-animations-ready .aw-reveal:not(.is-scroll-visible) {
	opacity: 0;
	filter: blur(8px);
	transform: translate3d(0, 26px, 0) scale(0.985);
}

.aw-scroll-animations-ready .aw-reveal--left:not(.is-scroll-visible) {
	transform: translate3d(-28px, 0, 0) scale(0.985);
}

.aw-scroll-animations-ready .aw-reveal--right:not(.is-scroll-visible) {
	transform: translate3d(28px, 0, 0) scale(0.985);
}

.aw-scroll-animations-ready .aw-reveal--pop:not(.is-scroll-visible) {
	transform: translate3d(0, 18px, 0) scale(0.955);
}

@media (prefers-reduced-motion: reduce) {
	.aw-scroll-animations-ready .aw-reveal {
		opacity: 1;
		filter: none;
		transform: none;
		transition: none;
	}

	html.aw-page-transition-ready body > .site-header,
	html.aw-page-transition-ready body > .site-breadcrumbs,
	html.aw-page-transition-ready body > .site-main,
	html.aw-page-transition-ready body > main,
	html.aw-page-transition-ready body > .site-footer {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

.site-header {
	position: sticky;
	z-index: 50;
	top: 0;
	background: #fff;
	border-bottom: 0;
	transition: box-shadow 180ms ease, background-color 180ms ease;
}

.site-header.is-scrolled {
	background: #fff;
	box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08);
}

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

.site-header__inner {
	width: var(--aw-container);
	margin: 0 auto;
}

.site-header__main {
	background: #fff;
	border-bottom: 1px solid #edf2f7;
}

.site-header__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	justify-content: space-between;
	gap: clamp(20px, 3vw, 54px);
	min-height: 76px;
	transition: min-height 220ms ease, gap 220ms ease;
}

.site-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--aw-font-heading);
	min-width: max-content;
	font-weight: 800;
}

.site-brand__logo,
.site-brand .custom-logo {
	width: auto;
	max-width: 190px;
	max-height: 64px;
	object-fit: contain;
	transition: max-width 220ms ease, max-height 220ms ease;
}

.site-brand__mark {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background:
		radial-gradient(circle at center, #fff 0 18%, transparent 19%),
		conic-gradient(from 20deg, #fa2727, #ff7900, #ffc400, #12a860, #00bbd7, #00bbd7, #ec2d91, #fa2727);
	box-shadow: inset 0 0 0 8px rgba(255, 255, 255, 0.9);
}

.site-brand__text {
	display: grid;
	gap: 0;
	text-transform: uppercase;
	line-height: 1.05;
}

.site-brand__text strong {
	font-size: 15px;
	letter-spacing: 0;
}

.site-brand__text small {
	color: var(--aw-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.site-header__actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-width: max-content;
	transition: gap 220ms ease;
}

.site-header__search-toggle {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid #e5e7eb;
	border-radius: 50%;
	background: #f3f4f6;
	color: #111827;
	font-size: 14px;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.site-header__search-toggle:hover,
.site-header__search-toggle:focus {
	background: #e5e7eb;
	color: #111827;
	outline: none;
	transform: translateY(-1px);
}

.site-navigation {
	min-width: 0;
}

.site-header__navigation {
	justify-self: center;
}

.site-navigation ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(16px, 1.8vw, 30px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-navigation li {
	position: relative;
}

.site-navigation a {
	color: #4b5563;
	font-family: var(--aw-font-heading);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	text-transform: none;
	transition: color 180ms ease, font-size 220ms ease;
}

.site-navigation a:hover,
.site-navigation a:focus {
	color: #111827;
}

.site-navigation .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.site-navigation .menu-item-has-children > a::after {
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	content: "";
	opacity: 0.72;
	transform: translateY(-2px) rotate(45deg);
}

.site-navigation .sub-menu {
	position: absolute;
	z-index: 40;
	top: calc(100% + 18px);
	left: 0;
	display: grid;
	width: max-content;
	min-width: 0;
	align-items: stretch;
	justify-content: stretch;
	gap: 0;
	padding: 0;
	border: 1px solid #dfe7f1;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 22px 56px rgba(15, 23, 42, 0.13);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.site-navigation .menu-item-has-children:hover > .sub-menu,
.site-navigation .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.site-navigation .sub-menu a {
	display: block;
	padding: 12px 14px;
	border-radius: 8px;
	color: #344054;
	font-size: 12px;
	line-height: 1.25;
	text-transform: none;
	white-space: nowrap;
}

.site-navigation .sub-menu a:hover,
.site-navigation .sub-menu a:focus {
	background: #edf5ff;
	color: var(--aw-blue);
}

.site-navigation .menu-item-2125 > .sub-menu {
	display: none;
}

.site-mega-menu {
	position: absolute;
	z-index: 40;
	top: calc(100% + 18px);
	left: 50%;
	display: grid;
	grid-template-columns: minmax(330px, 1.3fr) minmax(240px, 0.7fr);
	width: min(720px, calc(100vw - 48px));
	overflow: hidden;
	border: 1px solid #dfe7f1;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 26px 62px rgba(15, 23, 42, 0.16);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 8px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.site-navigation .menu-item-2125:hover > .site-mega-menu,
.site-navigation .menu-item-2125:focus-within > .site-mega-menu {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

.site-mega-menu__group {
	padding: 22px;
}

.site-mega-menu__group--areas {
	border-left: 1px solid #e8eef5;
	background: #f7fbff;
}

.site-mega-menu__eyebrow {
	display: block;
	margin-bottom: 13px;
	color: var(--aw-blue);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.site-mega-menu__services,
.site-mega-menu__areas {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}

.site-mega-menu__services a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 9px 10px;
	border-radius: 8px;
	color: #344054;
	font-size: 12px;
	line-height: 1.25;
}

.site-mega-menu__services a i {
	color: #90a0b5;
	font-size: 9px;
}

.site-mega-menu__services a:hover,
.site-mega-menu__services a:focus {
	background: #edf5ff;
	color: var(--aw-blue);
}

.site-mega-menu__areas a {
	display: flex;
	align-items: center;
	min-height: 34px;
	padding: 7px 9px;
	border: 1px solid #dce8f5;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.76);
	color: #526177;
	font-size: 12px;
	font-weight: 700;
}

.site-mega-menu__areas a:hover,
.site-mega-menu__areas a:focus {
	border-color: rgba(0, 187, 215, 0.35);
	background: #fff;
	color: var(--aw-blue);
}

.site-header__book-call,
.site-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	font-family: var(--aw-font-heading);
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.site-header__book-call {
	background: #111827;
	color: #fff;
	box-shadow: 0 8px 18px rgba(17, 24, 39, 0.16);
}

.site-header__book-call:hover,
.site-header__book-call:focus {
	background: #000;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(17, 24, 39, 0.22);
	outline: none;
}

.site-header__cta {
	background: #f3f4f6;
	color: #374151;
}

.site-header__cta:hover,
.site-header__cta:focus {
	background: #e5e7eb;
	color: #111827;
	transform: translateY(-1px);
	outline: none;
}

.site-header__menu-toggle {
	display: none;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--aw-blue);
	color: #fff;
	font-size: 17px;
	box-shadow: 0 14px 28px rgba(0, 187, 215, 0.22);
	cursor: pointer;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
	background: #00bbd7;
	box-shadow: 0 16px 32px rgba(0, 187, 215, 0.28);
	outline: none;
	transform: translateY(-1px);
}

.site-mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 100;
	pointer-events: none;
	visibility: hidden;
}

.site-mobile-menu__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: rgba(15, 23, 42, 0.34);
	opacity: 0;
	cursor: pointer;
	transition: opacity 220ms ease;
}

.site-mobile-menu__panel {
	position: absolute;
	top: 0;
	right: 0;
	display: grid;
	align-content: start;
	gap: 0;
	width: min(88vw, 390px);
	height: 100%;
	overflow-y: auto;
	padding: 0 20px 24px;
	background: #fff;
	box-shadow: -16px 0 42px rgba(15, 23, 42, 0.14);
	transform: translateX(104%);
	transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.site-mobile-menu.is-open {
	pointer-events: auto;
	visibility: visible;
}

.site-mobile-menu.is-open .site-mobile-menu__overlay {
	opacity: 1;
}

.site-mobile-menu.is-open .site-mobile-menu__panel {
	transform: translateX(0);
}

body.mobile-menu-open {
	overflow: hidden;
}

.site-mobile-menu__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 76px;
	border-bottom: 1px solid #edf2f7;
}

.site-mobile-menu__brand .site-brand__logo,
.site-mobile-menu__brand .custom-logo {
	max-width: 152px;
	max-height: 52px;
}

.site-mobile-menu__close {
	display: grid;
	place-items: center;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid #d8e2ee;
	border-radius: 50%;
	background: #fff;
	color: #334155;
	cursor: pointer;
	transition: color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.site-mobile-menu__close:hover,
.site-mobile-menu__close:focus {
	border-color: rgba(0, 187, 215, 0.32);
	color: var(--aw-blue);
	outline: none;
	transform: rotate(90deg);
}

.site-mobile-menu__campaign {
	display: grid;
	gap: 6px;
	padding: 18px 0;
	border-bottom: 1px solid #edf2f7;
	color: #111827;
}

.site-mobile-menu__campaign strong {
	font-family: var(--aw-font-heading);
	font-size: 13px;
	font-weight: 900;
	line-height: 1.25;
}

.site-mobile-menu__campaign span {
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
}

.site-mobile-menu__campaign a {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	min-height: 24px;
	padding: 0;
	background: transparent;
	color: var(--aw-blue);
	font-size: 12px;
	font-weight: 900;
}

.site-mobile-menu__search {
	display: grid;
	grid-template-columns: 1fr 40px;
	align-items: center;
	height: 46px;
	overflow: hidden;
	margin: 16px 0;
	border: 1px solid #d8e2ee;
	border-radius: 12px;
	background: #fff;
}

.site-mobile-menu__search input {
	width: 100%;
	min-width: 0;
	height: 100%;
	padding: 0 14px;
	border: 0;
	background: transparent;
	color: #111827;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	outline: none;
}

.site-mobile-menu__search button {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	margin-right: 4px;
	border: 0;
	border-radius: 10px;
	background: var(--aw-blue);
	color: #fff;
	cursor: pointer;
}

.site-mobile-menu__nav {
	border-top: 1px solid #edf2f7;
}

.site-mobile-menu__list,
.site-mobile-menu__list ul {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-mobile-menu__list > li {
	position: relative;
	border-bottom: 1px solid #edf2f7;
}

.site-mobile-menu__list > li:last-child {
	border-bottom: 0;
}

.site-mobile-menu__list > li > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 48px;
	padding: 0 42px 0 0;
	border-bottom: 0;
	color: #111827;
	font-family: var(--aw-font-heading);
	font-size: 14px;
	font-weight: 900;
	text-transform: none;
}

.site-mobile-menu__list > li:last-child > a {
	border-bottom: 0;
}

.site-mobile-menu__list .menu-item-has-children.is-open > a {
	color: var(--aw-blue);
}

.site-mobile-menu__accordion {
	position: absolute;
	top: 4px;
	right: -6px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #64748b;
	cursor: pointer;
	transition: color 180ms ease, transform 180ms ease;
}

.site-mobile-menu__accordion:hover,
.site-mobile-menu__accordion:focus {
	color: var(--aw-blue);
	outline: none;
}

.site-mobile-menu__accordion i {
	transition: transform 200ms ease;
}

.site-mobile-menu__list .menu-item-has-children.is-open > .site-mobile-menu__accordion i {
	transform: rotate(180deg);
}

.site-mobile-menu__list .sub-menu {
	display: block;
	max-height: 0;
	overflow: hidden;
	padding: 0;
	opacity: 0;
	transition: max-height 240ms ease, opacity 180ms ease, padding-bottom 240ms ease;
}

.site-mobile-menu__list .menu-item-has-children.is-open > .sub-menu {
	max-height: var(--mobile-sub-menu-height, 520px);
	padding-bottom: 12px;
	opacity: 1;
}

.site-mobile-menu__list .sub-menu a {
	display: block;
	padding: 8px 0 8px 14px;
	border-left: 2px solid #d8e8ff;
	background: transparent;
	color: #344054;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.25;
}

.site-mobile-menu__list a:hover,
.site-mobile-menu__list a:focus {
	color: var(--aw-blue);
}

.site-mobile-menu__top-links {
	display: none;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 12px;
	padding: 16px 0;
	border-bottom: 1px solid #edf2f7;
}

.site-mobile-menu__top-links span {
	grid-column: 1 / -1;
	margin-bottom: 10px;
	color: #64748b;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
}

.site-mobile-menu__top-links a {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #111827;
	font-size: 12px;
	font-weight: 900;
}

.site-mobile-menu__actions {
	display: grid;
	gap: 14px;
	padding: 18px 0;
}

.site-mobile-menu__phone {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #111827;
}

.site-mobile-menu__phone > i {
	display: grid;
	place-items: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #f3f7fc;
	color: var(--aw-blue);
}

.site-mobile-menu__phone span {
	display: grid;
}

.site-mobile-menu__phone small {
	color: #64748b;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.site-mobile-menu__phone strong {
	font-family: var(--aw-font-heading);
	font-size: 16px;
	font-weight: 900;
}

.site-mobile-menu__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	border-radius: 999px;
	background: var(--aw-blue);
	color: #fff;
	font-family: var(--aw-font-heading);
	font-size: 14px;
	font-weight: 900;
	box-shadow: 0 16px 30px rgba(0, 187, 215, 0.22);
}

.site-mobile-menu__socials {
	display: grid;
	grid-template-columns: repeat(4, 42px);
	gap: 10px;
	justify-content: start;
	padding-top: 2px;
}

.site-mobile-menu__socials a {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid #d8e2ee;
	border-radius: 50%;
	background: #fff;
	color: var(--aw-blue);
	font-size: 15px;
}

.mobile-sidebar-sheet__toggle {
	display: none;
}

.mobile-sidebar-sheet__backdrop {
	display: none;
}

.works-filter-sheet__backdrop,
.works-filter-sheet__toggle {
	display: none;
}

.site-breadcrumbs {
	position: relative;
	z-index: 1;
	border-bottom: 1px solid #edf1f6;
	background: #f4f6f8;
}

.site-breadcrumbs__inner {
	display: grid;
	align-content: center;
	gap: 6px;
	width: var(--aw-container);
	min-height: 40px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

.site-breadcrumbs__title {
	margin: 0;
	color: #05070d;
	font-family: var(--aw-font-heading);
	font-size: clamp(16px, 1.05vw, 21px);
	font-weight: 800;
	line-height: 1.2;
}

.site-breadcrumbs__nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	color: #667085;
	font-size: 11px;
	font-weight: 700;
}

.site-breadcrumbs__nav a {
	color: #667085;
	transition: color 180ms ease;
}

.site-breadcrumbs__nav a:hover,
.site-breadcrumbs__nav a:focus {
	color: var(--aw-blue);
}

.site-breadcrumbs__nav span[aria-current="page"] {
	color: #111827;
}

.site-breadcrumbs__separator {
	color: #b7c2d0;
	font-weight: 700;
}

.site-under-construction {
	display: grid;
	place-items: center;
	align-content: center;
	width: var(--aw-container);
	min-height: clamp(520px, 62vh, 720px);
	margin: 0 auto;
	padding: clamp(70px, 8vw, 120px) 0;
	text-align: center;
}

.site-under-construction dotlottie-wc {
	margin-bottom: 12px;
}

.site-under-construction h1 {
	max-width: 620px;
	margin: 0;
	color: #05070d;
	font-family: var(--aw-font-heading);
	font-size: clamp(28px, 3vw, 46px);
	font-weight: 900;
	line-height: 1.12;
}

.site-under-construction p {
	max-width: 520px;
	margin: 14px 0 0;
	color: #667085;
	font-size: clamp(15px, 1.1vw, 17px);
	font-weight: 750;
	line-height: 1.65;
}

.site-footer {
	position: relative;
	overflow: hidden;
	background: #1c1f21;
	color: rgba(255, 255, 255, 0.72);
	isolation: isolate;
}

.site-footer__mark {
	position: absolute;
	bottom: 100px;
	left: -95px;
	z-index: 0;
	width: min(34vw, 360px);
	max-width: none;
	opacity: 0.34;
	filter: drop-shadow(24px 30px 34px rgba(0, 0, 0, 0.34));
	transform: perspective(700px) rotateX(16deg) rotateY(-18deg) rotateZ(-14deg);
	transform-origin: center;
	pointer-events: none;
}

.site-footer__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(34px, 4vw, 58px);
	width: var(--aw-container);
	margin: 0 auto;
	padding: 76px 0 28px;
}

.site-footer__info {
	display: grid;
	grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.5fr) minmax(220px, 0.8fr);
	gap: clamp(24px, 4vw, 58px);
	align-items: start;
	padding-bottom: clamp(26px, 3vw, 42px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer__map-card,
.site-footer__info-card {
	min-width: 0;
}

.site-footer__map-card {
	aspect-ratio: 16 / 10;
	min-height: 180px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.04);
}

.site-footer__map-card iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
}

.site-footer__info-card > span,
.site-footer__hours small {
	display: block;
	color: rgba(255, 255, 255, 0.54);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.site-footer__phone {
	display: inline-flex;
	margin: 8px 0 18px;
	color: #fff;
	font-family: var(--aw-font-heading);
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 900;
	line-height: 1;
}

.site-footer__info-card ul {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__info-card li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	color: rgba(255, 255, 255, 0.58);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.75;
}

.site-footer__info-card li i {
	flex: 0 0 14px;
	margin-top: 5px;
	color: var(--aw-blue);
	font-size: 12px;
}

.site-footer__info-card li span {
	min-width: 0;
}

.site-footer__info-card li strong {
	color: #fff;
}

.site-footer__info-card li a {
	color: rgba(255, 255, 255, 0.78);
}

.site-footer__info-card li a:hover,
.site-footer__info-card li a:focus {
	color: #fff;
}

.site-footer__hours {
	display: grid;
	align-content: start;
	gap: 18px;
}

.site-footer__hours > div {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.site-footer__hours i {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(0, 187, 215, 0.36);
	border-radius: 50%;
	color: var(--aw-blue);
	font-size: 15px;
}

.site-footer__hours p {
	margin: 0;
}

.site-footer__hours strong {
	display: block;
	margin-top: 4px;
	color: #fff;
	font-size: 16px;
	font-weight: 900;
	text-transform: uppercase;
}

.site-footer__columns {
	display: grid;
	grid-template-columns: minmax(250px, 1.45fr) repeat(4, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 44px);
}

.site-footer__column {
	display: grid;
	align-content: start;
	gap: 12px;
	min-width: 0;
}

.site-footer__column h2 {
	margin: 0 0 12px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.11);
	color: #fff;
	font-family: var(--aw-font-heading);
	font-size: 16px;
	font-weight: 800;
}

.site-footer__column a {
	color: rgba(255, 255, 255, 0.52);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.28;
	transition: color 180ms ease, transform 180ms ease;
}

.site-footer__column a:hover,
.site-footer__column a:focus {
	color: #fff;
	transform: translateX(2px);
}

.site-footer__contact-details {
	gap: 13px;
}

.site-footer__contact-details .site-footer__phone {
	color: #fff;
	font-family: var(--aw-font-heading);
	font-size: clamp(22px, 2vw, 30px);
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
}

.site-footer__contact-details ul {
	display: grid;
	gap: 10px;
	margin: 2px 0 0;
	padding: 0;
	list-style: none;
}

.site-footer__contact-details li {
	display: flex;
	gap: 9px;
	align-items: flex-start;
	color: rgba(255, 255, 255, .58);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.55;
}

.site-footer__contact-details li > i {
	flex: 0 0 13px;
	margin-top: 3px;
	color: var(--aw-blue);
	font-size: 12px;
}

.site-footer__contact-details li strong {
	color: #fff;
}

.site-footer__contact-details li a {
	display: inline;
	color: rgba(255, 255, 255, .78);
	font: inherit;
}

.site-footer__latest-posts a {
	display: grid;
	gap: 3px;
	line-height: 1.35;
}

.site-footer__latest-posts a span {
	color: rgba(255, 255, 255, 0.38);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0;
}

.site-footer__socials {
	display: flex;
	gap: 10px;
	margin-top: 8px;
}

.site-footer__socials a {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
}

.site-footer__socials a:hover,
.site-footer__socials a:focus {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	transform: translateY(-1px);
}

.site-footer__brand-social {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 6px;
	color: #fff;
}

.site-footer__brand-social:hover,
.site-footer__brand-social:focus {
	color: #fff;
	transform: none;
}

.site-footer__brand-logo {
	display: grid;
	place-items: center;
	flex: 0 0 54px;
	width: 54px;
	height: 54px;
	overflow: hidden;
	border-radius: 16px;
	background: #fff;
}

.site-footer__brand-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
}

.site-footer__brand-logo i {
	color: var(--aw-blue);
	font-size: 24px;
}

.site-footer__brand-social strong,
.site-footer__brand-social small {
	display: block;
}

.site-footer__brand-social strong {
	color: #fff;
	font-family: var(--aw-font-heading);
	font-size: 15px;
	font-weight: 900;
	line-height: 1.2;
}

.site-footer__brand-social small {
	margin-top: 3px;
	color: rgba(255, 255, 255, 0.54);
	font-size: 12px;
	font-weight: 800;
}

.site-footer__social-list {
	display: grid;
	gap: 9px;
	margin-top: 10px;
}

.site-footer__social-list a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 38px;
	padding: 7px 10px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.035);
	color: rgba(255, 255, 255, 0.74);
}

.site-footer__social-list a:hover,
.site-footer__social-list a:focus {
	border-color: rgba(0, 187, 215, 0.34);
	background: rgba(0, 187, 215, 0.1);
	color: #fff;
	transform: translateX(2px);
}

.site-footer__social-list i {
	display: grid;
	place-items: center;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border-radius: 8px;
	background: rgba(0, 187, 215, 0.14);
	color: #00bbd7;
	font-size: 13px;
}

.site-footer__social-list span {
	font-size: 13px;
	font-weight: 900;
}

.site-footer__locations {
	display: grid;
	gap: 22px;
	padding-top: 4px;
}

.site-footer__location-group {
	display: grid;
	gap: 10px;
}

.site-footer__location-group h2 {
	margin: 0;
	color: #fff;
	font-family: var(--aw-font-heading);
	font-size: 15px;
	font-weight: 900;
}

.site-footer__location-links {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 12px;
}

.site-footer__location-links a {
	color: #00bbd7;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.45;
}

.site-footer__location-links a:hover,
.site-footer__location-links a:focus {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.site-footer__map-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: max-content;
	color: #00bbd7;
	font-size: 13px;
	font-weight: 900;
}

.site-footer__map-link:hover,
.site-footer__map-link:focus {
	color: #fff;
}

.site-footer__bottom {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 20px;
	margin-top: 50px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer__bottom p {
	margin: 0;
	color: rgba(255, 255, 255, 0.48);
	font-size: 13px;
	font-weight: 700;
}

.site-footer__bottom-logo {
	display: inline-flex;
	justify-self: center;
}

.site-footer__bottom-logo img {
	display: block;
	width: auto;
	height: 38px;
}

.site-footer__bottom .site-footer__map-link {
	justify-self: end;
	margin: 0;
}

.site-scroll-top {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 60;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(0, 187, 215, 0.32);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
	color: var(--aw-blue);
	cursor: pointer;
	opacity: 0;
	transform: translateY(14px) scale(0.94);
	visibility: hidden;
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease, background 180ms ease, color 180ms ease;
}

.site-scroll-top.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
	visibility: visible;
}

.site-scroll-top:hover,
.site-scroll-top:focus {
	background: var(--aw-blue);
	color: #fff;
	outline: none;
}

@media (max-width: 1180px) {
	.site-header__inner {
			grid-template-columns: auto 1fr auto;
			min-height: 78px;
		}

	.site-navigation ul {
			justify-content: flex-start;
			min-width: max-content;
		}

	.site-footer__mark {
			bottom: -120px;
			left: -110px;
			width: min(46vw, 320px);
			opacity: 0.24;
		}

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

	.site-footer__info {
			grid-template-columns: 1fr;
		}

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

@media (max-width: 768px) {
	:root {
			--aw-container: min(100% - 24px, 1640px);
		}

	.site-header__inner {
			grid-template-columns: 1fr auto;
			min-height: 80px;
			gap: 14px;
	}

	.site-header__navigation {
			display: none;
		}

	.site-header__actions {
			gap: 0;
		}

	.site-header__search-toggle,
		.site-header__book-call,
		.site-header__cta,
		.site-header__navigation {
			display: none;
		}

	.site-header__menu-toggle {
			display: grid;
		}

	.site-breadcrumbs__inner {
		min-height: 40px;
		padding: 0;
		}

	.site-breadcrumbs__title {
			font-size: 18px;
		}

	body.admin-bar.home .site-header {
			top: 46px;
		}

	.site-brand__mark {
			width: 40px;
			height: 40px;
		}

	.site-brand__text strong {
			font-size: 13px;
		}

	.site-brand__text small {
			font-size: 10px;
	}

	.site-mobile-menu__campaign,
	.site-mobile-menu__search {
			display: none;
	}

	body.has-mobile-sidebar-sheet {
			padding-bottom: 38px;
	}

	body.mobile-sidebar-sheet-open {
			overflow: hidden;
	}

	body.has-works-filter-sheet {
			padding-bottom: 46px;
	}

	body.works-filter-sheet-open {
			overflow: hidden;
	}

	.mobile-sidebar-sheet__backdrop {
			position: fixed;
			z-index: 54;
			inset: 0;
			display: block;
			width: 100%;
			height: 100%;
			padding: 0;
			border: 0;
			background: rgba(8, 15, 28, 0.48);
			opacity: 0;
			pointer-events: none;
			transition: opacity 220ms ease;
	}

	body.mobile-sidebar-sheet-open .mobile-sidebar-sheet__backdrop {
			opacity: 1;
			pointer-events: auto;
	}

	.works-filter-sheet__backdrop {
			position: fixed;
			z-index: 54;
			inset: 0;
			display: block;
			width: 100%;
			height: 100%;
			padding: 0;
			border: 0;
			background: rgba(8, 15, 28, 0.48);
			opacity: 0;
			pointer-events: none;
			transition: opacity 220ms ease;
	}

	body.works-filter-sheet-open .works-filter-sheet__backdrop {
			opacity: 1;
			pointer-events: auto;
	}

	.mobile-sidebar-sheet {
			position: fixed !important;
			z-index: 56;
			right: 10px;
			top: calc(var(--mobile-sidebar-sheet-vh, 100dvh) - var(--mobile-sidebar-sheet-peek, 46px)) !important;
			bottom: auto !important;
			left: 10px;
			display: grid !important;
			grid-template-columns: 1fr !important;
			align-content: start;
			gap: 10px;
			height: min(74dvh, calc(100dvh - 112px), 620px);
			max-height: none;
			overflow: hidden;
			padding: 0 12px max(8px, env(safe-area-inset-bottom, 0px));
			border: 1px solid rgba(216, 226, 238, 0.9);
			border-bottom: 0;
			border-radius: 28px 28px 0 0;
			background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), #fff);
			box-shadow: 0 -18px 50px rgba(15, 23, 42, 0.2);
			--mobile-sidebar-sheet-open-shift: 0px;
			--mobile-sidebar-sheet-height: 620px;
			--mobile-sidebar-sheet-peek: 46px;
			transform: translate3d(0, 0, 0);
			transition: top 280ms cubic-bezier(0.2, 0.85, 0.25, 1), box-shadow 220ms ease;
			overscroll-behavior: contain;
			-webkit-overflow-scrolling: touch;
	}

	.mobile-sidebar-sheet.is-open {
			top: calc(var(--mobile-sidebar-sheet-vh, 100dvh) - var(--mobile-sidebar-sheet-height, 620px)) !important;
			overflow-y: auto;
			overscroll-behavior-y: contain;
			touch-action: pan-y;
			box-shadow: 0 -24px 64px rgba(15, 23, 42, 0.24);
			transform: translate3d(0, 0, 0);
	}

	.mobile-sidebar-sheet__toggle {
			position: sticky;
			z-index: 2;
			top: 0;
			display: grid;
			grid-template-columns: 1fr auto;
			align-items: center;
			gap: 4px 10px;
			width: 100%;
			min-height: 58px;
			padding: 14px 4px 8px;
			border: 0;
			background: inherit;
			color: #172033;
			font-family: var(--aw-font-heading);
			font-size: 13px;
			font-weight: 900;
			cursor: pointer;
			touch-action: pan-y;
	}

	.mobile-sidebar-sheet__toggle span {
			position: absolute;
			top: 8px;
			left: 50%;
			width: 48px;
			height: 4px;
			border-radius: 999px;
			background: #cfd8e6;
			transform: translateX(-50%);
	}

	.mobile-sidebar-sheet__toggle strong {
			align-self: end;
			justify-self: start;
			padding-top: 8px;
			color: #111827;
			font-size: 12px;
			line-height: 1;
	}

	.mobile-sidebar-sheet__toggle em {
			grid-column: 1;
			align-self: start;
			justify-self: start;
			color: #7b8798;
			font-family: var(--aw-font-body);
			font-size: 10px;
			font-style: normal;
			font-weight: 800;
			line-height: 1;
	}

	.mobile-sidebar-sheet__toggle i {
			grid-row: 1 / span 2;
			grid-column: 2;
			justify-self: end;
			display: grid;
			place-items: center;
			width: 30px;
			height: 30px;
			border-radius: 50%;
			background: #eef6ff;
			color: var(--aw-blue);
			transition: transform 180ms ease;
	}

	.mobile-sidebar-sheet.is-open .mobile-sidebar-sheet__toggle i {
			transform: rotate(180deg);
	}

	.mobile-sidebar-sheet .blog-sidebar__panel {
			max-height: none;
			overflow: visible;
	}

	.mobile-sidebar-sheet .blog-sidebar__search,
	.mobile-sidebar-sheet .blog-sidebar__panel,
	.mobile-sidebar-sheet .service-sidebar-card,
	.mobile-sidebar-sheet .widget {
			box-shadow: none;
	}

	.mobile-sidebar-sheet .widget {
			margin: 0;
			padding: 14px;
			border: 1px solid #edf1f6;
			border-radius: 14px;
			background: #fff;
	}

	.mobile-sidebar-sheet .widget + .widget {
			margin-top: 10px;
	}

	.mobile-sidebar-sheet .service-sidebar-card {
			border-radius: 14px;
			overflow: visible;
			opacity: 1 !important;
			transform: none !important;
			transition: none;
	}

	.mobile-sidebar-sheet .service-sidebar-card--cta {
			gap: 8px;
			padding: 14px;
	}

	.mobile-sidebar-sheet .service-sidebar-card--cta > span,
	.mobile-sidebar-sheet .service-sidebar-card__head span {
			font-size: 10px;
	}

	.mobile-sidebar-sheet .service-sidebar-card--cta h2 {
			font-size: 16px;
			line-height: 1.15;
	}

	.mobile-sidebar-sheet .service-sidebar-card--cta > a {
			min-height: 36px;
			padding: 0 14px;
			border-radius: 9px;
			font-size: 12px;
	}

	.mobile-sidebar-sheet .service-sidebar-card__head {
			padding: 14px 14px 10px;
	}

	.mobile-sidebar-sheet .service-sidebar-list {
			position: static;
			padding: 6px;
			overflow: visible;
	}

	.mobile-sidebar-sheet .service-sidebar-list a {
			grid-template-columns: 24px minmax(0, 1fr);
			gap: 8px;
			padding: 9px 10px;
			font-size: 12px;
	}

	.mobile-sidebar-sheet .service-sidebar-list i {
			width: 24px;
			height: 24px;
	}

	.works-filter-sheet {
			position: fixed !important;
			z-index: 56;
			right: 10px;
			top: calc(var(--works-filter-sheet-vh, 100dvh) - var(--works-filter-sheet-peek, 46px)) !important;
			bottom: auto !important;
			left: 10px;
			display: grid !important;
			grid-template-columns: 1fr !important;
			align-content: start;
			gap: 12px;
			height: min(74dvh, calc(100dvh - 112px), 620px);
			max-height: none;
			overflow: hidden;
			margin: 0 !important;
			padding: 0 12px max(10px, env(safe-area-inset-bottom, 0px));
			border: 1px solid rgba(216, 226, 238, 0.9);
			border-bottom: 0;
			border-radius: 28px 28px 0 0;
			background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), #fff);
			box-shadow: 0 -18px 50px rgba(15, 23, 42, 0.2);
			--works-filter-sheet-height: 620px;
			--works-filter-sheet-peek: 46px;
			transition: top 280ms cubic-bezier(0.2, 0.85, 0.25, 1), box-shadow 220ms ease;
			overscroll-behavior: contain;
			-webkit-overflow-scrolling: touch;
	}

	.works-filter-sheet.is-open {
			top: calc(var(--works-filter-sheet-vh, 100dvh) - var(--works-filter-sheet-height, 620px)) !important;
			overflow-y: auto;
			overscroll-behavior-y: contain;
			touch-action: pan-y;
			box-shadow: 0 -24px 64px rgba(15, 23, 42, 0.24);
	}

	.works-filter-sheet__toggle {
			position: sticky;
			z-index: 2;
			top: 0;
			display: grid;
			grid-template-columns: 1fr auto;
			align-items: center;
			gap: 4px 10px;
			width: 100%;
			min-height: 58px;
			padding: 14px 4px 8px;
			border: 0;
			background: inherit;
			color: #172033;
			font-family: var(--aw-font-heading);
			font-size: 13px;
			font-weight: 900;
			cursor: pointer;
			touch-action: pan-y;
	}

	.works-filter-sheet__toggle span {
			position: absolute;
			top: 8px;
			left: 50%;
			width: 48px;
			height: 4px;
			border-radius: 999px;
			background: #cfd8e6;
			transform: translateX(-50%);
	}

	.works-filter-sheet__toggle strong {
			align-self: end;
			justify-self: start;
			padding-top: 8px;
			color: #111827;
			font-size: 12px;
			line-height: 1;
	}

	.works-filter-sheet__toggle em {
			grid-column: 1;
			align-self: start;
			justify-self: start;
			color: #7b8798;
			font-family: var(--aw-font-body);
			font-size: 10px;
			font-style: normal;
			font-weight: 800;
			line-height: 1;
	}

	.works-filter-sheet__toggle i {
			grid-row: 1 / span 2;
			grid-column: 2;
			justify-self: end;
			display: grid;
			place-items: center;
			width: 30px;
			height: 30px;
			border-radius: 50%;
			background: #eef6ff;
			color: var(--aw-blue);
			transition: transform 180ms ease;
	}

	.works-filter-sheet.is-open .works-filter-sheet__toggle i {
			transform: rotate(180deg);
	}

	.works-filter-sheet .works-list__title-row {
			display: grid;
			gap: 12px;
	}

	.works-filter-sheet .works-list__title-row > div:first-child {
			margin-right: 0;
	}

	.works-filter-sheet .works-list__head h2 {
			margin-top: 4px;
			font-size: 20px;
			line-height: 1.15;
	}

	.works-filter-sheet .works-count {
			margin: 0;
			white-space: normal;
	}

	.works-filter-sheet .works-sort {
			display: grid;
			grid-template-columns: 1fr;
			gap: 6px;
			margin: 0;
	}

	.works-filter-sheet .works-sort select {
			width: 100%;
	}

	.works-filter-sheet .works-filter {
			display: grid;
			grid-template-columns: 1fr;
			gap: 8px;
	}

	.works-filter-sheet .works-filter button {
			justify-content: flex-start;
			width: 100%;
			min-height: 40px;
	}

	.site-footer__mark {
			bottom: -100px;
			left: -120px;
			width: 260px;
			opacity: 0.18;
		}

	.site-footer__inner {
			grid-template-columns: 1fr;
			justify-items: stretch;
			gap: 28px;
			padding: 48px 0 24px;
		}

	.site-footer__map-card {
			min-height: 220px;
			border-radius: 16px;
		}

	.site-footer__phone {
			font-size: 28px;
		}

	.site-footer__info-card li {
			font-size: 12px;
		}

	.site-footer__columns {
			grid-template-columns: 1fr;
			gap: 26px;
		}

	.site-footer__hours-column,
	.site-footer__corporate-column,
	.site-footer__services-column,
	.site-footer__latest-posts {
		display: none;
	}

	.site-footer__column h2 {
			margin-bottom: 8px;
		}

	.site-footer__locations {
			gap: 18px;
		}

	.site-footer__location-links {
			gap: 8px 10px;
		}

	.site-footer__bottom {
		display: grid;
		grid-template-columns: 1fr;
		justify-items: start;
		margin-top: 18px;
	}

	.site-footer__bottom > p,
	.site-footer__bottom .site-footer__map-link {
		display: none;
	}

	.site-scroll-top {
			right: 16px;
			bottom: 16px;
			width: 44px;
			height: 44px;
		}

}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body h1 a,
body h2 a,
body h3 a,
body h4 a,
body h5 a,
body h6 a,
body h1 em,
body h2 em,
body h3 em,
body h4 em,
body h5 em,
body h6 em {
	font-weight: 700 !important;
}

/* Editorial layout for standard WordPress pages. */
.page-content {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	align-items: start;
	gap: 18px clamp(38px, 5vw, 78px);
	width: min(100% - 40px, 1180px);
	margin: 0 auto;
	padding: clamp(48px, 6vw, 88px) 0 clamp(64px, 8vw, 112px);
}

.page-content > .wp-block-image:first-of-type,
.page-content > figure:first-of-type {
	grid-row: 1 / span 12;
	grid-column: 1;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--aw-line);
	border-radius: 24px;
	background: var(--aw-soft);
	box-shadow: var(--aw-shadow-soft);
}

.page-content > .wp-block-image:first-of-type img,
.page-content > figure:first-of-type img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.page-content > :not(.screen-reader-text, .wp-block-image, figure) {
	grid-column: 2;
}

.page-content h2,
.page-content h3 {
	margin: 0;
	color: var(--aw-ink);
	font-family: var(--aw-font-heading);
	letter-spacing: -0.025em;
}

.page-content h2 {
	font-size: clamp(30px, 3.2vw, 48px);
	line-height: 1.08;
}

.page-content h3 {
	margin-top: 10px;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.18;
}

.page-content p {
	margin: 0;
	color: var(--aw-muted);
	font-size: clamp(15px, 1.2vw, 17px);
	line-height: 1.85;
}

.page-content p + p {
	margin-top: -4px;
}

.page-content a {
	color: var(--aw-blue);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

@media (max-width: 820px) {
	.page-content {
		grid-template-columns: 1fr;
		width: min(100% - 24px, 680px);
		padding: 36px 0 64px;
	}

	.page-content > .wp-block-image:first-of-type,
	.page-content > figure:first-of-type,
	.page-content > :not(.screen-reader-text, .wp-block-image, figure) {
		grid-row: auto;
		grid-column: 1;
	}

	.page-content > .wp-block-image:first-of-type,
	.page-content > figure:first-of-type {
		margin-bottom: 12px;
		border-radius: 18px;
	}
}
