/**
 * SAVW mobile-only overrides.
 *
 * Do not place desktop or tablet rules in this file. Elementor currently uses
 * 767px as its mobile breakpoint, so all overrides must remain inside the
 * media query below.
 */

@media (max-width: 767px) {
	/* Existing header copies on all Elementor pages and posts. */
	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) {
		padding: 8px 16px;
		position: relative;
	}

	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) > .elementor-container {
		min-height: 0;
		align-items: center;
	}

	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) > .elementor-container > .elementor-column {
		width: 50%;
		position: static;
	}

	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) > .elementor-container > .elementor-column > .elementor-element-populated {
		padding: 0;
	}

	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) > .elementor-container > .elementor-column:first-child .elementor-widget-image {
		text-align: left;
	}

	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) > .elementor-container > .elementor-column:first-child .elementor-widget-image .elementor-widget-container {
		line-height: 0;
	}

	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) > .elementor-container > .elementor-column:first-child .elementor-widget-image img {
		width: 80px;
		max-width: 80px;
		height: auto;
	}

	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) .elementor-widget-nav-menu .elementor-menu-toggle {
		width: 44px;
		height: 44px;
		margin: 0 0 0 auto;
		padding: 0;
		align-items: center;
		justify-content: center;
		border-radius: 6px;
	}

	/* Keep the open navigation out of the two-column header layout. */
	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) .elementor-widget-nav-menu,
	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) .elementor-widget-nav-menu > .elementor-widget-container {
		position: static;
	}

	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) .elementor-widget-nav-menu > .elementor-widget-container > .elementor-nav-menu--dropdown {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		margin-top: 0;
		max-height: calc(100vh - 96px);
		overflow-y: auto;
		background: #fff;
		border-top: 1px solid #e7e9ec;
		box-shadow: 0 12px 24px rgb(0 0 0 / 12%);
	}

	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) .elementor-widget-nav-menu .elementor-nav-menu--dropdown > .elementor-nav-menu > li > .elementor-item {
		min-height: 52px;
		padding: 14px 20px;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.4;
		border-bottom: 1px solid #eef0f2;
	}

	:is(
		.elementor-21 > .elementor-element.elementor-element-7d7995bc,
		.elementor-169 > .elementor-element.elementor-element-1ac2e398,
		.elementor-289 > .elementor-element.elementor-element-535adb63,
		.elementor-584 > .elementor-element.elementor-element-6f7172d6,
		.elementor-672 > .elementor-element.elementor-element-7a9ef42e,
		.elementor-674 > .elementor-element.elementor-element-4e9abb27,
		.elementor-754 > .elementor-element.elementor-element-4ad773f7,
		.elementor-787 > .elementor-element.elementor-element-facb9d4,
		.elementor-866 > .elementor-element.elementor-element-27fd9475,
		.elementor-899 > .elementor-element.elementor-element-4ede6422,
		.elementor-901 > .elementor-element.elementor-element-6c50f408
	) .elementor-widget-nav-menu .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
		padding: 12px 32px;
		font-size: 14px;
		line-height: 1.4;
	}

	/* Distributors: keep the Mapplic map clear of the old overlapping header. */
	.elementor-584 > .elementor-element.elementor-element-6f7172d6 {
		margin-bottom: 0 !important;
	}

	.elementor-584 .elementor-element.elementor-element-bd2c5fc {
		--spacer-size: 28px !important;
	}

	/* Home: keep the lead slider below the header and scale its content. */
	.elementor-21 > .elementor-element.elementor-element-7d7995bc {
		margin-bottom: 0;
	}

	.elementor-21 .elementor-element.elementor-element-a488fb0 > .elementor-container {
		min-height: 0 !important;
	}

	.elementor-21 .elementor-element.elementor-element-6e4f86a .swiper-slide {
		height: 560px !important;
	}

	.elementor-21 .elementor-element.elementor-element-6e4f86a .swiper-slide-inner {
		padding: 88px 24px 32px !important;
	}

	.elementor-21 .elementor-element.elementor-element-6e4f86a .swiper-slide-contents {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-21 .elementor-element.elementor-element-6e4f86a .elementor-slide-heading {
		margin-bottom: 16px !important;
		font-size: clamp(34px, 10vw, 40px) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.02em !important;
	}

	.elementor-21 .elementor-element.elementor-element-6e4f86a .elementor-slide-description {
		font-size: clamp(20px, 6vw, 24px) !important;
		line-height: 1.35 !important;
	}

	/* Home: tighten the introductory content blocks. */
	.elementor-21 .elementor-element.elementor-element-5ce76445 {
		padding: 40px 20px;
	}

	/* Home: keep the three counters readable without crowding. */
	.elementor-21 .elementor-element:is(
		.elementor-element-b6b19cb,
		.elementor-element-4aeb98b,
		.elementor-element-9a66395
	) .elementor-counter-number-wrapper {
		font-size: clamp(48px, 15vw, 58px);
		line-height: 1;
	}

	.elementor-21 .elementor-element:is(
		.elementor-element-b6b19cb,
		.elementor-element-4aeb98b,
		.elementor-element-9a66395
	) .elementor-counter-title {
		font-size: 12px;
		line-height: 1.3;
		letter-spacing: 0;
	}

	/* Home contact: contain the form and map inside the viewport. */
	.elementor-21 .elementor-element.elementor-element-04f37b3 {
		padding: 0 20px 30px;
	}

	.elementor-21 .elementor-element.elementor-element-04f37b3 > .elementor-container {
		width: 100%;
		max-width: 100%;
	}

	.elementor-21 .elementor-element.elementor-element-04f37b3 > .elementor-container > .elementor-column {
		width: 100%;
		min-width: 0;
	}

	.elementor-21 .elementor-element.elementor-element-4a707b7b > .elementor-element-populated,
	.elementor-21 .elementor-element.elementor-element-ac1f497 > .elementor-element-populated {
		padding-right: 0;
		padding-left: 0;
	}

	.elementor-21 .elementor-element.elementor-element-658b20f3,
	.elementor-21 .elementor-element.elementor-element-658b20f3 form,
	.elementor-21 .elementor-element.elementor-element-658b20f3 .elementor-form-fields-wrapper,
	.elementor-21 .elementor-element.elementor-element-658b20f3 .elementor-field-group {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.elementor-21 .elementor-element.elementor-element-658b20f3 .elementor-form-fields-wrapper {
		margin-right: 0;
		margin-left: 0;
	}

	.elementor-21 .elementor-element.elementor-element-658b20f3 .elementor-field-group {
		padding-right: 0;
		padding-left: 0;
	}

	.elementor-21 .elementor-element.elementor-element-658b20f3 .elementor-button {
		min-height: 44px;
	}

	.elementor-21 .elementor-element.elementor-element-658b20f3 .recaptcha_v3-inline,
	.elementor-21 .elementor-element.elementor-element-658b20f3 .elementor-g-recaptcha,
	.elementor-21 .elementor-element.elementor-element-658b20f3 iframe {
		max-width: 100%;
	}

	.elementor-21 .elementor-element.elementor-element-ac1f497 {
		margin-top: 24px;
	}

	.elementor-21 .elementor-element.elementor-element-3e744fee,
	.elementor-21 .elementor-element.elementor-element-3e744fee .elementor-widget-container,
	.elementor-21 .elementor-element.elementor-element-3e744fee .elementor-custom-embed,
	.elementor-21 .elementor-element.elementor-element-3e744fee iframe {
		width: 100%;
		max-width: 100%;
	}

	.elementor-21 .elementor-element.elementor-element-3e744fee iframe {
		display: block;
		height: 320px;
	}

	/* Prevent media and post cards from creating intrinsic-width overflow. */
	.elementor-21 .elementor-post,
	.elementor-21 .elementor-posts-container,
	.elementor-21 img,
	.elementor-21 iframe {
		max-width: 100%;
	}

	/* Home: keep post-card titles in the original dark palette. */
	.elementor-21 .elementor-element.elementor-element-c68950c .elementor-post__title,
	.elementor-21 .elementor-element.elementor-element-c68950c .elementor-post__title a {
		color: #424242 !important;
	}

	.elementor-21 .elementor-element.elementor-element-c68950c .elementor-post__title a:hover,
	.elementor-21 .elementor-element.elementor-element-c68950c .elementor-post__title a:focus-visible {
		color: #1a4797 !important;
	}

	/* About page: lead section. */
	.elementor-289 .elementor-element.elementor-element-7a2185a,
	.elementor-289 .elementor-element.elementor-element-52a9984,
	.elementor-289 .elementor-element.elementor-element-52a9984 .elementor-widget-container,
	.elementor-289 .elementor-element.elementor-element-52a9984 .elementor-swiper {
		width: 100%;
		max-width: 100%;
	}

	.elementor-289 .elementor-element.elementor-element-52a9984 .swiper-slide {
		height: 500px !important;
	}

	.elementor-289 .elementor-element.elementor-element-52a9984 .swiper-slide-bg {
		background-position: center center !important;
	}

	.elementor-289 .elementor-element.elementor-element-52a9984 .swiper-slide-inner {
		padding: 112px 24px 32px !important;
	}

	.elementor-289 .elementor-element.elementor-element-52a9984 .swiper-slide-contents {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-289 .elementor-element.elementor-element-52a9984 .elementor-slide-heading {
		margin-bottom: 14px !important;
		font-size: clamp(38px, 12vw, 48px) !important;
		line-height: 1.02 !important;
		letter-spacing: -0.03em !important;
	}

	.elementor-289 .elementor-element.elementor-element-52a9984 .elementor-slide-description {
		max-width: 280px !important;
		font-size: clamp(20px, 6.5vw, 26px) !important;
		line-height: 1.35 !important;
	}

	/* About page: compact the desktop spacer widgets. */
	.elementor-289 .elementor-element:is(
		.elementor-element-309f498,
		.elementor-element-3e0216b,
		.elementor-element-5bea47d,
		.elementor-element-2c5ed37,
		.elementor-element-d57b602,
		.elementor-element-88a731f
	) .elementor-spacer-inner {
		height: 16px;
	}

	/* About page: text, logo and history introduction. */
	.elementor-289 .elementor-element:is(
		.elementor-element-10fca8f,
		.elementor-element-c2bd835,
		.elementor-element-c26fdbe,
		.elementor-element-829f935
	) {
		padding-right: 20px;
		padding-left: 20px;
	}

	.elementor-289 .elementor-element.elementor-element-c2bd835 > .elementor-container > .elementor-column {
		width: 100%;
		min-width: 0;
	}

	.elementor-289 .elementor-element.elementor-element-1db15ed,
	.elementor-289 .elementor-element.elementor-element-a1c6309 {
		font-size: 15px;
		line-height: 1.65;
	}

	.elementor-289 .elementor-element.elementor-element-4f5be01 {
		margin-top: 8px;
		text-align: center;
	}

	.elementor-289 .elementor-element.elementor-element-4f5be01 img {
		width: min(220px, 75vw);
		height: auto;
	}

	.elementor-289 .elementor-element.elementor-element-b6e663b img {
		width: 100%;
		height: auto;
	}

	/* About page: single-column timeline with shorter, content-led cards. */
	.elementor-289 .elementor-element.elementor-element-0062e92 {
		padding-right: 16px;
		padding-left: 16px;
	}

	.elementor-289 .elementor-element.elementor-element-510eed6 .twae-wrapper {
		--tw-line-width: 2px;
		--tw-ibx-size: 28px;
		--tw-lbl-big-size: 16px;
		--tw-lbl-small-size: 12px;
		--tw-cbx-bottom-margin: 22px;
		--tw-cbx-padding: 14px;
		--tw-cbx-title-font-size: 16px;
		--tw-cbx-title-line-height: 1.3em;
	}

	.elementor-289 .elementor-element.elementor-element-510eed6 .twae-timeline {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	/* The years exist in the widget data; keep the plugin from hiding them on mobile. */
	.elementor-289 .elementor-element.elementor-element-510eed6 .twae-labels {
		display: flex !important;
		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: 100% !important;
		padding: 0 0 10px !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.elementor-289 .elementor-element.elementor-element-510eed6 .twae-label-big {
		display: block !important;
		color: #1a4797 !important;
		font-size: 16px !important;
		line-height: 1.25 !important;
		white-space: normal;
	}

	.elementor-289 .elementor-element.elementor-element-510eed6 .twae-story,
	.elementor-289 .elementor-element.elementor-element-510eed6 .twae-content {
		min-height: 0;
	}

	.elementor-289 .elementor-element.elementor-element-510eed6 .twae-media img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: auto;
	}

	.elementor-289 .elementor-element.elementor-element-45c704e {
		padding-right: 20px;
		padding-left: 20px;
		font-size: 17px;
		line-height: 1.5;
	}

	/* Products page: the three category lead sections. */
	.elementor-672 .elementor-element:is(
		.elementor-element-2f79468,
		.elementor-element-ce81807,
		.elementor-element-c5638ea
	),
	.elementor-672 .elementor-element:is(
		.elementor-element-2f79468,
		.elementor-element-ce81807,
		.elementor-element-c5638ea
	) .elementor-widget-container,
	.elementor-672 .elementor-element:is(
		.elementor-element-2f79468,
		.elementor-element-ce81807,
		.elementor-element-c5638ea
	) .elementor-swiper {
		width: 100%;
		max-width: 100%;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-2f79468,
		.elementor-element-ce81807,
		.elementor-element-c5638ea
	) .swiper-slide {
		height: 380px !important;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-2f79468,
		.elementor-element-ce81807,
		.elementor-element-c5638ea
	) .swiper-slide-bg {
		background-position: center center !important;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-2f79468,
		.elementor-element-ce81807,
		.elementor-element-c5638ea
	) .swiper-slide-inner {
		padding: 80px 20px 24px !important;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-2f79468,
		.elementor-element-ce81807,
		.elementor-element-c5638ea
	) .swiper-slide-contents {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-2f79468,
		.elementor-element-ce81807,
		.elementor-element-c5638ea
	) .elementor-slide-heading {
		font-size: clamp(36px, 11vw, 44px) !important;
		line-height: 1.02 !important;
		letter-spacing: -0.03em !important;
	}

	.elementor-672 .elementor-menu-anchor {
		scroll-margin-top: 100px;
	}

	/* Products page: replace desktop spacers with responsive rhythm. */
	.elementor-672 .elementor-element:is(
		.elementor-element-08de5d7,
		.elementor-element-6a4c2f1,
		.elementor-element-80cbe7c,
		.elementor-element-f4a7c85,
		.elementor-element-c05ad37,
		.elementor-element-bdb56b7,
		.elementor-element-ae12528,
		.elementor-element-28cac25,
		.elementor-element-942fa76,
		.elementor-element-ca5e8db,
		.elementor-element-f72eb39,
		.elementor-element-ee26037,
		.elementor-element-752efc7,
		.elementor-element-8864a0d
	) .elementor-spacer-inner {
		height: 16px;
	}

	/* Products page: introductions and content rows. */
	.elementor-672 .elementor-element:is(
		.elementor-element-fe81a28,
		.elementor-element-c3c91a0,
		.elementor-element-c93230b,
		.elementor-element-2e56682,
		.elementor-element-675a10a,
		.elementor-element-b8f8d40,
		.elementor-element-04e9769,
		.elementor-element-5a38f11
	) {
		padding-right: 20px;
		padding-left: 20px;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-c3c91a0,
		.elementor-element-c93230b,
		.elementor-element-b8f8d40
	) > .elementor-container > .elementor-column {
		width: 100%;
		min-width: 0;
	}

	/* Products: keep both mobile video rows in text-then-video order. */
	.elementor-672 .elementor-element.elementor-element-c93230b .elementor-element.elementor-element-2d12962 {
		order: 1;
	}

	.elementor-672 .elementor-element.elementor-element-c93230b .elementor-element.elementor-element-e842756 {
		order: 2;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-c3c91a0,
		.elementor-element-c93230b,
		.elementor-element-b8f8d40
	) > .elementor-container > .elementor-column > .elementor-element-populated {
		padding-right: 0;
		padding-left: 0;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-c3c91a0,
		.elementor-element-c93230b,
		.elementor-element-b8f8d40
	) > .elementor-container > .elementor-column + .elementor-column {
		margin-top: 16px;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-4443a82,
		.elementor-element-2fc0ad1,
		.elementor-element-a65fd14
	) {
		font-size: 18px;
		line-height: 1.45;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-04574b0,
		.elementor-element-80304c6,
		.elementor-element-30d3fb7
	) {
		font-size: 15px;
		line-height: 1.65;
	}

	.elementor-672 .elementor-element:is(
		.elementor-element-a1cdb0f,
		.elementor-element-2c023ee
	),
	.elementor-672 .elementor-element:is(
		.elementor-element-a1cdb0f,
		.elementor-element-2c023ee
	) .elementor-wrapper,
	.elementor-672 .elementor-element.elementor-element-20daa5f img {
		width: 100%;
		max-width: 100%;
	}

	/* Products page: centre the brochure callout instead of its desktop offset. */
	.elementor-672 .elementor-element.elementor-element-f3c4ce7 > .elementor-element-populated {
		margin-left: 0;
	}

	.elementor-672 .elementor-element.elementor-element-a8e4c18 .elementor-icon-box-wrapper {
		text-align: center;
	}

	/* Products page: tunnel carousel. */
	.elementor-672 .elementor-element.elementor-element-483f3fd {
		width: 100%;
		max-width: 100%;
	}

	.elementor-672 .elementor-element.elementor-element-483f3fd .elementor-image-carousel-caption {
		padding: 12px 28px 0;
		font-size: clamp(24px, 7vw, 30px);
		line-height: 1.15;
	}

	.elementor-672 .elementor-element.elementor-element-483f3fd .elementor-swiper-button {
		font-size: 26px;
	}

	/* Products page: stable two-column gallery without calculated empty space. */
	.elementor-672 .elementor-element.elementor-element-20137fb {
		padding: 0 12px 20px;
	}

	.elementor-672 .elementor-element.elementor-element-b610ccc .elementor-gallery__container {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		height: auto !important;
		padding-bottom: 0 !important;
	}

	.elementor-672 .elementor-element.elementor-element-b610ccc .e-gallery-item {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		width: 100% !important;
		margin: 0 !important;
		padding-bottom: 0 !important;
		aspect-ratio: 3 / 2;
	}

	/* Shared lead sizing for the remaining existing pages and posts. */
	:is(
		.elementor-169 .elementor-element.elementor-element-e85ad22,
		.elementor-674 .elementor-element.elementor-element-970e9aa,
		.elementor-754 .elementor-element.elementor-element-9e350ed,
		.elementor-787 .elementor-element.elementor-element-3138f6d,
		.elementor-866 .elementor-element.elementor-element-eba41d1,
		.elementor-899 .elementor-element.elementor-element-08d7010,
		.elementor-901 .elementor-element.elementor-element-c000e44
	) .swiper-slide {
		height: 440px !important;
	}

	:is(
		.elementor-169 .elementor-element.elementor-element-e85ad22,
		.elementor-674 .elementor-element.elementor-element-970e9aa,
		.elementor-754 .elementor-element.elementor-element-9e350ed,
		.elementor-787 .elementor-element.elementor-element-3138f6d,
		.elementor-866 .elementor-element.elementor-element-eba41d1,
		.elementor-899 .elementor-element.elementor-element-08d7010,
		.elementor-901 .elementor-element.elementor-element-c000e44
	) .swiper-slide-inner {
		padding: 96px 24px 32px !important;
	}

	:is(
		.elementor-674 .elementor-element.elementor-element-970e9aa,
		.elementor-901 .elementor-element.elementor-element-c000e44
	) .swiper-slide-contents {
		width: 100% !important;
		max-width: 100% !important;
	}

	:is(
		.elementor-674 .elementor-element.elementor-element-970e9aa,
		.elementor-901 .elementor-element.elementor-element-c000e44
	) .elementor-slide-heading {
		font-size: clamp(36px, 11vw, 44px) !important;
		line-height: 1.02 !important;
		letter-spacing: -0.03em !important;
	}

	/* Global footer: improve spacing and mobile readability. */
	footer .elementor-column:has(.elementor-icon-list--layout-inline) > .elementor-element-populated {
		padding-top: 28px;
	}

	footer :is(h2, h3, h4, h5, h6).elementor-heading-title {
		font-size: 20px;
		line-height: 1.3;
		text-align: left !important;
	}

	footer .elementor-widget-heading,
	footer .elementor-widget-divider,
	footer .elementor-divider {
		text-align: left !important;
	}

	footer .elementor-divider-separator {
		width: 110px !important;
		margin-right: auto !important;
		margin-left: 0 !important;
	}

	footer .elementor-icon-list--layout-traditional .elementor-icon-list-item > a,
	footer .elementor-icon-list--layout-traditional .elementor-icon-list-text {
		font-size: 15px;
		line-height: 1.5;
	}

	footer .elementor-form .elementor-field {
		font-size: 16px;
	}

	/* Global footer: spread labelled social links evenly across the full width. */
	footer .elementor-column:has(.elementor-icon-list--layout-inline) {
		text-align: left;
	}

	footer .elementor-column:has(.elementor-icon-list--layout-inline) :is(h2, h3, h4, h5, h6).elementor-heading-title {
		text-align: left !important;
	}

	footer .elementor-column:has(.elementor-icon-list--layout-inline) .elementor-widget-divider > .elementor-widget-container {
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	footer .elementor-column:has(.elementor-icon-list--layout-inline) .elementor-divider-separator {
		margin-right: auto !important;
		margin-left: 0 !important;
	}

	footer .elementor-icon-list--layout-inline .elementor-icon-list-items.elementor-inline-items {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px 20px;
		justify-items: start !important;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
	}

	footer .elementor-icon-list--layout-inline .elementor-icon-list-item.elementor-inline-item {
		display: flex !important;
		justify-content: flex-start !important;
		width: 100%;
		margin: 0 !important;
		text-align: left !important;
	}

	footer .elementor-icon-list--layout-inline .elementor-icon-list-item > a {
		display: flex !important;
		align-items: center;
		justify-content: flex-start !important;
		gap: 10px;
		width: 100%;
		height: auto;
		min-height: 44px;
		margin: 0 !important;
		padding: 4px 0;
		border: 0;
		border-radius: 0;
		background: transparent;
	}

	footer .elementor-icon-list--layout-inline .elementor-icon-list-icon {
		flex: 0 0 28px;
		justify-content: center;
		padding-right: 0;
		font-size: 24px;
	}

	footer .elementor-icon-list--layout-inline .elementor-icon-list-text {
		display: inline;
		min-width: 0;
		font-size: 15px;
		line-height: 1.3;
	}

	/* Large content-block headings across existing pages and posts. */
	.elementor-21 .elementor-element.elementor-element-11b5230 .elementor-heading-title,
	.elementor-21 .elementor-element.elementor-element-3b7c258 .elementor-heading-title,
	.elementor-21 .elementor-element.elementor-element-9c0d1a4 .elementor-heading-title,
	.elementor-21 .elementor-element.elementor-element-21b7f333 .elementor-heading-title,
	.elementor-169 .elementor-element.elementor-element-a529919 .elementor-heading-title,
	.elementor-289 .elementor-element.elementor-element-a939d63 .elementor-heading-title,
	.elementor-289 .elementor-element.elementor-element-7ab32fe .elementor-heading-title,
	.elementor-672 .elementor-element.elementor-element-660f0f7 .elementor-heading-title,
	.elementor-672 .elementor-element.elementor-element-0ba42e3 .elementor-heading-title,
	.elementor-674 .elementor-element.elementor-element-9804ada .elementor-heading-title,
	.elementor-674 .elementor-element.elementor-element-f3eebd4 .elementor-heading-title,
	.elementor-674 .elementor-element.elementor-element-8d4dcb1 .elementor-heading-title,
	.elementor-754 .elementor-element.elementor-element-8e9bb6c .elementor-heading-title,
	.elementor-866 .elementor-element.elementor-element-2aeeba27 .elementor-heading-title,
	.elementor-899 .elementor-element.elementor-element-1033cbd .elementor-heading-title,
	.elementor-21 .elementor-element.elementor-element-0d4961c .elementor-headline {
		font-size: clamp(28px, 8vw, 34px);
		line-height: 1.15;
		letter-spacing: -0.02em;
	}

	/* Home: make the "50 years" heading about 20% smaller on phones. */
	.elementor-21 .elementor-element.elementor-element-11b5230 .elementor-heading-title {
		font-size: clamp(24px, 6.4vw, 28px) !important;
	}

	/* Services page: lead and stacked content sections. */
	.elementor-674 {
		overflow-x: clip;
	}

	.elementor-674 .elementor-element.elementor-element-970e9aa .swiper-slide {
		height: 460px !important;
	}

	.elementor-674 .elementor-element.elementor-element-970e9aa .swiper-slide-inner {
		padding: 122px 20px 38px !important;
	}

	.elementor-674 .elementor-element.elementor-element-970e9aa .swiper-slide-contents {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-674 .elementor-element.elementor-element-970e9aa .elementor-slide-heading {
		margin-bottom: 18px !important;
		font-size: clamp(36px, 10vw, 42px) !important;
		line-height: 1.05 !important;
	}

	.elementor-674 .elementor-element.elementor-element-970e9aa .elementor-slide-description {
		max-width: 320px !important;
		font-size: clamp(26px, 7.5vw, 30px) !important;
		line-height: 1.35 !important;
	}

	.elementor-674 .elementor-element.elementor-element-12876f8 {
		--spacer-size: 20px !important;
	}

	.elementor-674 :is(
		.elementor-element-0afd5e2,
		.elementor-element-c890343,
		.elementor-element-9b64873
	) > .elementor-container > .elementor-column {
		width: 100%;
	}

	/* Services: keep every mobile service row in image-then-text order. */
	.elementor-674 .elementor-element.elementor-element-c890343 .elementor-element.elementor-element-e122e9f {
		order: 1;
	}

	.elementor-674 .elementor-element.elementor-element-c890343 .elementor-element.elementor-element-65b3c1b {
		order: 2;
	}

	.elementor-674 :is(
		.elementor-element-2f055f1,
		.elementor-element-336cf1f,
		.elementor-element-9e2c6c5
	) {
		display: none;
	}

	.elementor-674 :is(
		.elementor-element-a3b7a3e,
		.elementor-element-65b3c1b,
		.elementor-element-54eb017
	) > .elementor-element-populated {
		padding: 28px 20px 32px;
	}

	.elementor-674 :is(
		.elementor-element-9804ada,
		.elementor-element-f3eebd4,
		.elementor-element-8d4dcb1,
		.elementor-element-62a806e,
		.elementor-element-bea1bb9,
		.elementor-element-18318a5
	) {
		text-align: left !important;
	}

	.elementor-674 :is(
		.elementor-element-9804ada,
		.elementor-element-f3eebd4,
		.elementor-element-8d4dcb1,
		.elementor-element-62a806e,
		.elementor-element-bea1bb9,
		.elementor-element-18318a5
	) > .elementor-widget-container {
		margin: 0 !important;
		padding: 0 !important;
	}

	.elementor-674 :is(
		.elementor-element-9804ada,
		.elementor-element-f3eebd4,
		.elementor-element-8d4dcb1
	) .elementor-heading-title {
		font-size: clamp(28px, 8vw, 32px) !important;
		line-height: 1.1;
	}

	.elementor-674 :is(
		.elementor-element-62a806e,
		.elementor-element-bea1bb9,
		.elementor-element-18318a5
	) {
		margin-top: 12px;
		font-size: 16px;
		line-height: 1.6;
	}

	.elementor-674 :is(
		.elementor-element-0610cce,
		.elementor-element-3baa425,
		.elementor-element-bcd5651
	) .elementor-widget-container {
		line-height: 0;
	}

	.elementor-674 :is(
		.elementor-element-0610cce,
		.elementor-element-3baa425,
		.elementor-element-bcd5651
	) img {
		display: block;
		width: 100%;
	}

	.elementor-674 .elementor-element.elementor-element-547d340 {
		--spacer-size: 20px !important;
	}

	/* Contact page: compact lead, information block and map. */
	.elementor-866 {
		overflow-x: clip;
	}

	.elementor-866 .elementor-element.elementor-element-eba41d1 .swiper-slide {
		height: 400px !important;
	}

	.elementor-866 .elementor-element.elementor-element-eba41d1 .swiper-slide-bg {
		background-position: 58% center !important;
	}

	.elementor-866 :is(
		.elementor-element-ec35604,
		.elementor-element-16e6a7f
	) {
		--spacer-size: 22px !important;
	}

	.elementor-866 .elementor-element.elementor-element-12a924f6 {
		padding: 34px 16px 40px !important;
	}

	.elementor-866 .elementor-element.elementor-element-42c157bf > .elementor-element-populated {
		padding: 0 !important;
	}

	.elementor-866 .elementor-element.elementor-element-569d7095 > .elementor-element-populated {
		margin: 30px 0 0 !important;
		padding: 0 !important;
	}

	.elementor-866 .elementor-element.elementor-element-2aeeba27 {
		margin-bottom: 24px;
	}

	.elementor-866 .elementor-element.elementor-element-2aeeba27 .elementor-heading-title {
		font-size: clamp(29px, 8.5vw, 34px) !important;
		line-height: 1.1;
	}

	.elementor-866 :is(
		.elementor-element-7d48c907,
		.elementor-element-7ff63300
	) {
		padding: 0 !important;
	}

	.elementor-866 .elementor-element.elementor-element-7ff63300 {
		margin-top: 4px;
	}

	.elementor-866 :is(
		.elementor-element-28c6b17c,
		.elementor-element-332cc6b9,
		.elementor-element-73a5c5c8,
		.elementor-element-a8f9b43
	) > .elementor-element-populated {
		margin: 0 !important;
		padding: 0 0 24px !important;
	}

	.elementor-866 :is(
		.elementor-element-10ccb50e,
		.elementor-element-3551a8f7,
		.elementor-element-387afb56,
		.elementor-element-64732e17
	) {
		margin-bottom: 8px;
	}

	.elementor-866 :is(
		.elementor-element-10ccb50e,
		.elementor-element-3551a8f7,
		.elementor-element-387afb56,
		.elementor-element-64732e17
	) .elementor-heading-title {
		font-size: 17px;
		line-height: 1.3;
	}

	.elementor-866 :is(
		.elementor-element-4ea2b0f3,
		.elementor-element-2ff15c17,
		.elementor-element-8dc1771
	) {
		font-size: 15px;
		line-height: 1.55;
	}

	.elementor-866 :is(
		.elementor-element-4ea2b0f3,
		.elementor-element-2ff15c17,
		.elementor-element-8dc1771
	) p {
		margin: 0;
	}

	.elementor-866 .elementor-element.elementor-element-694a0d74 {
		--icon-size: 18px;
	}

	.elementor-866 .elementor-element.elementor-element-5ec9b271 iframe {
		height: 370px;
	}

	/* Support page: compact image, title and FAQ spacing. */
	.elementor-899 {
		overflow-x: clip;
	}

	.elementor-899 .elementor-element.elementor-element-08d7010 .swiper-slide {
		height: 410px !important;
	}

	.elementor-899 .elementor-element.elementor-element-08d7010 .swiper-slide-bg {
		background-position: 44% center !important;
	}

	.elementor-899 .elementor-element.elementor-element-8deac62 {
		--spacer-size: 22px !important;
	}

	.elementor-899 .elementor-element.elementor-element-0c3d0c8 {
		--spacer-size: 10px !important;
	}

	.elementor-899 .elementor-element.elementor-element-6b51fe1 {
		--spacer-size: 24px !important;
	}

	.elementor-899 :is(
		.elementor-element-9e83d4a,
		.elementor-element-927f141
	) {
		padding-right: 12px;
		padding-left: 12px;
	}

	.elementor-899 .elementor-element.elementor-element-1033cbd .elementor-heading-title {
		font-size: clamp(29px, 8.5vw, 34px) !important;
		line-height: 1.12;
	}

	.elementor-899 .elementor-element.elementor-element-4340c0e .elementor-tab-title {
		display: flex;
		align-items: flex-start;
		min-height: 52px;
		padding: 14px 10px;
	}

	.elementor-899 .elementor-element.elementor-element-4340c0e .elementor-toggle-title {
		font-size: 18px !important;
		line-height: 1.22;
	}

	.elementor-899 .elementor-element.elementor-element-4340c0e .elementor-toggle-icon {
		margin-top: 3px;
	}

	.elementor-899 .elementor-element.elementor-element-4340c0e .elementor-tab-content {
		padding: 12px 10px 18px;
		font-size: 15px;
		line-height: 1.6;
	}

	/* Careers page: compact lead and call-to-action content. */
	.elementor-901 {
		overflow-x: clip;
	}

	.elementor-901 .elementor-element.elementor-element-c000e44 .swiper-slide {
		height: 440px !important;
	}

	.elementor-901 .elementor-element.elementor-element-c000e44 .swiper-slide-inner {
		padding: 116px 22px 36px !important;
	}

	.elementor-901 .elementor-element.elementor-element-c000e44 .swiper-slide-contents {
		width: 100% !important;
		max-width: 92% !important;
	}

	.elementor-901 .elementor-element.elementor-element-c000e44 .elementor-slide-heading {
		margin-bottom: 18px !important;
		font-size: clamp(36px, 10vw, 42px) !important;
		line-height: 1.05 !important;
	}

	.elementor-901 .elementor-element.elementor-element-c000e44 .elementor-slide-description {
		font-size: clamp(28px, 8vw, 32px) !important;
		line-height: 1.35 !important;
	}

	.elementor-901 .elementor-element.elementor-element-4409bc6 {
		--spacer-size: 20px !important;
	}

	.elementor-901 .elementor-element.elementor-element-a1403a0 {
		--spacer-size: 16px !important;
	}

	.elementor-901 .elementor-element.elementor-element-5d6ba40 {
		--spacer-size: 20px !important;
	}

	.elementor-901 .elementor-element.elementor-element-25ac52a {
		--spacer-size: 22px !important;
	}

	.elementor-901 :is(
		.elementor-element-dc77a46,
		.elementor-element-9b93793,
		.elementor-element-3f517b8
	) {
		padding-right: 20px;
		padding-left: 20px;
	}

	.elementor-901 .elementor-element.elementor-element-09fee31 .elementor-heading-title {
		font-size: clamp(28px, 8vw, 34px);
		font-weight: 600 !important;
		line-height: 1.15;
	}

	.elementor-901 .elementor-element.elementor-element-b37d4de {
		max-width: 680px;
		margin: 0 auto;
		font-size: 16px;
		line-height: 1.55;
	}

	.elementor-901 .elementor-element.elementor-element-b37d4de .elementor-widget-container > div:last-child {
		display: none;
	}

	.elementor-901 .elementor-element.elementor-element-650c3f0 .elementor-button {
		min-width: 240px;
		padding: 16px 26px;
		font-size: 16px;
		font-weight: 600 !important;
		line-height: 1.3;
	}

	.elementor-901 .elementor-element.elementor-element-650c3f0 .elementor-button-text {
		font-weight: 600 !important;
	}
}
