/**
 * (╯°□°）╯︵ ┻━┻
 *
 * @see https://csswizardry.com/2013/04/shame-css/
 */
/* FORCE HubSpot to behave */
.hs-form :is(textarea, [type="text"], [type="email"]) {
		width: 100% !important;
	}
.hs-form ul.hs-error-msgs {
		margin: 0;
		padding: 0;
		list-style: none;
		color: var(--c-bad);
	}

/* Spot-fix font size request in one spot from client (deviates from design) */
@media (min-width: 782px) {
.special-font-size-for-swag-that-creates-brand-obsession {
		--wp--preset--font-size--jumbo: 8vw
}
	}
@media (min-width: 1280px) {
.special-font-size-for-swag-that-creates-brand-obsession {
		--wp--preset--font-size--jumbo: min(16vw, 6.25em)
}
	}

/* Essentially prevent a lottie file from bumping to the next line */
.is-absolute {
	position: absolute;
}
/**
 * Media front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
:where(.media) {
	object-position: var(--media-x, 50%) var(--media-y, 50%);
	object-fit: var(--media-focal, cover);
}

/**
 * WordPress default classes and overrides front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */

/**
 * Overrides
 */

/**
 * Accessibility
 */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
/* Many screen reader and browser combinations announce broken words as they would appear visually. */
.screen-reader-text:focus {
		background-color: #fff;
		border-radius: 3px;
		box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
		clip: auto !important;
		clip-path: none;
		color: #000;
		display: block;
		font-weight: bold;
		height: auto;
		left: 5px;
		line-height: normal;
		padding: 15px 23px 14px;
		text-decoration: none;
		top: 5px;
		width: auto;
		z-index: 100000; /* Above WP toolbar. */
	}

/**
 * Alignments
 */
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.aligncontent {
	display: block;
	width: 100%;
	max-width: var(--wp--style--global--content-size);
	margin-left: auto;
	margin-right: auto;
}

/**
 * Widgets
 */
.widget {
	margin: 0 0 1.5em;
	/* Make sure select elements fit in widgets. */
}

.widget select {
	max-width: 100%;
}

/**
 * Captions
 */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	font-style: italic;
	font-size: 0.9em;
}

/**
 * Image captions
 */
.wp-element-caption {
	padding-top: 1em;
	font-size: 0.8889em;
}

/**
 * Container queries
 */
.has-container-type-inline-size {
	container-type: inline-size;
}

/**
 * Media & text overrides
 */
.wp-block-media-text {
	--p-media-text: min(var(--wp--preset--spacing--80), 7cqi);
}
.wp-block-media-text > div.wp-block-media-text__content {
		padding: var(--p-media-text) 0;
	}
@media (min-width: 600px) {
.wp-block-media-text:not(.has-media-on-the-right) > .wp-block-media-text__content {
				padding: var(--p-media-text) 0 var(--p-media-text)
					var(--p-media-text)
		}
			}
@media (min-width: 600px) {
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
				padding: var(--p-media-text) var(--p-media-text)
					var(--p-media-text) 0
		}
			}
@media (min-width: 600px) {
				.wp-block-media-text.alignfull:not(.has-media-on-the-right) > .wp-block-media-text__content {
					padding-right: var(--p-media-text);
				}
				.wp-block-media-text.alignfull:not(.has-media-on-the-right) > .wp-block-media-text__media {
					border-top-left-radius: 0;
					border-bottom-left-radius: 0;
				}
			}
@media (min-width: 600px) {
				.wp-block-media-text.alignfull.has-media-on-the-right > .wp-block-media-text__content {
					padding-left: var(--p-media-text);
				}
				.wp-block-media-text.alignfull.has-media-on-the-right > .wp-block-media-text__media {
					border-top-right-radius: 0;
					border-bottom-right-radius: 0;
				}
			}
/* ignore fullwidth at mobile (duplicate class for specificity) */
@media (max-width: 599px) {
			.wp-block-media-text.alignfull.alignfull {
				margin-left: 0;
				margin-right: 0;
			}
		}
.wp-block-media-text__media {
	border-radius: inherit;
}
.wp-block-media-text__media :is(img, video) {
		border-radius: inherit;
	}

/**
 * Post terms
 */
.wp-block-post-terms:not([style*="font-size"]) {
		font-size: 0.78em;
	}
.wp-block-post-terms a:not(:hover) {
		color: var(--c-0-5);
	}
.wp-block-post-terms__separator {
	display: inline-block;
	width: 1.6667em;
	color: transparent;
}
.is-style-post-terms {
	font-size: 0.78em;
	color: var(--c-0-5);
}

/**
 * Read More
 */
p.wp-block-post-excerpt__more-text {
	margin-top: 0;
}
.wp-block-post-excerpt__more-link {
	font-size: 1.4444em;
	margin-top:;
}
.wp-block-post-excerpt__more-link,
	.wp-block-post-excerpt__more-link:hover {
		color: var(--c-default);
	}

/**
 * Various
 */
.wp-block-separator.wp-block-separator {
	border-width: 1px;
}
.wp-block-list li:not(:last-child) {
		margin-bottom: 0.7em;
	}
.has-style-rounded-corners {
	border-radius: var(--bd-rad-m);
	overflow: hidden;
}

/**
 * Team Grid Pattern front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */

@media (max-width: 959px) {

.pattern-team-grid {
		/* override wp's style */
		grid-template-columns: 1fr 1fr !important
}
	}

@media (max-width: 479px) {

.pattern-team-grid {
		grid-template-columns: 1fr !important
}
	}

.pattern-team-grid .wp-block-buttons {
		position: absolute;
		inset: 0.5em 0.5em auto auto;
	}

.pattern-team-grid .wp-block-buttons .wp-element-button {
			line-height: 99;
		}

@media (min-width: 480px) {

.pattern-team-grid > div:nth-child(even) {
				transform: translateY(2em)
		}
			}
/**
 * Split Media front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
.split-media--tall .wp-block-media-text__content {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
.split-media--tall .wp-block-media-text__media {
		z-index: 10;
	}

/* prettier-ignore */
@media (min-width: 600px) {
.ani-split-media {
		overflow: clip
}
		.ani-split-media:has(> :last-child:nth-child(2)) { --count: 2; }
		.ani-split-media:has(> :last-child:nth-child(3)) { --count: 3; }
		.ani-split-media:has(> :last-child:nth-child(4)) { --count: 4; }
		.ani-split-media:has(> :last-child:nth-child(5)) { --count: 5; }
		.ani-split-media:has(> :last-child:nth-child(6)) { --count: 6; }
		.ani-split-media:has(> :last-child:nth-child(7)) { --count: 7; }
		.ani-split-media > * {
			height: 100vh;
			margin-block: 0 !important;
		} /* spaces break things... */
			.ani-split-media > *:nth-child(1) { --i: 1; }
			.ani-split-media > *:nth-child(2) { --i: 2; }
			.ani-split-media > *:nth-child(3) { --i: 3; }
			.ani-split-media > *:nth-child(4) { --i: 4; }
			.ani-split-media > *:nth-child(5) { --i: 5; }
			.ani-split-media > *:nth-child(5) { --i: 6; }
			.ani-split-media > *:nth-child(5) { --i: 7; }
			.ani-split-media > * > *:first-child {
				display: flex;
				align-items: center;
				height: 100vh;
				transform: translateY(calc(
					100% * (-2 * var(--i) + var(--count) + 1)
					+ 
					clamp(
						calc(-1 * 100% * (var(--count) - 1)),
						calc(
							(100% * (var(--count) * 2 + 2))
							*
							(0.5 - var(--ani-plx))
						),
						calc(100% * (var(--count) - 1))
					)
				));
				will-change: transform;
			}
	}

/* promote scroll snapping to sections */
@media (min-width: 600px) {
html:has(.ani-split-media--snap) {
		scroll-snap-type: y proximity
}
		html:has(.ani-split-media--snap) .ani-split-media--snap > * {
			scroll-snap-align: start;
		}
	}

/**
 * Split Carousel front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */

.pattern-split-carousel > .wp-block-column.has-background:first-child {
			background-color: transparent !important; /* we transfer bg to ::before so it can extend left */
			position: relative;
			z-index: 10;
		}

.pattern-split-carousel > .wp-block-column.has-background:first-child::before {
				content: "";
				position: absolute;
				inset: 0 -5em 0 -50vw;
				background-color: var(--c-bg);
				z-index: -1;
				mask-image: linear-gradient(to right, tan calc(100% - 0.5em), transparent);
			}

.pattern-split-carousel > .wp-block-column.has-background:first-child > .wp-block-group {
				position: relative;
				z-index: 10;
			}

.pattern-split-carousel > .wp-block-column.has-background + .wp-block-column {
			position: relative;
		}

@media (min-width: 782px) {

.pattern-split-carousel > .wp-block-column.has-background + .wp-block-column {
				padding-left: 2em /* allows bubble text to appear */
		}
			}

@media (max-width: 781px) {
				.pattern-split-carousel > .wp-block-column.has-background + .wp-block-column::before {
					content: "";
					position: absolute;
					inset: -0.5em calc(100% - 2.8em) 0 auto;
					width: 10em;
					z-index: 10;
					background-color: var(--c-bg);
					mask-image: linear-gradient(to right, tan calc(100% - 0.5em), transparent);
				}
			}

.pattern-split-carousel .wp-block-cover__background,
	.pattern-split-carousel .wp-block-cover__image-background {
		border-radius: inherit;
	}

.pattern-split-carousel .carousel__slide-frame {
		overflow: hidden;
		padding-inline: 1.5em;
	}

@media (max-width: 781px) {

.pattern-split-carousel .carousel__slide-frame {
			padding-inline: 1em
	}
		}

.pattern-split-carousel .carousel__slide-frame > .wp-block-cover {
			overflow: visible;
		}

.pattern-split-carousel .carousel__slide-frame > .wp-block-cover > :is(video, img) {
				border-radius: inherit;
			}

@media (max-height: 768px) {
				.pattern-split-carousel .carousel__slide-frame > .wp-block-cover.has-aspect-ratio {
					/* override inline style */
					aspect-ratio: 3.8 / 4 !important;
				}
			}
.pattern-split-carousel__image-overlay {
	container-type: inline-size;
	padding: 1em;
	transition: var(--ani-speed);
}
.swiper-slide:not(.swiper-slide-active) .pattern-split-carousel__image-overlay {
		opacity: 0;
	}
.pattern-split-carousel__image-overlay .wp-block-image {
		max-width: 10em;
	}
.pattern-split-carousel__image-overlay .wp-block-button {
		display: block;
		width: min(20cqw, 5em);
		height: min(20cqw, 5em);
	}
.pattern-split-carousel__image-overlay .wp-block-button__link {
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
	}
/* for specificity */
.pattern-split-carousel__image-overlay .wp-block-button__link.wp-block-button__link {
			padding: 50% 0 0;
		}
.pattern-split-carousel__image-overlay .wp-block-button__link {
		line-height: 9em;
}
.pattern-split-carousel__image-overlay .wp-block-button__link::before {
			cursor: pointer;
			content: "";
			position: absolute;
			inset: 0;
			background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 24 24%27%3E%3Cpath fill=%27%23fff%27 fill-rule=%27evenodd%27 d=%27M24 13.5H0v-3h24v3Z%27 clip-rule=%27evenodd%27/%3E%3Cpath fill=%27%23fff%27 fill-rule=%27evenodd%27 d=%27M13.5 0v24h-3V0h3Z%27 clip-rule=%27evenodd%27/%3E%3C/svg%3E");
			background-size: 1em 1em;
			background-repeat: no-repeat;
			background-position: center;
		}
/* link big */
.pattern-split-carousel__image-overlay .wp-block-button__link::after {
			content: "";
			position: absolute;
			inset: -50em;
		}
.pattern-split-carousel__image-overlay--pull-left {
	transform: translateX(calc(-0.5 * var(--sp-s-rem)));
	transition: var(--ani-speed);
}
.swiper-slide:not(.swiper-slide-active) .pattern-split-carousel__image-overlay--pull-left {
		opacity: 0;
	}
/* reposition arrows to match design (could be used for other carousel types) */
@media (max-width: 781px) {
.carousel__arrows.carousel__arrows--center-bp-md-down {
			justify-content: center
	}
		}
.carousel__arrows.carousel__arrows--overlap-bp-md-up {
		position: relative;
		z-index: 10;
		transform: translateY(-100%);
	}
@media (max-width: 781px) {
.carousel__arrows.carousel__arrows--overlap-bp-md-up {
			transform: none;
			margin-top: 1em
	}
		}

/**
 * Social Plugin Overrides front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
.simplesocialbuttons.simplesocialbuttons.simplesocial-round-icon.simplesocialbuttons_inline.simplesocialbuttons-inline-in button {
			margin: 1px;
			border: 0;
			color: var(--c-default);
			transform: scale(0.8);
		}
.simplesocialbuttons.simplesocialbuttons.simplesocial-round-icon.simplesocialbuttons_inline.simplesocialbuttons-inline-in button:hover {
				background-color: var(--c-default);
				color: var(--c-0-9);
				transform: scale(1);
			}

/**
 * Social front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
.wp-block-social-links .wp-block-social-link-anchor {
		padding: 0.1em;
	}
li.wp-block-social-link {
	transition: opacity var(--ani-speed);
}
li.wp-block-social-link:hover {
		transform: none;
		opacity: 0.5;
	}
.wp-social-link-linkedin a, .wp-social-link-facebook a {
		position: relative;
	}
.wp-social-link-linkedin a::before, .wp-social-link-facebook a::before {
			content: "";
			position: absolute;
			inset: 0;
			background-color: currentColor;
			mask-size: 0.6em 0.6em;
			mask-position: center;
			mask-repeat: no-repeat;
		}
.wp-social-link-linkedin svg, .wp-social-link-facebook svg {
		visibility: hidden;
	}
.wp-social-link-linkedin a::before {
	mask-image: url(../images/logo-linkedin.0a0cda53.svg);
}
.wp-social-link-facebook a::before {
	mask-image: url(../images/logo-facebook.932d5bc8.svg);
}

/**
 * Rounded Highlight CTA front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
@media (max-width: 960px) {
.wp-block-group-is-layout-grid:has(.rounded-highlight-cta) {
		column-gap: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr))
}
	}
@media (max-width: 555px) {
.wp-block-group-is-layout-grid:has(.rounded-highlight-cta) {
		grid-template-columns: 1fr
}
	}
.rounded-highlight-cta {
	overflow: hidden;
	height: 100%;
}
.rounded-highlight-cta .has-rounded-highlight {
		display: inline-block;
		will-change: transform;
		transform: translateX(calc(var(--wp--preset--spacing--20) * -1.8));
	}
@media (min-width: 960px) {
			.rounded-highlight-cta:has(a:not(:hover):not(:focus)) .rounded-highlight-cta__content {
				transform: translateY(calc(100% - 7em));
			}
			.rounded-highlight-cta:has(a:not(:hover):not(:focus)) .wp-block-cover__background {
				opacity: 0;
			}
			.rounded-highlight-cta:has(a:not(:hover):not(:focus)) .rounded-highlight-cta__text {
				opacity: 0;
				transform: translateY(1em);
			}
		}
.rounded-highlight-cta__cover[style*="border-radius"] {
		overflow: visible;
	}
.rounded-highlight-cta__cover[style*="border-radius"] img,
		.rounded-highlight-cta__cover[style*="border-radius"] .wp-block-cover__background,
		.rounded-highlight-cta__cover[style*="border-radius"] .wp-block-cover__inner-container {
			border-radius: inherit;
		}
.rounded-highlight-cta__cover .wp-block-cover__background {
		transition: opacity var(--ani-speed);
	}
.rounded-highlight-cta__cover .wp-block-cover__background.has-background-dim {
			opacity: 1;
			background-image: linear-gradient(
				var(--c-dim),
				var(--c-bg) 45%
			) !important;
		}
.rounded-highlight-cta__content {
	transition: transform var(--ani-speed);
}
.rounded-highlight-cta__link a {
	display: inline-block;
}
.rounded-highlight-cta__link a,
	.rounded-highlight-cta__link a:hover,
	.rounded-highlight-cta__link a:focus {
		color: inherit;
	}
.rounded-highlight-cta__link a::before {
		content: "";
		position: absolute;
		inset: -99em;
	}
.rounded-highlight-cta__text {
	pointer-events: none;
	transition: opacity var(--ani-speed), transform calc(var(--ani-speed) * 2);
}
/* Theme main menu front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */

/* common */
.site-menu {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 999;
	height: var(--h-menu);
	transition: transform var(--ani-speed);
	pointer-events: none;
}
.site-menu a,
	.site-menu button {
		cursor: pointer;
		pointer-events: auto;
		-webkit-tap-highlight-color: transparent;
	}
.site-menu ul,
	.site-menu li {
		list-style: none;
		margin: 0;
		padding: 0;
	}
.site-menu__logo {
	position: relative;
	transition-properties: opacity, transition, filter;
	transition-duration: var(--ani-speed);
	transform-origin: 0 50%;
	transform: scale(0.7);
}
.site-menu__logo:hover {
		opacity: 1;
	}
.site-menu__logo:hover img {
			filter: brightness(0) invert(1);
		}
.site-menu__logo:hover a::before {
			background-color: var(--c-1-5);
		}
.site-menu__logo a::before {
		content: "";
		position: absolute;
		inset: -1.4em;
		background-color: var(--c-0-9);
		z-index: -1;
		border-radius: 99em;
		opacity: 1;
		transition-duration: var(--ani-speed);
		transition-property: opacity, background-color;
	}
.site-menu__logo img {
		transition: filter var(--ani-speed);
	}

/* desktop */
@media (min-width: 600px) {
	.mobile-bp-only,
	.site-menu__toggle {
		display: none !important;
	}
	.site-menu__upper {
		height: var(--h-menu-util);
	}
	.site-menu__lower {
		padding-top: 2em;
	}
		.site-menu__lower.is-layout-flex {
			gap: 1rem;
		}
	.site-menu__main {
		position: relative;
	}
		.site-menu__main .wp-block-navigation__container {
			background-color: var(--c-0-9);
			padding: 1em;
			gap: 0;
			border-radius: 99em;
		}
			.site-menu__main .wp-block-navigation__container .wp-block-navigation-item {
				background-color: transparent;
				padding: 0 1em;
			}
	.site-menu__util {
		text-transform: uppercase;
		padding: 0.7em 0;
	}
		.site-menu__util ul {
			gap: 1em;
		}
		.site-menu__util a {
			font-size: 10px; /* maintain size always */
			letter-spacing: 0.05rem;
		}
			.site-menu__util a:hover {
				text-decoration: underline;
			}

	/* follower */
		ul.site-menu__main::before {
			content: "";
			pointer-events: none;
			position: absolute;
			z-index: 99;
			top: 0.6em;
			bottom: 0.6em;
			left: 0;
			width: var(--w-follower-init);
			background-color: var(--c-0-9);
			opacity: 0;
			border-radius: 9em;
			transform: translateX(var(--x-follower-init));
			transition-property: transform, width, opacity;
			mix-blend-mode: difference;
		}
			ul.site-menu__main.ani-ready::before {
				transition-duration: var(--ani-speed);
			}
				ul.site-menu__main.ani-ready:has(> li:hover)::before, ul.site-menu__main.ani-ready:has(> li > a[aria-current])::before {
					opacity: 1;
				}
				ul.site-menu__main.ani-ready:has(> li:hover)::before {
					width: var(--w-follower);
					transform: translateX(var(--x-follower));
				}

	/* scrolled */
	.is-up {
		transform: translateY(calc((var(--h-menu-util) + var(--h-menu)) * -1));
	}
	/* subnav isn't part of the design: this is just in case */
			.site-menu__main li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
				padding-top: 0.7em;
				background-color: transparent !important;
				border: 0;
			}
				.site-menu__main li.wp-block-navigation-item ul.wp-block-navigation__submenu-container a {
					padding: 0.3em 0;
				}
					.site-menu__main li.wp-block-navigation-item ul.wp-block-navigation__submenu-container a:hover {
						opacity: 0.8;
					}
				.site-menu__main li.wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__label {
					padding: 0.3em 1em;
					border-radius: 9em;
					background-color: var(--c-3-5);
					white-space: nowrap;
				}
}

/* mobile */
@media (max-width: 599px) {
	.desktop-bp-only {
		display: none !important;
	}
	.site-menu__toggle {
		position: relative;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 10;
		width: 2.7778em;
		height: 2.7778em;
		top: var(--wp--style--root--padding-left);
		right: var(--wp--style--root--padding-right);
		background-color: transparent;
		border: 0;
		transform: translateY(-25%);
	}
		.site-menu__toggle::before,
		.site-menu__toggle::after {
			content: "";
			position: absolute;
			inset: 0;
			margin: auto;
			height: 2px;
			width: 100%;
			background-color: var(--c-0-5);
			transform: translateY(-0.4em);
			transition: transform var(--ani-speed);
		}
		.site-menu__toggle::after {
			transform: translateY(0.4em);
		}
	.site-menu__logo {
		position: fixed;
		top: var(--wp--style--root--padding-left);
		left: var(--wp--style--root--padding-left);
		z-index: 10;
		width: 11.75em;
	}
		.site-menu__logo:hover {
			opacity: 1;
		}
			.site-menu__logo:hover img {
				filter: brightness(0) invert(1);
			}
			.site-menu__logo:hover a::before {
				background-color: var(--c-1-5);
			}
		.site-menu__logo a::before {
			opacity: 1;
			inset: -0.7em -1em;
		}
	.site-menu__upper {
		display: none;
	}
	nav.site-menu__main {
		position: fixed;
		inset: 0;
		background-color: var(--c-0-1);
	}
		nav.site-menu__main .wp-block-navigation__container {
			position: fixed;
			inset: 0;
			overflow-y: auto;
			padding: 3.5em 0 2em;
			display: flex;
			row-gap: 1.15em;
			flex-direction: column;
		}

			/* faux justify-content:center but without breaking scrolling */
			nav.site-menu__main .wp-block-navigation__container > .wp-block-navigation-item:first-child {
				margin-top: auto;
			}
			nav.site-menu__main .wp-block-navigation__container > .wp-block-navigation-item:last-child {
				margin-bottom: auto;
			}

			nav.site-menu__main .wp-block-navigation__container > .wp-block-navigation-item {
				flex-direction: column;
			}

			nav.site-menu__main .wp-block-navigation__container .wp-block-navigation-item.is-menu-cta:last-child {
				margin-top: 4em;
			}
				nav.site-menu__main .wp-block-navigation__container .wp-block-navigation-item.is-menu-cta:last-child .wp-block-navigation-item__content {
					padding-inline: 2em;
				}
		nav.site-menu__main .wp-block-navigation
			.has-child
			> .wp-block-navigation__submenu-container {
			min-width: 0;
		}
			nav.site-menu__main .wp-block-navigation
			.has-child
			> .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
				display: block;
				text-align: center;
			}

		/* faux buttons: outline (default) */
		nav.site-menu__main .wp-block-navigation-item .wp-block-navigation-item__content,
		nav.site-menu__main .is-menu-cta a.wp-block-navigation-item__content:hover {
			display: inline-block;
			padding: 0.6em 1em;
			background-color: transparent;
			font-size: 1.3125em;
			color: var(--c-0-9);
			border-radius: 9em;
			box-shadow: 0 0 0 2px inset var(--c-0-5);
			transition: var(--ani-speed);
		}

		/* faux buttons: white  */
		nav.site-menu__main .wp-block-navigation-item .wp-block-navigation-item__content:hover,
		nav.site-menu__main .is-menu-cta a.wp-block-navigation-item__content:not(:hover) {
			background-color: var(--c-0-9);
			box-shadow: 0 0 0 2px inset var(--c-0-9);
			color: var(--c-0-0);
		}

		/* no buttons: regular text link style */
		/* prettier-ignore */
		nav.site-menu__main .is-style-basic-text .wp-block-navigation-item__content,
		nav.site-menu__main .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
			display: inline-block;
			padding: 0;
			font-size: 1.125em;
			color: var(--c-0-9);
			box-shadow: none;
			text-decoration: underline;
			text-decoration-color: var(--c-0-5);
		}
			nav.site-menu__main .is-style-basic-text .wp-block-navigation-item__content:hover, nav.site-menu__main .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
				background-color: transparent;
				color: var(--c-0-9);
				box-shadow: none;
				text-decoration-color: transparent;
			}

	/* active state */
	.site-menu-active {
		overflow: clip;
	}
			.site-menu-active .site-menu__toggle::before,
			.site-menu-active .site-menu__toggle:after {
				background-color: var(--c-0-5);
				transform: rotate(45deg);
			}
			.site-menu-active .site-menu__toggle::after {
				transform: rotate(-45deg);
			}
			.site-menu-active .site-menu__logo:hover {
				opacity: 0.5;
			}
			.site-menu-active .site-menu__logo img {
				filter: brightness(0) invert(1);
			}
			.site-menu-active .site-menu__logo a::before {
				opacity: 0;
			}
		.site-menu-active nav.site-menu__main[aria-hidden="false"] {
			transition:
				all var(--ani-speed),
				visibility 0s,
				inset 0s;
		}

	/* inactive state */
	nav.site-menu__main:not([aria-hidden="false"]) {
		visibility: hidden;
		opacity: 0;
		inset: var(--h-menu) 0 calc(100% - var(--h-menu));
		transition:
			all var(--ani-speed),
			visibility 0s var(--ani-speed),
			inset 0s var(--ani-speed);
	}

	/* subnav isn't part of the design: this is just in case */
		.site-menu__main .wp-block-navigation__submenu-container {
			visibility: visible !important;
			position: static !important;
			width: 100% !important;
			height: auto !important;
			padding-top: 1em;
			background-color: transparent !important;
			color: var(--c-0-5) !important;
			opacity: 1 !important;
		}
}

/* create space for nav above first page content element */
.torso > *:first-child:not([style*="margin-top"]) {
	margin-top: calc(
		var(--h-menu-util) + var(--h-menu) + var(--h-menu-under)
	) !important;
}

/**
 * Media Overlap front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */

/* NOTE: all the stupid-specific specificity is to override any potential user-added values */
@media (min-width: 782px) {
	.media-overlap {
		--overlap: min(25vw, 20em);
		padding-top: var(--overlap) !important;
	}
	.media-overlap__frame {
		padding-top: var(--overlap) !important;
	}
	.media-overlap__media {
		margin-top: calc(var(--overlap) * -2) !important;
	}
		.media-overlap__media video {
			border-radius: var(--bd-rad-m);
		}
}

/* mobile */
@media (max-width: 781px) {
	.media-overlap__media.media-overlap__media.media-overlap__media {
		margin-right: calc(
			-1 * var(--wp--style--root--padding-right)
		) !important;
		margin-left: calc(-1 * var(--wp--style--root--padding-left)) !important;
	}
		.media-overlap__media.media-overlap__media.media-overlap__media img,
		.media-overlap__media.media-overlap__media.media-overlap__media video {
			border-radius: 0 !important;
		}
}

/**
 * JazzHR Overrides front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
/* faux !important */
#careers a {
		color: currentColor;
	}
#careers .resumator-job-title {
		margin: 0;
		padding: 0;
		border: 0;
		font: unset;
		font-family: var(--ff-1);
		font-size: var(--fs-h2);
		line-height: 1;
	}
#careers #resumator-jobs > .resumator-jobs-text {
		padding-bottom: var(--sp-s-rem);
		margin-bottom: var(--sp-s-rem);
		border-bottom: 1px solid currentColor;
	}

/**
 * Hero front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
.hero--split-media .hero__overlap-right {
		position: relative;
		top: -1em;
	}
.hero--split-media .hero__overlap-right h1 {
			--fs-h1: min(9cqi, 75px);
		}
@media (min-width: 600px) {
		.hero--split-media .hero__overlap-right {
			width: 130%;
		}
	}
@media (max-width: 599px) {
		.hero--split-media .hero__overlap-right {
			left: -1em;
			width: calc(100% - 2em);
		}
		.hero--split-media .wp-block-columns {
			display: grid;
		}
		.hero--split-media .wp-block-column {
			grid-row: 1 / -1;
			grid-column: 1 / -1;
		}
	}

.hero--marquee {
	position: relative;
}

.hero--marquee .hero__marquee {
		position: absolute;
		inset: auto 0 0;
	}

/**
 * Frame front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */

.is-framed {
	--bd-w: 1.2em;
	--bd-c: var(--c-1-5);
	--bd-h: 5.556em;
	position: relative;
	min-height: calc(var(--bd-h) * 2 + var(--sp-s-rem));
}

.is-framed.has-background {
		--bd-c: var(--c-bg);
		/* override gutenberg's hard-coded background (we use it for the frame) */
		background-color: transparent !important;
	}

@media (max-width: 479px) {

.is-framed > .wp-block-group.has-global-padding {
			padding-left: 0;
			padding-right: 0
	}
		}

.is-framed::before {
		pointer-events: none;
		content: "";
		position: absolute;
		inset: 0;
		z-index: 10;
		background:
			linear-gradient(
					to right,
					var(--bd-c) var(--bd-w),
					transparent var(--bd-w)
				)
				0 0,
			linear-gradient(
					to right,
					var(--bd-c) var(--bd-w),
					transparent var(--bd-w)
				)
				0 100%,
			linear-gradient(
					to left,
					var(--bd-c) var(--bd-w),
					transparent var(--bd-w)
				)
				100% 0,
			linear-gradient(
					to left,
					var(--bd-c) var(--bd-w),
					transparent var(--bd-w)
				)
				100% 100%,
			linear-gradient(
					to bottom,
					var(--bd-c) var(--bd-w),
					transparent var(--bd-w)
				)
				0 0,
			linear-gradient(
					to bottom,
					var(--bd-c) var(--bd-w),
					transparent var(--bd-w)
				)
				100% 0,
			linear-gradient(
					to top,
					var(--bd-c) var(--bd-w),
					transparent var(--bd-w)
				)
				0 100%,
			linear-gradient(
					to top,
					var(--bd-c) var(--bd-w),
					transparent var(--bd-w)
				)
				100% 100%;
		background-repeat: no-repeat;
		background-size: var(--bd-h) var(--bd-h);
		transition: var(--ani-speed-m) var(--ani-speed) var(--ani-ease);
		transition-property: opacity, inset;
	}

@media (max-width: 479px) {

.is-framed::before {
			display: none
	}
		}

.is-framed:not(.is-shown)::before {
			inset: calc(var(--sp-s-rem) * -1);
			opacity: 0;
			transition: none;
		}

.is-framed blockquote {
		padding-left: 0;
		border-left: 0;
	}

/**
 * Footer front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
@media (max-width: 781px) {
.site-footer {
		/* center everything at mobile */
}
		.site-footer * {
			text-align: center;
			min-height: 0 !important;
		}
		.site-footer figure.wp-block-image {
			display: block;
			margin-inline: auto;
		}
		.site-footer .wp-block-buttons {
			width: 100%;
			justify-content: center;
		}
		.site-footer .wp-block-social-links,
		.site-footer .wp-block-navigation,
		.site-footer .wp-block-navigation-item,
		.site-footer .wp-block-navigation-item__content {
			justify-content: center;
			width: 100%;
			text-align: center;
		}
	}
.site-footer a:not(.wp-block-button__link):not(.wp-block-social-link-anchor) {
		transition: opacity var(--ani-speed);
	}
.site-footer a:not(.wp-block-button__link):not(.wp-block-social-link-anchor):hover {
			opacity: 0.5;
		}
.site-footer > p:empty {
		display: none;
	}
.site-footer [href^="mailto:"] {
		letter-spacing: -0.037em;
	}
.site-footer p:empty {
		display: none;
	}
.site-footer__frame.has-background.has-background {
		padding-top: 7.5em;
	}
@media (max-width: 781px) {
.site-footer__frame.has-background.has-background {
			padding-top: var(--sp-m-rem)
	}
		}
.site-footer__contact {
	container-type: inline-size;
}
@media (max-width: 781px) {
.site-footer__contact {
		order: 1;
		padding-block: var(--sp-s-rem)
}
	}
.site-footer__contact,
	.site-footer__contact .has-h-2-font-size,
	.site-footer__contact .has-h-2-font-size a {
		width: 100%;
	}
.site-footer__contact .has-h-2-font-size a {
		display: block;
	}
@container (max-width: 380px) {
.site-footer__contact .has-h-2-font-size a {
			font-size: 10cqi
	}
		}
@media (max-width: 781px) {
.site-footer__nav {
		padding-block: var(--sp-s-rem)
}
	}
.site-footer__footer {
	overflow: hidden;
}
.site-footer__footer.lottie {
		margin-top: 0;
		max-width: none;
	}
.site-footer__footer > * {
		animation: footer-skew 30s infinite ease-in-out;
	}
@keyframes footer-skew {
	25% {
		transform: skew(25deg) scale(1.1);
	}
	50% {
		transform: skew(-25deg) scale(1.05);
	}
	75% {
		transform: skew(5deg) scale(1.03);
	}
}

/* sticky footer feature */
@supports (display: grid) {
	html,
	body {
		height: 100%;
	}
	body > .all-the-things {
		min-height: 100%;
		display: grid;
		grid-template-rows: auto 1fr auto;
	}
		body > .all-the-things > * {
			min-width: 0;
		}
}

/**
 * Case Study Even Grid front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */

.case-even {
	grid-auto-flow: column;
}

@media (max-width: 599px) {

.case-even {
		/* for specificity */
}
		.case-even.case-even {
			grid-auto-flow: row;
			grid-template-columns: repeat(2, 1fr);
		}
	}

@media (min-width: 600px) {
			.case-even .case-study:nth-child(odd) {
				grid-row: span 1;	
			}
			.case-even .case-study:nth-child(even) {
				grid-row: span 6;
			}
				@media (max-width: 599px) {
			.case-even .case-study:nth-child(even) {
					grid-row: span 3
			}
				}
			.case-even .case-study:nth-child(3n+1) {
				grid-column: 1;
			}
			.case-even .case-study:nth-child(3n+2) {
				grid-column: 2;
			}
			.case-even .case-study:nth-child(3n) {
				grid-column: 3;
			}
		}

@media (max-width: 599px) {
			.case-even .case-study:nth-child(even) {
				transform: translateY(2em);
			}
		}

.case-even .case-study .wp-block-post-template,
		.case-even .case-study .wp-block-post,
		.case-even .case-study .wp-block-post > .wp-block-group {
			height: 100%;
		}

.case-even .case-study .wp-block-post figure {
				flex: 1;
				max-width: 100%;
			}

.case-even .case-study .wp-block-post figure img {
					height: 100%;
				}

@media (max-width: 599px) {
		.case-even .wp-block-post-terms {
			display: none;
		}
	}

/**
 * Rounded Highlight format type block front-end styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
.has-rounded-highlight {
	display: inline;
	line-height: 1.33;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	background-color: var(--c-bg);
	padding: 0.6rem 0.9rem;
	filter: url("#goo");
}
:is(h3, .has-h-3-font-size, .h3) .has-rounded-highlight, :is(h4, .has-h-4-font-size, .h4) .has-rounded-highlight, :is(h5, .has-h-5-font-size, .h5) .has-rounded-highlight, :is(h6, .has-h-6-font-size, .h6) .has-rounded-highlight {
		padding: 0.15em 0.5em;
	}

.has-background:has(> .has-rounded-highlight) {
	/* override wordpress's inline color */
	background-color: transparent !important;
}

/**
 * Theme-wide block front-end styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */

/**
 * Core block overrides
 */
/* otherwise we get forced text coloring without expicitly setting text color (no inheritance) */
.wp-block-cover .wp-block-cover__inner-container {
		color: unset;
	}

/**
 * Responsive hide/show front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
/* hide from mobile */
@media (max-width: 479px) {
		.torso .hide-bp-sm {
			display: none !important;
		}
	}
/* hide from tablet */
@media (min-width: 480px) and (max-width: 781px) {
		.torso .hide-bp-md {
			display: none !important;
		}
	}
/* hide from laptop */
@media (min-width: 782px) and (max-width: 1439px) {
		.torso .hide-bp-lg {
			display: none !important;
		}
	}
/* hide above laptop (i.e. desktop) */
@media (min-width: 1440px) {
		.torso .hide-bp-md-up {
			display: none !important;
		}
	}

/**
 * Section ping front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
.is-style-section-ping {
	position: relative;
	padding-left: 1.5em;
	font-style: italic;
}
/* for specificity over Gutenberg's !important */
.is-style-section-ping.is-style-section-ping {
		font-size: 1rem !important;
		font-family: var(--ff-2);
	}
.is-style-section-ping::before {
		--transform: translateY(-50%);
		content: "";
		position: absolute;
		top: calc(50%);
		margin-left: -1.2em;
		width: 0.7em;
		aspect-ratio: 1;
		background-color: currentColor;
		border-radius: 50%;
		transform: var(--transform);
		transition: opacity 1s;
	}
.split-parallax .is-style-section-ping::before, .is-style-section-ping.is-shown::before {
			animation:
				ping 1.2s infinite cubic-bezier(0.2, 0.54, 0.18, 0.8),
				ping-once var(--ani-speed);
		}
@keyframes ping-once {
	30% {
		transform: var(--transform) scale(1.7);
	}
}
@keyframes ping {
	0%,
	33% {
		box-shadow: 0 0 0 0em currentColor;
	}
	100% {
		box-shadow: 0 0 0 0.5em transparent;
	}
}

/**
 * Post featured image front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
.is-style-gradient-overlay .wp-block-post-featured-image__overlay {
		mask-image: linear-gradient(to bottom, transparent, tan 95%);
		mask-position: center bottom;
		mask-size: 100% 100%;
		transition: var(--ani-speed) ease-out;
	}
.is-style-gradient-overlay a:hover .wp-block-post-featured-image__overlay {
				mask-size: 100% 200%;
			}

/**
 * Group front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
.is-style-shadow-m {
	box-shadow: var(--shadow-m);
}

/**
 * Cover front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
.is-style-overlay-gradient .has-background-dim {
		--c-dim: #0000;
		/* override wp's important */
		background-color: #0000 !important;
		background-image: linear-gradient(
			var(--c-dim) 35%,
			var(--c-bg) calc(100% - 1em)
		);
	}
.is-style-overlay-gradient:has(.wp-block-cover__inner-container:empty) .has-background-dim, .is-style-overlay-gradient:has(.wp-block-cover__inner-container > .is-framed:only-child:empty) .has-background-dim {
			/* override wp's important */
			background-color: #0000 !important;
		}
@media (max-width: 599px) {
			:is(.hero, header) .is-style-overlay-gradient::before {
				content: "";
				position: absolute;
				z-index: 10;
				inset: 0 0 calc(100% - 7em) 0;
				background-image: linear-gradient(
					var(--c-0-0) 25%,
					transparent
				);
				opacity: 0.8;
			}
		}
:is(.hero, header) .is-style-overlay-gradient > .has-background-dim {
			--c-dim: #0008;
		}

/**
 * Extended column front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
@media (max-width: 768px) {
.is-full-md.wp-block-column.wp-block-column.wp-block-column {
			flex-basis: calc(150% - 1em) !important;
			margin-left: 0
	}
		}

@media (max-width: 781px) {

.is-first-md {
		/* for specificity */
}
		.is-first-md.is-first-md {
			order: -1;
		}
	}

/**
 * Buttons front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */
/* orange with black hover (.is-style-orange-hvr-black) */
:is(.wp-block-button .wp-block-button__link),
.torso button:where(:not(.wp-element-button--basic)),
.wp-element-button:where(:not(.wp-element-button--basic)).wp-element-button,
.wp-block-read-more,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	/* orange with black hover (default) */
	--c-btn-bg: var(--c-1-5);
	--c-btn-bd: transparent;
	--c-btn-txt: var(--c-0-9);
	--c-btn-hvr-bg: var(--c-0-1);
	--c-btn-hvr-bd: transparent;
	--c-btn-hvr-txt: var(--c-0-9);
	/* common styling */
	-webkit-appearance: button;
	text-decoration: none; /* for anchor tags */
	cursor: pointer;
	padding: 0.6em 1.6em;
	border: 0;
	background-color: var(--c-btn-bg);
	font-size: 1.44em;
	text-decoration: none;
	text-align: center;
	box-shadow: 0 0 0 2px inset var(--c-btn-bd);
	border-radius: 99em;
	color: var(--c-btn-txt);
	transition: var(--ani-speed);
}
:is(.wp-block-button .wp-block-button__link):hover, .torso button:where(:not(.wp-element-button--basic)):hover, .wp-element-button:where(:not(.wp-element-button--basic)).wp-element-button:hover, .wp-block-read-more:hover, html input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
		background-color: var(--c-btn-hvr-bg);
		color: var(--c-btn-hvr-txt);
		box-shadow: 0 0 0 2px inset var(--c-btn-hvr-bd);
	}
/* white with black hover */
:is(.is-style-white-hvr-black .wp-block-button__link),
:is(a, button, .wp-element-button).is-style-white-hvr-black {
	--c-btn-bg: var(--c-0-9);
	--c-btn-bd: transparent;
	--c-btn-txt: var(--c-0-1);
	--c-btn-hvr-bg: var(--c-0-1);
	--c-btn-hvr-bd: transparent;
	--c-btn-hvr-txt: var(--c-0-9);
}
/* white with white outline hover */
:is(.is-style-white-hvr-outline .wp-block-button__link),
:is(a, button, .wp-element-button).is-style-white-hvr-outline {
	--c-btn-bg: var(--c-0-9);
	--c-btn-bd: transparent;
	--c-btn-txt: var(--c-0-1);
	--c-btn-hvr-bg: transparent;
	--c-btn-hvr-bd: var(--c-0-5);
	--c-btn-hvr-txt: var(--c-0-9);
}
/* black outline with black hover */
:is(.is-style-outline-hvr-black .wp-block-button__link),
:is(a, button, .wp-element-button).is-style-outline-hvr-black {
	--c-btn-bg: transparent;
	--c-btn-bd: var(--c-0-1);
	--c-btn-txt: var(--c-0-1);
	--c-btn-hvr-bg: var(--c-0-1);
	--c-btn-hvr-bd: var(--c-0-1);
	--c-btn-hvr-txt: var(--c-0-9);
}

/* plus version of button */
.wp-block-post-excerpt__more-link,
:is(.is-style-plus-hvr-plus-orange .wp-block-button__link),
:is(a, button, .wp-element-button).is-style-plus-hvr-plus-orange {
	--c-btn-bg: transparent;
	--c-btn-bd: transparent;
	--c-btn-txt: currentColor;
	--c-btn-hvr-bg: transparent;
	--c-btn-hvr-bd: transparent;
	--c-btn-hvr-txt: currentColor;
	position: relative;
	padding: 0 1.6em 0 0;
	text-align: left;
}
.wp-block-post-excerpt__more-link:hover::after, :is(.is-style-plus-hvr-plus-orange .wp-block-button__link):hover::after, :is(a, button, .wp-element-button).is-style-plus-hvr-plus-orange:hover::after {
			background-color: var(--c-1-5);
		}
.wp-block-post-excerpt__more-link::after, :is(.is-style-plus-hvr-plus-orange .wp-block-button__link)::after, :is(a, button, .wp-element-button).is-style-plus-hvr-plus-orange::after {
		content: "";
		position: absolute;
		bottom: 0.25em;
		right: 1px;
		width: 0.9em;
		aspect-ratio: 1;
		background-color: currentColor;
		background-image: linear-gradient(var(--c-bg) 0 0),
			linear-gradient(var(--c-bg) 0 0);
		background-position: center;
		background-size:
			50% 2px,
			2px 50%;
		background-repeat: no-repeat;
		border-radius: 50%;
		transition: background-color var(--ani-speed);
		will-change: transform;
	}
/* plus symbol after */
:where(.has-plus-minus) {
	--c-bg-plus-minus: var(--c-0-9);
	--c-fg-plus-minus: var(--c-1-5);
	position: relative;
}
:where(.has-plus-minus)::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		width: 1em;
		height: 1em;
		border-radius: 50%;
		background-color: var(--c-bg-plus-minus);
		background-repeat: no-repeat;
		background-position: center;
		transform: translateY(-50%);
		font-size: 0.67em;
		transition-property: transform, background-size;
		transition-duration: var(--ani-speed);
		/* prettier-ignore */
		background-image:
			linear-gradient(var(--c-fg-plus-minus), var(--c-fg-plus-minus)),
			linear-gradient(var(--c-fg-plus-minus), var(--c-fg-plus-minus));
		background-size:
			2px 0.3em,
			0.3em 2px;
	}
:where(.has-plus-minus)[aria-expanded="true"]::before {
			transform: rotate(180deg) translateY(50%);
			background-size:
				2px 0,
				0.3em 2px;
		}
/* extra large version of button */
:is(.is-style-xl .wp-block-button__link),
:is(a, button, .wp-element-button).is-style-xl {
	--c-btn-bg: transparent;
	--c-btn-bd: transparent;
	--c-btn-txt: currentColor;
	--c-btn-hvr-bg: transparent;
	--c-btn-hvr-bd: transparent;
	--c-btn-hvr-txt: currentColor;

	position: relative;
	width: 100%;
	padding: 0 1em 0.5em 0;
	border-bottom: 1px solid currentColor;
	font-size: var(--fs-h2);
	text-transform: uppercase;
	text-align: left;
	border-radius: 0;
}
:is(.is-style-xl .wp-block-button__link):not(:hover, :focus)::after, :is(a, button, .wp-element-button).is-style-xl:not(:hover, :focus)::after {
			opacity: 0;
		}
:is(.is-style-xl .wp-block-button__link)::after, :is(a, button, .wp-element-button).is-style-xl::after {
		content: "";
		position: absolute;
		bottom: 0.9em;
		right: 1px;
		width: 0.7em;
		aspect-ratio: 1;
		background-color: var(--c-1-5);
		mask-repeat: no-repeat;
		mask-image: url(../images/arrow.8216ea69.svg);
		transform: rotate(-90deg);
		transition-duration: var(--ani-speed);
		transition-property: background-color, opacity;
	}
.has-text-color :is(.is-style-xl .wp-block-button__link)::after, .has-text-color :is(a, button, .wp-element-button).is-style-xl::after {
			background-color: currentColor;
			opacity: 0.6;
		}
.has-text-color :is(.is-style-xl .wp-block-button__link):focus::after, .has-text-color :is(.is-style-xl .wp-block-button__link):hover::after, .has-text-color :is(a, button, .wp-element-button).is-style-xl:focus::after, .has-text-color :is(a, button, .wp-element-button).is-style-xl:hover::after {
				opacity: 1;
			}
.wp-block-button.is-style-xl:not([class*="wp-block-button__width"]) {
	width: 100%;
}
/* close button */
/* for specificity */
.button--close.button--close {
		width: 2em;
		height: 2em;
		padding: 0;
	}
.button--close.button--close,
		.button--close.button--close:hover {
			color: transparent;
		}
.button--close.button--close::before {
			content: "";
			position: absolute;
			inset: 0;
			background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 24 24%27%3E%3Cpath fill=%27%23fff%27 fill-rule=%27evenodd%27 d=%27M24 13.5H0v-3h24v3Z%27 clip-rule=%27evenodd%27/%3E%3Cpath fill=%27%23fff%27 fill-rule=%27evenodd%27 d=%27M13.5 0v24h-3V0h3Z%27 clip-rule=%27evenodd%27/%3E%3C/svg%3E");
			background-size: 0.8em;
			background-repeat: no-repeat;
			background-position: center;
			transform: rotate(45deg);
		}

/**
 * Normalize.css v3.0.0 | MIT License | git.io/normalize
 */
button {
	overflow: visible;
	color: inherit;
	font: inherit;
	margin: 0;
	text-transform: none;
}
button[disabled] {
		cursor: default;
	}
button * -moz-focus-inner {
		border: 0;
		padding: 0;
	}

/**
 * Viewport-based animations.
 *
 * .ani animations occur once an element enters the
 * viewport, then reset immediatly after that element
 * has left the viewport so it's ready to reanimate.
 *
 * .ani--load animations activate once on page load,
 * and won't reanimate if you scroll away from then
 * then back again—very useful for hero animations.
 *
 * In addition to the built-in animations, you can add
 * your own. Example:
 *
.ani:not(.is-shown) {
	--ani-custom-transform: skewX(10deg);
	--ani-custom-filter:
		drop-shadow(5px 5px 0 red)
		hue-rotate(220deg)
		drop-shadow(-5px -5px 0 red);
}
 */
.ani--load,
.ani {
	--ani-blur: 0;
	--ani-opacity: 100%;
	--ani-custom-filter: ;
	--ani-x: 0;
	--ani-y: 0;
	--ani-perspective: 0px;
	--ani-rotate-x: 0deg;
	--ani-rotate: 0deg;
	--ani-z: 0;
	--ani-scale-x: 1;
	--ani-scale-y: 1;
	/* prettier-ignore */
	transition-delay: calc(
		var(--ani-delay-increment)
		* var(--ani-delay-factor)
		+ var(--ani-delay-offset)
	);
	transition-duration: var(--ani-duration);
	transition-timing-function: var(--ani-timing-function);
	transition-property: var(--ani-property);
	will-change: transform;
}
/*&, / *DEBUG*/
.ani--load:not(.is-shown), .ani:not(.is-shown) {
		transition: 0s 0s;
		/* prettier-ignore */
		filter:
			blur(var(--ani-blur))
			opacity(var(--ani-opacity))
			var(--ani-custom-filter);
		/* prettier-ignore */
		transform:
			 translateX(var(--ani-x))
			 translateY(var(--ani-y))
			 perspective(var(--ani-perspective))
			 rotateX(var(--ani-rotate-x))
			 rotate(var(--ani-rotate))
			 translateZ(var(--ani-z))
			 scale(var(--ani-scale-x), var(--ani-scale-y))
			 var(--ani-custom-transform, );
	}
.ani--load.ani--opacity, .ani.ani--opacity {
		--ani-opacity: 0%;
	}
.ani--load.ani--scale, .ani.ani--scale {
		--ani-scale-x: 0.8;
		--ani-scale-y: var(--ani-scale-x);
	}
.ani--load.ani--scale-x, .ani.ani--scale-x {
		--ani-scale-x: 0;
	}
.ani--load.ani--blur, .ani.ani--blur {
		--ani-blur: 0.25rem;
	}
.ani--load.ani--up, .ani.ani--up {
		--ani-y: 1.5rem;
	}
.ani--load.ani--down, .ani.ani--down {
		--ani-y: -1.5rem;
	}
.ani--load.ani--left, .ani.ani--left {
		--ani-x: 1.5rem;
	}
.ani--load.ani--right, .ani.ani--right {
		--ani-x: -1.5rem;
	}
.ani--load.ani--3d, .ani.ani--3d {
		--ani-perspective: 8em;
		--ani-rotate-x: 12deg;
		--ani-rotate: -2deg;
		--ani-z: 1.5em;
	}

/* custom */
.ani--glitch,
	.ani--glitch:not(.is-shown) {
		--glitch: 3px;
		--glitch-: calc(-1 * var(--glitch));
		--ani-custom-filter: drop-shadow(
				var(--glitch) var(--glitch) 0 var(--c-1-5)
			)
			drop-shadow(var(--glitch-) var(--glitch-) 0 var(--c-3-5));
		--ani-custom-transform: rotate(-0.5deg);
		transform-origin: 50% 100%;
	}
.torso > .wp-block-group[style*="radius"],
.media-overlap > .wp-block-group[style*="radius"],
.site-footer__frame {
	/* prettier-ignore */
	transition-delay: 0.5s, calc(
		var(--ani-delay-increment)
		* var(--ani-delay-factor)
		+ var(--ani-delay-offset)
	);
	transition-duration: 2s, var(--ani-duration);
	transition-property: border-radius, var(--ani-property);
}
.torso > .wp-block-group[style*="radius"]:not(.is-shown), .media-overlap > .wp-block-group[style*="radius"]:not(.is-shown), .site-footer__frame:not(.is-shown) {
		/* override inline style */
		border-top-right-radius: 0.3em !important;
		border-top-left-radius: 0.3em !important;
	}

/**
 * Scroll-based animation.
 *
 * These animations occur fluidly as you scroll down the page,
 * sort of like you're scrubbing through a video. It only handles Cover blocks
 * by default, but --ani-plx is simply going from 0 to 1 as an element enters
 * then leaves the viewport (e.g. --ani-plx is 0.5 when an element is scrolled
 * 50% into the viewport); so, you can use it for a wide variety of other animations
 * using calc() functions.
 * 
 */
.ani--parallax:is(.wp-block-cover) {
		--parallax-size: 100px;
		overflow: hidden;
		transition: 0s;
	}
.ani--parallax:is(.wp-block-cover) .wp-block-cover__video-background,
		.ani--parallax:is(.wp-block-cover) .wp-block-cover__image-background {
			height: calc(100% + var(--parallax-size));
			will-change: transform;
			/* prettier-ignore */
			transform: translate3d(0,calc(var(--parallax-size) * var(--ani-plx) - var(--parallax-size)), 0);
		}
.ani--parallax:is(.wp-block-cover) .wp-block-cover__video-background > img,
			.ani--parallax:is(.wp-block-cover) .wp-block-cover__video-background > video,
			.ani--parallax:is(.wp-block-cover) .wp-block-cover__image-background > img,
			.ani--parallax:is(.wp-block-cover) .wp-block-cover__image-background > video {
				height: 100%;
				object-fit: cover;
			}

/**
 * Background (and foreground) animations.
 *
 * Applying this background animation to an element
 * essentially treats its background color, image, or
 * video as if it were background-attachment:fixed. The
 * foreground option is similar, but puts that background
 * overlapping adjacent content, sort of like a position:fixed
 * popup.
 */
.ani--foreground,
.ani--background {
	--ani-delay-offset: 0.8s;
	position: relative;
	z-index: 20;
}
.ani--foreground:is(header).is-loaded,
	.ani--foreground:not(:is(header)),
	.ani--background:is(header).is-loaded,
	.ani--background:not(:is(header)) {
		background: none !important; /* !important overrides wp default */
	}
.ani--foreground > *, .ani--background > * {
		position: relative;
		z-index: 20;
		transition: 1s;
	}
.ani--foreground:not(.is-shown-bg) > * {
		opacity: 0;
	}

/* this is a sort of fake background-attachment:fixed element */
.background-color-block {
	pointer-events: none;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	background-color: transparent;
	will-change: transform;
	transition: calc(var(--ani-speed) * 2);
	/* override WordPresss's labotimized owl */
	margin: 0 !important;
}
/* override too-specific WordPress cover block styling */
.background-color-block.background-color-block {
		position: fixed;
	}
.background-color-block.background-color-block * {
			max-width: 100%;
		}
.background-color-block > * {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		max-width: none;
		object-fit: cover;
	}
.background-color-block > *.wp-block-cover__gradient-background {
			z-index: 1;
		}
.background-color-block:not(.active) {
		opacity: 0;
	}
/* for specificity... */
.background-color-block.background-color-block.background-color-block.background-color-block {
		max-width: none;
		width: 100%;
	}
.background-color-block--foreground {
	z-index: 10;
}

/**
 * Extended animation front-end global styling
 *
 * Defines front-end styling. All theme.css files
 * like this one load globally on the front-end.
 */

/* animate items when they enter the viewport */

/* animate items on scroll (scrubs animation as you scroll) */

/* animate backgrounds (like background-attachment:fixed) and foregrounds (like position:fixed popup) */

/* common default animation custom properties */
:root {
	/* prettier-ignore */
	--ani-duration: calc(var(--ani-speed, 0.375s) * 3), calc(var(--ani-speed, 0.375s) * 2); /* speed of transition effects */
	--ani-timing-function: var(--ani-ease, ease);
	--ani-delay-increment: 0; /* integer for stepped animations */
	--ani-delay-factor: 0.05s; /* duration of each increment step */
	--ani-delay-offset: 0.15s; /* start delay (so ani don't start at very bottom of screen) */
	--ani-property: filter, transform; /* properties to animate */
}

/* turn off animations if the user says they don't want them */
@media (prefers-reduced-motion) {
	.ani {
		--ani-opacity: 1;
		--ani-scale-x: 1;
		--ani-scale-y: 1;
		--ani-blur: 0;
		--ani-y: 0;
		--ani-x: 0;
		--ani-z: 0;
		--ani-perspective: 0;
		--ani-rotate-x: 0deg;
		--ani-rotate: 0deg;
	}
	*,
	*::before,
	*::after {
		transition: 0s !important;
		animation-duration: 0s !important;
	}
}

/**
 * CSS Custom Properties
 * 
 * Note that many of these are fed into the
 * theme.json file, allowing you to control
 * much of the styling via this CSS file.
 * See comments below for details.
 */

/* prettier-ignore */
:root {

	/*
	 * Common Widths
	 */
	 --w: 1440; /* pixel (unitless) medium base width */
	 --w-s: 960px;
	 --w-m: calc(var(--w) * 1px); /* settings.layout.contentSize in theme.json */
	 --w-l: 100%; /* settings.layout.wideSize in theme.json */
	 --w-px: calc(100% - var(--sp-s-rem) * 2); /* 100% screen width minus side (x axis) padding */
	
	/*
	 * Common Spacing
	 *
	 * Use for for margins, padding, gaps, gutters, etc.
	 */
	--sp-s: 40; /* pixel (unitless) desktop value for settings.spacing.spacingSizes.slug=20 in theme.json */
		--sp-s-rem:calc((var(--sp-s)/var(--fs))*1rem);
		--sp-s-em:calc((var(--sp-s)/var(--fs))*1em); /* settings.typography.lineHeight in theme.jsonspacing.padding in theme.json */
	
	--sp-m: 90; /* pixel (unitless) desktop value for settings.spacing.spacingSizes.slug=50 in theme.json */
		--sp-m-rem:calc((var(--sp-m)/var(--fs))*1rem);
		--sp-m-em:calc((var(--sp-m)/var(--fs))*1em);
		--sp-m-clamp: clamp(var(--sp-s-rem), var(--sp-m) / var(--w) * 100vw, var(--sp-m-rem));
	
	--sp-l: 175; /* pixel (unitless) desktop value for settings.spacing.spacingSizes.slug=80 in theme.json */
		--sp-l-rem:calc((var(--sp-l)/var(--fs))*1rem);
		--sp-l-em:calc((var(--sp-l)/var(--fs))*1em);
		--sp-l-clamp: clamp(var(--sp-m-rem), var(--sp-l) / var(--w) * 100vw, var(--sp-l-rem));
	
	/* settings.styles.spacing.blockGap in theme.json */
	--sp-gutter: 80px;

	/*
	 * Common Heights
	 */
	--h-menu: 7.6rem;
	--h-menu-util: 2.2rem;
	--h-menu-under: var(--sp-s-rem); /* standard spacing underneath (if not explicitly overridden) */
	
	/*
	 * Common Font Sizes
	 *
	 * Uses clamp for variable font sizing by default. If you'd rather have more control
	 * per breakpoint, instead use e.g. calc((24 / var(--fs)) * 1em) for a em-based, 24px font.
	 */
	--fs: 18; /* unitless base font sized (used by many other calculations) */
	--fs-px: calc(var(--fs) * 1px); /* base font size in pixels and styles.typography.fontSize in theme.json */

	--fs-h1: clamp(
		42px, /* min in pixels */
		calc( 75 /var(--w)*100vw), /* unitless max */
		75px /* max in pixels */
	);
	--fs-h2: clamp(
		36px,
		calc( 56 /var(--w)*100vw),
		56px
	);
	--fs-h3: clamp(
		32px,
		calc( 40 /var(--w)*100vw),
		40px
	);
	--fs-h4: clamp(
		24px,
		calc( 28 /var(--w)*100vw),
		28px
	);
	--fs-h5: clamp(
		20px,
		calc( 20 /var(--w)*100vw),
		20px
	);
	--fs-h6: clamp(
		12px,
		calc( 14 /var(--w)*100vw),
		14px
	);
	--fs-jumbo: clamp(
		48px,
		15cqi, /*NOTE: caters specifically to the split slide container...*/
		96px
	);
	--fs-big: clamp( /* design says 28px but it doesn't match up with design files */
		18px,
		calc( 22 /var(--w)*100vw),
		22px
	);
	--fs-normal: 1em;
	--fs-small: 11px;

	/**
	 * Common Line Heights
	 */
	--flh-s: 1.2; /* default for headings and faux headings in text-level-semantics.css */
	--flh-m: 1.4; /* styles.typography.lineHeight in theme.json */
	--flh-l: 1.6;

	/*
	 * Common Font Families
	 */
	--ff-1: "Proxima Nova", sans-serif;
	--ff-2: "Archer", serif;
	/* NOTE PROVIDED BUT IN FIGMA: --ff-3: "Proxima Nova Condensed", serif; */
	--ff-3: var(--ff-1);

	/*
	 * Common Animation Defaults
	 */
	--ani-ease: cubic-bezier(0.15, 0.15, 0, 0.95);
	--ani-speed: 0.3s;
	--ani-speed-m: 0.6s;
	--ani-speed-l: 1.2s;

	/*
	 * Common Colors
	 *
	 * Use the format: --<color>-<variant>-<brightness>
	 * For example, --c-2-7 is a lightish version of color two.
	 *
	 * For opacity, use color-mix. For example, to produce
	 * a 0.5 opaque lightish version of color two, use:
	 * background: color-mix(in hsl, var(--c-2-7) 50%, transparent);
	 * (and can use CSS Relative Color Syntax once it's widely supported)
	*/

	--c-1-7: hsl(60, 29%, 97%); /* #fafaf6: linen white */
	--c-1-5: hsl(24, 86.7%, 50%); /* #ee6911: overture orange (was #ef7521 but inaccessible) */
	--c-1-2: hsl(22, 69%, 44%); /* #bf5c23: burnt orange */

	--c-2-7: hsl(196, 40%, 89%); /* #d7e8ee: baby blue (not in design's brand assets) */
	--c-2-5: hsl(191, 57%, 70%); /* #88cede: blue barrymore */
	--c-2-2: hsl(191, 54%, 50%); /* #3babc5: we will rock blue */
	
	--c-3-7: hsl(240, 20%, 98%); /* #f9f9fb: light grey */
	--c-3-5: hsl(68, 67%, 59%); /* #c9dc50: green wilder */
	--c-3-2: hsl(68, 71%, 46%); /* #b4cb22: green simmons */
	
	--c-0-9: hsl(0, 0%, 100%); /* white */
	--c-0-7: hsl(0, 0%, 93%); /* #eeeeee: old web grey (labeled #88cede in design) */
	--c-0-5:hsl(180, 1.9%, 42%); /* #696D6D: gray charles (was #898a8d but inaccessible */
	--c-0-4: hsl(220, 3%, 34%); /* #54565a: x-grey */
	--c-0-3: hsl(216, 4%, 26%); /* #3f4144: xx-grey */
	--c-0-2: hsl(220, 3%, 17%); /* #2a2b2d: xxx-grey */
	--c-0-1: hsl(45, 9%, 9%); /* #191815: burnt mocha (labeled #eff0f5 in design) */
	--c-0-0: hsl(0, 0%, 0%); /* black */

	/* alert colors */
	--c-good: hsl(154, 90%, 41%);
	--c-bad: hsl(6, 74%, 55%);
	--c-meh: hsl(16, 100%, 66%);

	/* defaults */
	--c-default: var(--c-0-1);
	--c-default-bg: var(--c-1-7);

	/* border radius */
	--bd-rad-m: 1.3333em;

	/* shadow */
	--shadow-s: 0 0.3em 0.5em hsl(0deg 0% 0% / 15%);
	--shadow-m: 0.5556em 0.5556em 2.7778em 0 hsl(0deg 0% 0% / 10%);
}
/**
	* Common breakpoints reference
	* 
	* Based on WordPress's _breakpoints.scss file.
	* (NOTE: if using max-width then subtract one)
	*	--bp-huge: 		1440px;
	*	--bp-wide: 		1280px;
	*	--bp-xlarge: 	1080px;
	*	--bp-large: 	960px;	// admin sidebar auto folds
	*	--bp-medium: 	782px;	// admin bar goes big
	*	--bp-small: 	600px;
	*	--bp-mobile: 	480px;
	*	--bp-zoomed-in: 280px;
	*/
/* tablet and smaller */
@media (max-width: 781px) {
:root {
		--fs: 16;
		
		--sp-gutter: 40px
}
	}
/* 13" laptop-ish size */
@media (min-width: 960px) and (max-height: 900px) {
:root {
		--h-menu-under: 0px
}
	}
/* phone and smaller */
@media (max-width: 479px) {
:root {
		--sp-s: 24;
		
		--sp-gutter: 24px;
		
		--h-menu: 4rem;
		--h-menu-util: 0rem;
		--h-menu-under: var(--sp-s-rem) /* standard spacing underneath (if not explicitly overridden) */
	
}}

/**
 * Local Fonts
 *
 * To add local fonts, you should create a font directory as a sibling
 * of this file (e.g. aquamin/assets/global/fonts/my-font-name), add all
 * font files within it, then link to them here.
 *
 * Example:
 *
@font-face {
	font-family: "My Font";
	src: url("./fonts/my-font/my-font.eot");
	src: url("./fonts/my-font/my-font.eot#iefix") format("embedded-opentype"),
		url("./fonts/my-font/my-font.woff2") format("woff2"),
		url("./fonts/my-font/my-font.woff") format("woff"),
		url("./fonts/my-font/my-font.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
 */

@font-face {
	font-family: "Archer";
	src: url(../fonts/archer-bold-italic.4b79cc65.otf) format("opentype");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

/*
NOTE PROVIDED BUT IN FIGMA:
@font-face {
	font-family: "Archer";
	src: url("fonts/archer/archer-medium.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
} */

@font-face {
	font-family: "Proxima Nova";
	src: url(../fonts/proximanova-light.4453293c.woff) format("woff");
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Proxima Nova";
	src: url(../fonts/proximanova-regular.43956828.woff) format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Proxima Nova";
	src: url(../fonts/proximanova-regular-italic.ba30c707.woff)
		format("woff");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "Proxima Nova";
	src: url(../fonts/proximanova-bold.a54f56b4.woff) format("woff");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* NOTE PROVIDED BUT IN FIGMA:
@font-face {
	font-family: "Proxima Nova Condensed";
	src: url("fonts/proxima-nova/proxima-nova-extra-condensed-bold.woff2")
		format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
} */

/**
 * Animations
 */
@keyframes flip-in {
	0% {
		transform: perspective(45em) rotateY(90deg);
	}
	100% {
		transform: perspective(45em) rotateY(0deg);
	}
}
@keyframes flip-out {
	0% {
		transform: perspective(45em) rotateY(0deg);
	}
	100% {
		transform: perspective(45em) rotateY(-90deg);
	}
}

/**
 * Page layout alignments
 *
 * These reset some default WordPress layout quirks
 * that make alignment inconsistent.
 */

/**
 * Fix extreme default background padding.
 *
 * By default, WordPress adds HUGE padding values to things with backgorund
 * colors, which is weird. This removes the top and bottom, then also removes
 * the left and right (unless it's using the .has-global-padding value). Note
 * further that any manually-added inline padding settings on a block will
 * properly override the following resets.
 */
.has-background.has-background {
	padding-top: unset;
	padding-bottom: unset;
}
.has-background.has-background:not(.has-global-padding) {
		padding-left: unset;
		padding-right: unset;
	}

/**
 * Fix block cover padding.
 * 
 * By default, WordPress adds padding:1em all around blocks,
 * so we remove that.
 */
.wp-block-cover.wp-block-cover {
	padding: unset;
}

/**
 * Fix .alignfull blocks within cover blocks.
 * 
 * Blocks within the cover block's content container div
 * don't respect .alignfull. Currently there is no way around
 * this, so use an inner group block with padding instead.
 */

/**
 * Force align stretch.
 * 
 * When e.g. columns are set to stretch, they do... but their immediate
 * children do not, which sorta defeats the purpose. This forces immediate
 * children of stretched blocks to mimic the stretch also.
 */
.is-vertically-aligned-stretch > * {
	height: 100%;
}

/**
 * Adjust layout constrained's forced top margins.
 * 
 * The setting theme.json.styles.spacing.blockGap is used for
 * all default gap spacing (like between column blocks), but
 * is also used between all adjacent root-level blocks, meaning
 * we have to manually set each root block's top margin to our
 * desired value, manually. This lets us apply our desired default.
 */
.torso.is-layout-constrained > :not([style*="margin-top"]), .is-root-container.is-layout-constrained > :not([style*="margin-top"]) {
		margin-block-start: var(--sp-l-clamp);
	}

/**
 * Add default top/bottom margins to first and last block.
 * 
 * This allows us to add default space under a sticky nav and/or above
 * the footer automatically. We can override this by setting a margin
 * manually for the first and/or last block through the block editor.
 */
.torso.is-layout-constrained > *:first-child:not([style*="margin-top"]) {
		/* space below main menu */
		margin-top: var(--h-menu);
	}
/* overlap footer's rounded corners with the last block */
.torso.is-layout-constrained > *:last-child:not([style*="padding-bottom"], [style*="margin-bottom"]) {
			padding-bottom: 24px;
		}
.torso.is-layout-constrained > *:last-child:not([style*="margin-bottom"]) {
			margin-bottom: -24px;
		}

/**
 * Base
 *
 * Normalize.css v3.0.0 | MIT License | git.io/normalize
 */
html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
}
*,
*:before,
*:after {
	box-sizing: border-box;
}
.site-content {
	overflow-x: clip;
}
/**
 * Common global classes
 */

/**
 * Text-Related
 */
.has-align-center {
	text-align: center;
}
.has-align-right {
	text-align: right;
}
.has-align-left {
	text-align: left;
}
.has-align-full {
	display: block;
}
.has-nowrap {
	white-space: nowrap;
}
.has-forced-inline,
	.has-forced-inline.is-layout-flex {
		display: block;
	}
.has-forced-inline > * {
		display: inline;
	}
.has-forced-inline > .lottie {
		display: inline-block;
		vertical-align: top;
	}

/**
 * Special/Non-Reusable
 */
.has-wink .lottie dotlottie-player {
			transform: translateY(0.07em);
			/* override inline styles */
			aspect-ratio: 556 / 700 !important;
			height: auto !important;
			width: 0.8em !important;
		}
.has-wink h2 + .lottie {
		font-size: var(--fs-h2);
	}
.z-index-10 {
	z-index: 10;
}

/**
 * Embedded Content
 *
 * Normalize.css v3.0.0 | MIT License | git.io/normalize
 */
img {
	max-width: 100%;
	height: auto;
	border: 0;
}
svg:not(:root) {
	overflow: hidden;
}

/**
 * Forms
 *
 * Normalize.css v3.0.0 | MIT License | git.io/normalize
 */
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}
select {
	appearance: none;
	text-transform: none;
	cursor: pointer;
	padding: 0.6em 2.3em 0.6em 1.5em;
	border: 0;
	background-color: var(--c-bg);
	font-size: 1.44em;
	text-decoration: none;
	text-align: center;
	box-shadow: 0 0 0 2px inset currentColor;
	border-radius: 99em;
	color: currentColor;
	background-size: 1em 1em;
	background-position: calc(100% - 0.7em) center;
	background-repeat: no-repeat;
	background-image: url(../images/arrow.8216ea69.svg);
	transition-duration: var(--ani-speed);
	transition-property: filter, box-shadow;
	text-align: left;
}
select:hover {
		filter: invert(1);
		box-shadow: 0 0 0 0 inset currentColor;
	}
html input[disabled] {
	cursor: default;
}
label {
	display: block;
	margin-bottom: 0.5em;
	font-weight: bold;
}
input * -moz-focus-inner {
	border: 0;
	padding: 0;
}
textarea,
input[type="text"],
input[type="password"],
input[type="search"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"] {
	width: 100%;
	margin-bottom: 1em;
	padding: 0.8em 0.5em;
	border: 1px solid color-mix(in hsl, var(--c-0-5), transparent);
	border-radius: 0.2em;
	/* &::placeholder {} */
	/* &:focus::placeholder {} */
}
textarea:disabled, input[type="text"]:disabled, input[type="password"]:disabled, input[type="search"]:disabled, input[type="email"]:disabled, input[type="url"]:disabled, input[type="tel"]:disabled, input[type="number"]:disabled, input[type="range"]:disabled, input[type="date"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="time"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled {
		opacity: 0.4;
		pointer-events: none;
	}
input {
	line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
input[type="number"] * -webkit-inner-spin-button,
input[type="number"] * -webkit-outer-spin-button {
	height: auto;
}
input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}
input[type="search"] * -webkit-search-cancel-button,
input[type="search"] * -webkit-search-decoration {
	-webkit-appearance: none;
}
fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}
legend {
	border: 0;
	padding: 0;
}
textarea {
	overflow: auto;
}
optgroup {
	font-weight: bold;
}

/**
 * Grouping Content
 *
 * Normalize.css v3.0.0 | MIT License | git.io/normalize
 */
hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
}
pre {
	overflow: auto;
}
code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * HTML5 Display Definitions
 *
 * Normalize.css v3.0.0 | MIT License | git.io/normalize
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
	display: block;
}
audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
[hidden],
template {
	display: none;
}

/**
 * Links
 *
 * Normalize.css v3.0.0 | MIT License | git.io/normalize
 */
a {
	color: var(--c-1-5);
	transition: color var(--ani-speed);
}
a:link,
	a:visited {
		text-decoration: none;
		background: transparent;
	}
a:hover,
	a:focus {
		color: var(--c-3-2);
	}
a:active,
	a:hover {
		outline: 0;
	}
:is(.is-body-color-link, .is-body-color-link a):not(:hover) {
	color: inherit;
}

/**
 * Lists
 */

/**
 * Tables
 *
 * Normalize.css v3.0.0 | MIT License | git.io/normalize
 */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td,
th {
	padding: 0;
}
/**
 * Text Level Semantics
 *
 * Normalize.css v3.0.0 | MIT License | git.io/normalize
 */
html {
	font-size: var(--fs-px);
}
abbr[title] {
	border-bottom: none;
	cursor: inherit;
	text-decoration: none;
}
b,
strong {
	font-weight: bold;
}
dfn {
	font-style: italic;
}
:is(h1, .has-h-1-font-size, .h1),
:is(h2, .has-h-2-font-size, .h2),
:is(h3, .has-h-3-font-size, .h3),
:is(h4, .has-h-4-font-size, .h4),
:is(h5, .has-h-5-font-size, .h5),
:is(h6, .has-h-6-font-size, .h6) {
	font-weight: 700;
	line-height: 100%;
	font-family: var(--ff-1);
}
/* required to override block editor's "block spacing" */
:where(.torso, .is-root-container) :is(h1, .has-h-1-font-size, .h1), :where(.torso, .is-root-container) :is(h2, .has-h-2-font-size, .h2), :where(.torso, .is-root-container) :is(h3, .has-h-3-font-size, .h3), :where(.torso, .is-root-container) :is(h4, .has-h-4-font-size, .h4), :where(.torso, .is-root-container) :is(h5, .has-h-5-font-size, .h5), :where(.torso, .is-root-container) :is(h6, .has-h-6-font-size, .h6) {
		margin-top: 0.5em;
	}
:where(.torso, .is-root-container) :is(h1, .has-h-1-font-size, .h1):first-child, :where(.torso, .is-root-container) :is(h2, .has-h-2-font-size, .h2):first-child, :where(.torso, .is-root-container) :is(h3, .has-h-3-font-size, .h3):first-child, :where(.torso, .is-root-container) :is(h4, .has-h-4-font-size, .h4):first-child, :where(.torso, .is-root-container) :is(h5, .has-h-5-font-size, .h5):first-child, :where(.torso, .is-root-container) :is(h6, .has-h-6-font-size, .h6):first-child {
			margin-top: 0;
		}
:where(.torso, .is-root-container) :is(h1, .has-h-1-font-size, .h1):last-child, :where(.torso, .is-root-container) :is(h2, .has-h-2-font-size, .h2):last-child, :where(.torso, .is-root-container) :is(h3, .has-h-3-font-size, .h3):last-child, :where(.torso, .is-root-container) :is(h4, .has-h-4-font-size, .h4):last-child, :where(.torso, .is-root-container) :is(h5, .has-h-5-font-size, .h5):last-child, :where(.torso, .is-root-container) :is(h6, .has-h-6-font-size, .h6):last-child {
			margin-bottom: 0;
		}
:is(h1, .has-h-1-font-size, .h1) em, :is(h2, .has-h-2-font-size, .h2) em, :is(h3, .has-h-3-font-size, .h3) em, :is(h4, .has-h-4-font-size, .h4) em, :is(h5, .has-h-5-font-size, .h5) em, :is(h6, .has-h-6-font-size, .h6) em {
		font-family: var(--ff-2);
	}
:is(h1, .has-h-1-font-size, .h1) strong, :is(h2, .has-h-2-font-size, .h2) strong, :is(h3, .has-h-3-font-size, .h3) strong, :is(h4, .has-h-4-font-size, .h4) strong, :is(h5, .has-h-5-font-size, .h5) strong, :is(h6, .has-h-6-font-size, .h6) strong {
		font-weight: 100;
	}
:is(h1, .has-h-1-font-size, .h1) {
	font-size: var(--fs-h1);
}
:is(h1, .has-h-1-font-size, .h1) :is(strong em, em strong) {
		font-size: 1.066667em;
	}
:is(h2, .has-h-2-font-size, .h2) {
	font-size: var(--fs-h2);
	line-height: 110%;
}
:is(h3, .has-h-3-font-size, .h3) {
	font-size: var(--fs-h3);
	line-height: 110%;
}
:is(h4, .has-h-4-font-size, .h4) {
	font-size: var(--fs-h4);
	line-height: var(--flh-m);
}
:is(h5, .has-h-5-font-size, .h5) {
	font-size: var(--fs-h5);
	line-height: 110%;
}
:is(h6, .has-h-6-font-size, .h6) {
	font-size: var(--fs-h6);
}
.has-jumbo-font-size {
	font-weight: 100;
}
.has-jumbo-font-size :is(strong em, em strong) {
		font-size: 1.066667em;
	}
:is(big, .has-big-font-size) {
	font-size: var(--fs-big, 120%);
	line-height: 160%;
}
:is(small, .has-small-font-size) {
	font-size: var(--fs-small, 80%);
	line-height: 120%;
}
p {
	margin-top: 0;
}
/* required to override block editor's "block spacing" */
:is(.torso, .is-root-container) p {
		margin-bottom: 1em;
	}
:is(.torso, .is-root-container) p:last-child {
			margin-bottom: 0;
		}
mark {
	background: #ff0;
	color: #000;
}
code {
	background-color: #eee;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
blockquote {
	padding-left: min(var(--sp-m-rem), 5vw);
	border-left: 1px solid var(--c-1-5);
	font-size: 2em;
	line-height: 1.37;
	font-family: var(--ff-2);
}
blockquote p:last-of-type {
		margin-bottom: 0;
	}
.wp-block-quote__citation,
.wp-block-pullquote__citation,
cite {
	font-size: 1.1rem;
	font-family: var(--ff-1);
	font-style: normal;
}
.wp-block-quote__citation strong, .wp-block-pullquote__citation strong, cite strong {
		font-size: 2rem;
	}
.wp-block-quote__citation br, .wp-block-pullquote__citation br, cite br {
		content: "";
		display: block;
		margin-top: 1.2rem;
	}

/**
 * Core front-end global styling
 *
 * High level front-end stuff goes here, like custom
 * properites, @keyframes, etc. All theme.css files
 * like this one load globally on the front-end.
 */

