:root {
	--swt-primary-blue: #0e5a99;
	--swt-primary-hover: #0b4b80;
	--swt-primary-active: #083d69;
	--swt-secondary-blue: #5e8db5;
	--swt-light-blue: #eaf1f7;
	--swt-page-bg: #f7f8f9;
	--swt-section-gray: #e7e7e7;
	--swt-card-bg: #ffffff;
	--swt-heading: #17324a;
	--swt-text: #4b535b;
	--swt-muted: #747d86;
	--swt-border: #d7dde2;
	--swt-button-text: #ffffff;
	--swt-button-focus: rgba(14, 90, 153, 0.18);
	--swt-header-bg: #f1f5f7;
	--swt-header-border: #d7e0e6;
	--swt-header-shadow: 0 2px 8px rgba(20, 55, 80, 0.05);
	--swt-header-height: 92px;
	--swt-mobile-header-height: 68px;
}

body #masthead,
body #masthead .ast-primary-header-bar,
body #masthead .ast-mobile-header-wrap,
body #masthead .main-header-bar {
	border-bottom-color: var(--swt-header-border) !important;
	background: var(--swt-header-bg) !important;
}

body #masthead {
	border-bottom: 1px solid var(--swt-header-border);
	box-shadow: var(--swt-header-shadow);
}

body #masthead .ast-primary-header-bar {
	min-height: var(--swt-header-height) !important;
}

body #masthead .site-primary-header-wrap {
	min-height: 84px !important;
	padding-block: 4px !important;
}

body #masthead .ast-builder-grid-row {
	min-height: 64px !important;
	align-items: center !important;
}

body #masthead .site-branding,
body #masthead .ast-site-identity,
body #masthead .ast-builder-layout-element,
body #masthead .main-header-menu,
body #masthead .main-header-menu > .menu-item {
	align-items: center !important;
}

body #masthead .custom-logo-link,
body #masthead .site-logo-img {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

body #masthead .custom-logo-link img,
body #masthead img.custom-logo {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: min(320px, 28vw) !important;
	max-height: 44px !important;
	opacity: 1 !important;
	filter: none !important;
	transform: none !important;
	image-rendering: auto;
	object-fit: contain;
}

body #masthead .main-header-menu > .menu-item > .menu-link {
	min-height: 44px;
	padding-block: 10px !important;
	line-height: 1.2;
}

body #masthead .main-header-menu > .menu-item > .menu-link,
body #masthead .ast-builder-menu-mobile .menu-link,
body #masthead .ast-menu-toggle {
	color: #30363c;
}

body #masthead .main-header-menu > .menu-item:hover > .menu-link,
body #masthead .main-header-menu > .current-menu-item > .menu-link,
body #masthead .ast-builder-menu-mobile .menu-link:hover {
	color: var(--swt-primary-blue);
}

body #masthead .sub-menu,
body #masthead .ast-mobile-header-content {
	border-color: var(--swt-border);
	background: #ffffff;
}

body #masthead .menu-item-2702 > .menu-link,
body #masthead .main-header-menu-toggle,
body .elementor-button,
body .ast-custom-button-link,
body .wpforms-submit,
body .wpcf7-submit,
body .srfm-submit-button,
body form button[type="submit"],
body form input[type="submit"] {
	min-height: 44px;
	padding: 10px 28px;
	border: 1px solid var(--swt-primary-blue);
	border-radius: 10px;
	background: var(--swt-primary-blue);
	box-shadow: 0 4px 12px rgba(14, 90, 153, 0.12);
	color: var(--swt-button-text);
	font-weight: 700;
	letter-spacing: 0;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body #masthead .menu-item-2702 > .menu-link,
body #masthead .main-header-menu-toggle {
	border-color: var(--swt-primary-blue) !important;
	border-radius: 10px !important;
	background: var(--swt-primary-blue) !important;
	box-shadow: 0 4px 12px rgba(14, 90, 153, 0.12) !important;
	color: var(--swt-button-text) !important;
}

body #masthead #menu-item-2702 > a.menu-link {
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	padding: 7px 18px !important;
	border-color: var(--swt-primary-blue) !important;
	border-radius: 10px !important;
	background: var(--swt-primary-blue) !important;
	box-shadow: 0 4px 12px rgba(14, 90, 153, 0.12) !important;
	color: var(--swt-button-text) !important;
}

body .srfm-submit-button {
	min-height: 46px !important;
	padding: 11px 28px !important;
	border: 1px solid var(--swt-primary-blue) !important;
	border-radius: 10px !important;
	background: var(--swt-primary-blue) !important;
	box-shadow: 0 4px 12px rgba(14, 90, 153, 0.12) !important;
	color: var(--swt-button-text) !important;
}

body #masthead .menu-item-2702 > .menu-link:hover,
body #masthead .main-header-menu-toggle:hover,
body .elementor-button:hover,
body .ast-custom-button-link:hover,
body .wpforms-submit:hover,
body .wpcf7-submit:hover,
body .srfm-submit-button:hover,
body form button[type="submit"]:hover,
body form input[type="submit"]:hover {
	border-color: var(--swt-primary-hover);
	background: var(--swt-primary-hover);
	color: var(--swt-button-text);
	box-shadow: 0 6px 14px rgba(14, 90, 153, 0.16);
	transform: translateY(-1px);
}

body #masthead .menu-item-2702 > .menu-link:hover,
body #masthead .main-header-menu-toggle:hover {
	border-color: var(--swt-primary-hover) !important;
	background: var(--swt-primary-hover) !important;
	color: var(--swt-button-text) !important;
}

body #masthead #menu-item-2702 > a.menu-link:hover {
	border-color: var(--swt-primary-hover) !important;
	background: var(--swt-primary-hover) !important;
	color: var(--swt-button-text) !important;
}

body .srfm-submit-button:hover {
	border-color: var(--swt-primary-hover) !important;
	background: var(--swt-primary-hover) !important;
	color: var(--swt-button-text) !important;
}

body #masthead .menu-item-2702 > .menu-link:active,
body #masthead .main-header-menu-toggle:active,
body .elementor-button:active,
body .ast-custom-button-link:active,
body .wpforms-submit:active,
body .wpcf7-submit:active,
body .srfm-submit-button:active,
body form button[type="submit"]:active,
body form input[type="submit"]:active {
	border-color: var(--swt-primary-active);
	background: var(--swt-primary-active);
	transform: translateY(0);
}

body #masthead .menu-item-2702 > .menu-link:active,
body #masthead .main-header-menu-toggle:active {
	border-color: var(--swt-primary-active) !important;
	background: var(--swt-primary-active) !important;
}

body #masthead #menu-item-2702 > a.menu-link:active {
	border-color: var(--swt-primary-active) !important;
	background: var(--swt-primary-active) !important;
}

body #masthead .menu-item-2702 > .menu-link:focus-visible,
body #masthead .main-header-menu-toggle:focus-visible,
body .elementor-button:focus-visible,
body .ast-custom-button-link:focus-visible,
body .wpforms-submit:focus-visible,
body .wpcf7-submit:focus-visible,
body .srfm-submit-button:focus-visible,
body form button[type="submit"]:focus-visible,
body form input[type="submit"]:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 4px var(--swt-button-focus);
}

body button:disabled,
body input[type="submit"]:disabled,
body .elementor-button[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.52;
	transform: none;
}

body .swt-pc-button {
	min-height: 46px;
	padding: 11px 28px;
	border-color: var(--swt-primary-blue);
	border-radius: 10px;
	background: var(--swt-primary-blue);
	box-shadow: 0 4px 12px rgba(14, 90, 153, 0.12);
	color: var(--swt-button-text);
	font-weight: 700;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body .swt-pc-button:hover {
	border-color: var(--swt-primary-hover);
	background: var(--swt-primary-hover);
	color: var(--swt-button-text);
	box-shadow: 0 6px 14px rgba(14, 90, 153, 0.16);
	transform: translateY(-1px);
}

body .swt-pc-button:active {
	border-color: var(--swt-primary-active);
	background: var(--swt-primary-active);
	transform: translateY(0);
}

body .swt-products-center .swt-pc-button--secondary {
	border-color: var(--swt-primary-blue);
	background: #ffffff;
	box-shadow: none;
	color: var(--swt-primary-blue) !important;
}

body .swt-products-center .swt-pc-button--secondary:hover {
	border-color: var(--swt-primary-hover);
	background: var(--swt-light-blue);
	color: var(--swt-primary-hover) !important;
}

body .swt-pc-button:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 4px var(--swt-button-focus);
}

html {
	scroll-padding-top: 110px;
}

body [id] {
	scroll-margin-top: 110px;
}

@media (max-width: 921px) {
	body {
		padding-top: 0 !important;
	}

	body #masthead,
	body #ast-mobile-header {
		background: var(--swt-header-bg) !important;
	}

	body #masthead .ast-mobile-header-wrap,
	body #masthead .ast-primary-header-bar,
	body #masthead .main-header-bar {
		min-height: var(--swt-mobile-header-height) !important;
		background: var(--swt-header-bg) !important;
	}

	body #masthead .ast-mobile-header-wrap .ast-primary-header-bar,
	body #masthead .site-primary-header-wrap {
		width: 100% !important;
		max-width: none !important;
		min-height: var(--swt-mobile-header-height) !important;
		height: var(--swt-mobile-header-height) !important;
		margin-inline: 0 !important;
		padding: 0 20px !important;
	}

	body #masthead .ast-mobile-header-wrap .ast-primary-header-bar {
		inset-inline: 0 !important;
		max-width: 100vw !important;
		overflow-x: clip;
	}

	body #masthead .ast-mobile-header-wrap .ast-builder-grid-row {
		min-height: var(--swt-mobile-header-height) !important;
		height: var(--swt-mobile-header-height) !important;
		padding-block: 0 !important;
		align-items: center !important;
	}

	body #masthead .ast-mobile-header-wrap .site-header-section,
	body #masthead .ast-mobile-header-wrap .ast-builder-layout-element,
	body #masthead .ast-mobile-header-wrap .site-branding,
	body #masthead .ast-mobile-header-wrap .ast-site-identity {
		min-height: 0 !important;
		height: auto !important;
		padding-block: 0 !important;
		align-items: center !important;
	}

	body #masthead .custom-logo-link img,
	body #masthead img.custom-logo {
		max-height: 34px !important;
		max-width: min(190px, 56vw) !important;
	}

	body #masthead .main-header-menu-toggle {
		min-width: 42px;
		min-height: 42px;
		height: 42px !important;
		padding: 9px 14px !important;
	}

	body #masthead .ast-mobile-header-content,
	body #masthead .ast-mobile-header-content .main-header-menu,
	body #masthead .ast-mobile-header-content .menu-link {
		width: 100% !important;
		max-width: 100vw !important;
		box-sizing: border-box;
	}

	body #masthead .ast-mobile-header-content .menu-link {
		margin-inline: 0 !important;
	}
}

.swt-blog-page {
	--swt-blog-navy: var(--swt-heading);
	--swt-blog-navy-dark: var(--swt-primary-active);
	--swt-blog-teal: var(--swt-primary-blue);
	--swt-blog-teal-dark: var(--swt-primary-hover);
	--swt-blog-background: var(--swt-page-bg);
	--swt-blog-border: var(--swt-border);
	--swt-blog-text: var(--swt-text);
	--swt-blog-muted: var(--swt-muted);
}

.swt-blog-page .swt-blog-search button,
.swt-blog-page .swt-blog-button--primary {
	border-color: var(--swt-primary-blue);
	background: var(--swt-primary-blue);
	color: #ffffff;
}

.swt-blog-page .swt-blog-search button:hover,
.swt-blog-page .swt-blog-button--primary:hover {
	border-color: var(--swt-primary-hover);
	background: var(--swt-primary-hover);
	color: #ffffff;
}

.swt-blog-page .swt-blog-button--secondary,
.swt-blog-page .swt-blog-pagination a {
	border-color: var(--swt-primary-blue);
	background: #ffffff;
	color: var(--swt-primary-blue);
}

.swt-blog-page .swt-blog-button--secondary:hover,
.swt-blog-page .swt-blog-pagination a:hover {
	border-color: var(--swt-primary-hover);
	background: var(--swt-light-blue);
	color: var(--swt-primary-hover);
}

.swt-blog-page .swt-text-link,
.swt-blog-page .swt-article-tag,
.swt-blog-page .swt-section-kicker {
	color: var(--swt-primary-blue);
}

.swt-technical-article {
	--swt-article-navy: var(--swt-heading);
	--swt-article-navy-dark: var(--swt-primary-active);
	--swt-article-teal: var(--swt-primary-hover);
	--swt-article-teal-dark: var(--swt-primary-blue);
	--swt-article-text: var(--swt-text);
	--swt-article-muted: var(--swt-muted);
	--swt-article-border: var(--swt-border);
	--swt-article-soft: var(--swt-page-bg);
	--swt-article-blue-soft: var(--swt-light-blue);
}

.swt-technical-article .swt-article-button {
	border-color: var(--swt-primary-blue);
	background: var(--swt-primary-blue);
	color: #ffffff;
}

.swt-technical-article .swt-article-button:hover,
.swt-technical-article .swt-article-button:focus-visible {
	border-color: var(--swt-primary-hover);
	background: var(--swt-primary-hover);
	color: #ffffff;
}

.swt-technical-article .swt-quick-answer,
.swt-technical-article .swt-article-help {
	border-left-color: var(--swt-primary-blue);
	background: var(--swt-light-blue);
}

@media (max-width: 767px) {
	body #masthead .menu-item-2702 > .menu-link,
	body .elementor-button,
	body .ast-custom-button-link,
	body .wpforms-submit,
	body .wpcf7-submit,
	body .srfm-submit-button,
	body .swt-pc-button,
	body form button[type="submit"],
	body form input[type="submit"] {
		max-width: 100%;
		min-height: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body .elementor-button,
	body .ast-custom-button-link,
	body button,
	body input[type="submit"] {
		transition-duration: 0.01ms;
	}
}
