/*
* Theme Name: EuroBridgeHub2026
* Text Domain: EuroBridgeHub
*/

:root {

	/* @link https://utopia.fyi/space/calculator?c=320,16,1.2,1920,24,1.25,5,2,1400&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

	--step--2: clamp(0.6944rem, 0.6413rem + 0.2656vw, 0.96rem);
	--step--1: clamp(0.8333rem, 0.76rem + 0.3667vw, 1.2rem);
	--step-0: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
	--step-1: clamp(1.2rem, 1.065rem + 0.675vw, 1.875rem);
	--step-2: clamp(1.44rem, 1.2593rem + 0.9038vw, 2.3438rem);
	--step-3: clamp(1.728rem, 1.4877rem + 1.2017vw, 2.9297rem);
	--step-4: clamp(2.0736rem, 1.7559rem + 1.5885vw, 3.6621rem);
	--step-5: clamp(2.4883rem, 2.0705rem + 2.0893vw, 4.5776rem);
	--step-6: clamp(2.986rem, 2.4388rem + 2.7361vw, 5.722rem);
	--step-7: clamp(3.5832rem, 2.8693rem + 3.5694vw, 7.1526rem);
	--step-8: clamp(4.2998rem, 3.3716rem + 4.6409vw, 8.9407rem);

	--space-3xs: clamp(0.25rem, 0.225rem + 0.125vw, 0.375rem);
	--space-2xs: clamp(0.5rem, 0.45rem + 0.25vw, 0.75rem);
	--space-xs: clamp(0.75rem, 0.675rem + 0.375vw, 1.125rem);
	--space-s: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
	--space-m: clamp(1.5rem, 1.35rem + 0.75vw, 2.25rem);
	--space-l: clamp(2rem, 1.8rem + 1vw, 3rem);
	--space-xl: clamp(3rem, 2.7rem + 1.5vw, 4.5rem);
	--space-2xl: clamp(4rem, 3.6rem + 2vw, 6rem);
	--space-3xl: clamp(6rem, 5.4rem + 3vw, 9rem);
	
	--space-3xs-2xs: clamp(0.25rem, 0.15rem + 0.5vw, 0.75rem);
	--space-2xs-xs: clamp(0.5rem, 0.375rem + 0.625vw, 1.125rem);
	--space-xs-s: clamp(0.75rem, 0.6rem + 0.75vw, 1.5rem);
	--space-s-m: clamp(1rem, 0.75rem + 1.25vw, 2.25rem);
	--space-m-l: clamp(1.5rem, 1.2rem + 1.5vw, 3rem);
	--space-l-xl: clamp(2rem, 1.5rem + 2.5vw, 4.5rem);
	--space-xl-2xl: clamp(3rem, 2.4rem + 3vw, 6rem);
	--space-2xl-3xl: clamp(4rem, 3rem + 5vw, 9rem);

	--space-s-l: clamp(1rem, 0.6rem + 2vw, 3rem);
	--space-l-2xl: clamp(2rem, 1.2rem + 4vw, 6rem);
	--space-xl-3xl: clamp(3rem, 1.8rem + 6vw, 9rem);
	
	--space-px-3xs: clamp(4px, 3.6px + 0.125vw, 6px);
	--space-px-2xs: clamp(8px, 7.2px + 0.25vw, 12px);
	--space-px-xs: clamp(12px, 10.8px + 0.375vw, 18px);
	--space-px-s: clamp(16px, 14.4px + 0.5vw, 24px);
	--space-px-m: clamp(24px, 21.6px + 0.75vw, 36px);
	--space-px-l: clamp(32px, 28.8px + 1vw, 48px);
	--space-px-xl: clamp(48px, 43.2px + 1.5vw, 72px);
	--space-px-2xl: clamp(64px, 57.6px + 2vw, 96px);
	--space-px-3xl: clamp(96px, 86.4px + 3vw, 144px);
	
	--space-px-3xs-2xs: clamp(4px, 2.4px + 0.5vw, 12px);
	--space-px-2xs-xs: clamp(8px, 6px + 0.625vw, 18px);
	--space-px-xs-s: clamp(12px, 9.6px + 0.75vw, 24px);
	--space-px-s-m: clamp(16px, 12px + 1.25vw, 36px);
	--space-px-m-l: clamp(24px, 19.2px + 1.5vw, 48px);
	--space-px-l-xl: clamp(32px, 24px + 2.5vw, 72px);
	--space-px-xl-2xl: clamp(48px, 38.4px + 3vw, 96px);
	--space-px-2xl-3xl: clamp(64px, 48px + 5vw, 144px);

	--space-px-l-2xl: clamp(32px, 19.2px + 4vw, 96px);

	--padding-0-md: clamp(0px, -112px + 14.5833vw, 168px); /* 768 <-> 1920 */
	--padding-0-lg: clamp(0px, -192px + 25vw, 288px); /* 768 <-> 1920 */

	--main_margin: var(--space-px-l-xl);
	--main_margin_md: calc(var(--main_margin) + var(--padding-0-lg));
	--main_margin_lg: calc(var(--main_margin) + var(--padding-0-lg) + var(--padding-0-md));
	
	--main_radius: var(--space-px-m-l);

	--color_dark_navy: #363c42;
	--color_sky_blue: #b8cade;
	--color_sky_blue_light: #dde7f3;
	--color_ivory: #edf1f6;

	--section_bg: var(--color_sky_blue);
	--section_bg_back: #fff;
	--section_color: var(--color_dark_navy);
	--section_padding_inline: var(--main_margin_md);
	--section_padding_block: var(--space-2xl-3xl);
	
	--button_width: calc(var(--space-xl) * 5);
	--button_height: var(--space-xl);
	--button_margin_inline: auto;
	--button_margin_block: 0;
	--button_color: var(--color_sky_blue);
	--button_active_color: var(--color_dark_navy);
	--button_border_color: var(--color_sky_blue);
	--button_active_border_color: #fff;
	--button_bg_color: transparent;
	--button_active_bg_color: #fff;
	--button_font_size_mobile: var(--step-1);
	
	--arrow_inset: auto var(--main_margin) var(--main_margin) auto;
	--arrow_width: var(--space-xl);
}

body {font-family: "Source Sans 3", sans-serif, system-ui; -webkit-font-smoothing: antialiased; color: var(--color_dark_navy); background-color: #202427; background-image: linear-gradient(to bottom, #202427, #202427 100px, #fff 100px, #fff 100%);}


	/* global utility classes */
	

.content-wrapper {width: 100%; max-width: 1920px; margin-inline: auto;}


.section-vars {
	background-color: var(--section_bg_back);
}
.section-vars > div {
	padding-inline: var(--section_padding_inline);
	padding-block: var(--section_padding_block);
	border-radius: 0 0 var(--main_radius) var(--main_radius);
	color: var(--section_color);
	background-color: var(--section_bg);
}


.button-link {
	display: flex; align-items: center; justify-content: center;
	width: fit-content; min-width: var(--button_width); min-height: var(--button_height);
	margin-inline: var(--button_margin_inline);
	margin-block: var(--button_margin_block);
	padding: var(--space-2xs) var(--space-m);
	font-size: var(--step-0); line-height: 1; font-weight: 700; text-transform: uppercase; text-decoration: none;
  	text-align: center; vertical-align: middle;
	cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none;
	border: 1px solid var(--button_border_color); border-radius: var(--button_height);
	background-color: var(--button_bg_color); color: var(--button_color);
	transition: border-color 0.6s, color 0.2s, background-color 0.6s;
}
.button-link:is(:hover, :active, :focus) {
	border-color: var(--button_active_border_color);
	background-color: var(--button_active_bg_color);
	color: var(--button_active_color);
}
.button-link svg {
	fill: var(--button_color); transition: fill 0.4s;
}
.button-link:is(:hover, :active, :focus) svg {fill: var(--button_active_color);}

@media (max-width: 439.98px) {
	.button-link {width: 100%; font-size: var(--button_font_size_mobile);}
}


.figure > div {width: 100%; height: clamp(15.375rem, 5.375rem + 20.8333vw, 30.375rem) /* 768 <-> 1920 */; overflow: hidden; border-radius: var(--main_radius);}
.figure img {width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 3s ease-out;}
.figure:hover img {transform: scale(1.05) translateY(2%);}
.figure figcaption {max-width: 45ch; margin: var(--space-s-l) 0 var(--space-m-l) var(--space-l-xl); font-size: var(--step--1); line-height: 1.2; font-style: italic; font-weight: 400; text-wrap: balance; text-wrap: pretty;}
@media (max-width: 767.98px) {
	.figure > div {height: 56.25vw;}
	.figure figcaption {margin: var(--space-s-l) var(--main_margin) 0 var(--main_margin); font-size: var(--step-0);}
}


.arrow {position: absolute; z-index: 10; inset: var(--arrow_inset); display: grid; place-items: center; width: var(--arrow_width); height: var(--arrow_width); border-radius: 50%; color: var(--color_sky_blue); background-color: #2d353e; transition: color 0.2s, background-color 0.2s;}
.arrow-up {transform: rotate(180deg);}
.arrow:is(:hover, :active, :focus) {color: var(--color_dark_navy); background-color: #fff;}
.arrow svg {width: calc(var(--space-s) * 1.125); height: calc(var(--space-s) * 1.125); transition: transform 0.2s}
.arrow-down svg {transform: translateY(5%) translateZ(0);}
.arrow-up svg {transform: translateY(5%) translateZ(0);}
.arrow:is(:hover, :active, :focus) svg {transform: translateY(15%) translateZ(0);}


.ideogram {text-align: center;}
.ideogram img {width: var(--space-px-xl); height: auto;}



	/* back home */

.back-home {
	height: calc(var(--space-l) * 1.125);
	padding-inline: var(--space-l);
	font-size: var(--step--1);
	line-height: 1;
	font-weight: 500;
	text-transform: uppercase;
	background-color: #2d353e;
}
.back-home a {gap: var(--space-2xs); text-decoration: none; color: var(--color_sky_blue); transition: color 0.2s;}
.back-home a:is(:hover, :active, :focus) {color: #fff;}
.back-home svg {width: var(--space-s); height: var(--space-s); transform: translateX(0) translateZ(0); transition: transform 0.2s;}
.back-home a:is(:hover, :active, :focus) svg {transform: translateX(-20%) translateZ(0);}
@media (max-width: 767.98px) {
	.back-home {height: calc(var(--space-l) * 1.25); padding-inline: var(--main_margin);}
}



	/* hero */

.hero {
	--section_bg_back: var(--color_sky_blue_light);
	--section_padding_block: var(--space-l-2xl) calc(var(--space-l-2xl) * 2);
	--arrow_inset: auto var(--space-xl-3xl) calc(var(--space-l-2xl) * 2) auto;
}
.hero-subpage {
	--section_bg_back: var(--color_ivory);
	--section_padding_block: var(--space-l-2xl) var(--space-l-2xl);
}
.hero > div {position: relative; background: url('img/backgrounds/hero-bg.webp') top center / cover no-repeat;}
@media (max-width: 767.98px) {
	.hero {--arrow_inset: auto var(--main_margin) calc(var(--arrow_width) * -0.5) auto;}
}
@media (max-width: 575.98px) {
	.hero > div {height: 172vw; background-image: url('img/backgrounds/hero-bg-mobile.webp');}
	.hero-subpage > div {height: auto;/*  background-position: -100vw 32%; background-size: 200vw; */}
}


.hero h1 {display: inline-block; margin-bottom: var(--space-l-2xl); font-size: var(--step-7); line-height: 1.2; text-align: center; font-weight: 300; font-style: italic; color: #fff;}
.hero h1 span {display: inline-block; width: 100%; margin-bottom: 0.25em; line-height: 1; font-weight: 900; font-style: normal; text-transform: uppercase;}
@media (max-width: 1199.98px) {
	.hero h1 {width: 75%; margin-inline: auto; font-size: var(--step-5);}
}
@media (max-width: 767.98px) {
	.hero h1 {width: 100%;}
}
@media (max-width: 439.98px) {
	.hero h1 {font-size: var(--step-4);}
	.hero h1 span {margin-bottom: 0.5em;}
}


.hero-logos {
	--logo_width: clamp(75px, 50px + 7.8125vw, 200px);
	margin-bottom: calc(var(--space-2xl-3xl) * 0.8);
}
.hero-subpage .hero-logos {margin-bottom: 0;}

.hero .bridge-logo {color: var(--color_sky_blue);}
.hero .bridge-logo svg {width: var(--logo_width);}
.hero .bridge-logo a {color: var(--color_sky_blue); transition: color 0.3s;}
.hero .bridge-logo a:is(:hover, :active, :focus) {color: #fff;}


.hero .group-logo {
	--group_logo_width: calc(var(--logo_width) * 2);
	display: grid;
	grid-template-columns: 49.84625% 1fr 0.348% 1fr 40.4005%;
	grid-template-areas: "recomedic . separator . silesius" "text text text text text";
	column-gap: 0;
	row-gap: calc(var(--group_logo_width) * 0.0375);
	width: var(--group_logo_width);
}
.hero .group-logo > div {font-size: 0.5rem; line-height: 1;}
.hero .group-logo svg {fill: var(--color_sky_blue); transition: fill 0.3s;}
.hero .group-logo a:is(:hover, :active, :focus) svg {fill: #fff; outline: none;}
.hero .group-logo-rcm {grid-area: recomedic; margin-top: auto;}
.hero .group-logo-sil {grid-area: silesius;}
.hero .group-logo-separator {grid-area: separator; height: calc(100% + var(--group_logo_width) * 0.005); background-color: var(--color_sky_blue);}
.hero .group-logo-text {grid-area: text; width: 61.83975%; margin-inline: auto; transform: translateX(calc(var(--group_logo_width) * 0.008));}

@media (max-width: 575.98px) {
	.hero .group-logo {
		--group_logo_width: calc(var(--logo_width) * 1.266667);
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		grid-template-areas: "recomedic" "silesius" "text";
		row-gap: 0;
	}
	.hero .group-logo-rcm {margin-bottom: calc(var(--group_logo_width) * 0.07);}
	.hero .group-logo-sil {width: 71%; margin-bottom: calc(var(--group_logo_width) * 0.115);}
	.hero .group-logo-text {width: 48%; margin: 0; transform: none;}
}


	/* intro */
	
.intro {
	--section_bg: var(--color_sky_blue_light);
	--section_bg_back: var(--color_ivory);
	--section_padding_inline: var(--main_margin_lg);
	--section_padding_block: calc(var(--space-l-2xl) * 2) var(--space-2xl-3xl);
}

.intro .intro-content {margin-bottom: var(--space-xl-3xl);}
.intro .intro-content > :last-child {margin-bottom: 0;}

.intro p {margin-bottom: 0.8em; font-size: var(--step-1); line-height: 1.65; font-weight: 500; text-align: justify; color: #363c42;}
.intro p strong {font-weight: 900;}

@media (max-width: 767.98px) {
	.intro p {text-align: left;}
}


	/* assessment */
	
.assessment {
	--section_bg: var(--color_ivory);
	--section_bg_back: transparent;
	--section_padding_inline: var(--main_margin_md);
	--button_margin_inline: auto 0;
	--button_margin_block: 0 0.5em;
	--button_color: var(--color_dark_navy);
	--button_active_color: #fff;
	--button_border_color: var(--color_dark_navy);
	--button_active_bg_color: var(--color_dark_navy);
	--button_font_size_mobile: var(--step-0);
	position: relative; z-index: 2;
}

.assessment p {margin-bottom: 0; font-size: var(--step-2); line-height: 1.2; text-wrap: balance; text-wrap: pretty;}

@media (min-width: 768px) {
	.assessment > div > div {width: 50%;}
}
@media (max-width: 767.98px) {
	.assessment {--button_margin_inline: 0;}
	.assessment > div {gap: var(--space-l-xl);}
}


	/* about */
	
.about {
	--section_bg: #fff;
	--section_bg_back: var(--color_sky_blue_light);
	--section_padding_inline: 0;
	--section_padding_block: calc(var(--space-2xl-3xl) + var(--main_radius) * 1.25) var(--space-2xl-3xl);
	margin-top: calc(var(--main_radius) * -1.25);
}
.about > div {
	background-image: 
		radial-gradient(clamp(416px, 54.17vw, 1040px) circle at calc(100% - min(41.67vw, 800px)) min(64.58vw, 1240px), rgba(167, 187, 209, 0.6) 0%, transparent 100%),
		radial-gradient(clamp(416px, 54.17vw, 1040px) circle at min(5.21vw, 100px) calc(100% - min(44.79vw, 860px)), rgba(167, 187, 209, 0.6) 0%, transparent 100%),
		radial-gradient(clamp(416px, 54.17vw, 1040px) circle at calc(100% - min(10.42vw, 200px)) calc(100% + min(7.81vw, 150px)), rgba(167, 187, 209, 0.6) 0%, transparent 100%);
	background-repeat: no-repeat;
}
@media (max-width: 767.98px) {
 	.about > div {
 		background-image: 
			radial-gradient(clamp(350px, 109.375vw, 500px) circle at clamp(20px, 6.25vw, 48px) clamp(320px, 11.83vw + 282px, 373px), rgba(167, 187, 209, 0.6) 0%, transparent 100%),
			radial-gradient(clamp(350px, 109.375vw, 500px) circle at calc(100% - clamp(20px, 6.25vw, 48px)) clamp(1505px, 1740px - 52.45vw, 1740px), rgba(167, 187, 209, 0.6) 0%, transparent 100%),
			radial-gradient(clamp(350px, 109.375vw, 500px) circle at clamp(80px, 25vw, 192px) calc(100% - clamp(320px, 370px - 11.16vw, 370px)), rgba(167, 187, 209, 0.6) 0%, transparent 100%);
 	}

 }

.about h2 {margin-bottom: var(--space-l-xl); padding-inline: var(--main_margin_lg); font-size: var(--step-3); font-weight: 900; text-wrap: balance; text-wrap: pretty;}

.about h3 {display: inline-block; margin-bottom: var(--space-2xl-3xl); padding-inline: var(--main_margin_md) var(--main_margin); font-size: var(--step-6); line-height: 1; font-weight: 400; font-style: italic; color: var(--color_dark_navy);}
.about h3 span {display: inline-block; width: 100%; font-weight: 700; font-style: normal;}

.about h4 {margin-bottom: var(--space-l-xl); font-size: var(--step-3); font-weight: 900; text-wrap: balance; text-wrap: pretty;}
.about h4 span {display: inline-block; width: 100%; margin-top: 0.125em; font-size: var(--step-8); line-height: 0.5;}
@media (max-width: 767.98px) {
	.about h3 {font-size: var(--step-5);}
	.about h4 span {margin-top: 0;}
}

.about-desc {margin-bottom: var(--space-2xl-3xl); padding-inline: var(--main_margin_lg); font-size: var(--step-1);}
.about-desc > :last-child {margin-bottom: 0;}

.about-desc p {margin-bottom: 1em; line-height: 1.6; text-align: justify;}
.about-desc strong {font-weight: 700;}
@media (max-width: 767.98px) {
	.about-desc p {text-align: left;}
}

.about-grid {
	display: grid;
	grid-template-columns: var(--main_margin_md) 1fr var(--space-px-l-2xl) var(--space-px-l-2xl) 1fr var(--main_margin_md);
	grid-template-rows: repeat(3, auto);
	grid-template-areas: "image-1 image-1 . text-1 text-1 ." ". text-2 text-2 . image-2 image-2" ". . . text-3 text-3 .";
	row-gap: var(--space-2xl-3xl);
}
.about-grid-text-1 {grid-area: text-1;}
.about-grid-text-2 {grid-area: text-2;}
.about-grid-text-3 {grid-area: text-3;}
.about-grid-image-1 {grid-area: image-1;}
.about-grid-image-2 {grid-area: image-2;}

@media (max-width: 767.98px) {
	.about-grid {
		grid-template-columns: var(--main_margin) 1fr var(--main_margin);
		grid-template-areas: "image-1 image-1 image-1" ". text-1 ." ". text-2 ." "image-2 image-2 image-2" ". text-3 .";
		row-gap: 0;
	}
	.about-grid-text-1, .about-grid-image-2 {margin-bottom: var(--space-2xl);}
	.about-grid-image-1, .about-grid-text-2 {margin-bottom: var(--space-m);}
}

.about-grid p {margin-bottom: 0; font-size: var(--step-1); line-height: 1.6;}


	/* build */

.build {
	--section_bg: var(--color_sky_blue_light);
	--section_bg_back: var(--color_dark_navy);
	--button_color: var(--color_dark_navy);
	--button_active_color: #fff;
	--button_border_color: var(--color_dark_navy);
	--button_active_bg_color: var(--color_dark_navy);
	text-align: center;
}

.build .ideogram {margin-bottom: var(--space-xl-2xl);}

.build-content {margin-bottom: var(--space-xl-2xl);}
.build-content > :last-child {margin-bottom: 0;}
.build-content p {margin-bottom: 1em; font-size: var(--step-4); line-height: 1.2; font-style: italic; text-wrap: balance; text-wrap: pretty;}


	/* shift */

.shift {
	--section_bg: var(--color_dark_navy);
	--section_bg_back: #3f464d;
	--section_padding_inline: var(--main_margin_lg);
	--section_color: var(--color_sky_blue);
}

.shift h2 {margin-bottom: var(--space-2xl-3xl); font-size: var(--step-7); line-height: 1; text-align: center; font-weight: 300; color: var(--color_sky_blue);}
.shift h2 span {display: inline-block; width: 100%; font-weight: 900; color: #fff;}

.shift-content {margin-bottom: var(--space-xl-2xl);}
.shift-content > :last-child {margin-bottom: 0;}
.shift-content p {margin-bottom: 1em; font-size: var(--step-1); line-height: 1.6; text-align: justify;}
.shift-content p strong {font-weight: 700;}

.shift .figure figcaption {margin-bottom: 0;}

@media (max-width: 767.98px) {
	.shift h2 {margin-bottom: var(--space-xl); font-size: var(--step-6);}
	.shift-content p {text-align: left;}
	.shift .figure {margin-inline: calc(var(--main_margin) * -1);}
}


	/* contact */

.contact {
	--section_bg: #3f464d;
	--section_bg_back: #202427;
	--section_padding_inline: var(--main_margin_md);
	--section_color: #fff;
	--button_margin_inline: 0;
	--arrow_inset: calc(var(--arrow_width) * -0.5) var(--space-xl-3xl) auto auto;
	scroll-margin-top: calc(var(--arrow_width) * 1);
}
.contact > div {position: relative; background: var(--section_bg) url('img/backgrounds/contact-bg.webp') center bottom / clamp(1280px, 853.3333px + 55.5556vw, 1920px) no-repeat;}
@media (max-width: 767.98px) {
	.contact {--arrow_inset: calc(var(--arrow_width) * -0.5) var(--main_margin) auto auto;}
	.contact > div {background-position: 37% bottom; background-size: 1600px;}
}

.contact-grid {display: grid; grid-template-columns: 50% 50%;}
.contact-grid-1 {margin-bottom: var(--space-2xl-3xl);}
.contact-grid-2 {
	--button_margin_inline: auto 0;
	--button_color: #fff;
	--button_border_color: #fff;
	--button_font_size_mobile: var(--step-0);
	margin-bottom: var(--space-2xl-3xl);
}
.contact-grid-3 {align-items: center;}
@media (min-width: 1440px) {
	.contact-grid > div {padding-right: var(--space-px-l-xl);}
}
@media (max-width: 1439.98px) {
	.contact-grid {grid-template-columns: 1fr 1fr; gap: var(--space-px-l-xl);}
}
@media (max-width: 767.98px) {
	.contact-grid {grid-template-columns: 1fr; row-gap: var(--space-2xl-3xl);}
	.contact-grid-2 {--button_margin_inline: 0; row-gap: var(--space-m-l)}
	.contact-grid-3 {--button_margin_inline: auto;}
}


.contact .contact-header {gap: var(--space-px-l-xl); margin-bottom: var(--space-2xl);}
.contact .contact-desc {max-width: 60ch; margin-bottom: var(--space-l); font-size: var(--step-1); text-wrap: balance; text-wrap: pretty;}
.contact .contact-desc > :last-child {margin-bottom: 0;}

.contact h2 {margin-bottom: 0; font-size: var(--step-5); line-height: 1.1; font-weight: 300;}
.contact h3 {margin-bottom: var(--space-l-xl); font-size: var(--step-3); font-weight: 900; color: var(--color_sky_blue);}
.contact p {margin-bottom: 0.6em; font-size: var(--step-1); line-height: 1.25;}
.contact p strong {font-weight: 700;}

.contact-grid-1 p:last-of-type {margin-bottom: var(--space-l-xl);}
.contact-grid-2 p {color: var(--color_sky_blue);}

.contact .iso {width: clamp(9rem, 8.35rem + 3.25vw, 12.25rem); height: auto;}

.contact .rcm-link svg {width: auto; height: clamp(1.0625rem, 0.95rem + 0.5625vw, 1.625rem);}
.contact .sil-link svg {width: auto; height: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);}

.contact figure {margin-bottom: 0; gap: var(--space-px-m);}
.contact figure div {overflow: hidden; border-radius: 50%;}
.contact figure img {width: 216px; transition: transform 3s ease-out;}
.contact figure:hover img {transform: scale(1.05);}
.contact figcaption {font-size: var(--step--1); line-height: 1.2; font-style: italic; font-weight: 400; color: var(--color_sky_blue);}
.contact figcaption strong {font-size: var(--step-0); font-weight: 700;}

@media (max-width: 767.98px) {
	.contact h2 {text-wrap: balance; text-wrap: pretty;}
	.contact h2 br {display: none;}
	.contact figcaption {font-size: var(--step-0); text-align: center;}
}


	/* form */
	
		/* form header */
	
.form-header {
	--section_bg: var(--color_ivory);
	--section_bg_back: #fff;
	--section_padding_block: var(--space-xl-2xl) 0;
	--section_padding_inline: var(--main_margin_lg);
	--section_color: var(--color_dark_navy);
}

.form-header-desc {margin-bottom: var(--space-l-xl);}
.form-header-desc > :last-child {margin-bottom: 0;}

.form-header h1 {margin-bottom: 1.25em; font-size: var(--step-1); line-height: 1.2; font-weight: 900;}
.form-header p {margin-bottom: 1em; font-size: var(--step-1); line-height: 1.6; text-align: justify;}
@media (max-width: 767.98px) {
	.form-header p {text-align: left;}
}

.form-header .nav {gap: var(--space-px-l-2xl); border: none;}
.form-header .nav-item {position: relative;}
.form-header .nav-item:after {content: ''; position: absolute;  background-color: transparent; transition: background-color 0.3s;}
.form-header .nav-item:has(button.active):after {background-color: var(--color_dark_navy);}
@media (min-width: 576px) {
	.form-header .nav-item:after {inset: auto auto 0 0; width: calc(var(--space-2xl) * 2); height: var(--space-2xs);}
}
@media (max-width: 575.98px) {
	.form-header .nav {gap: var(--space-px-s-m); padding-bottom: var(--main_radius);}
	.form-header .nav-item {max-width: 50ch /* calc(50% - var(--space-px-m-l) / 2) */;}
	.form-header .nav-item:after {inset: 0 auto 0 calc(var(--main_margin) * -1); width: var(--space-2xs);}
}

.form-header button {margin-bottom: var(--space-m-l); padding: 0; font-size: var(--step--1); line-height: 1.2; text-transform: uppercase; text-align: left; text-decoration: none; border: 0; color: #a5b5c7; background: none; transition: color 0.3s;}
.form-header button:is(.active, :hover) {color: var(--color_dark_navy);}
.form-header button strong {font-size: var(--step-0); line-height: 1.5;}
@media (max-width: 575.98px) {
	.form-header button {margin-bottom: 0;}
	.form-header button span br {display: none;}
}


		/* form body */

.form-body {
	--section_bg: #fff;
	--section_bg_back: var(--color_ivory);
	--section_padding_block: var(--space-xl-2xl);
	--section_padding_inline: var(--main_margin_lg);
	--section_color: var(--color_dark_navy);
	--button_margin_inline: 0;
	--button_color: var(--color_dark_navy);
	--button_active_color: var(--color_ivory);
	--button_border_color: var(--color_ivory);
	--button_active_border_color: #fff;
	--button_bg_color: var(--color_ivory);
	--button_active_bg_color: var(--color_dark_navy);
}

.form-body-desc {margin-bottom: var(--space-l-xl);}
.form-body-desc > :last-child {margin-bottom: 0;}

.form-body h2 {max-width: 20ch; margin-bottom: 0.6em; font-size: var(--step-3); line-height: 1; font-weight: 900; text-transform: uppercase;}
.form-body p {margin-bottom: 1em; font-size: var(--step-0); line-height: 1.2; font-style: italic;}

.form-body form > *:not(:last-child) {padding-bottom: var(--space-l-xl);}

.form-body .form-hp {display: none !important;}

.form-body legend {margin-bottom: 1.5em; font-size: var(--step-1); font-weight: 900; text-transform: uppercase;}

.form-body .form-checkbox label {--checkbox_size: var(--space-m); position: relative; display: grid; grid-template-columns: var(--checkbox_size) 1fr; column-gap: calc(var(--checkbox_size) * 0.75); align-items: start; width: 100%; margin: 0; cursor: pointer; font-size: var(--step-0); color: var(--color_dark_navy);}
.form-body .form-checkbox label:not(:last-of-type) {margin-bottom: 1em;}
.form-body .form-checkbox input[type=checkbox] {position: absolute; opacity: 0; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;}
.form-body .form-checkbox label:before {content: ''; grid-column: 1; grid-row: 1; display: block; width: var(--checkbox_size); height: var(--checkbox_size); border: calc(var(--checkbox_size) / 18) solid #a5b5c7; border-radius: 0.3125em; background-color: #fff; transition: border-color 0.3s;}
.form-body .form-checkbox label:hover:before,
.form-body .form-checkbox label:has(input[type=checkbox]:checked):before {border-color: var(--color_dark_navy);}
.form-body .form-checkbox label:after {content: ''; display: block; position: absolute; left: calc(var(--checkbox_size) * 0.22); top: calc(var(--checkbox_size) * 0.25); visibility: hidden; width: calc(var(--checkbox_size) * 0.55); height: calc(var(--checkbox_size) * 0.35); transform: rotate(-45deg); border: solid var(--color_dark_navy); border-width: 0 0 calc(var(--checkbox_size) * 0.13) calc(var(--checkbox_size) * 0.13);}
.form-body .form-checkbox label:has(input[type=checkbox]:checked):after {visibility: visible;}
.form-body .form-checkbox label span {position: relative; grid-column: 2; grid-row: 1; padding-inline: 0; /* display: inline-block; */ /* padding-inline: calc(var(--checkbox_size) * 1.75); */}

.form-body .form-checkbox label:has(input[type=checkbox]:focus-visible)::before {outline: 2px solid var(--color_sky_blue); outline-offset: 2px;}


		/* form footer */

.form-footer {
	--section_bg: var(--color_ivory);
	--section_bg_back: #202427;
	--section_padding_block: var(--space-xl-2xl);
	--section_padding_inline: var(--main_margin_lg);
	--section_color: var(--color_dark_navy);
	--button_margin_inline: 0;
	--button_color: var(--color_dark_navy);
	--button_active_color: var(--color_ivory);
	--button_border_color: var(--color_dark_navy);
	--button_active_border_color: var(--color_dark_navy);
	--button_bg_color: transparent;
	--button_active_bg_color: var(--color_dark_navy);
}

.form-footer .js-form-results:not(.js-form-results-reveal) {
	opacity: 0.5;
}

.form-footer-desc {margin-bottom: var(--space-l-xl);}
.form-footer-desc > :last-child {margin-bottom: 0;}

.form-footer .d-flex {column-gap: var(--space-px-l-xl); row-gap: var(--space-m-l);}

.form-footer h2 {margin-bottom: var(--space-l-xl); font-size: var(--step-3); line-height: 1; font-weight: 900; text-transform: uppercase;}
.form-footer p {margin-bottom: 1.25em; font-size: var(--step-1); line-height: 1.2;}


	/* default page */

.default-page {
	--section_bg: var(--color_ivory);
	--section_bg_back: #202427;
	--section_padding_block: var(--space-xl-2xl);
	--section_padding_inline: var(--main_margin_lg);
	--section_color: var(--color_dark_navy);
}

.default-page h1 {margin-bottom: var(--space-m); font-size: var(--step-3); font-weight: 900;}

.default-page-content {font-size: var(--step-0);}

.default-page-content > :last-child {margin-bottom: 0;}

.default-page-content h2 {margin-bottom: var(--space-m); font-size: var(--step-2); font-weight: 700; color: var(--color_dark_red);}
.default-page-content h3 {margin-bottom: var(--space-m); font-size: var(--step-1); font-weight: 700; color: var(--color_dark_red);}
.default-page-content h4 {margin-bottom: var(--space-m); font-size: var(--step-1); font-weight: 700;}

.default-page-content p {margin-bottom: var(--space-m);}
.default-page-content p.article-lead {font-weight: 900;}

.default-page-content ol {margin-bottom: var(--space-m); padding-left: 2em;}
.default-page-content ul {margin-bottom: var(--space-m); padding-left: 2em; list-style-type: circle;}
.default-page-content li:not(:last-child) {padding-bottom: 0.5em;}
.default-page-content li ol, .default-page-content li ul {margin-block: 0.5em 0;}

.default-page-content a {text-decoration-style: dashed; font-weight: 600; text-underline-offset: 0.2em; overflow-wrap: break-word; word-wrap: break-word; color: var(--color_dark_navy);}
.default-page-content a:is(:hover, :active):not(:has(img)) {text-decoration-style: solid; color: #4d647e;}
.default-page-content a:focus {outline: none;}
.default-page-content a:focus-visible {outline: 2px solid #4d647e; outline-offset: 0.1em; text-decoration: none;}

.default-page-content img {max-width: 100%; height: auto; transition: transform 0.4s;}
.default-page-content div:has(> img) {width: 100% !important;}
.default-page-content a img {display: block; transform: scale(1); transition: transform 0.3s;}
.default-page-content a:hover img {transform: scale(1.05);}
.default-page-content a:has(img) {display: inline-block; overflow: hidden;}
.default-page-content a:has(img):focus-visible {outline-offset: 0.3em;}
.default-page-content > img, .default-page-content > a:has(img) {margin-bottom: var(--space-m);}
.default-page-content p:has(> a > img.aligncenter) {text-align: center;}
.default-page-content p:has(> a > img.alignright) {text-align: right;}

.default-page-content strong, .article b {font-weight: 700;}

.default-page-content iframe {width: 100%; height: auto; aspect-ratio: 16 / 9;}

.default-page-content table {vertical-align: top; margin-bottom: var(--space-m); border: none:}
.default-page-content tr:not(:last-child) td {border-bottom: 1px solid currentColor;}
.default-page-content td {padding: var(--space-2xs) var(--space-px-xs); line-height: 1.2;}

.default-page-content > :is(img, p:has(img), a:has(img), .gallery),
.default-page-content > *:has(+ img, + p > a > img, + .gallery, + style + .gallery) {margin-bottom: calc(var(--space-m) * 1.25);}

.gallery {display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: var(--space-px-l); margin-bottom: var(--space-m);}
.gallery br {display: none !important;}
.gallery-item {width: 100% !important; float: none !important; margin: 0 !important;}
.gallery-icon {container-type: inline-size; display: grid; place-items: center; width: 100%;}
.gallery-icon img {display: block; border: 0 !important;}
.gallery-icon.portrait img {width: auto; height: 100cqw;}

.default-page-content .wp-caption.aligncenter {max-width: 100%; margin-inline: auto; text-align: center;}
.default-page-content .wp-caption.alignright {max-width: 100%; margin-left: auto; text-align: right;}
.default-page-content .wp-caption-text {margin: var(--space-xs) 0; font-size: var(--step--1); line-height: 1.2; text-align: center;}

@media (max-width: 575.98px) {
	.gallery {grid-template-columns: 1fr;}
	.gallery-icon {aspect-ratio: auto;}
	.gallery-icon.portrait img {width: auto; max-height: calc(100vw - var(--main_margin) * 2); margin-inline: auto;}
}


	/* footer */
	
.footer {column-gap: var(--space-px-l-xl); row-gap: var(--space-px-xs); padding: var(--space-l) var(--main_margin_md); font-size: var(--step--1); font-weight: 500; background-color: #202427; color: var(--color_sky_blue);}

.footer p {margin-bottom: 0;}
.footer ul {margin-bottom: 0;}
.footer ul a {text-decoration: none; color: var(--color_sky_blue); transition: color 0.3s;}
.footer ul a:is(:hover, :active, :focus) {color: #fff;}
.footer li {line-height: 1.6;}

.footer img {width: 216px;}

@media (min-width: 768px) {
	.footer li {padding-left: var(--space-2xs-xs);}
	.footer li:before {content: '-'; margin-right: var(--space-2xs-xs);}
}
@media (max-width: 1199.98px) {
	.footer {row-gap: var(--space-m);}
	.footer-logo {width: 100%;}
}
@media (max-width: 767.98px) {
	.footer {row-gap: var(--space-xl); padding-block: var(--space-2xl-3xl) var(--space-xl); font-size: var(--step-1);}
	.footer p {margin-bottom: 1em;}
	.footer img {width: 196px;}
}

.newmanstudio {display: inline-block; transform: translateY(0.1em); margin-left: auto; white-space: nowrap;}
.newmanstudio a {font-size: var(--step--2); font-weight: 500; text-decoration: none; color: var(--color_sky_blue); transition: color 0.4s;}
.newmanstudio a:is(:hover, :focus, :active) {outline: none; color: #fff;}
.newmanstudio a:focus-visible {outline: 2px solid var(--color_navy); outline-offset: 1em;}
.newmanstudio a svg {width: calc(var(--space-s) * 1.25); height: auto; margin-left: var(--space-xs);}
.newmanstudio a svg path {fill: var(--color_sky_blue); transition: fill 0.4s;}
.newmanstudio a:is(:hover, :focus, :active) svg path {fill: #fff;}
@media (max-width: 767.98px) {
	.newmanstudio {transform: scale(1.5) translateY(-0.25em) translateX(-0.65em);}
}


	/* modal */
	
.modal {
	--bs-modal-margin: var(--main_margin);
	--bs-modal-border-radius: var(--main_radius);
	--bs-modal-inner-border-radius: var(--main_radius);
}
.modal-backdrop {
	--bs-backdrop-bg: #202427;
	--bs-backdrop-opacity: 0.4;
}

.modal-content {border: none; color: var(--color_dark_navy); background-color: var(--color_sky_blue);}

.modal-header {gap: var(--space-m-l); padding: var(--space-px-l) var(--space-px-xl); border-bottom: none;}
.modal-header > div {width: 100%; gap: var(--space-l);}
.modal-header h1 {font-size: var(--step-2); line-height: 1; font-weight: 900; text-transform: uppercase;}
.modal-header p {width: 100%; margin-bottom: 0; font-size: var(--step-0); line-height: 1.25; font-weight: 500; text-transform: uppercase;}

.modal-header button {margin: 0 0 0 auto; padding: 0; border: 0; border-radius: 0; color: var(--color_dark_navy); transform: rotate(0deg) translateX(10%) translateZ(0); transition: color 0.3s, transform 0.45s;}
.modal-header button svg {width: var(--space-l);}

.modal-header button:is(:hover, :active, :focus) {transform: rotate(-180deg) translateX(-10%) translateZ(0); color: #fff;}

@media (max-width: 767.98px) {
	.modal-header {padding: var(--space-px-m-l);}
	.modal-header > div {gap: var(--space-s-m);}
}

.modal-body {padding: var(--space-px-xl); border-radius: var(--main_radius);background-color: var(--color_sky_blue_light);}
.modal-body > div > *:last-child {margin-bottom: 0;}
.modal-contact-email {margin-bottom: var(--space-l-xl);}
.modal-contact-phone {margin-bottom: var(--space-m);}

.modal-body p {margin-bottom: 0; font-size: var(--step-0); line-height: 1.25; font-weight: 500;}

.modal-body p a {display: inline-block; max-width: 100%; margin-block: var(--space-s-m) var(--space-s); font-size: var(--step-2); line-height: 1; font-weight: 900; text-underline-offset: 0.15em; overflow-wrap: break-word; word-wrap: break-word; color: var(--color_dark_navy); transition: color 0.2s;}
.modal-body p a:is(:hover, :active, :focus) {color: #4d647e;}

@media (max-width: 767.98px) {
	.modal-body {padding: var(--space-px-m-l);}
	.modal-contact-email {margin-bottom: var(--space-m-l);}
	.modal-contact-phone {margin-bottom: var(--space-m-l);}
	.modal-body p a {line-height: 1.2;}
}


	/* cookies */

.lity {z-index: 10000 !important;}
#moove_gdpr_cookie_info_bar {background-color: var(--color_ivory) !important; border-top: none !important;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container {padding: calc(var(--main_margin) / 2) 0 !important;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content {flex-direction: column !important; align-items: start !important; gap: var(--space-s);}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p {margin-bottom: 1em !important; padding: 0;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a {font-size: var(--step--1) !important; line-height: 150% !important; font-weight: 400 !important; color: var(--color_dark_navy) !important;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p button {text-underline-offset: 0.2em; color: var(--color_dark_navy) !important;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a:is(:hover, :active, :focus) {color: #4d647e !important;}
.moove-gdpr-info-bar-content {max-width: calc(var(--space-2xl) * 10);}
#moove_gdpr_cookie_info_bar button:not(.change-settings-button) {padding: 0.75em 1.75em !important; background: #4d647e; color: #fff; font-size: var(--step--1) !important; font-weight: 900 !important; text-transform: uppercase !important; transition: color 0.3s, background-color: 0.3s;}
#moove_gdpr_cookie_info_bar button.change-settings-button {color: #40b34f !important;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton:is(:hover, :active, :focus) {color: var(--color_dark_navy) !important; background-color: #fff !important;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice > :last-child {margin-bottom: 0 !important;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder {gap: var(--space-xs); padding-left: 0 !important;}
@media (max-width: 767px) {
	#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container {padding: var(--main_margin) !important;}
	#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice {margin-bottom: var(--space-s) !important; padding-left: 0 !important;}
	/* #moove_gdpr_cookie_info_bar button {font-size: 15px !important;} */
}



	/* global animations */

@media (prefers-reduced-motion: no-preference) {

	.fade-in, .fade-in-up {opacity: 0;}	
	
	@keyframes fadeIn {
		from {opacity: 0; transform: translateY(calc(var(--space-s) * 1));}
		to {opacity: 1; transform: translateY(0);}
	}

	.fadeInAnimation {animation-name: fadeIn; animation-duration: 1s; animation-fill-mode: both;}

}

/* prefers-reduce-motion */

@media (prefers-reduced-motion: reduce) {

	*, ::after, ::before {transition: 0s !important;}

}