@font-face {
	font-family: "Inria Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/inria-sans-regular.ttf") format("truetype");
}
@font-face {
	font-family: "Inria Sans";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/inria-sans-bold.ttf") format("truetype");
}
* { box-sizing: border-box; }
body { margin: 0; }
.wp-site-blocks { padding: 0; }
/* The reference has 4px horizontal edges at 768px, not a uniform grid of vertical strokes. */
.wp-site-blocks, .editor-styles-wrapper { --squad-divider-width: calc(100vw / 192); }
.wp-site-blocks > *, .squad-home > *, .squad-row > *, .squad-panel > *, .squad-copy > *, .squad-card > *, .squad-footer > * { margin-block: 0; }
.squad-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: var(--squad-divider-width) solid #1a1a1a;
	padding-top: 0.5208333vw;
}
.squad-hero:not(.has-background) { background: #f2f2f2; }
.squad-hero { isolation: isolate; }
.squad-hero > .squad-media:not(.squad-hero-background) { z-index: 1; background: transparent; }
.squad-hero > .squad-hero-background { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.squad-row.wp-block-columns {
	display: flex;
	align-items: stretch !important;
	flex-wrap: nowrap !important;
	margin: 0;
	border-bottom: var(--squad-divider-width) solid #1a1a1a;
}
.squad-row > .wp-block-column {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex-grow: 1;
	flex-basis: 0;
	margin: 0;
}
.squad-row > .wp-block-column[style*="flex-basis"] { flex-grow: 0; }
.squad-row > .wp-block-column > .squad-media,
.squad-row > .wp-block-column > .squad-panel { flex: 1; }
.squad-panel { position: relative; min-width: 0; }
/* The row, rather than its first column, contains the full-width background image. */
.squad-continuous-image { position: relative; isolation: isolate; }
.squad-continuous-image > .squad-continuous-image-source { position: static; }
.squad-continuous-image > .squad-continuous-image-source > .squad-media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.squad-photo-segment { position: absolute; top: 0; height: 100%; overflow: hidden; }
.squad-photo-segment--left { left: 0; width: var(--squad-split-left, 26.3888889%); }
.squad-photo-segment--right { right: 0; width: var(--squad-split-right, 13.1944444%); }
/* At a 2:1 split, 150% of the left and 300% of the right are the same virtual photo width. */
.squad-photo-segment--left > .squad-media__image { width: var(--squad-split-left-scale, 150%); }
.squad-photo-segment--right > .squad-media__image { inset: 0 0 0 auto; width: var(--squad-split-right-scale, 300%); }
.squad-media--split-photo:not(.has-background) { background: transparent; }
.squad-card.squad-banner-standalone {
	position: relative;
	left: auto;
	top: auto;
	width: var(--squad-card-width, 80%);
	margin: 6vw auto;
}
.squad-copy { max-width: 100%; }
.squad-copy h2, .squad-card h2 {
	font-size: 2.0833333vw;
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 2.9947917vw;
}
.squad-copy p, .squad-card p {
	font-size: 1.5625vw;
	line-height: 1.35;
	margin: 0 0 2.34375vw;
}
.squad-copy .wp-block-buttons { margin-top: 2.8645833vw; }
.squad-label { font-size: 1.5625vw; line-height: 1.25; margin: 0; }
.squad-media {
	position: relative;
	overflow: hidden;
	width: var(--squad-media-width, 100%);
	height: var(--squad-media-height, 100%);
	min-height: 0;
	flex-shrink: 0;
}
.squad-media:not(.has-background) { background: #f2f2f2; }
.squad-hero > .squad-media--empty:not(.has-background),
.squad-footer > .squad-media--empty:not(.has-background) { background: #e5e5e5; }
.squad-media__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: var(--squad-media-fit, cover);
	transform: translate(var(--squad-media-x, 0%), var(--squad-media-y, 0%)) scale(var(--squad-media-zoom, 1));
	transform-origin: center;
}
.squad-media__editor-placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px dashed #507382;
}
.squad-feature { overflow: hidden; }
.squad-feature .squad-copy { width: 61%; }
.squad-card {
	position: absolute;
	z-index: 2;
	left: var(--squad-card-left, 54.15%);
	top: var(--squad-card-top, 42%);
	width: var(--squad-card-width, 54%);
	padding: 2.7994792vw 3.125vw;
	transform: rotate(var(--squad-card-angle, -9deg));
}
.squad-card:not(.has-text-color) { color: #f2f2f2; }
.squad-card:not(.has-background) {
	background:
		radial-gradient(ellipse at bottom right, #d488d1, transparent 60%),
		radial-gradient(ellipse at bottom left, #85d1c9, transparent 65%),
		linear-gradient(180deg, transparent 30%, #9d84ff 100%),
		linear-gradient(105deg, #8d92ff 10%, #76dccb 90%);
}
.squad-card h2 { margin-bottom: 1.8229167vw; }
.squad-card p { margin-bottom: 1.8229167vw; max-width: 33.203125vw; }
.squad-card p:last-child { margin-bottom: 0; }
.squad-footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 5.859375vw;
	padding-bottom: 4.296875vw;
}
.squad-footer:not(.has-background) { background: #f2f2f2; }
.squad-footer-links.wp-block-columns {
	display: flex;
	gap: 7.8125vw;
	margin: 5.7291667vw 0 0;
}
.squad-footer-links .wp-block-column { flex: 0 0 auto; }
.squad-footer-links p { font-size: 1.0416667vw; font-weight: 700; margin: 0 0 1.3020833vw; }
.squad-footer-links a { text-decoration: none; color: #1a1a1a; }
.squad-footer-links a:hover { text-decoration: underline; }
.wp-block-button__link {
	display: inline-block;
	background: #507382;
	color: #f2f2f2;
	font-family: "Inria Sans", sans-serif;
	font-size: 1.0416667vw;
	font-weight: 700;
	line-height: 1.2;
	padding: 0.78125vw 1.8229167vw;
	border-radius: 0;
	text-decoration: none;
}
a:focus-visible, button:focus-visible { outline: 2px solid #507382; outline-offset: 4px; }
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.editor-styles-wrapper .squad-row > .wp-block-column > .squad-media { min-height: 120px; }
.editor-styles-wrapper .squad-card { pointer-events: auto; }
/* Supplied Columns disable core's 781px stacking; the theme owns the 600px transition. */
@media (max-width: 600px) {
	body { font-size: 16px; }
	.squad-hero { min-height: 280px !important; }
	.squad-hero > .squad-media:not(.squad-hero-background) { width: min(var(--squad-media-width), 80vw); height: max(var(--squad-media-height), 100px); }
	.squad-row.wp-block-columns { flex-direction: column; min-height: 0 !important; }
	.squad-row > .wp-block-column { flex-basis: auto !important; width: 100%; }
	.squad-row > .wp-block-column + .wp-block-column { border-top: var(--squad-divider-width) solid #1a1a1a; }
	.squad-row > .wp-block-column > .squad-media {
		flex: none;
		height: auto;
		min-height: 0;
		aspect-ratio: var(--squad-mobile-ratio, 3 / 2);
	}
	.squad-row > .wp-block-column > .squad-media--mobile-layout {
		height: var(--squad-media-height, 100%);
		min-height: 280px;
		aspect-ratio: auto;
	}
	.squad-continuous-image > .squad-continuous-image-source { position: relative; }
	.squad-continuous-image > .squad-continuous-image-source > .squad-media {
		position: relative;
		inset: auto;
		height: auto;
		z-index: auto;
	}
	.squad-continuous-image > .squad-continuous-image-source > .squad-media--mobile-layout {
		height: var(--squad-media-height, 100%);
	}
	.squad-continuous-image > .squad-continuous-image-reveal { display: none; }
	.squad-photo-segment--left { width: 100%; }
	.squad-photo-segment--left > .squad-media__image { width: 100%; }
	.squad-photo-segment--right { display: none; }
	.squad-panel { padding: 40px 32px !important; min-height: 280px; }
	.squad-label, .squad-copy p, .squad-card p { font-size: 16px; }
	.squad-copy h2, .squad-card h2 { font-size: 24px; margin-bottom: 24px; }
	.squad-copy p, .squad-card p { margin-bottom: 20px; }
	.squad-copy .wp-block-buttons { margin-top: 24px; }
	.squad-feature .squad-copy { width: 100%; }
	.squad-card { position: relative; left: auto; top: auto; width: 100%; padding: 24px; margin-top: 48px; transform: rotate(-5deg); }
	.squad-card p { max-width: none; }
	.squad-footer { min-height: 300px !important; padding: 40px 24px; }
	.squad-footer > .squad-media { width: min(var(--squad-media-width), 80vw); height: max(var(--squad-media-height), 100px); }
	.squad-footer-links.wp-block-columns { flex-wrap: nowrap; gap: 32px; margin-top: 40px; }
	.squad-footer-links p { font-size: 10px; margin-bottom: 16px; }
	.wp-block-button__link { font-size: 12px; padding: 10px 18px; }
}
