/*
Theme Name:		Perpetuu child of Ollie
Description:	Developed by Matt Cram and TJ Noel for Perpetuu
Author: 		Matt Cram and TJ Noel
Author URI:		https://gallant.studio
Template: 		ollie
Version: 		1.2.4
Text Domain: 	perpetuu
*/



/* =========================================================
   01 FOUNDATION / TOKENS
========================================================= */

/* =========================================================
	Root Variables - However, most are setup in the JSON file
========================================================= */

:root {
	--anchor-offset: 109px;

	--list-item-spacing: 0.65em;
	--pattern-bars-tile: 120px;

	--bleed-right-focal-point-x: 50%;
	--bleed-right-focal-point-y: 50%;
	--bleed-left-focal-point-x: 50%;
	--bleed-left-focal-point-y: 50%;

	--color-primary: var(--wp--preset--color--main);
	--color-blue-plus-1: var(--wp--preset--color--blue-plus-1);

	/* Font Families: General but established in theme.json */
	--global-font-family-body: var(--wp--preset--font-family--primary);
	--global-font-family-heading: var(--wp--preset--font-family--heading);

	/* Font Sizes: Aligned with theme.json font size presets */
	--global-font-size-12px: 0.75rem;
	--global-font-size-13px: 0.8125rem;
	--global-font-size-14px: 0.875rem;
	--global-font-size-16px: 1rem;
	--global-font-size-18px: 1.125rem;
	--global-font-size-24px: 1.5rem;
	--global-font-size-32px: 2rem;
	--global-font-size-36px: 2.25rem;
	--global-font-size-48px: 3rem;
	--global-font-size-64px: 4rem;
	--global-font-size-72px: 4.5rem;
	--global-font-size-96px: 6rem;

	/* Font Weights:  Aligned with theme.json custom fontWeight values */
	--global-font-weight-thin: 100;
	--global-font-weight-extra-light: 200;
	--global-font-weight-light: 300;
	--global-font-weight-regular: 400;
	--global-font-weight-medium: 500;
	--global-font-weight-semibold: 600;
	--global-font-weight-bold: 700;
	--global-font-weight-extra-bold: 800;
	--global-font-weight-black: 900;

	/* Line Heights */
	--global-line-height-none: 1;
	--global-line-height-tight: 1.1;
	--global-line-height-snug: 1.2;
	--global-line-height-body: 1.5;
	--global-line-height-relaxed: 1.625;
	--global-line-height-loose: 2;

}
/* 
=========================================================
	Sticky Footer / Short Page Layout
	Keeps footer anchored to bottom on pages with little content
========================================================= 
*/

html,
body {
	min-height: 100%;
}

body {
	min-height: 100dvh;
}

.wp-site-blocks {
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks > main {
	flex: 1 0 auto;
}

.wp-site-blocks > footer,
.wp-site-blocks > .site-footer,
.wp-site-blocks > .wp-block-template-part:has(footer) {
	flex-shrink: 0;
}
/* 
=========================================================
   HTML / Stabilize the scrollbar
   Prevent layout shift when mobile menu/modal disables scrolling
========================================================= 
*/

html {
	scrollbar-gutter: stable;
}

@supports not (scrollbar-gutter: stable) {
	html.has-modal-open,
	body.has-modal-open {
		overflow-y: scroll;
	}
}
/* ===================
   Ollie Overwrites Or 
   Styles - Base
=====================*/

.site-header {
	background-color: #fff;
}

.header-button{
	text-transform: none;
	font-size: var(--global-font-size-14px);
	font-weight: var(--global-font-weight-regular);
}
/* 
=========================================================
	Section Groups / Covers: remove automatic WP block gap
	between adjacent full-width sections
========================================================= 
*/

.entry-content > :is(.wp-block-group.alignfull, .wp-block-cover.alignfull),
.wp-block-post-content > :is(.wp-block-group.alignfull, .wp-block-cover.alignfull),
main > :is(.wp-block-group.alignfull, .wp-block-cover.alignfull) {
	margin-block-start: 0;
}

/* Adjacent full-width sections */
.entry-content > :is(.wp-block-group.alignfull, .wp-block-cover.alignfull)
	+ :is(.wp-block-group.alignfull, .wp-block-cover.alignfull),
.wp-block-post-content > :is(.wp-block-group.alignfull, .wp-block-cover.alignfull)
	+ :is(.wp-block-group.alignfull, .wp-block-cover.alignfull),
main > :is(.wp-block-group.alignfull, .wp-block-cover.alignfull)
	+ :is(.wp-block-group.alignfull, .wp-block-cover.alignfull) {
	margin-block-start: 0;
}
/* 
=========================================================
   Captions
========================================================= 
*/

figcaption,
.wp-element-caption,
.wp-block-image figcaption,
.wp-block-image .wp-element-caption,
.wp-block-video figcaption,
.wp-block-video .wp-element-caption {
	margin-top: 0.5rem;
	margin-bottom: 0;
	text-align: left;
	color: var(--wp--preset--color--main, #47478F);
	font-family: var(--wp--preset--font-family--primary);
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	text-transform: none;
}
/* -----------------------------------------
 	Core List Items Block (Overrides)
------------------------------------------ */

.entry-content ul li,
.entry-content ol li,
.wp-block-post-content ul li,
.wp-block-post-content ol li {
  	margin-bottom: var(--list-item-spacing) !important;
}
/* -----------------------------------------
 	Core Video Block
------------------------------------------ */

/* Video caption styling */
.wp-block-video figcaption,
.wp-block-video .wp-element-caption {
	text-align: left;
	text-transform: uppercase;
	font-size: 1.125rem;
	font-family: var(--wp--preset--font-family--primary);
}


/* =========================================================
   02 HEADER / NAVIGATION
========================================================= */

/* =========================================================
   Typography: keep heading "bold" visually consistent
   - Heading defaults are Plus Jakarta Sans 700; preserve that even when editors bold a word
   - Body copy still uses real bold (Plus Jakarta Sans 700)
========================================================= */

:is(h1, h2, h3, h4, h5, h6, .wp-block-heading) :is(strong, b) {
	font-weight: inherit;
}

/* Header + Footer navigation should be Plus Jakarta Sans Regular. */
header :is(.wp-block-navigation, nav) :is(.wp-block-navigation-item__content, a),
footer :is(.wp-block-navigation, nav) :is(.wp-block-navigation-item__content, a) {
	font-weight: 400;
}

/* Figma Header V2: normal-case 14px navigation, independent from the Footer. */
header .wp-block-navigation {
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--primary, #272755);
	text-transform: none;
}

header .wp-block-navigation-item__content,
header .wp-block-navigation-item__label {
	font: inherit;
	letter-spacing: inherit;
	color: inherit;
	text-transform: none;
}

@media (min-width: 1100px) {
	header .wp-block-navigation__container {
		gap: 30px;
	}
}

/* Site logo: ensure SVG/img fills its wrapper width. */
.wp-block-site-logo a,
.wp-block-site-logo img,
.wp-block-site-logo svg {
	max-width: 100%;
	width: 100%;
	height: auto;
}

/* 
=========================================================
   Navigation Link Hover Underline
   Header & Footer

   Header:
   - Excludes .header-nav-button because Contact is styled as a button

   Footer:
   - Treats all nav links normally, including Contact
========================================================= 
*/

@media (min-width: 1100px) {

	/* Header regular nav links only */
	header .wp-block-navigation-item:not(.header-nav-button) > .wp-block-navigation-item__content {
		text-decoration-line: none !important;
		text-decoration-thickness: 2px;
		text-underline-offset: 0.7em;
		text-decoration-color: currentColor;
	}

	/* Footer all nav links, including Contact */
	footer .wp-block-navigation-item > .wp-block-navigation-item__content {
		text-decoration-line: none !important;
		text-decoration-thickness: 2px;
		text-underline-offset: 0.7em;
		text-decoration-color: currentColor;
	}

	/* Header hover/current state, excluding Contact button */
	header .wp-block-navigation-item:not(.header-nav-button) > .wp-block-navigation-item__content:hover,
	header .wp-block-navigation-item:not(.header-nav-button) > .wp-block-navigation-item__content:focus-visible,
	header .wp-block-navigation-item:not(.header-nav-button).current-menu-item > .wp-block-navigation-item__content,
	header .wp-block-navigation-item:not(.header-nav-button) > .wp-block-navigation-item__content[aria-current="page"] {
		text-decoration-line: underline !important;
		text-decoration-thickness: 2px;
		text-underline-offset: 0.8em;
		text-decoration-color: currentColor;
	}

	/* Footer interaction state, including Contact; current pages remain unmarked. */
	footer .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
	footer .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible {
		text-decoration-line: underline !important;
		text-decoration-thickness: 2px;
		text-underline-offset: 0.8em;
		text-decoration-color: currentColor;
	}

	/* Keep only the HEADER Contact nav item from getting underline */
	header .wp-block-navigation-item.header-nav-button > .wp-block-navigation-item__content,
	header .wp-block-navigation-item.header-nav-button > .wp-block-navigation-item__content:hover,
	header .wp-block-navigation-item.header-nav-button > .wp-block-navigation-item__content:focus-visible {
		text-decoration: none !important;
	}
}
/* 
=========================================================
	Header Navigation - Contact Button
	Class goes on nav item:
	header-nav-button
========================================================= 
*/

@media (min-width: 1100px) {

	header .wp-block-navigation-item.header-nav-button > .wp-block-navigation-item__content {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		min-height: 50px;
		padding: 0 20px !important;

		background-color: var(--wp--preset--color--primary-alt, #006699) !important;
		color: var(--wp--preset--color--base, #FFFFFF) !important;
		border: 1px solid var(--wp--preset--color--primary-alt, #006699) !important;

		font-size: var(--wp--preset--font-size--small, 0.875rem);
		font-weight: 400;
		line-height: 1.2 !important;
		letter-spacing: 0.02em;
		text-transform: none;
		text-decoration: none !important;
		border-bottom-color: var(--wp--preset--color--primary-alt, #006699) !important;
	}

	/* Disable the normal nav hover box/underline treatment */
	header .wp-block-navigation-item.header-nav-button > .wp-block-navigation-item__content::after {
		display: none !important;
		content: none !important;
		opacity: 0 !important;
	}

	/* Hover / focus */
	header .wp-block-navigation-item.header-nav-button > .wp-block-navigation-item__content:hover,
	header .wp-block-navigation-item.header-nav-button > .wp-block-navigation-item__content:focus,
	header .wp-block-navigation-item.header-nav-button > .wp-block-navigation-item__content:focus-visible {
		background-color: var(--wp--preset--color--primary, #272755) !important;
		color: var(--wp--preset--color--base, #FFFFFF) !important;
		border-color: var(--wp--preset--color--primary, #272755) !important;
		text-decoration: none !important;
		transition: none !important;
	}

	header .wp-block-navigation-item.header-nav-button > .wp-block-navigation-item__content:focus-visible {
		outline: 2px solid var(--wp--preset--color--primary, #272755);
		outline-offset: 4px;
	}

	/* Keep the label color correct */
	header .wp-block-navigation-item.header-nav-button > .wp-block-navigation-item__content .wp-block-navigation-item__label {
		color: inherit !important;
	}
}

/* 
=========================================================
   Mobile Menu Modal - Align Nav With Logo
========================================================= 
*/

@media (max-width: 1099px) {

	/* Shared mobile header/menu spacing */
	header {
		--mobile-menu-gutter: 50px;
		--perpetuu-nav-overlay-inset: var(--wp--preset--spacing--gutter, clamp(30px, 7.3vw, 110px));
		--mobile-menu-top-offset: 88px;
		--perpetuu-nav-control-size: 44px;
		--perpetuu-nav-icon-size: 24px;
		--perpetuu-nav-control-top: 24.5px;
	}

	/* Match the overlay's close-control origin to the closed Header control. */
	header .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
		padding-top: var(--perpetuu-nav-control-top) !important;
		padding-right: var(--perpetuu-nav-overlay-inset) !important;
		padding-left: var(--perpetuu-nav-overlay-inset) !important;
		transform: none !important;
	}

	/* Push the menu content below the visible logo row */
	header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
		padding-top: var(--mobile-menu-top-offset) !important;
		padding-left: var(--mobile-menu-gutter) !important;
		padding-right: var(--mobile-menu-gutter) !important;

		align-items: stretch !important;
		justify-content: flex-start !important;
	}

	/* Make the list align to the same left edge as the logo */
	header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container {
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;

		align-items: stretch !important;
		gap: 0.25rem;
	}

	/* Keep each menu link aligned and full-width */
	header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item {
		width: 100%;
	}

	header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content {
		width: 100%;
		box-sizing: border-box;
		padding: 0.85rem !important;
	}
}
/* 
=========================================================
   Navigation Toggle - Consistent Hamburger / Close Size
   Matches Navigation block mobile breakpoint: 1099px
========================================================= 
*/

@media (max-width: 1099px) {

	header .wp-block-navigation__responsive-container-open,
	header .wp-block-navigation__responsive-container-close {
		box-sizing: border-box;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;

		width: var(--perpetuu-nav-control-size) !important;
		height: var(--perpetuu-nav-control-size) !important;
		min-width: var(--perpetuu-nav-control-size) !important;
		min-height: var(--perpetuu-nav-control-size) !important;

		margin: 0 !important;
		padding: 0 !important;

		color: var(--wp--preset--color--primary-alt, #006699) !important;
		line-height: 1 !important;
		border-radius: 0;
	}

	header .wp-block-navigation__responsive-container-open:focus-visible,
	header .wp-block-navigation__responsive-container-close:focus-visible {
		outline: 2px solid var(--wp--preset--color--primary-alt, #006699);
		outline-offset: 2px;
	}

	header .wp-block-navigation__responsive-container-open svg,
	header .wp-block-navigation__responsive-container-close svg {
		display: block;
		width: var(--perpetuu-nav-icon-size) !important;
		height: var(--perpetuu-nav-icon-size) !important;
		min-width: var(--perpetuu-nav-icon-size) !important;
		min-height: var(--perpetuu-nav-icon-size) !important;
		max-width: var(--perpetuu-nav-icon-size) !important;
		max-height: var(--perpetuu-nav-icon-size) !important;
		flex: 0 0 var(--perpetuu-nav-icon-size);
	}
}

/* 
=========================================================
   Mobile Menu - Keep Logo Visible When Modal Is Open
========================================================= 
*/

@media (max-width: 1099px) {

	html.has-modal-open header {
		position: relative;
		z-index: 100002;
	}

	html.has-modal-open header :is(
		.wp-block-site-logo,
		.custom-logo-link,
		.logo,
		.wp-block-outermost-icon-block
	) {
		position: relative;
		z-index: 100003;
	}

	/* Keep the mobile menu modal below the visible logo/header layer */
	html.has-modal-open header .wp-block-navigation__responsive-container.is-menu-open {
		z-index: 100001;
	}

	/* Keep the close button above the menu panel */
	html.has-modal-open header .wp-block-navigation__responsive-container-close {
		z-index: 100004;
	}

    html.has-modal-open header .wp-block-navigation__responsive-container-open {
		visibility: hidden;
	}
}

/* 
=========================================================
   Mobile Header / Navigation Stability
   Prevent nav toggle and header button from shifting
========================================================= 
*/

@media (max-width: 1099px) {

	header .nav-wrap {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex-wrap: nowrap;
		gap: 1rem;
	}

	header .nav-wrap > nav.wp-block-navigation {
		display: flex;
		align-items: center;
		margin: 0 !important;
	}

	header .nav-wrap > .nav-button-group {
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
		margin: 0 !important;
	}

	header .nav-button-group .wp-block-button,
	header .nav-button-group .wp-block-button__link {
		margin: 0 !important;
		white-space: nowrap;
	}

}


/* another fix */
.logo * {
	transition:none !important;
	transform:none !important;
}


/* In-page anchor offsets for sticky header */
html {
	scroll-padding-top: var(--anchor-offset);
}

/* Remove the applied margin to the navigation block in the header */
header .wp-block-navigation {
	margin-top: 0 !important;
}


/* =========================================================
   03 SHARED LAYOUT / UTILITIES
========================================================= */

/* 
==========================================
 	CONTAINER UTILITIES
 	Apply these as additional CSS classes
 	to Group blocks where needed.
========================================== 
*/

.container-reading,
.section-inner,
.section-inner--wide,
.site-header__inner {
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
}

.container-reading { max-width: 850px; }
.section-inner { max-width: 1290px; }
.section-inner--wide { max-width: 1440px; }
.site-header__inner {
	max-width: 1290px;
}
/* News archive intro width
 	About 6 columns wide on desktop, full width on smaller screens */
.is-layout-constrained > .container-news-intro {
	width: 100%;
	max-width: 640px;
	margin-left: 0 !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

/* Half-width content block
 	Roughly 6 columns on desktop, fluid on smaller screens */
.is-layout-constrained > .container-half {
	width: 100%;
	max-width: 640px;
	margin-left: 0 !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.container-half {
	width: 100%;
	max-width: 640px;
	margin-left: 0 !important;
	margin-right: auto !important;
	box-sizing: border-box;
}


/* 
=========================================================
   Page Intro Copy
   Keeps supporting copy around 6 columns wide
   without forcing 50% on smaller screens
========================================================= 
*/

.page-intro-copy {
	width: 100%;
	max-width: 640px;
	margin-left: 0 !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.page-intro-copy p,
p.page-intro-copy {
	max-width: 640px;
}

/* ==========================================
	Type Utilities
	========================================== */
.no-top-margin {
	margin-top: 0px !important;
}

.wp-block-heading.top-margin-half-rem {
	margin-top: 0.5rem !important;
}

/* 
   desktop/mobile swap utilities
 */

.show-tablet-mobile {
	display: none !important;
}

@media (max-width: 1024px) {
	.show-desktop-only {
  	display: none !important;
	}

	.show-tablet-mobile {
  	display: flex !important;
	}
}
/* ----------------------------------------
 	Utility: Reverse columns on mobile
------------------------------------------- */
@media (max-width: 782px) {
	.reverse-columns-mobile {
  	flex-direction: column-reverse !important;
	}
}


/* =========================================================
   04 BUTTONS / LINK TREATMENTS
========================================================= */

/* =========================================================
 	Buttons — Outline style
 	Force 1.5px outline
========================================================= */

.wp-block-button.is-style-outline .wp-block-button__link{
	border: none !important;
	background-color: transparent !important;

	outline: 1.5px solid currentColor !important;
	outline-offset: -1.5px !important;
}

/* Hover / focus — some themes reset outline */
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible{
	outline-width: 1.5px !important;
	outline-offset: -1.5px !important;
}

/* 
=========================================================
   Perpetuu Button Variation Hover States

   Button variations:
   - is-style-accent-bg-solid
   - is-style-accent-bg-outline
   - is-style-dark-bg-solid
   - is-style-dark-bg-outline
   - is-style-light-bg-solid
   - is-style-light-bg-outline

   Hover rules:
   - No underline
   - No transitions/animations
   - Explicit background/text/border from Figma states examples
========================================================= 
*/

/* Shared reset for the Perpetuu surface-aware button styles. */
.wp-block-button:is(
	.is-style-accent-bg-solid,
	.is-style-accent-bg-outline,
	.is-style-dark-bg-solid,
	.is-style-dark-bg-outline,
	.is-style-light-bg-solid,
	.is-style-light-bg-outline
) .wp-block-button__link,
.wp-block-button:is(
	.is-style-accent-bg-solid,
	.is-style-accent-bg-outline,
	.is-style-dark-bg-solid,
	.is-style-dark-bg-outline,
	.is-style-light-bg-solid,
	.is-style-light-bg-outline
) .wp-block-button__link:hover,
.wp-block-button:is(
	.is-style-accent-bg-solid,
	.is-style-accent-bg-outline,
	.is-style-dark-bg-solid,
	.is-style-dark-bg-outline,
	.is-style-light-bg-solid,
	.is-style-light-bg-outline
) .wp-block-button__link:focus,
.wp-block-button:is(
	.is-style-accent-bg-solid,
	.is-style-accent-bg-outline,
	.is-style-dark-bg-solid,
	.is-style-dark-bg-outline,
	.is-style-light-bg-solid,
	.is-style-light-bg-outline
) .wp-block-button__link:focus-visible {
	text-decoration: none !important;
	transition: none !important;
	box-shadow: none !important;
}

/* Make SVG icons follow the button text color */
.wp-block-button:is(
	.is-style-accent-bg-solid,
	.is-style-accent-bg-outline,
	.is-style-dark-bg-solid,
	.is-style-dark-bg-outline,
	.is-style-light-bg-solid,
	.is-style-light-bg-outline
) .wp-block-button__link svg,
.wp-block-button:is(
	.is-style-accent-bg-solid,
	.is-style-accent-bg-outline,
	.is-style-dark-bg-solid,
	.is-style-dark-bg-outline,
	.is-style-light-bg-solid,
	.is-style-light-bg-outline
) .wp-block-button__link svg * {
	fill: currentColor;
	color: currentColor;
}

/* Purple -2 surface / white solid. */
.wp-block-button.is-style-accent-bg-solid .wp-block-button__link:hover,
.wp-block-button.is-style-accent-bg-solid .wp-block-button__link:focus,
.wp-block-button.is-style-accent-bg-solid .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--primary, #272755) !important;
	color: var(--wp--preset--color--base, #FFFFFF) !important;
	border-color: var(--wp--preset--color--primary, #272755) !important;
}

/* Purple -2 surface / dark-purple outline. */
.wp-block-button.is-style-accent-bg-outline .wp-block-button__link:hover,
.wp-block-button.is-style-accent-bg-outline .wp-block-button__link:focus,
.wp-block-button.is-style-accent-bg-outline .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--primary, #272755) !important;
	color: var(--wp--preset--color--base, #FFFFFF) !important;
	border-color: var(--wp--preset--color--primary, #272755) !important;
}

/* ---------------------------------------------------------
   Dark background / solid
   Hover:
   - Blue background
   - White text
   - No underline
--------------------------------------------------------- */

.wp-block-button.is-style-dark-bg-solid .wp-block-button__link:hover,
.wp-block-button.is-style-dark-bg-solid .wp-block-button__link:focus,
.wp-block-button.is-style-dark-bg-solid .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--primary-alt, #006699) !important;
	color: var(--wp--preset--color--base, #FFFFFF) !important;
	border-color: var(--wp--preset--color--primary-alt, #006699) !important;
	text-decoration: none !important;
	transition: none !important;
}

/* ---------------------------------------------------------
   Dark background / outline
   Hover:
   - Blue/black background
   - Blue text
   - Blue 1px border
   - No underline
--------------------------------------------------------- */

.wp-block-button.is-style-dark-bg-outline .wp-block-button__link:hover,
.wp-block-button.is-style-dark-bg-outline .wp-block-button__link:focus,
.wp-block-button.is-style-dark-bg-outline .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--secondary, #09222F) !important;
	color: var(--wp--preset--color--primary-accent, #00AAFF) !important;
	border: 1px solid var(--wp--preset--color--primary-accent, #00AAFF) !important;
	text-decoration: none !important;
	transition: none !important;
}

/* ---------------------------------------------------------
   Light background / solid
   Hover:
   - Blue/black background
   - White text
   - No underline
--------------------------------------------------------- */

.wp-block-button.is-style-light-bg-solid .wp-block-button__link:hover,
.wp-block-button.is-style-light-bg-solid .wp-block-button__link:focus,
.wp-block-button.is-style-light-bg-solid .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--secondary, #09222F) !important;
	color: var(--wp--preset--color--base, #FFFFFF) !important;
	border-color: var(--wp--preset--color--secondary, #09222F) !important;
	text-decoration: none !important;
	transition: none !important;
}

/* ---------------------------------------------------------
   Light background / outline
   Hover:
   - White background
   - Blue/black text
   - Blue/black 1px border
   - No underline
--------------------------------------------------------- */

.wp-block-button.is-style-light-bg-outline .wp-block-button__link:hover,
.wp-block-button.is-style-light-bg-outline .wp-block-button__link:focus,
.wp-block-button.is-style-light-bg-outline .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--base, #FFFFFF) !important;
	color: var(--wp--preset--color--secondary, #09222F) !important;
	border: 1px solid var(--wp--preset--color--secondary, #09222F) !important;
	text-decoration: none !important;
	transition: none !important;
}

/* 
=========================================================
   Button Style: Dark Button
   Keep dark default, blue hover
   Applies to: is-style-button-dark
========================================================= 
*/

/* Default state: keep dark */
.wp-block-button.is-style-button-dark .wp-block-button__link {
	background-color: var(--wp--preset--color--secondary, #09222F) !important;
	color: var(--wp--preset--color--base, #FFFFFF) !important;
	border: 1px solid var(--wp--preset--color--secondary, #09222F) !important;
	border-radius: 0 !important;

	text-decoration: none !important;
	box-shadow: none !important;
	transition: none !important;
}

/* Hover/focus: blue treatment */
.wp-block-button.is-style-button-dark .wp-block-button__link:hover,
.wp-block-button.is-style-button-dark .wp-block-button__link:focus,
.wp-block-button.is-style-button-dark .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--primary-alt, #006699) !important;
	color: var(--wp--preset--color--base, #FFFFFF) !important;
	border-color: var(--wp--preset--color--primary-alt, #006699) !important;

	text-decoration: none !important;
	box-shadow: none !important;
	transition: none !important;
}

.wp-block-button.is-style-button-dark .wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary-alt, #006699);
	outline-offset: 4px;
}

/* Keep arrow/icon color matched to text */
.wp-block-button.is-style-button-dark .wp-block-button__link svg,
.wp-block-button.is-style-button-dark .wp-block-button__link svg * {
	color: currentColor;
	fill: currentColor;
}

/* =========================================================
   Button Icon Animation
   Button Icon treatment (arrow-right)
========================================================= */

.wp-block-button.has-icon__arrow-right .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}

.wp-block-button.has-icon__arrow-right .wp-block-button__link-icon {
	display: inline-block;
	flex: 0 0 auto;
	transform: translateX(0);
	transition: transform 180ms ease;
}

/* Subtle right movement on hover/focus */
.wp-block-button.has-icon__arrow-right .wp-block-button__link:hover .wp-block-button__link-icon,
.wp-block-button.has-icon__arrow-right .wp-block-button__link:focus-visible .wp-block-button__link-icon {
	transform: translateX(0.25em);
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
	.wp-block-button.has-icon__arrow-right .wp-block-button__link-icon {
		transition: none;
	}

	.wp-block-button.has-icon__arrow-right .wp-block-button__link:hover .wp-block-button__link-icon,
	.wp-block-button.has-icon__arrow-right .wp-block-button__link:focus-visible .wp-block-button__link-icon {
		transform: none;
	}
}

/* 
==========================================
  Equal Width Vertical Buttons
  Add class to the Buttons block:
  equal-width-buttons
========================================== 
*/

.wp-block-buttons.equal-width-buttons {
	display: inline-grid !important;
	grid-template-columns: 1fr;
	align-items: stretch;
	justify-items: stretch;
	width: max-content;
	gap: var(--wp--preset--spacing--small, 1rem);
}

.wp-block-buttons.equal-width-buttons .wp-block-button {
	display: block;
	width: 100%;
	margin: 0;
}

.wp-block-buttons.equal-width-buttons .wp-block-button__link {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-width: 13rem;
	text-align: left;
}

/* 
==========================================
 	CTA CARD LINK
========================================== 
*/

.cta-card {
	position: relative;
	overflow: hidden;
}

.cta-card__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	text-decoration: none;
	color: inherit;
}

.cta-card__link a {
	text-decoration: none;
	color: inherit;
}

/* SVG-masked arrow: longer shaft + chevron */
.cta-card__link::after {
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	width: 1.9em;
	height: 1.05em;
	margin-left: 1.25rem;
	background-color: currentColor;

	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http://www.w3.org/2000/svg%27%20viewBox%3D%270%200%2032%2024%27%3E%3Cpath%20d%3D%27M2%2012H27%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.25%27%20stroke-linecap%3D%27butt%27/%3E%3Cpath%20d%3D%27M20%204L28%2012L20%2020%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.25%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E") center / contain no-repeat;
			mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http://www.w3.org/2000/svg%27%20viewBox%3D%270%200%2032%2024%27%3E%3Cpath%20d%3D%27M2%2012H27%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.25%27%20stroke-linecap%3D%27butt%27/%3E%3Cpath%20d%3D%27M20%204L28%2012L20%2020%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%271.25%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E") center / contain no-repeat;

	transform: translateX(0);
	transition: transform 0.2s ease;
}

/* Hover/focus only when the Talk with Perpetuu link is hovered */
.cta-card__link:hover::after,
.cta-card__link:focus-visible::after {
	transform: translateX(6px);
}


/* =========================================================
   05 HOME PAGE SECTIONS
========================================================= */

/* ==========================================
	Hero Styles
========================================== */

/*
----------------------------------------
Perpetuu homepage hero
----------------------------------------
*/

.wp-block-cover.perpetuu-home-hero {
	--perpetuu-home-hero-height: clamp(45rem, 59.6vw, 56.25rem);
	--perpetuu-home-stripe-height: clamp(6rem, 13.4vw, 12.625rem);

	isolation: isolate;
	min-height: var(--perpetuu-home-hero-height);
	overflow: hidden;
	background-color: var(--wp--preset--color--secondary, #09222F);
}

/* Keep the Gutenberg siblings intact while making the Cover the stripe containing block. */
.wp-block-cover.perpetuu-home-hero > .wp-block-cover__inner-container {
	position: static;
}


.perpetuu-home-hero__content {
	--perpetuu-home-content-gap: clamp(2.25rem, 3.31vw, 3.125rem);

	position: relative;
	z-index: 6;
	display: flex;
	flex-direction: column;
	gap: var(--perpetuu-home-content-gap);
	flex: 0 1 var(--wp--style--global--wide-size, 1290px);
	align-self: center;
	width: min(100%, var(--wp--style--global--wide-size, 1290px));
	box-sizing: border-box;
}

.perpetuu-home-hero__content > * {
	margin-block: 0 !important;
}

.perpetuu-home-hero__heading {
	max-width: 100%;
	margin: 0;
	color: var(--wp--preset--color--secondary, #09222F);
}

.perpetuu-home-hero__heading-light {
	color: var(--wp--preset--color--base, #FFFFFF);
}

.perpetuu-home-hero__support {
	max-width: 500px;
	margin: 0;
}

.perpetuu-home-hero__buttons {
	gap: 30px;
}

.perpetuu-home-hero__buttons .wp-block-button__link {
	box-sizing: border-box;
	height: 50px;
	min-width: 200px;
	padding-block: 0;
}

.perpetuu-home-hero__buttons .wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary-accent, #00AAFF);
	outline-offset: 4px;
}

/*
----------------------------------------
Reusable four-step stripe geometry
----------------------------------------
*/

.perpetuu-four-step-stripe {
	--perpetuu-stripe-height: clamp(7rem, 15.9vw, 15rem);
	--perpetuu-stripe-band-1: transparent;
	--perpetuu-stripe-band-2: transparent;
	--perpetuu-stripe-band-3: transparent;
	--perpetuu-stripe-band-4: transparent;

	min-height: var(--perpetuu-stripe-height);
	background-image: linear-gradient(
		to bottom,
		var(--perpetuu-stripe-band-1) 0 25%,
		var(--perpetuu-stripe-band-2) 25% 50%,
		var(--perpetuu-stripe-band-3) 50% 75%,
		var(--perpetuu-stripe-band-4) 75% 100%
	);
}

/* Figma Home hero: true primary transparency over the underlying hero media. */
.perpetuu-four-step-stripe.is-home-hero {
	--perpetuu-stripe-band-1: color-mix(in srgb, var(--wp--preset--color--primary, #272755) 20%, transparent);
	--perpetuu-stripe-band-2: color-mix(in srgb, var(--wp--preset--color--primary, #272755) 40%, transparent);
	--perpetuu-stripe-band-3: color-mix(in srgb, var(--wp--preset--color--primary, #272755) 60%, transparent);
	--perpetuu-stripe-band-4: color-mix(in srgb, var(--wp--preset--color--primary, #272755) 80%, transparent);
}

/* Figma: main over white, dark to light, flattened to four solid paints. */
.perpetuu-four-step-stripe.is-main-to-white {
	--perpetuu-stripe-band-1: #6C6CA5;
	--perpetuu-stripe-band-2: #9191BC;
	--perpetuu-stripe-band-3: #B5B5D2;
	--perpetuu-stripe-band-4: #DADAE9;
}

/* Figma: main-accent over white, light to dark, flattened to four solid paints. */
.perpetuu-four-step-stripe.is-white-to-purple-minus-2 {
	--perpetuu-stripe-band-1: #F0F0FF;
	--perpetuu-stripe-band-2: #E1E1FF;
	--perpetuu-stripe-band-3: #D3D3FF;
	--perpetuu-stripe-band-4: #C4C4FF;
}

/* Figma: main over tertiary, dark to light, flattened to four solid paints. */
.perpetuu-four-step-stripe.is-main-to-tertiary {
	--perpetuu-stripe-band-1: #6669A5;
	--perpetuu-stripe-band-2: #858BBC;
	--perpetuu-stripe-band-3: #A2ABD2;
	--perpetuu-stripe-band-4: #C1CDE9;
}

/* Figma: tertiary over base, dark to light, flattened to four solid paints. */
.perpetuu-four-step-stripe.is-tertiary-to-white {
	--perpetuu-stripe-band-1: #E7F2FF;
	--perpetuu-stripe-band-2: #EDF5FF;
	--perpetuu-stripe-band-3: #F3F8FF;
	--perpetuu-stripe-band-4: #F9FCFF;
}

/* Figma: tertiary over base, light to dark, flattened to four solid paints. */
.perpetuu-four-step-stripe.is-white-to-tertiary {
	--perpetuu-stripe-band-1: #F9FCFF;
	--perpetuu-stripe-band-2: #F3F8FF;
	--perpetuu-stripe-band-3: #EDF5FF;
	--perpetuu-stripe-band-4: #E7F2FF;
}

/* Figma: main-accent over tertiary, flattened to four solid paints. */
.perpetuu-four-step-stripe.is-tertiary-to-purple-minus-2 {
	--perpetuu-stripe-band-1: #D7E3FF;
	--perpetuu-stripe-band-2: #CED7FF;
	--perpetuu-stripe-band-3: #C7CDFF;
	--perpetuu-stripe-band-4: #BEC1FF;
}

.perpetuu-home-hero__stripe {
	--perpetuu-stripe-height: var(--perpetuu-home-stripe-height);

	position: absolute;
	z-index: 4;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	pointer-events: none;
}

/*
----------------------------------------
Platform page
----------------------------------------
*/

.perpetuu-halo-surface,
.perpetuu-platform-hero {
	--perpetuu-halo-pair-x: 233.257324px;
	--perpetuu-halo-pair-y: 257.631836px;
	--perpetuu-halo-pair-scale: 1;
	--perpetuu-halo-pair-rotation: 0deg;
	--perpetuu-halo-circle-size: 1107px;
	--perpetuu-halo-ring-width: 250px;
	--perpetuu-halo-magenta-offset-x: -30px;
	--perpetuu-halo-magenta-offset-y: -137.631836px;
	--perpetuu-halo-opacity: 0.2;
	--perpetuu-halo-css-blur: 100px;

	background-color: var(--wp--preset--color--main-accent, #B5B5FF);
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.perpetuu-platform-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.perpetuu-halo-surface::before,
.perpetuu-halo-surface::after,
.perpetuu-platform-hero::before,
.perpetuu-platform-hero::after {
	content: "";
	position: absolute;
	z-index: 0;
	top: var(--perpetuu-halo-pair-y);
	left: var(--perpetuu-halo-pair-x);
	box-sizing: border-box;
	width: var(--perpetuu-halo-circle-size);
	aspect-ratio: 1;
	background: transparent;
	border: var(--perpetuu-halo-ring-width) solid currentColor;
	border-radius: 50%;
	opacity: var(--perpetuu-halo-opacity);
	filter: blur(var(--perpetuu-halo-css-blur));
	transform-origin: 0 0;
	mix-blend-mode: normal;
	pointer-events: none;
}

.perpetuu-halo-surface::before,
.perpetuu-platform-hero::before {
	color: var(--wp--preset--color--primary-accent, #00AAFF);
	transform: scale(var(--perpetuu-halo-pair-scale));
}

.perpetuu-halo-surface::after,
.perpetuu-platform-hero::after {
	color: var(--wp--custom--color--decorative-magenta, #FF00FF);
	transform: scale(var(--perpetuu-halo-pair-scale)) rotate(var(--perpetuu-halo-pair-rotation)) translate(var(--perpetuu-halo-magenta-offset-x), var(--perpetuu-halo-magenta-offset-y));
}

/*
 * Inner-page halo variants preserve one measured blue/magenta circle pair.
 * Responsive variation moves and scales the pair as a unit; the circles do not
 * drift or resize independently.
 */
@media (max-width: 1199px) {
	.perpetuu-platform-hero {
		--perpetuu-halo-pair-x: 15vw;
		--perpetuu-halo-pair-y: 14rem;
		--perpetuu-halo-pair-scale: 0.82;
	}
}

@media (max-width: 782px) {
	.perpetuu-platform-hero {
		--perpetuu-halo-pair-x: 10vw;
		--perpetuu-halo-pair-y: 9.5rem;
		--perpetuu-halo-pair-scale: 0.72;
	}
}

.perpetuu-platform-cta::before,
.perpetuu-platform-cta::after {
	content: "";
	position: absolute;
	z-index: 0;
	border-radius: 50%;
	opacity: 0.2;
	filter: blur(var(--wp--custom--effect--blur-radius, 200px));
	pointer-events: none;
}

.perpetuu-halo-surface > *,
.perpetuu-platform-hero__shell,
.perpetuu-platform-cta__shell {
	position: relative;
	z-index: 1;
}

.perpetuu-platform-hero__content,
.perpetuu-platform-hero__content > *,
.perpetuu-platform__section-heading,
.perpetuu-platform__body,
.perpetuu-platform__body > *,
.perpetuu-platform-case-study__header,
.perpetuu-platform-case-study__header > *,
.perpetuu-platform-case-study__step,
.perpetuu-platform-case-study__step-copy,
.perpetuu-platform-case-study__step-copy > *,
.perpetuu-platform-case-study__reference,
.perpetuu-platform-insight__content,
.perpetuu-platform-insight__content > *,
.perpetuu-platform-insight__sequence,
.perpetuu-platform-insight__sequence > *,
.perpetuu-platform-insight__step,
.perpetuu-platform-insight__step > *,
.perpetuu-platform-thesis,
.perpetuu-platform-thesis > *,
.perpetuu-platform-thesis__statement,
.perpetuu-platform-thesis__statement > *,
.perpetuu-platform-thesis__outcomes,
.perpetuu-platform-thesis__outcomes > *,
.perpetuu-platform-thesis__why,
.perpetuu-platform-thesis__why > *,
.perpetuu-platform-how__header,
.perpetuu-platform-how__header > *,
.perpetuu-platform-how__steps,
.perpetuu-platform-how__steps > *,
.perpetuu-platform-how__step-copy,
.perpetuu-platform-how__step-copy > *,
.perpetuu-platform-comparison__grid,
.perpetuu-platform-comparison__card,
.perpetuu-platform-comparison__card > *,
.perpetuu-platform-comparison__header,
.perpetuu-platform-comparison__header > *,
.perpetuu-platform-cta__content,
.perpetuu-platform-cta__content > *,
.perpetuu-platform-cta__body,
.perpetuu-platform-cta__body > * {
	margin-block: 0 !important;
}

.perpetuu-platform-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.625rem;
}

/* Preserve established hero heights while normalizing the shared title-stack gap. */
.perpetuu-platform-hero__content:not(.perpetuu-pipeline-hero__content):not(.perpetuu-company-hero__content) {
	padding-bottom: 0.625rem;
}

.perpetuu-platform-hero__heading {
	max-width: 53.2576rem;
	margin-top: 0 !important;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.perpetuu-platform-hero__intro {
	max-width: 39.67375rem;
	margin-top: 2.5rem !important;
	font-size: 1.25rem !important;
	line-height: 1.6;
}

.perpetuu-platform-intro__shell {
	padding-block: var(--wp--preset--spacing--group-space-tb) var(--wp--preset--spacing--section-space-large);
}

.perpetuu-platform-intro__columns {
	align-items: center;
	gap: 1.875rem;
	margin-block: 0;
}

.perpetuu-platform-intro__copy-column {
	box-sizing: border-box;
	padding-right: clamp(2rem, 5.3vw, 5rem);
}

.perpetuu-platform-intro__copy {
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
}

.perpetuu-platform-intro__image,
.perpetuu-platform-intro__image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.perpetuu-platform__section-heading {
	line-height: 1.4;
	letter-spacing: -0.01em;
}

.perpetuu-platform__body > * + * {
	margin-block-start: 1.8rem !important;
}

.perpetuu-platform-case-study__shell {
	padding-bottom: var(--wp--preset--spacing--group-space-tb);
}

.perpetuu-platform-case-study__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3.125rem;
}

.perpetuu-platform-case-study__lead {
	max-width: 38.483rem;
}

.perpetuu-platform-case-study__steps {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--group-space-tb);
	margin-top: var(--wp--preset--spacing--section-space-large) !important;
}

.perpetuu-platform-case-study__step {
	align-items: center;
	justify-content: space-between;
	gap: clamp(3rem, 9.27vw, 8.75rem);
}

.perpetuu-platform-case-study__illustration,
.perpetuu-platform-case-study__illustration img {
	display: block;
	width: 100%;
	height: auto;
}

.perpetuu-platform-case-study__step-copy {
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
}

.perpetuu-platform-case-study__step-heading {
	line-height: 1.4;
	letter-spacing: -0.01em;
}

.perpetuu-platform-case-study__step-copy strong {
	color: var(--wp--preset--color--main, #47478F);
}

.perpetuu-platform-case-study__reference {
	margin-top: var(--wp--preset--spacing--section-space-large) !important;
}

.perpetuu-platform-insight__shell {
	padding-block: 11.25rem;
}

.perpetuu-platform-insight__content {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.perpetuu-platform-insight__sequence {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	margin-top: 3.75rem !important;
}

.perpetuu-platform-insight__step {
	max-width: 46.25rem;
	font-weight: 400;
	line-height: 1.6;
	text-box-edge: cap alphabetic;
	text-box-trim: trim-both;
}

.perpetuu-platform-insight__step :where(p, ul, li) {
	text-box-edge: cap alphabetic;
	text-box-trim: trim-both;
}

.perpetuu-platform-insight__step .wp-block-list,
.perpetuu-platform-insight__step ul {
	margin-top: 3.5rem !important;
	padding-left: 1.5rem;
}

.wp-block-separator.is-style-flow-divider {
	position: relative;
	width: 100%;
	max-width: none;
	height: 1.75rem;
	margin: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--main-accent, #B5B5FF);
	opacity: 1;
	overflow: visible;
}

.wp-block-separator.is-style-flow-divider::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 0.71875rem;
	background-color: currentColor;
	-webkit-mask: url("assets/icons/flow-divider-line.svg") center top / 100% 0.71875rem no-repeat;
	mask: url("assets/icons/flow-divider-line.svg") center top / 100% 0.71875rem no-repeat;
}

.wp-block-separator.is-style-flow-divider::after {
	content: "";
	position: absolute;
	top: 0.65625rem;
	left: 50%;
	width: 0.6698125rem;
	height: 1.10733125rem;
	background-color: currentColor;
	-webkit-mask: url("assets/icons/flow-divider-arrow.svg") center / 100% 100% no-repeat;
	mask: url("assets/icons/flow-divider-arrow.svg") center / 100% 100% no-repeat;
	transform: translateX(-50%);
}

.wp-block-group.is-style-thesis-panel {
	display: flex;
	flex-direction: column;
	gap: 3.75rem;
	box-sizing: border-box;
	width: 100%;
	max-width: 53.125rem;
	padding: calc(3.75rem - 1px);
	border: 1px solid var(--wp--preset--color--blue-plus-1, #5EC9FF);
	background: transparent;
	color: var(--wp--preset--color--base, #FFFFFF);
	margin-top: var(--wp--preset--spacing--group-space-tb) !important;
}

.wp-block-group.is-style-thesis-panel > .wp-block-heading {
	color: var(--wp--preset--color--base, #FFFFFF);
	font-size: var(--wp--preset--font-size--x-large, 3rem);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.01em;
}

.perpetuu-platform-thesis__statement {
	display: flex;
	flex-direction: column;
	gap: 2.4rem;
}

.perpetuu-platform-thesis__statement p {
	color: var(--wp--preset--color--base, #FFFFFF);
	font-size: clamp(1.25rem, 3vw, 1.5rem);
	font-weight: 400;
	line-height: 1.6;
}

.perpetuu-platform-thesis__accent {
	color: var(--wp--preset--color--blue-plus-1, #5EC9FF);
}

.wp-block-separator.perpetuu-platform-thesis__rule {
	width: 100%;
	height: 1px;
	margin: 0;
	border: 0;
	background-color: var(--wp--preset--color--blue-plus-1, #5EC9FF);
	opacity: 1;
}

.perpetuu-platform-thesis__outcomes {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.perpetuu-platform-thesis__why {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
}

.perpetuu-platform-thesis__why p {
	color: var(--wp--preset--color--base, #FFFFFF);
	font-size: var(--wp--preset--font-size--base, 1.125rem);
	font-weight: 400;
	line-height: 1.6;
}

.perpetuu-platform-thesis__why p:first-child {
	font-weight: 700;
}

.wp-block-table.is-style-dark-data {
	margin: 0 !important;
	background: transparent !important;
	overflow-x: auto;
}

.wp-block-table.is-style-dark-data table {
	width: 100%;
	border: 0 !important;
	border-collapse: collapse;
	border-spacing: 0;
	background: transparent !important;
	color: var(--wp--preset--color--blue-plus-1, #5EC9FF);
	font-size: var(--wp--preset--font-size--base, 1.125rem);
	font-weight: 400;
	line-height: 1.6;
}

.wp-block-table.is-style-dark-data :is(thead, tbody, tr, th, td) {
	background: transparent !important;
}

.wp-block-table.is-style-dark-data th,
.wp-block-table.is-style-dark-data td {
	padding: 0.625rem 0;
	border: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--blue-plus-1, #5EC9FF) !important;
	vertical-align: top;
	text-align: left;
}

.wp-block-table.is-style-dark-data th {
	border-bottom-width: 2px !important;
	color: var(--wp--preset--color--base, #FFFFFF);
	font-weight: 400;
}

.wp-block-table.is-style-dark-data td {
	color: var(--wp--preset--color--blue-plus-1, #5EC9FF);
}

.wp-block-table.is-style-dark-data th + th,
.wp-block-table.is-style-dark-data td + td {
	padding-left: 1.875rem;
}

.perpetuu-platform-how__shell {
	padding-block: var(--wp--preset--spacing--group-space-tb);
}

.perpetuu-platform-how__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3.125rem;
}

.perpetuu-platform-how__lead {
	max-width: 41.19rem;
	line-height: 1.4;
}

.perpetuu-platform-how__steps {
	display: flex;
	flex-direction: column;
	gap: 5rem;
	margin-top: 5rem !important;
}

.perpetuu-platform-how__step {
	align-items: center;
	justify-content: space-between;
	gap: clamp(3rem, 9.27vw, 8.75rem);
}

.perpetuu-platform-how__step-copy {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
}

.perpetuu-platform-how__step-copy h3 {
	line-height: 1.6;
}

.perpetuu-platform-comparison__shell {
	padding-block: clamp(8rem, 14.57vw, 13.75rem);
}

.perpetuu-platform-comparison__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.875rem;
	margin-top: 3.75rem !important;
}

.perpetuu-platform-comparison__card {
	display: grid;
	grid-template-rows: 7.5rem repeat(4, minmax(6.25rem, auto));
	min-width: 0;
	border: 1px solid var(--wp--preset--color--main-accent, #B5B5FF);
}

.perpetuu-platform-comparison__header,
.perpetuu-platform-comparison__item {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	min-width: 0;
	min-height: 6.25rem;
	padding: 0.3125rem 1.25rem;
}

.perpetuu-platform-comparison__header {
	min-height: 7.5rem;
	gap: 0.625rem;
}

.perpetuu-platform-comparison__header h3 {
	color: var(--wp--preset--color--primary, #272755);
	font-size: 1.25rem !important;
	line-height: 1.6;
}

.perpetuu-platform-comparison__item {
	line-height: 1.6;
}

.perpetuu-platform-comparison__item:nth-child(even) {
	background-color: rgb(181 181 255 / 20%);
}

.perpetuu-platform-comparison__card.is-perpetuu {
	border-color: var(--wp--custom--color--purple-punch, #8C53F6);
	background-color: var(--wp--custom--color--purple-punch, #8C53F6);
	color: var(--wp--preset--color--base, #FFFFFF);
}

.perpetuu-platform-comparison__card.is-perpetuu .perpetuu-platform-comparison__header h3 {
	color: var(--wp--preset--color--base, #FFFFFF);
}

.perpetuu-platform-comparison__card.is-perpetuu .perpetuu-platform-comparison__item:nth-child(even) {
	background-color: rgb(181 181 255 / 20%);
}

.perpetuu-platform-comparison__card.is-perpetuu .wp-block-outermost-icon-block,
.perpetuu-platform-comparison__card.is-perpetuu .icon-container {
	flex: 0 0 auto;
	margin: 0;
}

.perpetuu-platform-comparison__card.is-perpetuu svg {
	display: block;
	width: 52px;
	height: auto;
}

.perpetuu-platform-cta::before,
.perpetuu-platform-cta::after {
	width: min(33.94vw, 32.028875rem);
	aspect-ratio: 1;
}

.perpetuu-platform-cta::before {
	top: -21.654rem;
	left: 23.14%;
	background-color: var(--wp--preset--color--primary-accent, #00AAFF);
}

.perpetuu-platform-cta::after {
	top: -28.041rem;
	left: 21.71%;
	background-color: var(--wp--custom--color--decorative-magenta, #FF00FF);
}

.perpetuu-platform-cta__shell {
	padding-block: var(--wp--preset--spacing--group-space-tb);
}

.perpetuu-platform-cta__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3.125rem;
}

.perpetuu-platform-cta__content > .wp-block-heading {
	max-width: 31.164rem;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.perpetuu-platform-cta__body {
	max-width: 35rem;
}

.perpetuu-platform-cta__body > * + * {
	margin-block-start: 1.8rem !important;
}

.perpetuu-platform-cta__buttons .wp-block-button__link {
	box-sizing: border-box;
	height: 50px;
	min-width: 240px;
	padding-block: 0;
}

.perpetuu-platform-cta__buttons .wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #272755);
	outline-offset: 4px;
}

@media (max-width: 900px) {
	.perpetuu-platform-comparison__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.perpetuu-platform-comparison__card {
		grid-template-rows: 6rem repeat(4, minmax(5rem, auto));
	}

	.perpetuu-platform-comparison__header {
		min-height: 6rem;
	}

	.perpetuu-platform-comparison__header,
	.perpetuu-platform-comparison__item {
		min-height: 5rem;
	}
}

@media (max-width: 782px) {
	.perpetuu-platform-intro__columns,
	.perpetuu-platform-case-study__step,
	.perpetuu-platform-how__step {
		gap: 2.5rem;
	}

	.perpetuu-platform-intro__copy-column {
		padding-right: 0;
	}

	.perpetuu-platform-intro__image,
	.perpetuu-platform-intro__image img {
		aspect-ratio: 16 / 10;
	}

	.perpetuu-platform-case-study__illustration {
		max-width: 39.375rem;
	}

	.wp-block-table.is-style-dark-data {
		width: 100%;
		max-width: 100%;
		overflow-x: visible;
	}

	.wp-block-table.is-style-dark-data table {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		table-layout: fixed;
	}

	.wp-block-table.is-style-dark-data :is(th, td) {
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
		hyphens: auto;
	}

	.wp-block-table.is-style-dark-data :is(th, td):first-child {
		width: 44%;
	}

	.wp-block-table.is-style-dark-data :is(th, td):last-child {
		width: 56%;
	}

	.wp-block-table.is-style-dark-data th + th,
	.wp-block-table.is-style-dark-data td + td {
		padding-left: clamp(0.75rem, 3vw, 1.25rem);
	}
}

@media (max-width: 599px) {
	.perpetuu-platform-hero {
		--perpetuu-halo-pair-x: -11.25rem;
		--perpetuu-halo-pair-y: 7.5rem;
		--perpetuu-halo-pair-scale: 0.68;
	}

	.wp-block-group.is-style-thesis-panel {
		gap: 2.5rem;
		padding: 1.875rem;
	}

	.perpetuu-platform-thesis__statement {
		gap: 1.875rem;
	}

	.wp-block-table.is-style-dark-data table {
		font-size: var(--wp--preset--font-size--normal, 1rem);
	}

	.perpetuu-platform-comparison__shell {
		padding-block: var(--wp--preset--spacing--section-space-large);
	}

	.perpetuu-platform-cta__buttons,
	.perpetuu-platform-cta__buttons > .wp-block-button,
	.perpetuu-platform-cta__buttons .wp-block-button__link {
		width: 100%;
	}
}

@media (max-width: 1099px) {
	.wp-block-cover.perpetuu-home-hero {
		--perpetuu-home-hero-height: 44rem;
	}

	.wp-block-cover.perpetuu-home-hero > .wp-block-cover__inner-container {
		padding-bottom: var(--perpetuu-home-stripe-height);
	}
}

@media (max-width: 599px) {
	.wp-block-cover.perpetuu-home-hero {
		--perpetuu-home-hero-height: 42rem;
		--perpetuu-home-stripe-height: clamp(5rem, 25vw, 6rem);
	}

	.wp-block-cover.perpetuu-home-hero > :is(
		img.wp-block-cover__image-background,
		video.wp-block-cover__video-background
	) {
		object-position: 57% 50%;
	}

	.wp-block-cover.perpetuu-home-hero > .wp-block-cover__inner-container {
		align-items: flex-start;
		padding-top: clamp(5rem, 18vw, 7rem);
		padding-bottom: calc(var(--perpetuu-home-stripe-height) + 2rem);
	}

	.perpetuu-home-hero__content {
		align-self: flex-start;
	}

	.perpetuu-home-hero__buttons {
		align-items: stretch;
		width: min(100%, 22rem);
	}

	.perpetuu-home-hero__buttons,
	.perpetuu-home-hero__buttons > .wp-block-button,
	.perpetuu-home-hero__buttons .wp-block-button__link {
		width: 100%;
	}
}

/*
----------------------------------------
Homepage intro and statistics
----------------------------------------
*/

.perpetuu-home-intro-stats__gutter-shell {
	--wp--style--block-gap: 0;
}

.perpetuu-home-intro-stats__copy {
	--wp--style--block-gap: 0;
}

.perpetuu-home-intro-stats__gutter-shell > * + * {
	margin-block-start: clamp(4rem, 5.96vw, 5.625rem) !important;
}

.perpetuu-home-intro-stats__heading,
.perpetuu-home-intro-stats__body,
.perpetuu-home-intro-stats__body > *,
.perpetuu-home-intro-stats__source {
	margin-block: 0 !important;
}

.perpetuu-home-intro-stats__copy > * + * {
	margin-block-start: clamp(2rem, 3.31vw, 3.125rem) !important;
}

.perpetuu-home-intro-stats__body {
	width: 100%;
	max-width: 41.5rem;
}

.perpetuu-home-intro-stats__lower-body {
	max-width: 41.325rem;
}

.perpetuu-home-intro-stats__stat {
	min-width: 0;
	min-height: 15rem;
	padding: 1.875rem;
}

.perpetuu-home-intro-stats__stat-value {
	font-feature-settings: "lnum" 1, "tnum" 1;
	overflow-wrap: break-word;
}

.perpetuu-home-intro-stats__lower-body {
	--wp--style--block-gap: 1.8rem;
}

.perpetuu-home-intro-stats__numbers > * + * {
	margin-block-start: 1.25rem !important;
}

.perpetuu-home-intro-stats__lower-body > * + * {
	margin-block-start: 1.8rem !important;
}

@media (max-width: 1429px) {
	.perpetuu-home-intro-stats .perpetuu-home-intro-stats__stats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.perpetuu-home-intro-stats__stat {
		min-height: 0;
		padding: 1.25rem clamp(0.75rem, 3vw, 1.5rem);
	}
}

/*
----------------------------------------
Homepage Platform and Pipeline splits
----------------------------------------
*/

.perpetuu-home-platform-pipeline {
	padding-block: calc(var(--wp--preset--spacing--group-space-tb) / 2);
}

.perpetuu-home-platform-pipeline__shell > * + * {
	margin-block-start: var(--wp--preset--spacing--group-space-tb) !important;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row {
	column-gap: clamp(2.5rem, 5.3vw, 5rem);
	margin-block: 0;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row__content,
.perpetuu-home-platform-pipeline .perpetuu-split-row__title,
.perpetuu-home-platform-pipeline .perpetuu-split-row__body,
.perpetuu-home-platform-pipeline .perpetuu-split-row__buttons {
	margin-block: 0;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row__content,
.perpetuu-home-platform-pipeline .perpetuu-split-row__title {
	align-items: flex-start;
	width: 100%;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row__eyebrow,
.perpetuu-home-platform-pipeline .perpetuu-split-row__heading,
.perpetuu-home-platform-pipeline .perpetuu-split-row__body,
.perpetuu-home-platform-pipeline .perpetuu-split-row__body > * {
	margin-block: 0 !important;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row__body {
	width: 100%;
	max-width: 30.625rem;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row__body > * + * {
	margin-block-start: 1.8rem !important;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row__image {
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: none;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	opacity: 0.9;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row__image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: 50% 50%;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row__image-pipeline::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background-color: var(--wp--preset--color--primary-alt, #006699);
	mix-blend-mode: color;
	pointer-events: none;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row__buttons .wp-block-button__link {
	box-sizing: border-box;
	min-width: 200px;
	height: 50px;
	padding-block: 0;
}

.perpetuu-home-platform-pipeline .perpetuu-split-row__buttons .wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #09222F);
	outline-offset: 4px;
}

@media (max-width: 782px) {
	.perpetuu-home-platform-pipeline .perpetuu-split-row {
		row-gap: 1.25rem;
	}

	.perpetuu-home-platform-pipeline .perpetuu-split-row > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}

	.perpetuu-home-platform-pipeline .perpetuu-split-row__image,
	.perpetuu-home-platform-pipeline .perpetuu-split-row__image img {
		aspect-ratio: 16 / 10;
	}
}

/*
----------------------------------------
Info Grid - Home Page after Hero
----------------------------------------
*/

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(3rem, 6vw, 8rem);
  row-gap: clamp(4rem, 7vw, 7rem);
  align-items: start;
}

.info-grid > * {
  margin-block-start: 0;
}

/* Individual card */

.info-card {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(220px, 0.75fr);
  column-gap: 30px;
  align-items: start;
  margin-block-start: 0;
}

.info-card > * {
  margin-block-start: 0;
}

/* Image */

.info-card .wp-block-image {
  float: none !important;
  margin: 0 !important;
  width: 100%;
  max-width: none;
}

.info-card .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}


/* Text content */

.info-card__content {
  position: relative;
  padding-top: clamp(1.25rem, 2vw, 1.75rem);
  max-width: 320px;
}

.info-card__content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(100%, 110px);
  height: 4px;
  background: currentColor;
}

.info-card__content h2,
.info-card__content h3,
.info-card__content h4 {
  margin: 0 0 1.25rem;
  /* font-size: clamp(0.875rem, 1.1vw, 1rem); */
  font-size: var(--global-font-size-16px);
  line-height: 1.2;
  font-weight: 700;
}

.info-card__content p {
  margin: 0;
  /* font-size: clamp(0.875rem, 1.1vw, 1rem); */
  font-size: var(--global-font-size-16px);
  line-height: 1.45;
}

/* Tablet */
@media (max-width: 1100px) {
  .info-grid {
    grid-template-columns: 1fr;
  }

  .info-card {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.8fr);
    column-gap: 30px;
  }

  .info-card__content {
    max-width: none;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .info-grid {
    grid-template-columns: 1fr;
    row-gap: 3rem;
  }

  .info-card {
    grid-template-columns: 1fr;
    row-gap: 1.25rem;
    column-gap: 0;
  }

  .info-card .wp-block-image img {
    aspect-ratio: 16 / 10;
  }

  .info-card__content {
    padding-top: 1.25rem;
  }

  .info-card__content::before {
    width: 33.33%;
    height: 4px;
  }
}
/*
----------------------------------------
Core Capabilities Cards
Hover color + animated bottom rule
----------------------------------------
*/

.capability-card {
	position: relative;
	box-sizing: border-box;
	gap: 0 !important;
	padding: 2.5rem 1.25rem calc(2.5rem + 10px);
	color: var(--wp--preset--color--main, #47478F);
	cursor: pointer;
	transition: color 180ms ease;
}

.perpetuu-home-capabilities__inner {
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
}

.perpetuu-home-capabilities__header {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.perpetuu-home-capabilities__header > *,
.perpetuu-home-capabilities__grid > * {
	margin-block: 0;
}

.perpetuu-home-capabilities__heading {
	margin: 0;
	line-height: 1.4;
}

.perpetuu-home-capabilities__grid {
	gap: 1.875rem;
}

/* Remove unexpected top spacing inside stack cards */
.capability-card > * {
	margin-block-start: 0;
}

.capability-card .wp-block-outermost-icon-block {
	margin-bottom: 1.25rem;
}

.capability-card > .wp-block-heading {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
}

.capability-card > p {
	margin-top: 3.75rem;
	font-size: var(--wp--preset--font-size--base, 1.125rem);
	font-weight: 400;
	line-height: 1.6;
}

/* Make icon inherit card color */
.capability-card svg,
.capability-card svg * {
	color: currentColor;
	stroke: currentColor;
}

/* Keep SVGs from filling if using outline icons */
.capability-card svg * {
	fill: none;
}

/* Heading and paragraph inherit hover color */
.capability-card .wp-block-heading,
.capability-card p {
	transition: color 180ms ease;
}

.capability-card .wp-block-heading {
	color: currentColor;
}

.capability-card p {
	color: var(--wp--preset--color--black, #000000);
}

/* Animated bottom border */
.capability-card::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 10px;
	background: var(--wp--preset--color--primary-accent, #00AAFF);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 220ms ease;
}

/* Hover/focus state */
.capability-card:hover,
.capability-card:focus-within {
	color: var(--wp--preset--color--primary-accent, #00AAFF);
}

.capability-card:hover p,
.capability-card:focus-within p {
	color: var(--wp--preset--color--primary-accent, #00AAFF);
}

.capability-card:hover::after,
.capability-card:focus-within::after {
	transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
	.capability-card,
	.capability-card .wp-block-heading,
	.capability-card p,
	.capability-card::after {
		transition: none;
	}
}

/*
----------------------------------------
Homepage capabilities follow-up CTA
----------------------------------------
*/

.perpetuu-home-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: var(--wp--preset--color--main-accent, #B5B5FF);
}

.perpetuu-home-cta::before,
.perpetuu-home-cta::after {
	content: "";
	position: absolute;
	z-index: 0;
	width: clamp(22rem, 33.94vw, 32.028875rem);
	aspect-ratio: 1;
	border-radius: 50%;
	opacity: 0.2;
	filter: blur(var(--wp--custom--effect--blur-radius, 200px));
	pointer-events: none;
}

.perpetuu-home-cta::before {
	top: -2.77rem;
	left: max(-18.274rem, -35vw);
	background-color: var(--wp--preset--color--primary-accent, #00AAFF);
}

.perpetuu-home-cta::after {
	top: -9.157rem;
	left: max(-19.623rem, -38vw);
	background-color: var(--wp--custom--color--decorative-magenta, #FF00FF);
}

.perpetuu-home-cta__gutter-shell {
	position: relative;
	z-index: 1;
}

.perpetuu-home-cta__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3.125rem;
}

.perpetuu-home-cta__content > * {
	margin-block: 0;
}

.perpetuu-home-cta__heading {
	max-width: 41.1735rem;
	line-height: 1.2;
}

.perpetuu-home-cta__buttons {
	gap: 2.5rem;
}

.perpetuu-home-cta__buttons .wp-block-button__link {
	box-sizing: border-box;
	height: 50px;
	min-width: 240px;
	padding-block: 0;
}

.perpetuu-home-cta__buttons .wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #272755);
	outline-offset: 4px;
}

@media (max-width: 599px) {
	.perpetuu-home-capabilities__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.capability-card {
		padding-inline: 0;
	}

	.perpetuu-home-cta__buttons,
	.perpetuu-home-cta__buttons > .wp-block-button,
	.perpetuu-home-cta__buttons .wp-block-button__link {
		width: 100%;
	}

	.perpetuu-home-cta__buttons {
		gap: 1.25rem;
	}
}
/*
----------------------------------------
Pipeline page
----------------------------------------
*/

.perpetuu-pipeline-hero {
	--perpetuu-halo-pair-x: 236.724609px;
	--perpetuu-halo-pair-y: -728.797852px;
	--perpetuu-halo-ring-width: 260px;
	--perpetuu-halo-magenta-offset-x: -50.224609px;
	--perpetuu-halo-magenta-offset-y: -168px;
}

@media (max-width: 1199px) {
	.perpetuu-pipeline-hero {
		--perpetuu-halo-pair-x: 13vw;
		--perpetuu-halo-pair-y: -37.5rem;
	}
}

@media (max-width: 782px) {
	.perpetuu-pipeline-hero {
		--perpetuu-halo-pair-x: -5rem;
		--perpetuu-halo-pair-y: -32.5rem;
	}
}

.perpetuu-pipeline-hero__heading {
	max-width: 50.75rem;
	line-height: 1.1;
}

.perpetuu-pipeline-overview__shell {
	padding-block: var(--wp--preset--spacing--group-space-tb);
}

.perpetuu-pipeline-overview__intro-wrap,
.perpetuu-pipeline-overview__intro,
.perpetuu-pipeline-matrix,
.perpetuu-pipeline-hbv__intro,
.perpetuu-pipeline-hbv__intro-copy,
.perpetuu-pipeline-hbv__intro-copy > *,
.perpetuu-pipeline-hbv__intro-body,
.perpetuu-pipeline-hbv__intro-body > *,
.perpetuu-pipeline-proof,
.perpetuu-pipeline-proof > *,
.perpetuu-pipeline-proof__content,
.perpetuu-pipeline-proof__content > *,
.perpetuu-pipeline-proof__body,
.perpetuu-pipeline-proof__body > *,
.perpetuu-pipeline-proof__actions,
.perpetuu-pipeline-proof__actions > *,
.perpetuu-pipeline-proof__reference,
.perpetuu-pipeline-proof__reference > *,
.perpetuu-pipeline-charts,
.perpetuu-pipeline-charts > *,
.perpetuu-pipeline-chart-set,
.perpetuu-pipeline-chart-set > *,
.perpetuu-pipeline-chart-pair,
.perpetuu-pipeline-chart-pair > *,
.perpetuu-pipeline-expanding__row,
.perpetuu-pipeline-expanding__copy,
.perpetuu-pipeline-expanding__copy > *,
.perpetuu-pipeline-expanding__body,
.perpetuu-pipeline-expanding__body > *,
.perpetuu-pipeline-cmv__shell,
.perpetuu-pipeline-cmv__intro,
.perpetuu-pipeline-cmv__intro-copy,
.perpetuu-pipeline-cmv__intro-copy > *,
.perpetuu-pipeline-cmv__limitations,
.perpetuu-pipeline-cmv__limitations > *,
.perpetuu-pipeline-cmv__limitations-grid,
.perpetuu-pipeline-cmv__risk-copy,
.perpetuu-pipeline-cmv__risk-copy > *,
.perpetuu-pipeline-pathway,
.perpetuu-pipeline-pathway > *,
.perpetuu-pipeline-pathway__header,
.perpetuu-pipeline-pathway__header > *,
.perpetuu-pipeline-pathway__step,
.perpetuu-pipeline-pathway__step > *,
.perpetuu-pipeline-transplants,
.perpetuu-pipeline-transplants > *,
.perpetuu-pipeline-transplants__copy,
.perpetuu-pipeline-transplants__copy > *,
.perpetuu-pipeline-cta__content,
.perpetuu-pipeline-cta__content > * {
	margin-block: 0 !important;
}

.perpetuu-pipeline-overview__intro {
	max-width: 43.125rem;
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.6;
}

.perpetuu-pipeline-matrix-frame {
	position: relative;
	margin-top: 3.75rem !important;
}

.perpetuu-pipeline-matrix-scroll {
	margin-block: 0 !important;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 1451px) {
	.perpetuu-pipeline-matrix-frame {
		--perpetuu-pipeline-scroll-cue-width: clamp(1.5rem, 4vw, 2.5rem);
	}

	.perpetuu-pipeline-matrix-scroll {
		padding-inline-end: var(--perpetuu-pipeline-scroll-cue-width);
	}

	.perpetuu-pipeline-matrix-frame::after {
		position: absolute;
		z-index: 2;
		top: 0;
		right: 0;
		bottom: 0;
		width: var(--perpetuu-pipeline-scroll-cue-width);
		background: linear-gradient(90deg, transparent, rgb(255 255 255 / 82%));
		backdrop-filter: blur(1px);
		content: "";
		pointer-events: none;
	}
}

/*
Pipeline matrix: semantic HTML table with Figma-matched infographic treatment.
The column ratios, heights and chevron geometry map directly to node 423:41834.
*/

.perpetuu-pipeline-matrix {
	--perpetuu-pipeline-row-background: #F0F8FF;
	--perpetuu-pipeline-identity-background: #7A7AC2;
	--perpetuu-pipeline-program-sticky-width: 8.14375rem;

	width: 100%;
	min-width: 77.5rem;
	margin: 0;
	border: 0;
	border-spacing: 0;
	border-collapse: separate;
	table-layout: fixed;
	background: transparent;
	font-size: var(--wp--preset--font-size--normal);
	line-height: 1.2;
}

.perpetuu-pipeline-matrix col.is-program {
	width: 10.50846413%;
}

.perpetuu-pipeline-matrix col.is-disease {
	width: 15.50846128%;
}

.perpetuu-pipeline-matrix col.is-stage,
.perpetuu-pipeline-matrix col.is-status {
	width: 11.81356561%;
}

.perpetuu-pipeline-matrix col.is-funding {
	width: 14.91529067%;
}

.perpetuu-pipeline-matrix caption,
.perpetuu-pipeline-matrix thead,
.perpetuu-pipeline-matrix tbody,
.perpetuu-pipeline-matrix tr,
.perpetuu-pipeline-matrix th,
.perpetuu-pipeline-matrix td {
	border: 0;
}

.perpetuu-pipeline-matrix__header tr {
	height: 4.782086rem;
}

.perpetuu-pipeline-matrix__header th,
.perpetuu-pipeline-matrix .perpetuu-pipeline-matrix__cell {
	box-sizing: border-box;
	padding-block: 0;
	padding-inline: clamp(1rem, 2.118vw, 1.707888rem);
	border-right: 1px solid var(--wp--preset--color--main-accent, #B5B5FF);
	overflow-wrap: break-word;
	vertical-align: middle;
	word-break: normal;
}

.perpetuu-pipeline-matrix__header th {
	height: 4.782086rem;
	background-color: var(--wp--preset--color--main, #47478F);
	color: var(--wp--preset--color--base, #FFFFFF);
	font-weight: 700;
	text-align: left;
}

.perpetuu-pipeline-matrix__header th:last-child,
.perpetuu-pipeline-matrix__cell.is-funding {
	border-right: 0;
}

.perpetuu-pipeline-matrix__row {
	--perpetuu-pipeline-row-height: 6.148396rem;
}

.perpetuu-pipeline-matrix__row.is-cmv {
	--perpetuu-pipeline-row-height: 7.5rem;
}

.perpetuu-pipeline-matrix__row.is-hbv {
	--perpetuu-pipeline-row-background: #F9FCFF;
	--perpetuu-pipeline-identity-background: var(--wp--preset--color--navy, #6D6DBB);
}

.perpetuu-pipeline-matrix .perpetuu-pipeline-matrix__cell {
	height: var(--perpetuu-pipeline-row-height);
	background-color: var(--perpetuu-pipeline-row-background);
	border-bottom: 1px solid rgb(109 109 187 / 20%);
	color: var(--wp--preset--color--secondary, #09222F);
	font-size: var(--wp--preset--font-size--normal);
	font-weight: 400;
	line-height: 1.2;
	text-align: left;
}

.perpetuu-pipeline-matrix__cell.is-program,
.perpetuu-pipeline-matrix__cell.is-disease {
	background-color: var(--perpetuu-pipeline-identity-background);
	color: var(--wp--preset--color--base, #FFFFFF);
}

.perpetuu-pipeline-matrix__cell.is-program {
	font-weight: 700;
}

/* Preserve the two context columns while the remaining stages scroll. */
.perpetuu-pipeline-matrix__header th:nth-child(-n + 2),
.perpetuu-pipeline-matrix .perpetuu-pipeline-matrix__cell:is(.is-program, .is-disease) {
	position: sticky;
}

.perpetuu-pipeline-matrix__header th:first-child,
.perpetuu-pipeline-matrix .perpetuu-pipeline-matrix__cell.is-program {
	left: 0;
}

.perpetuu-pipeline-matrix__header th:nth-child(2),
.perpetuu-pipeline-matrix .perpetuu-pipeline-matrix__cell.is-disease {
	left: var(--perpetuu-pipeline-program-sticky-width);
}

.perpetuu-pipeline-matrix__header th:first-child {
	z-index: 6;
	background-color: var(--wp--preset--color--main, #47478F);
}

.perpetuu-pipeline-matrix__header th:nth-child(2) {
	z-index: 5;
	background-color: var(--wp--preset--color--main, #47478F);
}

.perpetuu-pipeline-matrix .perpetuu-pipeline-matrix__cell.is-program {
	z-index: 4;
	background-color: var(--perpetuu-pipeline-identity-background);
}

.perpetuu-pipeline-matrix .perpetuu-pipeline-matrix__cell.is-disease {
	z-index: 3;
	background-color: var(--perpetuu-pipeline-identity-background);
}

.perpetuu-pipeline-matrix__cell.is-stage {
	position: relative;
	padding: 0;
	overflow: visible;
}

.perpetuu-pipeline-matrix__cell.is-funding {
	padding-inline: clamp(0.75rem, 2.118vw, 1.707888rem);
	text-align: center;
}

.perpetuu-pipeline-matrix__stage-summary {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.perpetuu-pipeline-progress-track {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 0;
	display: block;
	width: 400%;
	height: 2.732619rem;
	transform: translateY(-50%);
	pointer-events: none;
}

.perpetuu-pipeline-progress {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	height: 100%;
	clip-path: polygon(0 0, calc(100% - 1.366313rem) 0, 100% 50%, calc(100% - 1.366313rem) 100%, 0 100%, 1.366313rem 50%);
}

.perpetuu-pipeline-progress.is-first {
	clip-path: polygon(0 0, calc(100% - 1.366313rem) 0, 100% 50%, calc(100% - 1.366313rem) 100%, 0 100%);
}

.perpetuu-pipeline-progress.is-discovery {
	background-color: var(--wp--preset--color--purple-minus-1, #9494E5);
}

.perpetuu-pipeline-progress.is-engineering {
	background-color: var(--wp--custom--color--purple-punch, #8C53F6);
}

.perpetuu-pipeline-progress.is-preclinical {
	background-color: var(--wp--preset--color--primary-accent, #00AAFF);
}

.perpetuu-pipeline-matrix__row.is-cmv .perpetuu-pipeline-progress.is-discovery,
.perpetuu-pipeline-matrix__row.is-hbv .perpetuu-pipeline-progress.is-discovery {
	width: 29.411731%;
}

.perpetuu-pipeline-matrix__row.is-cmv .perpetuu-pipeline-progress.is-engineering,
.perpetuu-pipeline-matrix__row.is-hbv .perpetuu-pipeline-progress.is-engineering {
	left: 27.618333%;
}

.perpetuu-pipeline-matrix__row.is-cmv .perpetuu-pipeline-progress.is-engineering {
	width: 15.094727%;
}

.perpetuu-pipeline-matrix__row.is-hbv .perpetuu-pipeline-progress.is-engineering {
	width: 23.314177%;
}

.perpetuu-pipeline-matrix__row.is-hbv .perpetuu-pipeline-progress.is-preclinical {
	left: 49.139112%;
	width: 16.243237%;
}

.perpetuu-pipeline-matrix__row.is-hdv .perpetuu-pipeline-progress.is-discovery {
	width: 14.438434%;
}

.perpetuu-pipeline-matrix__funding {
	display: block;
	width: min(100%, 8.220276rem);
	height: auto;
	margin: 0 auto;
}

@media (max-width: 639px) {
	.perpetuu-pipeline-matrix {
		--perpetuu-pipeline-program-sticky-width: 5.3125rem;

		min-width: 70.3125rem;
	}

	.perpetuu-pipeline-matrix col.is-program {
		width: 5.3125rem;
	}

	.perpetuu-pipeline-matrix col.is-disease {
		width: 10rem;
	}

	.perpetuu-pipeline-matrix col.is-stage,
	.perpetuu-pipeline-matrix col.is-status {
		width: 9.5rem;
	}

	.perpetuu-pipeline-matrix col.is-funding {
		width: 7.5rem;
	}

	.perpetuu-pipeline-matrix__header th:nth-child(-n + 2),
	.perpetuu-pipeline-matrix .perpetuu-pipeline-matrix__cell:is(.is-program, .is-disease) {
		padding-inline: 0.5rem;
	}

	.perpetuu-pipeline-matrix__header th:last-child,
	.perpetuu-pipeline-matrix .perpetuu-pipeline-matrix__cell.is-funding {
		padding-inline: 0;
	}
}

@media (max-width: 455px) {
	.perpetuu-pipeline-matrix-frame {
		width: 100vw;
		margin-left: calc(50% - 50vw) !important;
	}
}

.perpetuu-pipeline-hbv__intro {
	align-items: center;
	padding-block: 10rem 3.75rem;
}

.perpetuu-pipeline-hbv__intro-copy {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
	padding-inline: 3.75rem;
}

.perpetuu-pipeline-hbv__intro-copy > .wp-block-heading,
.perpetuu-pipeline-expanding__copy > .wp-block-heading,
.perpetuu-pipeline-cmv__intro-copy > .wp-block-heading:first-child {
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.perpetuu-pipeline-hbv__intro-body,
.perpetuu-pipeline-expanding__body {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.6;
}

.perpetuu-pipeline-proof,
.perpetuu-pipeline-charts {
	width: min(100%, 40.625rem);
	margin-inline: auto !important;
}

.perpetuu-pipeline-proof {
	display: flex;
	flex-direction: column;
	gap: 5rem;
	padding-block: 3.75rem;
}

.perpetuu-pipeline-proof__content,
.perpetuu-pipeline-proof__body,
.perpetuu-pipeline-proof__actions,
.perpetuu-pipeline-proof__reference,
.perpetuu-pipeline-chart-set,
.perpetuu-pipeline-chart-pair {
	display: flex;
	flex-direction: column;
}

.perpetuu-pipeline-proof__content,
.perpetuu-pipeline-proof__body {
	gap: 1.875rem;
}

.perpetuu-pipeline-proof__heading {
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.perpetuu-pipeline-proof__heading strong,
.perpetuu-pipeline-proof__heading span {
	display: block;
}

.perpetuu-pipeline-proof__heading span {
	font-weight: 400;
}

.perpetuu-pipeline-proof__body {
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.6;
}

.perpetuu-pipeline-proof__results {
	padding-left: 1.4em;
}

.perpetuu-pipeline-proof__actions {
	gap: 1.875rem;
}

.perpetuu-pipeline-proof__buttons {
	gap: 2.5rem;
}

.perpetuu-pipeline-proof__buttons .wp-block-button__link {
	box-sizing: border-box;
	height: 50px;
	min-width: 240px;
	padding-block: 0;
}

.perpetuu-pipeline-proof__reference {
	gap: 1.4rem;
	line-height: 1.5;
}

.perpetuu-pipeline-charts {
	gap: 3.75rem;
	padding-block: 3.125rem 10rem;
}

.perpetuu-pipeline-chart-set,
.perpetuu-pipeline-chart-pair {
	gap: 1.25rem;
}

.perpetuu-pipeline-chart-set {
	gap: 3.75rem;
}

.perpetuu-pipeline-charts__combined-heading {
	padding-top: 1.25rem;
	line-height: 1.2;
}

.perpetuu-pipeline-chart,
.perpetuu-pipeline-chart img {
	display: block;
	width: 100%;
	height: auto;
}

.perpetuu-pipeline-expanding__shell {
	padding-block: var(--wp--preset--spacing--group-space-tb);
}

.perpetuu-pipeline-expanding__row {
	align-items: center;
}

.perpetuu-pipeline-expanding__copy {
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
}

.perpetuu-pipeline-expanding__body {
	max-width: 34.875rem;
}

.perpetuu-pipeline-cmv__shell {
	display: flex;
	flex-direction: column;
	gap: 7.5rem;
	padding-block: 10rem;
}

.perpetuu-pipeline-cmv__intro {
	align-items: center;
}

.perpetuu-pipeline-cmv__intro-copy {
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
}

.perpetuu-pipeline-cmv__intro-copy > .wp-block-heading:nth-child(2) {
	line-height: 1.3;
}

.perpetuu-pipeline-cmv__intro-copy > p {
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.6;
}

.perpetuu-pipeline-cmv__limitations > .wp-block-heading {
	line-height: 1.3;
}

.perpetuu-pipeline-cmv__limitations-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.875rem;
	margin-top: 3.125rem !important;
}

.perpetuu-pipeline-cmv__risk-copy {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.6;
}

.perpetuu-pipeline-cmv__risk-copy ul,
.perpetuu-pipeline-transplants__copy ul {
	margin: 0;
	padding-left: 1.25em;
}

.perpetuu-pipeline-pathway {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--primary-accent, #00AAFF);
	background: transparent;
	color: #00527A;
}

.perpetuu-pipeline-pathway.is-perpetuu {
	border-color: var(--wp--custom--color--purple-punch, #8C53F6);
	color: #393972;
}

.perpetuu-pipeline-pathway__header,
.perpetuu-pipeline-pathway__step {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding-inline: 1.25rem;
}

.perpetuu-pipeline-pathway__header {
	min-height: 6.25rem;
	font-weight: 700;
	line-height: 1.3;
}

.perpetuu-pipeline-pathway__step {
	min-height: 3.125rem;
	font-size: var(--wp--preset--font-size--normal);
	line-height: 1.25;
}

.perpetuu-pipeline-pathway__step:nth-child(odd) {
	background-color: rgb(0 170 255 / 10%);
}

.perpetuu-pipeline-pathway.is-perpetuu .perpetuu-pipeline-pathway__step:nth-child(odd) {
	background-color: rgb(140 83 246 / 10%);
}

.perpetuu-pipeline-pathway.is-perpetuu .perpetuu-pipeline-pathway__step {
	min-height: 5rem;
}

.perpetuu-pipeline-pathway.is-perpetuu .perpetuu-pipeline-pathway__step:last-child {
	min-height: 6.875rem;
}

.perpetuu-pipeline-pathway__step.is-depth-1 {
	padding-left: 2.5rem;
}

.perpetuu-pipeline-pathway__step.is-depth-2 {
	padding-left: 4.0625rem;
}

.perpetuu-pipeline-pathway__step.is-depth-3 {
	padding-left: 5.625rem;
}

.perpetuu-pipeline-pathway__step.is-depth-4,
.perpetuu-pipeline-pathway__step.is-depth-5 {
	padding-left: 7.1875rem;
}

.perpetuu-pipeline-pathway .wp-block-outermost-icon-block,
.perpetuu-pipeline-pathway .icon-container {
	flex: 0 0 auto;
	margin: 0;
}

.perpetuu-pipeline-pathway svg {
	display: block;
	height: auto;
}

.perpetuu-pipeline-transplants {
	display: flex;
	flex-direction: column;
	gap: 7.5rem;
}

.perpetuu-pipeline-transplants__row {
	align-items: center;
}

.perpetuu-pipeline-transplants__copy {
	box-sizing: border-box;
	padding-top: 1.125rem;
	border-top: 4px solid var(--wp--preset--color--primary-alt, #006699);
	color: var(--wp--preset--color--primary-alt, #006699);
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.6;
}

@media (min-width: 1300px) {
	.perpetuu-pipeline-transplants__row {
		column-gap: 0 !important;
		row-gap: 0 !important;
	}

	.perpetuu-pipeline-transplants__row > .wp-block-column {
		flex-grow: 0;
		flex-shrink: 0;
	}

	.perpetuu-pipeline-transplants__row:not(.reverse-columns-mobile) > .perpetuu-pipeline-transplants__copy,
	.perpetuu-pipeline-transplants__row.reverse-columns-mobile > .wp-block-column:last-child {
		margin-left: 1.875rem;
	}
}

.perpetuu-pipeline-transplants__copy > .wp-block-heading {
	margin-bottom: 1.25rem !important;
	line-height: 1.2;
}

.perpetuu-pipeline-cta__content {
	gap: 3.125rem;
}

.perpetuu-pipeline-cta__content > .wp-block-heading {
	max-width: 43.75rem;
}

.perpetuu-pipeline-cta__body {
	max-width: 28.25rem;
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.6;
}

@media (max-width: 1100px) {
	.perpetuu-pipeline-hbv__intro-copy {
		padding-inline: clamp(1.5rem, 4vw, 3.75rem);
	}
}

@media (max-width: 900px) {
	.perpetuu-pipeline-cmv__limitations-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.perpetuu-pipeline-cmv__risk-copy,
	.perpetuu-pipeline-pathway {
		width: min(100%, 32.5rem);
	}
}

@media (max-width: 782px) {
	.perpetuu-pipeline-hbv__intro,
	.perpetuu-pipeline-cmv__shell {
		padding-block: var(--wp--preset--spacing--section-space-large);
	}

	.perpetuu-pipeline-hbv__intro {
		padding-bottom: 2.5rem;
	}

	.perpetuu-pipeline-hbv__intro-copy {
		padding-inline: 0;
	}

	.perpetuu-pipeline-transplants__image img {
		aspect-ratio: 16 / 10;
	}

	.perpetuu-pipeline-cmv__shell,
	.perpetuu-pipeline-transplants {
		gap: var(--wp--preset--spacing--section-space-large);
	}

	.perpetuu-pipeline-transplants__row.reverse-columns-mobile {
		flex-direction: column-reverse;
	}
}

@media (max-width: 599px) {
	.perpetuu-pipeline-hero {
		--perpetuu-halo-pair-x: -12rem;
		--perpetuu-halo-pair-y: -30rem;
	}

	.perpetuu-pipeline-proof__buttons,
	.perpetuu-pipeline-proof__buttons > .wp-block-button,
	.perpetuu-pipeline-proof__buttons .wp-block-button__link {
		width: 100%;
	}

	.perpetuu-pipeline-pathway__step.is-depth-1 {
		padding-left: clamp(1.75rem, 9vw, 2.5rem);
	}

	.perpetuu-pipeline-pathway__step.is-depth-2 {
		padding-left: clamp(2.25rem, 14vw, 4.0625rem);
	}

	.perpetuu-pipeline-pathway__step.is-depth-3 {
		padding-left: clamp(2.75rem, 19vw, 5.625rem);
	}

	.perpetuu-pipeline-pathway__step.is-depth-4,
	.perpetuu-pipeline-pathway__step.is-depth-5 {
		padding-left: clamp(3.25rem, 24vw, 7.1875rem);
	}
}

/*
----------------------------------------
Company page
----------------------------------------
*/

.perpetuu-company-hero {
	--perpetuu-halo-pair-x: -877.941406px;
	--perpetuu-halo-pair-y: 232.492004px;
	--perpetuu-halo-ring-width: 260px;
	--perpetuu-halo-magenta-offset-x: 99.941406px;
	--perpetuu-halo-magenta-offset-y: -165.742195px;
	--perpetuu-halo-blue-duplicate-x: 2000.705078px;
	--perpetuu-halo-blue-duplicate-y: 37.037292px;
	--perpetuu-halo-magenta-duplicate-x: 2000.705078px;
	--perpetuu-halo-magenta-duplicate-y: 128.705269px;
}

.perpetuu-company-hero::before {
	filter: drop-shadow(var(--perpetuu-halo-blue-duplicate-x) var(--perpetuu-halo-blue-duplicate-y) 0 currentColor) blur(var(--perpetuu-halo-css-blur));
}

.perpetuu-company-hero::after {
	filter: drop-shadow(var(--perpetuu-halo-magenta-duplicate-x) var(--perpetuu-halo-magenta-duplicate-y) 0 currentColor) blur(var(--perpetuu-halo-css-blur));
}

@media (max-width: 1199px) {
	.perpetuu-company-hero {
		--perpetuu-halo-pair-x: -39.375rem;
		--perpetuu-halo-pair-y: 11.875rem;
		--perpetuu-halo-blue-duplicate-x: 1500px;
		--perpetuu-halo-magenta-duplicate-x: 1500px;
	}
}

@media (max-width: 782px) {
	.perpetuu-company-hero {
		--perpetuu-halo-pair-x: -31.875rem;
		--perpetuu-halo-pair-y: 10rem;
		--perpetuu-halo-blue-duplicate-x: 1250px;
		--perpetuu-halo-magenta-duplicate-x: 1250px;
	}
}

.perpetuu-company-hero__content,
.perpetuu-company-hero__content > *,
.perpetuu-company-team__content,
.perpetuu-company-team__content > *,
.perpetuu-company-leadership,
.perpetuu-company-leadership > *,
.perpetuu-company-team__grid,
.perpetuu-company-profile,
.perpetuu-company-profile > *,
.perpetuu-company-profile__identity,
.perpetuu-company-profile__identity > * {
	margin-block: 0 !important;
}

.perpetuu-company-hero__heading {
	max-width: 53.902rem;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.perpetuu-company-team__content {
	display: flex;
	flex-direction: column;
	gap: 7.5rem;
}

.perpetuu-company-team__heading {
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.perpetuu-company-leadership {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.perpetuu-company-leadership__heading {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
}

.perpetuu-company-team__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 20.625rem));
	gap: 3.75rem 7.5rem;
	justify-content: start;
}

.perpetuu-company-profile {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 1.25rem;
}

.perpetuu-company-profile__portrait,
.perpetuu-company-profile__portrait img {
	display: block;
	width: 100%;
	max-width: none;
	aspect-ratio: 1;
	object-fit: cover;
}

.perpetuu-company-profile__identity {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.perpetuu-company-profile__name {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
}

.perpetuu-company-profile__credential {
	font-size: 1rem;
	font-weight: 400;
}

.perpetuu-company-profile__role {
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.6;
}

.perpetuu-company-profile__bio {
	color: var(--wp--preset--color--black, #000000);
	font-size: var(--wp--preset--font-size--normal);
	line-height: 1.6;
}

@media (max-width: 1400px) {
	.perpetuu-company-team__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: clamp(1.875rem, 4vw, 3.75rem);
	}
}

@media (max-width: 1100px) {
	.perpetuu-company-team__grid {
		grid-template-columns: repeat(2, minmax(0, 20.625rem));
		column-gap: clamp(2.5rem, 6vw, 3.75rem);
	}
}

@media (max-width: 820px) {
	.perpetuu-company-team__content {
		gap: var(--wp--preset--spacing--section-space-large);
	}

	.perpetuu-company-team__grid {
		grid-template-columns: minmax(0, 20.625rem);
	}
}

@media (max-width: 599px) {
	.perpetuu-company-hero {
		--perpetuu-halo-pair-x: -26.875rem;
		--perpetuu-halo-pair-y: 7.5rem;
		--perpetuu-halo-blue-duplicate-x: 970px;
		--perpetuu-halo-magenta-duplicate-x: 970px;
	}

	.perpetuu-company-team__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.perpetuu-company-profile {
		width: 100%;
		max-width: 20.625rem;
	}
}

/*
----------------------------------------
Applications Section - Columns Version
----------------------------------------
*/

.application-row {
	align-items: flex-start;
}

.application-row:not(.perpetuu-pipeline-hbv__intro, .perpetuu-pipeline-expanding__row, .perpetuu-pipeline-cmv__intro) {
	gap: 30px;
}

.application-row > .wp-block-column {
	margin-block-start: 0;
}

/* Image cleanup */
.application-row .wp-block-image {
	float: none !important;
	margin: 0 !important;
	width: 100%;
	max-width: none;
}

.application-row .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* Text block */
.application-card__content {
	position: relative;
	padding-top: clamp(1.25rem, 2vw, 1.75rem);
	max-width: 320px;
}

.application-card__content::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 33.33%;
	height: 4px;
	background: currentColor;
}

.application-card__content h2,
.application-card__content h3,
.application-card__content h4 {
	margin: 0 0 1.25rem;
	font-size: var(--global-font-size-16px);
	line-height: 1.2;
	font-weight: 700;
}

.application-card__content p {
	margin: 0;
	font-size: var(--global-font-size-16px);
	line-height: 1.45;
}

/*
Tablet: hide empty spacer column earlier
and let remaining columns use the space
*/

@media (max-width: 1100px) {
	.application-row:not(.perpetuu-pipeline-hbv__intro, .perpetuu-pipeline-expanding__row, .perpetuu-pipeline-cmv__intro) {
		gap: clamp(1.5rem, 4vw, 3rem);
	}

	.application-row .application-spacer-column,
	.application-row .wp-block-column.application-spacer-column {
		display: none !important;
		flex-basis: 0 !important;
		width: 0 !important;
		max-width: 0 !important;
	}

	.application-row > .wp-block-column:not(.application-spacer-column) {
		flex-basis: 50% !important;
	}
}

/*
Mobile: stack cleanly
*/

@media (max-width: 782px) {
	.application-row:not(.perpetuu-pipeline-hbv__intro, .perpetuu-pipeline-expanding__row, .perpetuu-pipeline-cmv__intro) {
		gap: 1.25rem;
	}

	.application-row > .wp-block-column:not(.application-spacer-column) {
		flex-basis: 100% !important;
	}

	.application-row .application-spacer-column,
	.application-row .wp-block-column:empty {
		display: none !important;
	}

	.application-card__content {
		max-width: none;
		padding-top: 1.25rem;
	}

	.application-row .wp-block-image img {
		aspect-ratio: 16 / 10;
	}
}
/* 
==========================================
 	Infrastructure overlap image
 	Right image can break out of its column on desktop
========================================== 
*/

.infrastructure-section,
.infrastructure-columns,
.infrastructure-columns .wp-block-column,
.infrastructure-media {
	overflow: visible;
}

.infrastructure-columns {
	align-items: center;
}

/* Keep text above if overlap gets close */
.infrastructure-columns > .wp-block-column:first-child {
	position: relative;
	z-index: 3;
}

.infrastructure-media {
	position: relative;
	z-index: 2;
}

/* Make the image figure wider than its column */
.infrastructure-media__image {
	position: relative;
	z-index: 2;
	width: clamp(700px, 58vw, 1000px);
	max-width: none;
	margin: 0;
	transform: translate(-20%, clamp(80px, 10vw, 100px));
}

/* Make sure the actual image fills that custom figure width */
.infrastructure-media__image img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
}

/* Tablet / mobile: reset back into normal flow */
@media (max-width: 991px) {
	.infrastructure-media__image {
  	width: 100%;
  	max-width: 100%;
  	transform: none;
	}

	.infrastructure-media__image img {
  	max-width: 100%;
	}
}
/* <= 500  */
@media (max-width: 500px) {

	.hero-text {
  	padding-left: 1.5rem !important;
  	padding-right: 1.5rem !important;
	}

	.hero-text h1 br,
	.hero-text h2 br{
  	display: none;
	}

}


/* =========================================================
   06 ACCORDION COMPONENT
========================================================= */

/* 
==========================================
	Accordion Updates
	+ / – Open close indicators
========================================== 
*/


.wp-block-accordion-heading__toggle {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	align-items: center;
	column-gap: 0.5rem;
	width: 100%;
	text-align: left;
}

/* Hide the default + text and use our own indicator */
.wp-block-accordion-heading__toggle-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.5rem;
	min-width: 1.5rem;
	height: 1.5rem;

	font-size: 0;
	line-height: 1;

	transform: none !important;
	transition: none !important;
}

/* Closed state: + */
.wp-block-accordion-heading__toggle-icon::before {
	content: "+";
	display: block;

	color: currentColor;
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--global-font-size-24px);
	font-weight: var(--global-font-weight-semibold);
	line-height: 1;

	transform: translate(2px, -1px);
}

/* Open state: – */
.wp-block-accordion-heading__toggle[aria-expanded="true"] 
.wp-block-accordion-heading__toggle-icon::before,
.wp-block-accordion-heading__toggle[aria-pressed="true"] 
.wp-block-accordion-heading__toggle-icon::before {
	content: "–";
	color: currentColor;

	/* Minus usually needs less vertical lift than plus */
	transform: translate(2px, 0px);
}

/* Title alignment */
.wp-block-accordion-heading__toggle-title {
	display: block;
	line-height: 1.2;
}

/* 
==========================================
	Accordion hover state
	- Background tint
	- No underline
========================================== 
*/

.wp-block-accordion {
	--accordion-hover-tint: rgba(0, 0, 0, 0.12);
}

/* Remove underline from the button/title */
.wp-block-accordion-heading__toggle,
.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading__toggle:focus,
.wp-block-accordion-heading__toggle:focus-visible,
.wp-block-accordion-heading__toggle-title,
.wp-block-accordion-heading__toggle-title:hover {
	text-decoration: none !important;
}

/* Create a positioning context for the tint */
.wp-block-accordion-heading {
	position: relative;
	overflow: hidden;
}

/* Keep the clickable button above the tint */
.wp-block-accordion-heading__toggle {
	position: relative;
	z-index: 1;
	background: transparent;
	transition: none !important;
}

/* Tint overlay */
.wp-block-accordion-heading::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(--accordion-hover-tint);
	opacity: 0;
	pointer-events: none;
	transition: none !important;
}

/* Hover/focus: show tint instantly */
.wp-block-accordion-item:hover .wp-block-accordion-heading::before,
.wp-block-accordion-heading:focus-within::before {
	opacity: 1;
}

/* Preserve existing text/icon color */
.wp-block-accordion-item:hover .wp-block-accordion-heading__toggle,
.wp-block-accordion-item:hover .wp-block-accordion-heading__toggle-title,
.wp-block-accordion-item:hover .wp-block-accordion-heading__toggle-icon::before {
	color: inherit !important;
}
/* -----------------------------------------
 	Core Accordion – remove gaps + clean panel spacing
------------------------------------------ */

/* 1) Remove "block spacing / gap" between accordion items */
.wp-block-accordion.is-layout-flow,
.wp-block-accordion.is-layout-constrained,
.wp-block-accordion.is-layout-flex {
	gap: 0 !important;
	row-gap: 0 !important;
	column-gap: 0 !important;

	/* Some themes use this variable to drive flow spacing */
	--wp--style--block-gap: 0px;
}

/* Flow layout adds margin between direct children */
.wp-block-accordion.is-layout-flow > * + * {
	margin-block-start: 0 !important;
}

/* Ensure items themselves aren't contributing margin */
.wp-block-accordion-item {
	margin: 0 !important;
}

/* If each item has a 1px border, this prevents double borders by pulling the next item up by 1px. */
.wp-block-accordion-item + .wp-block-accordion-item {
	margin-top: -1px !important;
}

/* Also remove default heading margins that can create internal gaps */
.wp-block-accordion-heading {
	margin: 0 !important;
}

/*  Remove extra gap when expanded (panel spacing) */
.wp-block-accordion-panel {
	margin: 0 !important;
}

/* Normalize spacing inside the panel so the first/last elements don't create a gap */
.wp-block-accordion-panel > *:first-child {
	margin-top: 0 !important;
}

.wp-block-accordion-panel > *:last-child {
	margin-bottom: 0 !important;
}



/* =========================================================
   07 NEWS / POSTS / ARCHIVES
========================================================= */

.external-source-notice {
	width: min(100%, 850px);
	margin: 0 auto 3.75rem !important;
}

/* Archive: back link to News/posts page */
.view-all-news-link {
	margin: 0 0 var(--wp--preset--spacing--medium) 0;
}
.view-all-news-link a {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	padding: 0.35em 0.65em;
	/* border-radius: 99em; */
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-size: 1rem;
	line-height: 1;
	text-decoration: none;
	text-transform: capitalize;
}
.view-all-news-link a::before {
	content: "←";
	display: inline-block;
	line-height: 1;
}
.view-all-news-link a:hover {
	text-decoration: none;
	filter: brightness(0.95);
}
/* --------
	Posts
	post-meta
-----------*/

.post-meta,
.post-meta * {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 400;
	line-height: 1.4;
	text-transform: uppercase;
}
/*
=========================================================
   Single Post Template
=========================================================
*/

.perpetuu-single-post,
.perpetuu-single-post > *,
.perpetuu-single-post__title-shell > *,
.perpetuu-single-post__stage > *,
.perpetuu-single-post__header > * {
	margin-block: 0 !important;
}

.perpetuu-single-post__stage {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.5rem;
}

.perpetuu-single-post__title-shell {
	padding-block: 3.75rem;
}

.perpetuu-single-post__article-shell {
	padding-top: 3.75rem;
	padding-bottom: var(--wp--preset--spacing--section-space-large);
}

.single-post-template .perpetuu-single-post__featured,
.single-post-template .perpetuu-single-post__featured img {
	display: block;
	width: 100%;
}

.single-post-template .perpetuu-single-post__featured {
	margin: 0 !important;
	aspect-ratio: 43 / 24;
	overflow: hidden;
}

.single-post-template .perpetuu-single-post__featured img {
	height: 100%;
	object-fit: cover;
}

.single-post-header {
	width: min(100%, 850px);
	margin-inline: auto;
}

.perpetuu-single-post__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3.75rem;
}

.single-post-meta,
.single-post-meta * {
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
}

.perpetuu-single-post__meta {
	display: flex;
	flex-wrap: nowrap !important;
	align-items: center;
	gap: 0.5rem !important;
	width: 100%;
	color: var(--wp--preset--color--purple-minus-1, #9494E5);
}

.perpetuu-single-post__meta .wp-block-post-date,
.perpetuu-single-post__meta .wp-block-post-terms,
.perpetuu-single-post__meta .wp-block-post-terms a {
	flex: 0 0 auto;
	margin: 0;
	color: inherit !important;
	font: inherit;
	text-decoration: none;
	white-space: nowrap;
}

.perpetuu-single-post__meta .wp-block-post-terms a:hover,
.perpetuu-single-post__meta .wp-block-post-terms a:focus-visible {
	color: var(--wp--preset--color--primary-alt, #006699) !important;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.perpetuu-single-post__meta-rule.wp-block-separator {
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1px;
	margin: 0 !important;
	border: 0;
	background: currentColor !important;
	color: var(--wp--preset--color--purple-minus-1, #9494E5);
	opacity: 1;
}

.perpetuu-single-post__meta-rule--grow.wp-block-separator {
	flex: 1 1 auto;
	min-width: 1.25rem;
	width: auto;
}

/* A Publication without a display date starts with its category, not a dangling rule. */
.perpetuu-single-post__meta-rule--short.wp-block-separator:first-child {
	display: none;
}

.perpetuu-single-post__title {
	color: var(--wp--preset--color--main, #47478F);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 700;
	line-height: 1.2;
}

.single-post-content {
	width: min(100%, 850px);
	margin-inline: auto;
	color: var(--wp--preset--color--black, #000000);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 400;
	line-height: 1.6;
}

.single-post-content > *:first-child {
	margin-top: 0;
}

.single-post-content > * + * {
	margin-block-start: 1rem;
}

.single-post-content > .is-style-page-intro {
	margin-bottom: 1.875rem;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.6;
}

.single-post-content > .wp-block-image {
	margin-block: 5rem;
}

.single-post-content > .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 17 / 12;
	object-fit: cover;
}

.single-post-content > .wp-block-image figcaption {
	margin-top: 1rem;
	margin-bottom: 0;
	color: var(--wp--preset--color--main, #47478F);
	font-size: 0.875rem;
	line-height: 1.6;
	text-align: left;
}

.single-post-content > .wp-block-quote.is-style-dark-quote-callout {
	margin-block: 2.25rem;
	padding: 1.875rem;
	background: var(--wp--preset--color--navy, #6D6DBB);
}

.single-post-content > .wp-block-quote.is-style-dark-quote-callout,
.single-post-content > .wp-block-quote.is-style-dark-quote-callout p {
	color: var(--wp--preset--color--base, #FFFFFF);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 400;
	line-height: 1.6;
}

.single-post-content > h2.wp-block-heading {
	margin-top: 3.75rem;
	margin-bottom: 1.25rem;
	color: var(--wp--preset--color--black, #000000);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

@media (max-width: 782px) {
	.perpetuu-single-post__stage {
		gap: clamp(2rem, 6vw, 2.5rem);
	}

	.perpetuu-single-post__header {
		gap: clamp(2rem, 8vw, 3.75rem);
	}

	.single-post-template .perpetuu-single-post__featured {
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 599px) {
	.perpetuu-single-post__meta {
		flex-wrap: wrap !important;
	}

	.perpetuu-single-post__meta-rule--grow.wp-block-separator {
		display: none;
	}

	.single-post-content > .wp-block-image {
		margin-block: clamp(3.75rem, 18vw, 5rem);
	}

	.single-post-content > .wp-block-quote.is-style-dark-quote-callout {
		padding: 1.5rem;
	}
}
/* 
=========================================================
   Blog Category Jump Buttons
   Used on main News / Blog archive intro
========================================================= 
*/

.wp-block-buttons.blog-category-buttons {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: clamp(0.75rem, 2vw, 1.5rem);
	margin-top: var(--wp--preset--spacing--medium);
}

.wp-block-buttons.blog-category-buttons .wp-block-button {
	margin: 0 !important;
}

.wp-block-buttons.blog-category-buttons .wp-block-button .wp-block-button__link,
.wp-block-buttons.blog-category-buttons .wp-block-button__link.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 0;
	padding: 0.6em 1.35em !important;

	background-color: var(--wp--preset--color--border-light, #B5B5FF) !important;
	color: var(--wp--preset--color--secondary, #09222F) !important;

	border: 1px solid var(--wp--preset--color--secondary, #09222F) !important;
	border-radius: 0 !important;

	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none !important;

	box-shadow: none !important;
	outline: none;
	transition: none !important;
}

.wp-block-buttons.blog-category-buttons .wp-block-button .wp-block-button__link:hover,
.wp-block-buttons.blog-category-buttons .wp-block-button .wp-block-button__link:focus-visible,
.wp-block-buttons.blog-category-buttons .wp-block-button__link.wp-element-button:hover,
.wp-block-buttons.blog-category-buttons .wp-block-button__link.wp-element-button:focus-visible {
	background-color: var(--wp--preset--color--secondary, #09222F) !important;
	color: var(--wp--preset--color--base, #FFFFFF) !important;
	border-color: var(--wp--preset--color--secondary, #09222F) !important;
	text-decoration: none !important;
	transition: none !important;
}

/* Mobile */
@media (max-width: 600px) {
	.wp-block-buttons.blog-category-buttons {
		gap: 0.75rem;
	}

	.wp-block-buttons.blog-category-buttons .wp-block-button,
	.wp-block-buttons.blog-category-buttons .wp-block-button__link {
		/* width: 100%; */
	}

	.wp-block-buttons.blog-category-buttons .wp-block-button__link {
		min-width: 0;
	}
}
/* =========================================================
   News / Blog Grid Cards
   Hover underline bar + title color change
   Scoped to Query Loop class: news-grid
========================================================= */

.news-grid .wp-block-post-template > li.wp-block-post {
	height: 100%;
}

/* The card itself: first inner group inside each post item */
.news-grid .wp-block-post-template > li.wp-block-post > .wp-block-group {
	position: relative;
	height: 100%;
	overflow: hidden;
	cursor: pointer;

	/* Keep existing editor-set padding/background/border */
	transition: none !important;
}

/* Animated bottom bar, same behavior as capability cards */
.news-grid .wp-block-post-template > li.wp-block-post > .wp-block-group::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 10px;
	background: var(--wp--preset--color--primary-alt, #006699);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 220ms ease;
}

/* Show bottom bar on card hover/focus */
.news-grid .wp-block-post-template > li.wp-block-post:hover > .wp-block-group::after,
.news-grid .wp-block-post-template > li.wp-block-post:focus-within > .wp-block-group::after {
	transform: scaleX(1);
}

/* Only the post title changes color, not the meta row */
.news-grid .wp-block-post-template > li.wp-block-post .wp-block-post-title,
.news-grid .wp-block-post-template > li.wp-block-post .wp-block-post-title a {
	color: var(--wp--preset--color--secondary, #09222F);
	text-decoration: none !important;
	transition: color 180ms ease;
}

/* Title hover color */
.news-grid .wp-block-post-template > li.wp-block-post:hover .wp-block-post-title,
.news-grid .wp-block-post-template > li.wp-block-post:hover .wp-block-post-title a,
.news-grid .wp-block-post-template > li.wp-block-post:focus-within .wp-block-post-title,
.news-grid .wp-block-post-template > li.wp-block-post:focus-within .wp-block-post-title a {
	color: var(--wp--preset--color--primary-alt, #006699) !important;
	text-decoration: none !important;
}

/* Keep meta row unchanged */
.news-grid .wp-block-post-template > li.wp-block-post .post-meta,
.news-grid .wp-block-post-template > li.wp-block-post .post-meta *,
.news-grid .wp-block-post-template > li.wp-block-post .taxonomy-category a {
	color: var(--wp--preset--color--purple-minus-1) !important;
	text-decoration: none;
}

/* Make the title link fill naturally but avoid ugly default underline */
.news-grid .wp-block-post-template > li.wp-block-post .wp-block-post-title a:hover,
.news-grid .wp-block-post-template > li.wp-block-post .wp-block-post-title a:focus-visible {
	text-decoration: none !important;
}

/* Add a little bottom breathing room so the animated bar does not crowd content */
.news-grid .wp-block-post-template > li.wp-block-post > .wp-block-group {
	padding-bottom: calc(var(--wp--preset--spacing--medium) + 10px) !important;
}
/* 
=========================================
 	News grid — equal-height cards
		- Query Loop – Card Grid Spacing
========================================= 
*/

@media (min-width: 782px) {

	/* News grid — equal-height cards */
	.news-grid .wp-block-post-template.is-layout-grid {
  	align-items: stretch; /* grid-level cross-axis stretch */
	}

	.news-grid .wp-block-post-template.is-layout-grid > li {
  	height: 100%;
	}

	.news-grid .wp-block-post-template.is-layout-grid > li > .wp-block-group {
  	height: 100%;
  	display: flex;
  	flex-direction: column;
	}

	.news-grid .wp-block-post-template.is-layout-grid > li > .wp-block-group > .wp-block-group {
  	flex: 1;
  	display: flex;
  	flex-direction: column;
	}

	/* News Page Query Loop – Card Grid Spacing */
	.news-grid .wp-block-post-template.is-layout-grid {
		column-gap: clamp(1.75rem, 3vw, 3.5rem) !important; /* horizontal spacing */
		row-gap: clamp(4rem, 7vw, 6rem) !important; /* vertical spacing */
	}

	/* Homepage Query Loop – Card Grid Spacing */
	.home-news-grid .news-grid .wp-block-post-template.is-layout-grid {
  	row-gap: clamp(2rem, 4vw, 3.5rem); /* ~32px → ~56px */
	}
}
/* =========================================================
   News Grid - Single Column Spacing
========================================================= */

.news-grid.single-column .wp-block-post-template,
.news-grid.single-column .wp-block-post-template.is-layout-grid {
	gap: 2rem !important;
	row-gap: 2rem !important;
}
/* 
=========================================================
   Query Pagination / News Pagination
========================================================= 
*/

.wp-block-query-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1.25rem;

	margin-top: var(--wp--preset--spacing--large);
	color: var(--wp--preset--color--secondary, #09222F);

	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--xx-small);
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
}

.wp-block-query-pagination-numbers {
	display: inline-flex;
	align-items: center;
	gap: 1.25rem;

	margin: 0;
	font-size: inherit !important;
	line-height: 1;
}

.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination .wp-block-query-pagination-next,
.wp-block-query-pagination .wp-block-query-pagination-previous {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 1.75rem;
	min-height: 1.75rem;

	color: var(--wp--preset--color--secondary, #09222F) !important;
	background: transparent;

	font-size: inherit !important;
	font-weight: 400;
	line-height: 1;
	text-decoration: none !important;

	border: 0;
	border-radius: 0;
	box-shadow: none;
	transition: none !important;
}

/* Current page box */
.wp-block-query-pagination .page-numbers.current {
	color: var(--wp--preset--color--base, #FFFFFF) !important;
	background: var(--wp--preset--color--secondary, #09222F);

	padding: 0.55rem 0.7rem;
	min-width: 2rem;
	min-height: 2rem;
}

/* Dots */
.wp-block-query-pagination .page-numbers.dots {
	min-width: auto;
	padding-inline: 0.25rem;
	color: var(--wp--preset--color--secondary, #09222F) !important;
}

/* Hover / focus for links only */
.wp-block-query-pagination a.page-numbers:hover,
.wp-block-query-pagination a.page-numbers:focus-visible,
.wp-block-query-pagination .wp-block-query-pagination-next:hover,
.wp-block-query-pagination .wp-block-query-pagination-next:focus-visible,
.wp-block-query-pagination .wp-block-query-pagination-previous:hover,
.wp-block-query-pagination .wp-block-query-pagination-previous:focus-visible {
	color: var(--wp--preset--color--primary-alt, #006699) !important;
	text-decoration: none !important;
	background: transparent;
	outline: none;
}

/* Optional: make Next Page less visually dominant */
.wp-block-query-pagination .wp-block-query-pagination-next,
.wp-block-query-pagination .wp-block-query-pagination-previous {
	min-width: auto;
	padding-inline: 0;
}

/* Mobile */
@media (max-width: 600px) {
	.wp-block-query-pagination {
		flex-wrap: wrap;
		gap: 1rem;
	}

	.wp-block-query-pagination-numbers {
		gap: 1rem;
	}
}


/* =========================================================
   08 CONTACT PAGE
========================================================= */

.perpetuu-contact-hero {
	--perpetuu-halo-pair-x: 240.349609px;
	--perpetuu-halo-pair-y: 34.5px;
	--perpetuu-halo-ring-width: 260px;
	--perpetuu-halo-magenta-offset-x: -29.998138px;
	--perpetuu-halo-magenta-offset-y: -168px;
}

@media (max-width: 1199px) {
	.perpetuu-contact-hero {
		--perpetuu-halo-pair-x: 13vw;
		--perpetuu-halo-pair-y: 1.75rem;
	}
}

@media (max-width: 782px) {
	.perpetuu-contact-hero {
		--perpetuu-halo-pair-x: -5rem;
		--perpetuu-halo-pair-y: 1rem;
	}
}

.perpetuu-contact-hero__heading {
	max-width: 37.599375rem;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.perpetuu-contact-main__content,
.perpetuu-contact-main__content > *,
.perpetuu-contact-intro,
.perpetuu-contact-intro > *,
.perpetuu-contact-details,
.perpetuu-contact-details > *,
.perpetuu-contact-partner__content,
.perpetuu-contact-partner__content > *,
.perpetuu-contact-partner__areas,
.perpetuu-contact-partner__areas > * {
	margin-block: 0 !important;
}

.perpetuu-contact-main__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6.875rem;
}

.perpetuu-contact-intro {
	display: flex;
	width: min(100%, 40.4395rem);
	max-width: 40.4395rem;
	flex-direction: column;
	align-items: flex-start;
	gap: 2.25rem;
}

.perpetuu-contact-intro > p {
	max-width: 100%;
}

.perpetuu-contact-details {
	display: grid;
	width: min(100%, 53.0625rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.8125rem;
	align-items: start;
}

.perpetuu-contact-details .contact-detail-card {
	box-sizing: border-box;
	min-width: 0;
	padding-top: 1.375rem !important;
	color: var(--wp--preset--color--black, #000000);
	font-size: var(--wp--preset--font-size--normal, 1rem);
	line-height: 1.6;
}

.perpetuu-contact-details .contact-detail-card > * {
	margin-block: 0 !important;
	font-size: var(--wp--preset--font-size--normal, 1rem);
	line-height: 1.6;
}

.perpetuu-contact-details .contact-detail-card::before {
	background: var(--wp--preset--color--navy, #6D6DBB);
}

.perpetuu-contact-email {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.perpetuu-contact-email:hover,
.perpetuu-contact-email:focus-visible {
	color: var(--wp--preset--color--primary-alt, #006699);
}

.perpetuu-contact-partner__content {
	display: flex;
	width: min(100%, 40rem);
	margin-right: auto !important;
	margin-left: 0 !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 5rem;
}

.perpetuu-contact-partner__content > .wp-block-heading {
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.perpetuu-contact-partner__areas,
.perpetuu-contact-partner__closing {
	font-size: var(--wp--preset--font-size--base, 1.125rem);
	line-height: 1.6;
}

.perpetuu-contact-partner__areas .wp-block-list {
	margin-block: 0;
	padding-inline-start: 1.6875rem;
}

.perpetuu-contact-partner__areas .wp-block-list > li {
	margin-block: 0 !important;
	line-height: 1.6;
}

.perpetuu-contact-partner__closing {
	max-width: 27rem;
}

/* 
=========================================================
   Contact Detail Cards
   Simple top-bar treatment only
========================================================= 
*/
.contact-detail-card {
	position: relative;
	padding-top: 1.5rem !important;
}

/* Top bar */
.contact-detail-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 110px;
	height: 4px;
	background: currentColor;
}

/* Remove only the extra global left/right padding from the inner group */
.contact-detail-card.has-global-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Mobile */
@media (max-width: 782px) {
	.perpetuu-contact-main__content {
		gap: clamp(4rem, 14vw, 6.875rem);
	}

	.perpetuu-contact-details {
		grid-template-columns: minmax(0, 25.625rem);
		gap: 3.125rem;
	}

	.perpetuu-contact-partner__content {
		gap: clamp(3rem, 12vw, 5rem);
	}

	.contact-detail-card {
		padding-top: 1.25rem !important;
	}

	.contact-detail-card::before {
		width: 33.33%;
	}
}

@media (max-width: 599px) {
	.perpetuu-contact-hero {
		--perpetuu-halo-pair-x: -10rem;
		--perpetuu-halo-pair-y: 0;
	}

	.perpetuu-contact-details {
		grid-template-columns: minmax(0, 1fr);
	}
}


/* =========================================================
   09 FOOTER
========================================================= */

/*  ----------------------
	Perpetuu Footer
	Figma uses a 12px uppercase footer system, independent from the Header nav.
---------------------  */

.perpetuu-site-footer {
	--perpetuu-footer-halo-pair-x: 39.637831%;
	--perpetuu-footer-halo-pair-y: clamp(4rem, 7.94702vw, 7.5rem);
	--perpetuu-footer-halo-pair-scale: 1;
	--perpetuu-footer-halo-circle-size: 1107px;
	--perpetuu-footer-halo-ring-width: 200px;
	--perpetuu-footer-halo-magenta-offset-x: 213px;
	--perpetuu-footer-halo-magenta-offset-y: 73px;
	--perpetuu-footer-halo-css-blur: 100px;

	position: relative;
	isolation: isolate;
	overflow: hidden;
	contain: paint;
}

.perpetuu-site-footer::before,
.perpetuu-site-footer::after {
	content: "";
	position: absolute;
	z-index: 0;
	top: var(--perpetuu-footer-halo-pair-y);
	left: var(--perpetuu-footer-halo-pair-x);
	box-sizing: border-box;
	width: var(--perpetuu-footer-halo-circle-size);
	aspect-ratio: 1;
	background: transparent;
	border: var(--perpetuu-footer-halo-ring-width) solid currentColor;
	border-radius: 50%;
	filter: blur(var(--perpetuu-footer-halo-css-blur));
	transform-origin: 0 0;
	mix-blend-mode: normal;
	pointer-events: none;
}

.perpetuu-site-footer::before {
	color: var(--wp--preset--color--primary-accent, #00AAFF);
	opacity: 0.15;
	transform: translateZ(0) scale(var(--perpetuu-footer-halo-pair-scale));
}

.perpetuu-site-footer::after {
	color: var(--wp--custom--color--decorative-magenta, #FF00FF);
	opacity: 0.2;
	transform: translateZ(0) scale(var(--perpetuu-footer-halo-pair-scale)) translate(var(--perpetuu-footer-halo-magenta-offset-x), var(--perpetuu-footer-halo-magenta-offset-y));
}

.perpetuu-site-footer__gutter-shell,
.perpetuu-site-footer__content {
	position: relative;
	z-index: 1;
}

.perpetuu-site-footer__content {
	display: flex;
	flex-direction: column;
	gap: clamp(3.75rem, 5.96vw, 5.625rem);
}

.perpetuu-site-footer__top,
.perpetuu-site-footer__primary-row,
.perpetuu-site-footer__secondary-row {
	margin-block: 0;
}

.perpetuu-site-footer__top .wp-block-outermost-icon-block,
.perpetuu-site-footer__top .icon-container {
	max-width: 100%;
}

.perpetuu-site-footer__top .wp-block-button__link {
	box-sizing: border-box;
	min-height: 50px;
	padding: 0 20px;
	font-size: var(--wp--preset--font-size--normal, 1rem);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: none;
}

.perpetuu-site-footer__copyright,
.perpetuu-site-footer__legal,
.perpetuu-site-footer__social,
.perpetuu-site-footer .wp-block-navigation {
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--xx-small, 0.75rem);
	font-weight: 400;
	text-transform: uppercase;
}

.perpetuu-site-footer__copyright,
.perpetuu-site-footer__legal,
.perpetuu-site-footer__social,
.perpetuu-site-footer__social > p {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: 1.6;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.perpetuu-site-footer .wp-block-navigation {
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.perpetuu-site-footer .wp-block-navigation-item__content,
.perpetuu-site-footer .wp-block-navigation-item__label {
	font: inherit;
	letter-spacing: inherit;
	text-transform: uppercase;
}

.perpetuu-site-footer__rule {
	flex: 1 1 auto;
	width: auto;
	min-width: 2rem;
	margin: 0;
	border: 0 !important;
	border-top: 1px solid currentColor !important;
	background: transparent !important;
	opacity: 1;
}

.perpetuu-site-footer__primary-row,
.perpetuu-site-footer__primary-row .perpetuu-site-footer__rule {
	color: var(--wp--preset--color--base, #FFFFFF);
}

.perpetuu-site-footer__secondary-row,
.perpetuu-site-footer__secondary-row .perpetuu-site-footer__rule {
	color: var(--wp--preset--color--purple-minus-1, #9494E5);
}

.perpetuu-site-footer__secondary-row a {
	color: var(--wp--preset--color--purple-minus-1, #9494E5);
	text-decoration-line: none;
}

.perpetuu-site-footer__secondary-row a:hover,
.perpetuu-site-footer__secondary-row a:focus-visible {
	color: var(--wp--preset--color--purple-minus-1, #9494E5);
	text-decoration-line: underline;
}

/*
	Footer — mobile
	- Nav is in the sticky header; hide duplicate footer menu
	- Stack and center legal links + copyright
	Matches header nav breakpoint: 1099px
*/
@media (max-width: 1099px) {
	.perpetuu-site-footer {
		--perpetuu-footer-halo-pair-scale: 0.82;
	}

	.perpetuu-site-footer .wp-block-navigation {
		display: none;
	}

	.perpetuu-site-footer__content {
		gap: clamp(2.5rem, 8vw, 3.75rem);
	}

	.perpetuu-site-footer__top,
	.perpetuu-site-footer__primary-row,
	.perpetuu-site-footer__secondary-row {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--wp--preset--spacing--medium);
		text-align: left;
	}

	.perpetuu-site-footer__rule {
		display: none;
	}

	.perpetuu-site-footer__social {
		flex-wrap: wrap !important;
		gap: 1.25rem !important;
	}
}

@media (max-width: 782px) {
	.perpetuu-site-footer {
		--perpetuu-footer-halo-pair-scale: 0.72;
	}
}

@media (max-width: 599px) {
	.perpetuu-site-footer {
		--perpetuu-footer-halo-pair-scale: 0.68;
	}
}

/* Footer / dark section social icons */
.wp-block-social-links.is-style-default .wp-social-link {
	border-radius: 6px;
	overflow: hidden;
}

.wp-block-social-links.is-style-default .wp-social-link {
	background-color: #fff;
	border-radius: 6px;
	padding: 0;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.wp-block-social-links.is-style-default .wp-social-link a {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
}

.wp-block-social-links.is-style-default .wp-social-link svg {
	width: 18px;
	height: 18px;
}

.wp-block-social-links.is-style-default .wp-social-link:hover {
	transform: translateY(-2px);
}
@media (min-width: 782px) {
	.footer-text-66 {
  	max-width: 66.6667%;
	}

	.content-6 {
  	max-width: 50%;
	}
}

/* ----------------------------------------
Publications / Blog Index
----------------------------------------- */

/* The file-based Category, Archive, and Index templates share this compact hero. */
.perpetuu-archive-hero__title {
	margin: 0;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.perpetuu-archive-hero__description {
	max-width: 850px;
	line-height: 1.6;
}

.perpetuu-publications-index,
.perpetuu-publications-index > *,
.perpetuu-publications-hero__content > *,
.perpetuu-publications-hero__title > *,
.perpetuu-publications-hero__intro > *,
.perpetuu-publications-card__content > *,
.perpetuu-publications-pagination > * {
	margin-block: 0 !important;
}

/* Reuse the symmetric Company hero halo geometry from the approved Figma system. */
.perpetuu-publications-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3.75rem;
}

.perpetuu-publications-hero__title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.625rem;
	width: 100%;
}

.perpetuu-publications-hero__heading {
	max-width: 49.373rem;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.perpetuu-publications-hero__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.875rem;
	width: min(100%, 39.375rem);
}

.perpetuu-publications-hero__lead {
	font-size: 1.25rem;
	line-height: 1.6;
}

.perpetuu-publications-hero__contact {
	font-size: 1rem;
	line-height: 1.5;
}

.perpetuu-publications-hero__contact a {
	color: inherit;
	text-underline-offset: 0.15em;
}

.perpetuu-publications-grid .wp-block-post-template.is-layout-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 1.875rem !important;
	row-gap: 6.875rem !important;
}

.perpetuu-publications-grid .wp-block-post-template > li.wp-block-post,
.perpetuu-publications-card,
.perpetuu-publications-card__content {
	height: 100%;
}

.news-grid .wp-block-post-template > li.wp-block-post > .perpetuu-publications-card {
	border: 1px solid var(--wp--preset--color--purple-minus-1, #9494E5);
	background: transparent;
	padding-bottom: 0 !important;
}

.perpetuu-publications-card__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.perpetuu-publications-card__meta {
	display: flex;
	flex-wrap: nowrap !important;
	align-items: center;
	gap: 0.5rem !important;
	width: 100%;
	color: var(--wp--preset--color--purple-minus-1, #9494E5);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
}

.perpetuu-publications-card__meta .wp-block-post-date,
.perpetuu-publications-card__meta .wp-block-post-terms,
.perpetuu-publications-card__meta .wp-block-post-terms a {
	flex: 0 0 auto;
	margin: 0;
	color: inherit !important;
	font: inherit;
	text-decoration: none;
	white-space: nowrap;
}

/* Keep the dynamic category links usable above the stretched post-title link. */
.perpetuu-publications-card__meta .wp-block-post-terms a {
	position: relative;
	z-index: 2;
}

.perpetuu-publications-card__meta-rule.wp-block-separator {
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1px;
	margin: 0 !important;
	border: 0;
	background: currentColor !important;
	color: var(--wp--preset--color--purple-minus-1, #9494E5);
	opacity: 1;
}

.perpetuu-publications-card__meta-rule--grow.wp-block-separator {
	flex: 1 1 auto;
	min-width: 1.25rem;
	width: auto;
}

.perpetuu-publications-card__meta-rule--short.wp-block-separator:first-child {
	display: none;
}

.perpetuu-publications-card__title,
.perpetuu-publications-card__title a {
	color: var(--wp--preset--color--black, #000000) !important;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.2;
	text-decoration: none !important;
}

/* One semantic permalink covers the card without adding another anchor. */
.perpetuu-publications-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Opted-in external Publication cards reuse Ollie Pro's external-arrow glyph. */
.perpetuu-publications-card__external-icon {
	display: inline-block;
	width: 0.85em;
	height: 0.85em;
	margin-inline-start: 0.3em;
	vertical-align: -0.05em;
	fill: currentColor;
	pointer-events: none;
}

.perpetuu-publications-card__excerpt,
.perpetuu-publications-card__excerpt p {
	color: var(--wp--preset--color--black, #000000);
	font-family: var(--wp--preset--font-family--primary);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
}

.perpetuu-publications-grid .wp-block-post-template > li.wp-block-post > .perpetuu-publications-card::after {
	background: var(--wp--preset--color--main, #47478F);
}

.perpetuu-publications-grid .wp-block-post-template > li.wp-block-post:hover .perpetuu-publications-card__title,
.perpetuu-publications-grid .wp-block-post-template > li.wp-block-post:hover .perpetuu-publications-card__title a,
.perpetuu-publications-grid .wp-block-post-template > li.wp-block-post:focus-within .perpetuu-publications-card__title,
.perpetuu-publications-grid .wp-block-post-template > li.wp-block-post:focus-within .perpetuu-publications-card__title a {
	color: var(--wp--preset--color--main, #47478F) !important;
}

.perpetuu-publications-card__title a:focus-visible {
	outline: 2px solid var(--wp--preset--color--main, #47478F);
	outline-offset: 0.25rem;
}

.perpetuu-publications-pagination {
	margin-top: 6.875rem !important;
}

.perpetuu-publications-pagination .wp-block-query-pagination,
.perpetuu-publications-pagination .wp-block-query-pagination-numbers {
	gap: 0;
	margin: 0;
}

.perpetuu-publications-pagination .wp-block-query-pagination .page-numbers {
	width: 2rem;
	height: 2rem;
	min-width: 2rem;
	min-height: 2rem;
	padding: 0;
	color: var(--wp--preset--color--navy, #6D6DBB) !important;
	font-size: 0.875rem !important;
	font-weight: 400;
	line-height: 1.6;
}

.perpetuu-publications-pagination .wp-block-query-pagination .page-numbers.current {
	color: var(--wp--preset--color--base, #FFFFFF) !important;
	background: var(--wp--preset--color--navy, #6D6DBB);
}

.perpetuu-publications-pagination .wp-block-query-pagination a.page-numbers:hover,
.perpetuu-publications-pagination .wp-block-query-pagination a.page-numbers:focus-visible {
	color: var(--wp--preset--color--base, #FFFFFF) !important;
	background: var(--wp--preset--color--main, #47478F);
	outline: none;
}

@media (max-width: 781px) {
	.perpetuu-publications-grid .wp-block-post-template.is-layout-grid {
		grid-template-columns: minmax(0, 1fr);
		row-gap: clamp(3.75rem, 10vw, 5rem) !important;
	}

	.perpetuu-publications-pagination {
		margin-top: clamp(3.75rem, 10vw, 5rem) !important;
	}
}

@media (max-width: 599px) {
	.perpetuu-publications-hero__content {
		gap: 2.5rem;
	}

	.perpetuu-publications-hero__intro {
		gap: 1.5rem;
	}

	.perpetuu-publications-hero__lead {
		font-size: 1.125rem;
	}

	.perpetuu-publications-card__meta {
		flex-wrap: wrap !important;
	}

	.perpetuu-publications-card__meta-rule--grow.wp-block-separator {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.perpetuu-publications-grid .wp-block-post-template > li.wp-block-post > .perpetuu-publications-card::after,
	.perpetuu-publications-grid .wp-block-post-template > li.wp-block-post .perpetuu-publications-card__title,
	.perpetuu-publications-grid .wp-block-post-template > li.wp-block-post .perpetuu-publications-card__title a {
		transition: none !important;
	}
}
