/* DM Sans - latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../../fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* DM Sans - latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../../fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Instrument Sans - latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../../fonts/instrument-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Instrument Sans - latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../../fonts/instrument-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	/* ---- Brand Palette ---- */
	--color-primary:          #137FD8;
	--color-primary-hover:    #008CFF;
	--color-primary-light:    #E6F1F9;
	--color-primary-muted:    #ABBCF;
	--color-heading:          #2B2E3C;
	--color-text:             #444647;
	--color-muted:            #565E68;
	--color-bg:               #ffffff;
	--color-surface:          #F4F7FB;
	--color-border:           #E1E3E1;
	--color-border-transparent:           #0000001c;
	--color-secondary:        #ffffff;
	--color-secondary-hover:  #E6F1F9;
	--color-link:             #137FD8;
	--color-link-hover:       #008CFF;

	/* ---- Typography ---- */
	/* instrument-sans: headings  |  madefor-text: body (→ DM Sans fallback) */
	--font-family-heading: "Instrument Sans", "DM Sans", sans-serif;
	--font-family-base:    var(--font-family-heading);
	--font-size-base:      clamp(0.95rem, 1.2vw, 1rem);       /* 16px max */
	--line-height-base:    1.6;
	--line-height-heading: 1.2;

	/* ---- Spacing ---- */
	--space-1: clamp(0.2rem, 0.4vw, 0.25rem);
	--space-2: clamp(0.375rem, 0.8vw, 0.5rem);
	--space-3: clamp(0.625rem, 1.1vw, 0.75rem);
	--space-4: clamp(0.875rem, 1.5vw, 1rem);
	--space-5: clamp(1.125rem, 2.2vw, 1.5rem);
	--space-6: clamp(1.5rem, 3vw, 2rem);
	--space-7: clamp(2rem, 4.5vw, 3rem);
	--space-8: clamp(2.5rem, 6vw, 4rem);

	/* ---- Radii ---- */
	--radius-sm:  4px;
	--radius-md:  8px;
	--radius-pill: 28px;

	/* ---- Layout ---- */
	--container-max: 1300px;
	--container-max-small: 840px;
}

/* Body */
body {
	font-family: var(--font-family-base, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif);
	font-size: var(--font-size-base, 1rem);
	line-height: var(--line-height-base, 1.6);
	color: var(--color-text, #1a1a1a);
	background: var(--color-bg, #ffffff);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* Media */
img,
video {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Paragraph */
p {
	margin: 0 0 var(--space-5);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

/* Links */
a {
	color: inherit;
	text-decoration: underline;
}

a:hover,
a:focus-visible {
	/* text-decoration: none; */
	/* offset-distance: 1em; */
	text-underline-offset: 2px;
}

/* Headings 1-4 */
h1,
h2,
h3,
h4 {
	margin: 0 0 var(--space-4);
	font-family: var(--font-family-heading);
	line-height: var(--line-height-heading);
	color: var(--color-heading);
	font-weight: 700;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
[class*="wp-block-"] + :is(h1, h2, h3, h4, p),
[class*="wp-block-"] + p + :is(h1, h2, h3, h4, p){
	margin-top: 1.5em;
	margin-bottom: 0.5em;
}

h1 {
	font-size: clamp(2rem, 4vw, 3rem);
}

h2 {
	font-size: clamp(1.625rem, 3vw, 2.25rem);
}

h3 {
	font-size: clamp(1.25rem, 2.3vw, 1.75rem);
}

h4 {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
}

/* Lists: bullet and numbered */
.entry-content ul,
.entry-content ol {
	margin: 0 0 var(--space-4) var(--space-5);
	padding: 0;
}

.entry-content ul {
	list-style: disc;
}

.entry-content ol {
	list-style: decimal;
}

.entry-content li + li {
	margin-top: var(--space-2);
}

/* Prefixed theme buttons only */
.propcycle-button,
.propcycle-button-primary,
.propcycle-button-secondary,
.propcycle-button-text {
	--propcycle-button-icon-stroke-width: 2.5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding: 0.875rem 1.75rem;
	border-radius: var(--radius-pill);
	border: 2px solid transparent;
	font-family: var(--font-family-heading);
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease,
	            box-shadow 0.2s ease, transform 0.2s ease;
	text-align: center;
	min-height: 56px;
	box-sizing: border-box;
}

.propcycle-button,
.propcycle-button-primary {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #ffffff;
}
.propcycle-button-primary svg {
	color: white;
}

.propcycle-button:hover,
.propcycle-button-primary:hover,
.site-header.is-sticky .propcycle-button-primary:hover{
	background: var(--color-primary-hover);
	border-color: var(--color-primary-hover);
	color: #ffffff;
	transform: translateY(-2px);
	/* box-shadow: 0 12px 3px -4px rgba(0, 0, 0, 0.1); */
}

.propcycle-button-primary.propcycle-button-white {
	background: white;
	border-color: white;
	color: var(--color-heading);
	/* box-shadow: 0 2px 4px rgba(0,0,0,0.2); */
}

.propcycle-button-primary.propcycle-button-white svg {
	color: var(--color-primary);
}

.propcycle-button-primary.propcycle-button-white:hover {
	color: var(--color-heading);
	border-color: white;
	/* box-shadow: 0 12px 3px -4px rgba(0,0,0,0.1); */
	background: white;
}

.propcycle-button-secondary {
	background: transparent;
	border-color: var(--color-border);
	border-color: var(--color-border-transparent);
	color: var(--color-heading);
}

.propcycle-button-secondary:hover {
	color: var(--color-heading);
	box-shadow: unset;
}

.propcycle-button-secondary.propcycle-button-white {
	background: transparent;
	border-color: white;
	color: white;
	/* box-shadow: 0 2px 4px rgba(0,0,0,0.2); */
}

.propcycle-button-secondary.propcycle-button-white:hover {
	color: white;
	border-color: white;
	box-shadow: unset;
	background: transparent;
}

.propcycle-button-secondary svg {
	color: var(--color-primary);
}

.propcycle-button-secondary.propcycle-button-white svg {
	color: white;
}

.propcycle-button-secondary:hover,
.propcycle-button-secondary:focus-visible,
.site-header.is-sticky .propcycle-button-secondary:hover,
.site-header.is-sticky .propcycle-button-secondary:focus-visible {
	border-color: var(--color-primary-hover);
	transform: translateY(-2px);
	background: unset;
}

.propcycle-button-text {
	background: transparent;
	border-color: transparent;
	color: var(--color-link);
	padding-left: 0;
	padding-right: 0;
}

.propcycle-button-text:hover,
.propcycle-button-text:focus-visible {
	background: transparent;
	border-color: transparent;
	color: var(--color-link-hover);
	text-decoration: underline;
}

.propcycle-button__icon,
.propcycle-button__chevron {
	width: 1.25em;
	height: 1.25em;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	color: var(--color-primary);
}

.propcycle-button__icon svg,
.propcycle-button__chevron svg {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	display: block;
	object-fit: contain;
}

.propcycle-button__icon {
	object-fit: contain;
}

.propcycle-button__icon svg [stroke],
.propcycle-button__chevron path {
	stroke-width: var(--propcycle-button-icon-stroke-width);
}

.propcycle-button__chevron {
	stroke: currentColor;
	fill: none;
}

.propcycle-button__label {
	line-height: 1;
}

/* Layout */
.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.site-content {
	flex: 1;
}

.container {
	width: 100%;
	max-width: var(--container-max, 1200px);
	margin: 0 auto;
	/* padding: 0 var(--space-6); */
}

/* Main Content */

.entry-content > p:empty {
	display: none;
}

/* Archive/blog tiles */
.archive #primary .container,
.blog #primary .container {
	padding-top: clamp(1.5rem, 4vw, 3rem);
	padding-bottom: clamp(1.5rem, 4vw, 3rem);
}

.archive .page-header {
	margin-bottom: 2rem;
}

.archive .page-title,
.blog .page-title {
	margin-bottom: 0.5rem;
}

.post-archive-grid {
	display: grid;
	gap: 2.25rem;
	margin: 4rem 0;
}

.archive-page-content {
	max-width: var(--container-max-small, 840px);
	margin: 0 0 2rem;
}

.archive-tile {
	display: flex;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 1em;
	overflow: hidden;
	background: #fff;
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
	/* column-gap: 1em; */
}

.archive-tile:hover,
.archive-tile:focus-within {
	transform: translateY(-2px);
	border-color: rgba(19, 127, 216, 0.45);
	/* box-shadow: 0 14px 30px rgba(4, 23, 47, 0.12); */
}

.archive-tile__media {
	/* display: block; */
	/* aspect-ratio: 16 / 9; */
	overflow: hidden;
	background: #dfe8f3;
	flex-grow: 1;
	width: 50%;
}

.archive-tile__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 220ms ease;
}

.archive-tile:hover .archive-tile__image,
.archive-tile:focus-within .archive-tile__image {
	transform: scale(1.03);
}

.archive-tile__content {
	padding: 2em;
	display: grid;
	gap: 0.5rem;
	flex-grow: 1;
	width: 100%;
	/* align-items: center; */
	/* justify-content: center; */
	align-self: center;
}
.archive-tile__content a {
	color: var(--color-primary)
}

.archive-tile__meta {
	font-size: 0.82rem;
	font-weight: 600;
	opacity: 0.7;
}

.archive-tile .entry-header {
	margin: 0;
	padding: 0;
	background: transparent;
}

.archive-tile .entry-title {
	font-size: 1.5rem;
	line-height: 1.3;
	margin: 0;
}

.archive-tile .entry-title a {
	text-decoration: none;
	color: var(--color-primary);
}

.archive-tile .entry-summary {
	margin: 0;
	color: #4d5a6d;
	font-size: 0.95rem;
	line-height: 1.55;
}

.archive-tile .entry-summary p {
	margin: 0;
	display: contents;
}

@media (max-width: 1024px) {
	.post-archive-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.post-archive-grid {
		grid-template-columns: 1fr;
	}
}

/* Blog styles */

.single-post #primary .container {
	max-width: unset;
}

.single-post #primary .entry-header {
	background-image: linear-gradient(0deg, #137FD8 0%, #035FAA 100%, #035FAA 100%);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
	padding-top: calc(clamp(1rem, 13vw, 6.25rem) + 96px);
}
.entry-header-inner {
	max-width: var(--container-max-small, 1200px);
	margin: auto;
	color: white;
	padding-bottom: 4em;
}
.entry-header-inner h1 {
	color: white;
}
.single-post .entry-header-inner .entry-header__preheader {
	display: inline-flex;
    align-items: center;
    margin-bottom: 1.5rem;
    padding: 0.5rem 0.875rem;
    border-radius: 999px;
    color: white;
    border: 0.125em solid;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.125;
}
.single-post .entry-thumbnail {
	margin: 4em auto;
	max-width: var(--container-max, 1200px);
}
.single-post .entry-thumbnail img {
	width: 100%;
	border-radius: clamp(10px, 20vw, 30px)
}

.single-post .entry-content {
	max-width: var(--container-max-small, 1200px);
	margin: 4em auto;
}
.single-post figure.wp-block-image {
	text-align: center;
	margin: 4em auto
}
.single-post figure.wp-block-image img {
	width: 100%;
	border-radius: clamp(10px, 20vw, 30px);
	/* max-height: 50vh; */
	margin: auto;
	object-fit: cover;
	aspect-ratio: inherit;
}
.single-post blockquote.wp-block-quote {
	border-left: 6px solid var(--color-primary);
	padding: 2em
}
.single-post blockquote.wp-block-quote p {
	font-size: 1.3em;
	margin:0
}

.single-post .post-nav-tiles {
	max-width: var(--container-max-small, 1200px);
	margin: 6rem auto;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 3rem;
}

.single-post .post-nav-tile {
	display: flex;
	text-decoration: none;
	color: inherit;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.single-post .post-nav-tile:hover,
.single-post .post-nav-tile:focus-visible {
	transform: translateY(-2px);
	/* box-shadow: 0 12px 26px rgba(0, 0, 0, 0.12); */
	border-color: var(--color-primary);
}

.single-post .post-nav-tile__media {
	background: #e9eef5;
	min-width: 150px;
	width: 150px;
}

.single-post .post-nav-tile__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform:scale3d(1,1,1.1)
}

.single-post .post-nav-tile__content {
	padding: 1rem 1rem 1.1rem;
}

.single-post .post-nav-tile__eyebrow {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.7;
	margin-bottom: 0.35rem;
}

.single-post .post-nav-tile__date {
	font-size: 0.82rem;
	opacity: 0.75;
	margin-bottom: 0.4rem;
}

.single-post .post-nav-tile__title {
	margin: 0;
	font-size: 1rem;
	line-height: 1.35;
}

@media (max-width: 782px) {
	.single-post .post-nav-tiles {
		grid-template-columns: 1fr;
	}
}

/* (e) blog styles*/
/* ── Site Header ─────────────────────────────────────── */
.site-header {
	background: var(--color-bg);
	/* border-bottom: 1px solid var(--color-border); */
	padding: var(--space-5) var(--space-6);
	position: relative;
	z-index: 100;
	transform: translateY(0);
	will-change: transform;
	transition:none;
	box-sizing: border-box;
}

/* Banner mode: white text/buttons, transparent background initially */
.site-header.is-banner {
	background: transparent;
	position: absolute;
	width: 100%;
}

.site-header.is-near-top-150.banner-light-text .site-logo {
		filter: brightness(0) invert(1);
	}
.site-header .menu-toggle .bar {
	background: white;
}
.site-header.is-sticky  .menu-toggle .bar {
	background: var(--color-primary)
}

@media (min-width: 769px) {	
	.site-header.is-near-top-150.banner-light-text .main-navigation > ul > li > a,
	.site-header.is-near-top-150.banner-light-text .main-navigation  > ul > li.menu-item-has-children:hover > a,
	.site-header.is-near-top-150.banner-light-text .main-navigation  > ul > li.menu-item-has-children:focus-within > a {
		color: #ffffff;
	}
	.site-header.is-near-top-150.banner-light-text .main-navigation > ul > li > a::after {
		background: white;
	}
	
	
	.site-header.is-near-top-150.banner-light-text .propcycle-button-secondary {
		color: #ffffff;
		border-color: #ffffff;
		background: unset;
	}
	
	.site-header .propcycle-button-secondary:hover {
		/* background: rgba(255, 255, 255, 0.1); */
	}
	
	.site-header.is-near-top-150.banner-light-text .propcycle-button-secondary svg {
		color: #ffffff;
		display: none;
	}
	
	.site-header.is-near-top-150.banner-light-text .propcycle-button-primary {
		background: #ffffff;
		border-color: #ffffff;
		color: var(--color-heading);
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	}
	.site-header.is-near-top-150.banner-light-text .propcycle-button-primary svg {
		color: var(--color-primary);
		
	}
	.site-header .propcycle-button-primary:hover {
		box-shadow: 0 12px 3px -4px rgba(0, 0, 0, 0.1);
	}
}
/* Sticky mode: white background after scroll */
.site-header.is-sticky {
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	background: var(--color-bg);
	width: 100%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: 0.5s ease;
}
.site-header.is-sticky.is-banner {
	position: fixed;
}
.site-header.is-sticky.is-near-top-150 {
	transition: 0s ease;
}
.site-header.is-sticky.is-near-top {
	/* opacity:0; */
	transform: translateY(-100%);
}

.site-header.is-sticky .site-logo,
.site-header.is-sticky .mobile-menu-logo {
	filter: none;
}

.site-header.is-sticky .propcycle-button-secondary {
	color: var(--color-heading);
	border-color: var(--color-border);
	background: unset;
}

.site-header.is-sticky .propcycle-button-secondary svg {
	color: var(--color-primary);
}

.site-header.is-sticky .propcycle-button-primary {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #ffffff;
}
.site-header.is-sticky .propcycle-button-primary svg {
	display: none;
}

/* Hidden during scroll down */
.site-header.is-hidden {
	transform: translateY(-100%);
}

.header-inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: var(--space-4);
}
@media (max-width: 768px) {
	.header-inner {
		grid-template-columns: auto auto;
	}
}

/* ── Logo ─────────────────────────────────────────────── */
.site-branding {
	flex-shrink: 0;
	display: flex;
}

.logo-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
.logo-link:hover .site-logo {
	transform: scale(1.02);
}

.site-logo {
	display: block;
	width: 200px;
	height: auto;
	transition: transform 0.2s ease;
	min-width: 200px;
}

/* WP custom logo support */
.site-branding .custom-logo-link {
	display: inline-flex;
}

.site-branding .custom-logo {
	width: 200px;
	height: auto;
}

/* ── Nav + CTA group ─────────────────────────────────── */
.header-right {
	display: contents;
}

.header-right .mobile-menu-main {
	display: contents;
}

.header-right .main-navigation {
	grid-column: 2;
	justify-self: center;
}

.header-cta {
	grid-column: 3;
	justify-self: end;
	flex-shrink: 0;
	font-size: 1em;
	padding: 0.5em 1.2em;
	min-height: 44px;
}
.header-cta-wrapper {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
}

.mobile-menu-top,
.mobile-menu-footer,
.mobile-menu-backdrop,
.menu-close {
	display: none;
}

/* ── Hamburger toggle ────────────────────────────────── */
.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	padding: var(--space-2);
	background: none;
	border: none;
	cursor: pointer;
	border-radius: var(--radius-sm);
	flex-shrink: 0;
}
.menu-toggle:hover {
	background-color: transparent;
	transform: unset;
}

.menu-toggle .bar {
	display: block;
	width: 28px;
	height: 3px;
	background: var(--color-primary);
	border-radius: 2px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

/* ── Mobile ──────────────────────────────────────────── */
@media (max-width: 768px) {
	.site-header {
		position: relative;
	}

	body.mobile-menu-open {
		overflow: hidden;
	}

	.mobile-menu-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(15, 31, 55, 0.42);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.25s ease, visibility 0s linear 0.25s;
		z-index: 180;
		height: 100vh;
	}

	body.mobile-menu-open .mobile-menu-backdrop {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition: opacity 0.25s ease;
	}

	.header-right {
		display: flex;
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: min(92vw, 420px);
		max-width: 420px;
		height: 100dvh;
		background: var(--color-bg);
		flex-direction: column;
		align-items: stretch;
		padding: 0;
		gap: 0;
		/* box-shadow: -12px 0 32px rgba(0, 0, 0, 0.2); */
		z-index: 200;
		transform: translateX(-100%);
		transition: transform 0.28s ease;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.header-right.is-open {
		display: flex;
		transform: translateX(0);
		box-shadow: 12px 0 32px rgba(0, 0, 0, 0.2);
	}

	.header-cta-wrapper {
		flex-direction: column;
		margin: var(--space-2) 0 0;
	}

	.menu-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border: 0;
		background: transparent;
		color: var(--color-primary);
		cursor: pointer;
		border-radius: var(--radius-sm);
		padding: 0;
	}

	.mobile-menu-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: sticky;
		top: 0;
		z-index: 2;
		background: var(--color-bg);
		padding: var(--space-5) var(--space-6) var(--space-2);
		box-shadow: 0 0 20px 20px white
	}

	.mobile-menu-logo-link {
		display: inline-flex;
		align-items: center;
	}

	.mobile-menu-logo {
		width: 200px;
		height: auto;
	}

	.mobile-menu-main {
		display: flex !important;
		flex-direction: column;
		justify-content: center;
		gap: var(--space-4);
		padding: var(--space-3) var(--space-6) var(--space-6);
		flex: 1 0 auto;
		min-height: 0;
	}

	.mobile-menu-footer {
		display: flex;
		flex-direction: column;
		gap: var(--space-6);
		padding: var(--space-7) var(--space-5);
		background: linear-gradient(90deg, #137FD8 0%, #035FAA 100%);
		color: #ffffff;
	}

	.mobile-menu-footer-logo-link {
		display: inline-flex;
		align-self: flex-start;
	}

	.mobile-menu-footer-logo {
		width: 180px;
		height: auto;
	}

	.mobile-menu-secondary-menu {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: var(--space-2);
	}

	.mobile-menu-secondary-menu a {
		color: #ffffff;
		text-decoration: none;
		font-weight: 600;
		font-size: 1.05rem;
	}
	
	.mobile-menu-secondary-menu a::before {
	    content: '•';
	    padding: 0 var(--space-3);
		color: rgba(255, 255, 255, 0.5);
	}

	.mobile-menu-social {
		display: flex;
		/* flex-direction: column; */
		gap: var(--space-3);
		align-items: center;
		border: 2px solid rgba(255,255,255,0.2);
		border-radius: 50px;
		padding: var(--space-3) var(--space-3) var(--space-3) var(--space-4);
		justify-content: center;
		/* margin: auto; */
		flex-wrap: wrap;
	}

	.mobile-menu-social-label {
		font-size: 1rem;
		color: rgba(255, 255, 255, 0.9);
	}

	.mobile-menu-social-links {
		display: flex;
		gap: var(--space-2);
	}

	.mobile-menu-social-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		border-radius: 999px;
		background: rgba(0, 0, 0, 0.16);
	}

	.mobile-menu-social-link .social-icon {
		width: 18px;
		height: 18px;
	}

	.mobile-menu-main .header-cta {
		width: 100%;
		justify-content: center;
		/* margin: var(--space-2) 0 0; */
	}

	.menu-toggle {
		display: flex;
		justify-self: end;
	}
}

/* ── Footer ──────────────────────────────────────────── */

/* ── Main section (primary blue) ─────────────────────── */
.footer-main {
	background: linear-gradient(90deg, #137FD8 0%, #035FAA 100%);
	padding: var(--space-8) var(--space-6);
}

.footer-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-6);
	align-items: center;
}

/* ── Brand column (left) ─────────────────────────────── */
.footer-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.footer-logo-link {
	display: inline-flex;
}

.footer-tagline {
	color: #ffffff;
	font-family: var(--font-family-heading);
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.4;
	margin: 1rem 0 0.2rem;
	/* max-width: 340px; */
}

.footer-sub {
	color: rgba(255, 255, 255, 0.8);
	font-size: 1rem;
	margin: 0 0 1rem;
}

.footer-cta {
	display: flex;
	gap: var(--space-4);
	flex-wrap: wrap;
}
.footer-cta .propcycle-button-white {
	font-size: 1em;
	padding: 0.5em 1.2em;
	min-height: 44px;
}

/* ── Right column ────────────────────────────────────── */
.footer-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--space-5);
}

/* Secondary nav (About, Contact, Security) */
.footer-secondary-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: var(--space-2) var(--space-3);
}
.footer-secondary-menu li {
	white-space: nowrap;
	display: flex;
	gap: var(--space-3);
}
.footer-secondary-menu li + li::before {
	content: '';
	background-color: rgba(255, 255, 255, 0.4);
	width:5px;
	height: 5px;
	border-radius: 5px;
	align-self: center
}

.footer-secondary-menu a {
	display: inline-flex;
	color: #ffffff;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 600;
	transition: transform 0.2s ease, color 0.2s ease;
}

.footer-secondary-menu a:hover {
	transform: scale(1.05);
}

/* Social links */
.footer-social {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 35px;
	padding: var(--space-3) var(--space-3) var(--space-3) var(--space-5);
	flex-wrap: wrap;
	justify-content: center;
}

.footer-social-label {
	color: rgba(255, 255, 255, 0.9);
	font-size: 1rem;
	white-space: nowrap;
}

.footer-social-links {
	display: flex;
	gap: var(--space-3);
}

.social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	color: #ffffff;
	background-color: rgba(0,0,0,0.1);
	transition: transform 0.2s ease;
	border-radius: 100px;
}

.social-icon {
	display: block;
	width: 20px;
	height: 20px;
}

.social-link:hover {
	transform: scale(1.2);
}

/* ── Bottom bar (darker blue) ────────────────────────── */
.footer-bottom {
	background: #0d5c9e;
	padding: var(--space-3) var(--space-6);
}

.footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--space-3) var(--space-3);
}

.footer-copyright {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.85rem;
	margin: 0;
	display: flex;
	align-items: center;
	line-height: 1;
}

.footer-legal-menu {
	display: flex;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: var(--space-3);
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 0.1em;
}
.footer-legal-menu li {
	display: flex;
	gap: var(--space-3);
}

.footer-legal-menu li::before {
	content: '';
	display:flex;
	background-color: rgba(255, 255, 255, 0.4);
	width:4px;
	height: 4px;
	border-radius: 5px;
	align-self: center
}

.footer-legal-menu a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
	font-size: 0.85rem;
	white-space: nowrap;
}

.footer-legal-menu a:hover {
	color: #ffffff;
}

/* ── Responsive ──────────────────────────────────────── */
@media ( max-width: 768px ) {
	.footer-inner {
		grid-template-columns: 1fr;
		gap: var(--space-7);
	}
	.footer-brand {
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.footer-right {
		align-items: center;
	}

	.footer-secondary-menu {
		justify-content: center;
	}

	.footer-social {
		align-self: center;
	}

	.footer-bottom-inner {
		gap: var(--space-2);
		text-align: center;
	}
}

/* ── Primary Navigation ──────────────────────────────── */
.main-navigation > ul {
	display: flex;
	gap: var(--space-6);
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation a {
	font-size: 1rem;
	font-weight: 500;
	color: var(--color-heading);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.15s ease;
}

.main-navigation a:hover,
.main-navigation a:focus-visible {
	color: var(--color-primary);
}

.main-navigation > ul > .current-menu-item > a,
.main-navigation > ul > .current-menu-parent > a,
.main-navigation > ul > .current-menu-ancestor > a,
.main-navigation > ul > .current_page_item > a,
.main-navigation > ul > .current_page_parent > a,
.main-navigation > ul > .current_page_ancestor > a {
	font-weight: 700;
	color: var(--color-primary);
}

.main-navigation .sub-menu .current-menu-item > a,
.main-navigation .sub-menu .current-menu-parent > a,
.main-navigation .sub-menu .current-menu-ancestor > a,
.main-navigation .sub-menu .current_page_item > a,
.main-navigation .sub-menu .current_page_parent > a,
.main-navigation .sub-menu .current_page_ancestor > a {
	font-weight: 700;
	color: var(--color-primary);
}

/* ── Dropdown ────────────────────────────────────────── */
.main-navigation .menu-item-has-children {
	position: relative;
}
.main-navigation .menu-item-has-children:hover > a,
.main-navigation .menu-item-has-children:focus-within > a {
	color: var(--color-primary);
}

/* Chevron indicator */
.main-navigation .menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	margin-left: 5px;
	width: 14px;
	height: 14px;
	background-color: var(--color-primary);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6-6'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6-6'/%3E%3C/svg%3E");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	vertical-align: middle;
	transition: transform 0.2s ease;
}

.main-navigation .menu-item-has-children:hover > a::after,
.main-navigation .menu-item-has-children:focus-within > a::after {
	transform: rotate(180deg);
}

/* Dropdown panel */
.main-navigation .sub-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	background: var(--color-bg);
	border: none;
	border-radius: var(--radius-md);
	min-width: 210px;
	padding: var(--space-2) 0;
	list-style: none;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
	z-index: 200;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.13);
}
.main-navigation .sub-menu:before {
	content: '';
	display: block;
	position: absolute;
	top: -10px;
	height:10px;
	width: 100%;
	background: transparent;
}

.main-navigation .menu-item-has-children:hover > .sub-menu,
.main-navigation .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: opacity 0.5s ease, max-height 0.5s ease, visibility 0s;
}

.main-navigation .sub-menu a {
	display: block;
	padding: var(--space-2) var(--space-5);
	font-size: 0.9rem;
	white-space: nowrap;
}

.main-navigation .sub-menu a:hover {
	/* background: var(--color-surface); */
	color: var(--color-primary);
}

.main-navigation .submenu-toggle {
	display: none;
}

@media ( min-width: 769px) and (max-width: 900px ) {
	#primary-menu > li:first-child {
		display: none; /* hide home on smaller screens */
	}
}

/* ── Mobile navigation ───────────────────────────────── */
@media ( max-width: 768px ) {
	.main-navigation {
		width: 100%;
	}

	.main-navigation > ul {
		flex-direction: column;
		gap: 0;
	}

	.main-navigation > ul > li > a {
		display: block;
		padding: var(--space-2) 0;
		/* border-bottom: 1px solid var(--color-border); */
		font-size: 1.1rem;
		font-weight: 500;
	}

	.main-navigation .menu-item-has-children > a {
		display: flex;
		align-items: center;
		gap: var(--space-2);
	}

	.main-navigation .menu-item-has-children {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: center;
		column-gap: var(--space-2);
	}

	.main-navigation .menu-item-has-children > a {
		min-width: 0;
	}

	.main-navigation .menu-item-has-children > a::after {
		display: none;
	}

	.main-navigation .submenu-toggle {
		width: 32px;
		height: 32px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 0;
		padding: 0;
		margin: 0;
		background: transparent;
		color: var(--color-primary);
		cursor: pointer;
		transition: background-color 0.2s ease;
		border: 1px solid var(--color-border);
	}
	.main-navigation .submenu-toggle:hover {
		transform: unset;
	}

	.main-navigation .submenu-toggle::before {
		content: '';
		display: block;
		width: 14px;
		height: 14px;
		background-color: currentColor;
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6-6'/%3E%3C/svg%3E");
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center;
		-webkit-mask-size: contain;
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6-6'/%3E%3C/svg%3E");
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		transition: transform 0.2s ease;
	}

	.main-navigation .submenu-toggle:hover,
	.main-navigation .submenu-toggle:focus-visible {
		border-color: var(--color-primary);
		outline: 1px solid var(--color-primary)
	}

	.main-navigation .sub-menu {
		grid-column: 1 / -1;
		position: static;
		opacity: 0;
		visibility: hidden;
		transform: none;
		box-shadow: none;
		border: none;
		border-radius: 0;
		padding: 0 0 0 var(--space-4);
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		border-left: 2px solid var(--color-primary);
		/* margin-bottom: var(--space-3); */
	}

	.main-navigation .sub-menu:before {
		content: unset;
	}

	.main-navigation .menu-item-has-children.is-expanded > .sub-menu {
		opacity: 1;
		visibility: visible;
		margin-bottom: var(--space-3);
	}

	.main-navigation .sub-menu a {
		padding: var(--space-2) 0;
		font-size: 1rem;
		/* border-bottom: 1px solid var(--color-border); */
	}

	.main-navigation .menu-item-has-children.is-expanded > .submenu-toggle::before {
		transform: rotate(180deg);
	}
}
/* ========================
   Testimonials
   ======================== */
.propcycle-banner__special-content--testimonials {
	width: 100%;
}

.propcycle-banner__testimonials, 
.propcycle-banner__testimonials-grid,
.propcycle-banner__testimonials-swiper--text-dark {
	--propcycle-testimonial-bg-color: rgba(255, 255, 255, 0.95);
	--propcycle-testimonial-text-color: var(--color-text, #2b2e3c);
	--propcycle-testimonial-name-color: var(--color-text, #2b2e3c);
	--propcycle-testimonial-muted-color: var(--color-text-muted, #5f6675);
	--propcycle-testimonial-link-color: var(--color-primary, #0066cc);
	--propcycle-testimonial-link-hover-color: var(--color-primary-hover, #0052a3);
	--propcycle-testimonial-focus-color: var(--color-primary, #137FD8);
	--propcycle-testimonial-star-bg-color: #00000075;
	--propcycle-testimonial-card-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
	--propcycle-testimonial-card-shadow-hover: 0 8px 16px rgba(0, 0, 0, 0.12);
	--propcycle-testimonial-card-border-width: 0;
	--propcycle-testimonial-card-border-color: transparent;
	--propcycle-swiper-bullet: color-mix(in srgb, var(--color-primary, #137FD8) 10%, transparent);
	--propcycle-swiper-bullet-active: var(--color-primary, #137FD8);
}

.propcycle-banner__testimonials-grid--text-light,
.propcycle-banner__testimonials-swiper--text-light{
	--propcycle-testimonial-text-color: var(--color-white, #ffffff);
	--propcycle-testimonial-name-color: var(--color-white, #ffffff);
	--propcycle-testimonial-muted-color: rgba(255, 255, 255, 0.85);
	--propcycle-testimonial-link-color: var(--color-white, #ffffff);
	--propcycle-testimonial-link-hover-color: rgba(255, 255, 255, 0.85);
	--propcycle-testimonial-star-bg-color: #ffffff75;
	--propcycle-swiper-bullet: rgba(255,255,255,0.2);
	--propcycle-swiper-bullet-active: white;
}

.propcycle-banner__testimonials-grid--shadow-none,
.propcycle-banner__testimonials-swiper--shadow-none {
	--propcycle-testimonial-card-shadow: none;
	--propcycle-testimonial-card-shadow-hover: none;
}

.propcycle-banner__testimonials-grid--shadow-small,
.propcycle-banner__testimonials-swiper--shadow-small {
	--propcycle-testimonial-card-shadow: 0 3px 8px rgba(17, 24, 39, 0.14);
	--propcycle-testimonial-card-shadow-hover: 0 10px 20px rgba(17, 24, 39, 0.2);
}

.propcycle-banner__testimonials-grid--shadow-medium,
.propcycle-banner__testimonials-swiper--shadow-medium {
	--propcycle-testimonial-card-shadow: 0 8px 20px rgba(15, 23, 42, 0.2);
	--propcycle-testimonial-card-shadow-hover: 0 14px 30px rgba(15, 23, 42, 0.26);
}

.propcycle-banner__testimonials-grid--shadow-large,
.propcycle-banner__testimonials-swiper--shadow-large {
	--propcycle-testimonial-card-shadow: 0 14px 32px rgba(15, 23, 42, 0.26);
	--propcycle-testimonial-card-shadow-hover: 0 22px 44px rgba(15, 23, 42, 0.32);
}

.propcycle-banner__testimonials-grid--border-none,
.propcycle-banner__testimonials-swiper--border-none {
	--propcycle-testimonial-card-border-width: 0;
	--propcycle-testimonial-card-border-color: transparent;
}

.propcycle-banner__testimonials-grid--border-light,
.propcycle-banner__testimonials-swiper--border-light {
	--propcycle-testimonial-card-border-width: 1px;
	--propcycle-testimonial-card-border-color: rgba(255, 255, 255, 0.65);
}

.propcycle-banner__testimonials-grid--border-dark,
.propcycle-banner__testimonials-swiper--border-dark {
	--propcycle-testimonial-card-border-width: 1px;
	--propcycle-testimonial-card-border-color: rgba(15, 23, 42, 0.3);
}

section.is-testimonial-swiper {
	overflow: hidden;
}

.propcycle-banner__testimonials-grid  {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
	width: 100%;
	padding: 0;
	margin: 0;
}

.propcycle-banner__testimonials-swiper {
	width: 100%;
	overflow: hidden;
	padding-bottom: 0;
}

.propcycle-banner__testimonials-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 2rem;
}

.propcycle-banner__testimonials-swiper .swiper-slide {
	height: auto;
}

.propcycle-banner__testimonials-swiper .propcycle-testimonial-card {
	height: 100%;
}

.propcycle-banner__testimonials-pagination {
	display: flex;
	justify-content: flex-start;
	gap: 0.5rem;
	margin-top: 0;
}

.propcycle-banner__testimonials-nav {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-left: auto;
	z-index: 2;
}

.propcycle-banner__testimonials-nav .propcycle-banner__tiles-nav-button {
	appearance: none;
	border: 1px solid color-mix(in srgb, var(--propcycle-swiper-bullet-active) 35%, transparent);
	background: color-mix(in srgb, var(--propcycle-swiper-bullet-active) 8%, transparent);
	color: var(--propcycle-swiper-bullet-active);
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.propcycle-banner__testimonials-nav .propcycle-banner__tiles-nav-button:hover,
.propcycle-banner__testimonials-nav .propcycle-banner__tiles-nav-button:focus-visible {
	background: color-mix( in srgb, var(--propcycle-swiper-bullet-active) 20%, transparent);
	border-color: var(--propcycle-swiper-bullet-active);
	outline: none;
}
.propcycle-banner__testimonials-swiper--text-light .propcycle-banner__testimonials-nav .propcycle-banner__tiles-nav-button:hover,
.propcycle-banner__testimonials-swiper--text-light .propcycle-banner__testimonials-nav .propcycle-banner__tiles-nav-button:focus-visible{
	color: #ffffff;
}

.propcycle-banner__testimonials-nav .propcycle-banner__tiles-nav-button.swiper-button-disabled {
	opacity: 0.45;
	cursor: not-allowed;
	transform: none;
}

.propcycle-banner__testimonials-pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: var(--propcycle-swiper-bullet);
	opacity: 1;
}

.propcycle-banner__testimonials-pagination .swiper-pagination-bullet-active {
	background: var(--propcycle-swiper-bullet-active);
}


@media (min-width: 768px) {
	.propcycle-banner__testimonials-grid {
		grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
		gap: 32px;
	}

	.propcycle-banner__testimonials-grid--one-row,
	.propcycle-banner__testimonials-grid--two-row,
	.propcycle-banner__testimonials-grid--swiper {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.propcycle-testimonial-card {
	background: var(--propcycle-testimonial-bg-color, rgba(255, 255, 255, 0.95));
	border-radius: 16px;
	padding: 28px;
	box-shadow: var(--propcycle-testimonial-card-shadow, 0 4px 6px rgba(0, 0, 0, 0.07));
	border: var(--propcycle-testimonial-card-border-width, 0) solid var(--propcycle-testimonial-card-border-color, transparent);
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	font-family: var(--font-family-base);
	line-height: 1;
	text-align: left;
}

.propcycle-banner__testimonials .propcycle-testimonial-card {
	padding: unset;
	border-radius: unset;
	box-shadow: unset;
	margin: 100px 0;
	gap: 24px;
}

.wp-block-propcycle-banner .propcycle-testimonial-card:hover,
.wp-block-propcycle-banner .propcycle-testimonial-card:focus-within {
	transform: translateY(-4px);
	box-shadow: var(--propcycle-testimonial-card-shadow-hover, 0 8px 16px rgba(0, 0, 0, 0.12));
}

.propcycle-testimonial-card__stretched-link {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

.propcycle-testimonial-card__stretched-link:focus-visible {
	outline: 2px solid var(--propcycle-testimonial-focus-color, #137FD8);
	outline-offset: -2px;
}

.propcycle-testimonial-card__source {
	position: relative;
	z-index: 2;
}

.propcycle-testimonial-card__content {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
	text-align: left;
}
.propcycle-banner__testimonial-container .propcycle-testimonial-card__content {
	gap: 24px;
}

.propcycle-testimonial-card__heading-wrap {
	display: flex;
	align-items: baseline;
	/* gap: 4px; */
}

.propcycle-testimonial-card__heading {
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--propcycle-testimonial-name-color, var(--color-text, #2b2e3c));
}

.propcycle-testimonial-card__heading:after {
	content: "\201D";
	font-size: 24px;
	line-height:1
}
.propcycle-banner__testimonial-container .propcycle-testimonial-card__heading:after {
	font-size: 38px;
}

.propcycle-testimonial-card__heading-quote {
	font-size: 24px;
	line-height: 1;
	font-weight: 700;
	color: var(--propcycle-testimonial-text-color, var(--color-text, #2b2e3c));
	opacity: 0.9;
	transform: translateY(2px);
}

.propcycle-testimonial-card__heading-quote--close {
	display: none;
}
.propcycle-banner__testimonial-container .propcycle-testimonial-card__heading {
	font-size: 30px
}
.propcycle-banner__testimonial-container .propcycle-testimonial-card__heading-quote {
	font-size: 38px
}

.propcycle-testimonial-card__meta {
	font-size: 14px;
	display: flex;
	gap: 8px;
}

.propcycle-testimonial-card__quote {
	font-size: 16px;
	line-height: 1.6;
	color: var(--propcycle-testimonial-text-color, var(--color-text, #2b2e3c));
	font-weight: 500;
}

.propcycle-testimonial-card__quote p {
	margin: 0 0 12px 0;
	line-height: 1.5;
}

.propcycle-testimonial-card__quote p:last-child {
	margin-bottom: 0;
}

.propcycle-testimonial-card__rating {
	display: flex;
	gap: 4px;
	font-size: 25px;
	line-height: 1;
}
.propcycle-banner__testimonial-container .propcycle-testimonial-card__rating {
	font-size:30px;
}

.propcycle-testimonial-star {
	color: #FFB800;
}

.propcycle-testimonial-star--full {
	color: #FFB800;
}

.propcycle-testimonial-star--half {
	background: linear-gradient(90deg, #FFB800 50%, var(--propcycle-testimonial-star-bg-color) 50%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.propcycle-testimonial-star--empty {
	color: var(--propcycle-testimonial-star-bg-color);
}

.propcycle-testimonial-card__author {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: auto;
}

.propcycle-testimonial-card__avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	background: var(--color-muted-bg, #137fd8);
}

.propcycle-testimonial-card__avatar--initials {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--propcycle-testimonial-avatar-bg, var(--color-muted-bg, #137fd8));
	font-size: 25px;
	font-weight: 600;
	color: white;
}

.propcycle-testimonial-card__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.propcycle-testimonial-card__author-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1;
	min-width: 0;
}

.propcycle-testimonial-card__name {
	font-weight: 700;
	font-size: 16px;
	color: var(--propcycle-testimonial-name-color, var(--color-text, #2b2e3c));
	line-height: 1.3;
}

.propcycle-testimonial-card__position {
	font-weight: 400;
	color: var(--propcycle-testimonial-muted-color, var(--color-text-muted, #5f6675));
}

.propcycle-testimonial-card__company,
.propcycle-testimonial-card__meta-separator {
	color: var(--propcycle-testimonial-muted-color, var(--color-text-muted, #5f6675));
}

.propcycle-testimonial-card__meta-separator {
	width: 4px;
	height: 4px;
	background: currentColor;
	display: inline-flex;
	border-radius: 20px;
	text-indent: -9999em;
	align-self: center;
	opacity: 0.4;
}

.propcycle-testimonial-card__link {
	font-size: 13px;
	color: var(--propcycle-testimonial-link-color, var(--color-primary, #0066cc));
	text-decoration: none;
	font-weight: 500;
	transition: color 0.2s ease;
}

.propcycle-testimonial-card__link:hover {
	color: var(--propcycle-testimonial-link-hover-color, var(--color-primary-hover, #0052a3));
	text-decoration: underline;
}
.propcycle-testimonial-related-grid-wrap {
	background-image:  linear-gradient(180deg, rgba(230, 241, 249, 1) 0%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 1) 100%);;
	padding: 100px 0;
}
.propcycle-testimonial-related-grid-wrap .propcycle-banner__testimonials-grid {
	width: 100%;
    max-width: var(--container-max, 1200px);
    margin: 0 auto;
}

.block-editor-block-list__block .propcycle-banner__testimonials-grid--swiper  {
	display: flex !important;
	flex-wrap: nowrap;
	overflow: auto;
	padding: 20px;
	margin: -20px;
}
.block-editor-block-list__block .propcycle-banner__testimonials-grid--swiper .propcycle-testimonial-card  {
	min-width: 320px;
}
/*
 * Formidable / form-specific overrides
 * Add custom form styles here.
 */
.propcycle-banner__special-content--form .with_frm_style {
    --form-width: 100%;
    --form-align: left;
    --direction: ltr;
    --fieldset: 0px;
    --fieldset-color: #000000;
    --fieldset-padding: 0px 0px 15px 0px;
    --fieldset-bg-color: transparent;
    --title-size: 40px;
    --title-color: var(--color-heading);
    --title-margin-top: 10px;
    --title-margin-bottom: 60px;
    --form-desc-size: 14px;
    --form-desc-color: #98A2B3;
    --form-desc-margin-top: 10px;
    --form-desc-margin-bottom: 25px;
    --form-desc-padding: 0px;
    --font-size: 15px;
    --label-color: var(--color-text);
    --weight: 600;
    --position: none;
    --align: left;
    --width: 150px;
    --required-color: #F04438;
    --required-weight: bold;
    --label-padding: 0px 0px 5px 0px;
    --description-font-size: 12px;
    --description-color: #667085;
    --description-weight: normal;
    --description-style: normal;
    --description-align: left;
    --description-margin: 0px;
    --field-font-size: 16px;
    --field-height: 45px;
    --line-height: 36px;
    --field-width: 100%;
    --auto-width: 100%;
    --field-pad: 16px 14px;
    --field-margin: 1.2em;
    --field-weight: normal;
    --text-color: var(--color-text);
    --border-color: #D0D5DD;
    --field-border-width: 1px;
    --field-border-style: solid;
    --bg-color: #ffffff;
    --bg-color-active: #ffffff;
    --border-color-active: #4199FD;
    --text-color-error: #444444;
    --bg-color-error: #ffffff;
    --border-color-error: #F04438;
    --border-width-error: 1px;
    --border-style-error: solid;
    --bg-color-disabled: #F9FAFB;
    --border-color-disabled: #D0D5DD;
    --text-color-disabled: #667085;
    --radio-align: block;
    --check-align: block;
    --check-font-size: 14px;
    --check-label-color: #1D2939;
    --check-weight: normal;
    --section-font-size: 18px;
    --section-color: #344054;
    --section-weight: bold;
    --section-pad: 32px 0px 3px 0px;
    --section-mar-top: 30px;
    --section-mar-bottom: 30px;
    --section-bg-color: transparent;
    --section-border-color: #EAECF0;
    --section-border-width: 1px;
    --section-border-style: solid;
    --section-border-loc: -top;
    --collapse-pos: after;
    --repeat-icon-color: #ffffff;
    --submit-font-size: 14px;
    --submit-width: auto;
    --submit-height: auto;
    --submit-bg-color: #4199FD;
    --submit-border-color: #4199FD;
    --submit-border-width: 1px;
    --submit-text-color: #ffffff;
    --submit-weight: normal;
    --submit-border-radius: 8px;
    --submit-margin: 10px;
    --submit-padding: 8px 16px;
    --submit-shadow-color: #eeeeee;
    --submit-hover-bg-color: #3680D3;
    --submit-hover-color: #ffffff;
    --submit-hover-border-color: #3680D3;
    --submit-active-bg-color: #3680D3;
    --submit-active-color: #ffffff;
    --submit-active-border-color: #3680D3;
    --border-radius: 8px;
    --error-bg: #FEE4E2;
    --error-border: #F5B8AA;
    --error-text: #F04438;
    --error-font-size: 14px;
    --success-bg-color: #DFF0D8;
    --success-border-color: #D6E9C6;
    --success-text-color: #468847;
    --success-font-size: 14px;
    --progress-bg-color: #EAECF0;
    --progress-color: #1D2939;
    --progress-active-bg-color: #4199FD;
    --progress-active-color: #ffffff;
    --progress-border-color: #EAECF0;
    --progress-border-size: 1px;
    --progress-size: 30px;
    --base-font-size: 15px;
    --box-shadow: 0 1px 2px 0 rgba(18, 18, 23, 0.05);
}

.frm_style_formidable-style.with_frm_style input[type=submit], .frm_style_formidable-style.with_frm_style .frm_submit input[type=button], .frm_style_formidable-style.with_frm_style .frm_submit button, .frm_form_submit_style {
 --propcycle-button-icon-stroke-width: 2.5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: 0.875rem 1.75rem;
    border-radius: var(--radius-pill);
    border: 2px solid transparent;
    font-family: var(--font-family-heading);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    text-align: center;
    min-height: 56px;
 background: var(--color-primary);
    border-color: var(--color-primary);
    color: #ffffff;
}

.frm_style_formidable-style.with_frm_style input[type=submit]:hover, .frm_style_formidable-style.with_frm_style .frm_submit input[type=button]:hover, .frm_style_formidable-style.with_frm_style .frm_submit button:hover {
    background: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    color: #ffffff;
    transform: translateY(-2px);
}

.wp-block-propcycle-banner:not(.has-inner-panel) .propcycle-banner__special-content--form {
background: white;
    padding: var(--propcycle-inner-padding, clamp(1rem, 3vw, 2.5rem));
    border-radius: 28px;
    overflow: hidden;
    background-color: var(--propcycle-inner-background-color, #035FAA);
    border: var(--propcycle-inner-border-width, 0) solid var(--propcycle-inner-border-color, transparent);
    --propcycle-inner-shadow-scale: clamp(0.7, 0.5vw + 0.7, 1);
    box-shadow:rgba(0, 0, 0, 0.12) 0px 20px 20px 0px;
}
.with_frm_style .frm_form_fields > fieldset {
    padding: 0;
    margin-bottom: calc(var(--field-margin) * -1 - 10px);
}
.frm_opt_container {
    padding: 0.5em
}
:root {
	--propcycle-pricing-bg: #0b5ea8;
	--propcycle-pricing-text: #ffffff;
	--propcycle-pricing-muted: rgba(255, 255, 255, 0.82);
	--propcycle-pricing-card-bg: white;
	--propcycle-pricing-card-text: #3c3f45;
	--propcycle-pricing-shadow: 0 16px 34px rgba(1, 28, 53, 0.34);
	--propcycle-pricing-radius: 15px;
	--propcycle-pricing-tab-active: var(--color-primary);
	--propcycle-pricing-feature-icon: var(--color-primary, #137fd8);
	--propcycle-pricing-tab-inactive: hsl(207deg 100% 15% / 60%)
}

.propcycle-pricing {
	/* background: var(--propcycle-pricing-bg); */
	/* color: var(--propcycle-pricing-text); */
	/* padding: clamp(18px, 3vw, 34px); */
	/* border-radius: var(--propcycle-pricing-radius); */
}

.propcycle-pricing__tabs {
	display: flex;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 15px;
	row-gap: 0;
	margin-bottom: 4rem;
	border-bottom: 4px solid var(--color-primary);
}

.propcycle-pricing__tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 0;
	border-radius: 12px 12px 0 0;
	background: var(--propcycle-pricing-tab-inactive);
	color: var(--propcycle-pricing-text);
	padding: 16px 30px;
	font-weight: 700;
	cursor: pointer;
	font-size: 20px;
}

	.propcycle-pricing__category.is-active {
		display: flex;
		flex-direction: column;
	}

@media (max-width: 600px) {
	.propcycle-pricing__category.is-active {
		display: flex;
		flex-direction: column;
	}
	.propcycle-pricing__tabs {
		gap: 0.5em
	}
	.propcycle-pricing__tab {
		flex-direction: column;
		gap:0.5em;
		font-size: 1em;
		padding: clamp(16px, 2vw, 16px) clamp(20px, 2vw, 16px);
	}
	.propcycle-pricing__grid {
		margin-bottom: 4rem
	}
	.propcycle-pricing__description {
		order:1
	}
}

.propcycle-pricing__tab.is-active {
	background: var(--propcycle-pricing-tab-active);
	
}

.propcycle-pricing__tab-icon {
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.propcycle-pricing__tab-icon svg,
.propcycle-pricing__tab-icon img {
	width: 24px;
	height: 24px;
	color: white;
}
.propcycle-pricing__tab-icon svg path {
	stroke: white;
	stroke-width: 8%
}

.propcycle-pricing__mobile-select-wrap {
	display: none;
	margin-bottom: 20px;
}

.propcycle-pricing__mobile-select {
	width: 100%;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.36);
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
	font-weight: 600;
	padding: 10px 16px;
}

.propcycle-pricing__mobile-select option {
	color: #0f3254;
}

.propcycle-pricing__heading {
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.15;
	text-align: center;
}
.is-text-light .propcycle-pricing__heading {
	color: white;
}

.propcycle-pricing__description {
	margin: 12px auto 28px;
	/* max-width: 920px; */
	font-size: 1rem;
	text-align: center;
	color: var(--propcycle-pricing-muted);
	order:1
}
.is-text-light .propcycle-pricing__description {
	color: white;
}

.propcycle-pricing__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 54px);
	margin-top: clamp(24px, 5vw, 60px);
	margin-bottom: clamp(24px, 5vw, 60px);
}

.propcycle-pricing__tile {
	background: var(--propcycle-pricing-card-bg);
	color: var(--propcycle-pricing-card-text);
	border-top: 15px solid var(--propcycle-pricing-tier-color, #14c8c8);
	border-radius: var(--propcycle-pricing-radius);
	padding: clamp(20px, 5vw, 30px);
	padding-top: clamp(30px, 10vw, 60px);
	box-shadow: var(--propcycle-pricing-shadow);
	display: flex;
	flex-direction: column;
	min-height: 100%;
	gap: clamp(18px, 5vw, 27px);
	max-width: 420px;
	margin: auto;
	width: 100%;
}
.propcycle-pricing__tile:nth-child(1):nth-last-child(2),
.propcycle-pricing__tile:nth-child(2):nth-last-child(1){
	max-width: unset;
}

.propcycle-pricing__tile-name {
	margin: 0;
	font-size: 27px;
	line-height: 1.2;
	text-align: center;
}

.propcycle-pricing__price-group {
	display: grid;
	justify-items: center;
	row-gap: 17px;
}

.propcycle-pricing__price-wrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 2px;
	margin-top: 0;
}

.propcycle-pricing__price-currency {
	font-size: 27px;
	font-weight: 700;
	line-height: 1;
	margin-top: 12px;
}

.propcycle-pricing__price-value {
	font-size: clamp(52px, 7vw, 72px);
	font-weight: 800;
	line-height: 0.95;
}

.propcycle-pricing__price-label {
	align-self: center;
	margin-top: 0;
	padding: 5px 12px;
	border-radius: 999px;
	background: #dce9f6;
	color: #5e6b7f;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.propcycle-pricing__category-banner {
	padding: clamp(1em, 2vw, 1.2em);
	border: 2px solid rgba(0,0,0,0.5);
	border-radius: 10px;
	background: #fffac3;
	color: #775f06;
	font-weight: 600;
	font-size: clamp(1em, 2vw, 1.1em);
	line-height: 1.35;
	text-align: center;
	margin: 0 auto 12px;
}

.propcycle-pricing__tile-description {
	margin: -8px 0 0;
	text-align: center;
	font-size: 15px;
	line-height: 1.45;
	color: #5f6878;
}

ul.propcycle-pricing__features {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: grid;
	gap: 5px;
}

.propcycle-pricing__feature-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	text-align: left;
	max-width: 260px;
}

.propcycle-pricing__feature-icon {
	width: 18px;
	height: 18px;
	color: var(--propcycle-pricing-feature-icon);
	flex: 0 0 auto;
	margin-top: 2px;
}

.propcycle-pricing__feature-icon svg {
	width: 18px;
	height: 18px;
	display: block;
}

.propcycle-pricing__feature-text {
	font-size: 16px;
	line-height: 1.45;
}

.propcycle-pricing__button {
	margin-top: auto;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 14px 22px;
	border-radius: 999px;
	background: var(--color-primary, #137fd8);
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
	min-height: 56px
}

.propcycle-pricing__button--ghost {
	background: #ffffff;
	color: var(--color-primary, #137fd8);
	border: 2px solid #d4dfeb;
}

.propcycle-pricing__tile--upsell {
	border-top-color: white;
	justify-content: center;
	text-align: center;
}

.propcycle-pricing__upsell-icon {
	width: 90px;
	height: 90px;
	margin: 0 auto 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #dbe8f5;
	color: var(--color-primary, #137fd8);
}

.propcycle-pricing__upsell-icon svg,
.propcycle-pricing__upsell-icon img {
	width: 48px;
	height: 48px;
}

.propcycle-pricing__upsell-heading {
	margin: 0;
	font-size: 27px;
	line-height: 1.18;
}

.propcycle-pricing__upsell-description {
	margin: 12px 0 20px;
	font-size: 16px;
	line-height: 1.45;
	color: #5f6878;
}

@media (max-width: 991px) {
	.propcycle-pricing__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 650px) {
	.propcycle-pricing__tabs {
		/* display: none; */
		margin-bottom:2rem
	}

	.propcycle-pricing__mobile-select-wrap {
		/* display: block; */
	}

	.propcycle-pricing__grid {
		grid-template-columns: 1fr;
		/* align-items: center; */
		/* justify-content: center; */
	}

	.propcycle-pricing__upsell-heading {
		font-size: 30px;
	}
}

.propcycle-stats {
	--propcycle-stats-gap: 1.2rem;
	--propcycle-stats-bg: rgba(255, 255, 255, 0.1);
	--propcycle-stats-radius: 18px;
	--propcycle-stats-border: rgba(255, 255, 255, 0.24);
	--propcycle-stats-text-light: #ffffff;
	--propcycle-stats-text-dark: var(--color-text);
	--propcycle-stats-count-light: #ffffff;
	--propcycle-stats-count-dark: var(--color-heading);
	--propcycle-stats-accent-color-1: #00B4B4;
	--propcycle-stats-accent-color-2: #7233A6;
	--propcycle-stats-accent-color-3: #E79004;
	--propcycle-stats-accent-color-4: #7DBA0C;
	--propcycle-stats-accent-color-5: #D6169C;
	--propcycle-stats-accent-color-6: #008CFF;
	--propcycle-stats-accent-color-7: #D61010;
	--propcycle-stats-icon-border: var(--color-border);
}

.propcycle-stats__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: var(--propcycle-stats-gap);
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
}

@media (max-width: 900px) {
	.propcycle-stats__grid {
		justify-content: center;
		gap: clamp(1em, 5vw, 2em)
	}	
}

.propcycle-stats--container-individual .propcycle-stats__grid {
	display: grid;
}
.propcycle-stats--container-single {
	padding: 2em;
	border-radius: calc(var(--propcycle-stats-radius) + 2px);
	background: var(--propcycle-stats-bg);
}

.propcycle-stats__item {
	display: flex;
	gap: 1em;
	align-items: center;
	position: relative;
	/* padding: 1em; */
	border-radius: var(--propcycle-stats-radius);
	transition: transform 180ms ease, box-shadow 180ms ease;
}
.propcycle-stats--container-single .propcycle-stats__item {
	border: unset !important;
	background: unset !important;
	box-shadow: unset !important;
}
.propcycle-stats--icon-above .propcycle-stats__item {
	flex-direction: column;
	align-items: flex-start;
}

.propcycle-stats--icon-left .propcycle-stats__item {
	flex-direction: row;
}

.propcycle-stats--container-individual .propcycle-stats__item,
.propcycle-stats__item--individual {
	background: var(--propcycle-stats-bg);
	padding: 1.5em;
}

.propcycle-stats--shadow-small .propcycle-stats__item,
.propcycle-stats--container-single.propcycle-stats--shadow-small {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);
}

.propcycle-stats--shadow-medium .propcycle-stats__item,
.propcycle-stats--container-single.propcycle-stats--shadow-medium {
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
}

.propcycle-stats--shadow-large .propcycle-stats__item,
.propcycle-stats--container-single.propcycle-stats--shadow-large {
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
}

.propcycle-stats--border-light .propcycle-stats__item,
.propcycle-stats--container-single.propcycle-stats--border-light {
	border: 1px solid rgba(255, 255, 255, 0.45);
}

.propcycle-stats--border-dark .propcycle-stats__item,
.propcycle-stats--container-single.propcycle-stats--border-dark {
	border: 1px solid rgba(0, 0, 0, 0.22);
}

.propcycle-stats__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	color: white;
	background: var(--color-primary);
	margin: 0 auto;
}
.propcycle-stats--icon-light-circle .propcycle-stats__icon {
	color: var(--color-primary);
	background: color-mix(in srgb, currentColor 10%, transparent);
}

.propcycle-stats.propcycle-stats--accent .propcycle-stats__icon {
	color: color-mix(in srgb, currentcolor 90%, black);
}
.propcycle-stats.propcycle-stats--accent.propcycle-stats--icon-circle .propcycle-stats__icon {
	color: currentcolor;
}
.propcycle-stats.propcycle-stats--accent.propcycle-stats--icon-circle .propcycle-stats__icon {
	background: currentColor;
}
.propcycle-stats.propcycle-stats--accent.propcycle-stats--icon-circle .propcycle-stats__icon svg {
		color: white
}
.propcycle-stats propcycle-stats--icon-outline .propcycle-stats__icon {
	border:2px solid var(--color-border);
}

.propcycle-stats__icon > div {
	display: contents
}

.propcycle-stats__icon svg,
.propcycle-stats__icon img {
	width: 60%;
	height: 60%;
	display: block;
	color: currentColor;
}

.propcycle-stats--icon-icon-only .propcycle-stats__icon svg {
	width: 100%;
	height: 100%;
	align-self: flex-start;
}
.propcycle-stats--icon-icon-only.propcycle-stats--icon-above .propcycle-stats__icon svg {
	align-self: flex-end;
}
.propcycle-stats__icon svg path {
	stroke: currentColor
}

.propcycle-stats--icon-icon-only .propcycle-stats__icon {
	background: transparent;
	border-radius: 0;
	color: var(--color-primary);
	width: 70px;
	height: 70px;
}
.propcycle-stats--icon-icon-only.propcycle-stats--accent .propcycle-stats__icon {
	color: currentColor;
}
.propcycle-stats--icon-left .propcycle-stats__icon {
	align-self: flex-start;
}

.propcycle-stats--icon-light-circle .propcycle-stats__icon {
	/* background: rgba(255, 255, 255, 0.92); */
}

.propcycle-stats--icon-outline .propcycle-stats__icon {
	color: var(--color-primary);
	background: transparent;
	border: 2px solid var(--propcycle-stats-icon-border);
}
.propcycle-stats--icon-outline.propcycle-stats.propcycle-stats--accent .propcycle-stats__icon {
	border-color: currentColor;
}

.propcycle-stats--text-dark .propcycle-stats__title{
	color: var(--propcycle-stats-text-dark);
}

.propcycle-stats--text-light .propcycle-stats__title,
.propcycle-stats--text-light .propcycle-stats__description {
	color: var(--propcycle-stats-text-light);
}

.propcycle-stats--text-dark .propcycle-stats__count {
	color: var(--propcycle-stats-count-dark);
}

.propcycle-stats--text-light .propcycle-stats__count {
	color: var(--propcycle-stats-count-light);
}

.propcycle-stats--accent .propcycle-stats__count {
	color: color-mix(in srgb, currentcolor 90%, black);
}

.propcycle-stats--accent .propcycle-stats__item:nth-child(1) {
	color: var(--propcycle-stats-accent-color-1);
}
.propcycle-stats--accent .propcycle-stats__item:nth-child(2) {
	color: var(--propcycle-stats-accent-color-2);
}
.propcycle-stats--accent .propcycle-stats__item:nth-child(3) {
	color: var(--propcycle-stats-accent-color-3);
}
.propcycle-stats--accent .propcycle-stats__item:nth-child(4) {
	color: var(--propcycle-stats-accent-color-4);
}
.propcycle-stats--accent .propcycle-stats__item:nth-child(5) {
	color: var(--propcycle-stats-accent-color-5);
}
.propcycle-stats--accent .propcycle-stats__item:nth-child(6) {
	color: var(--propcycle-stats-accent-color-6);
}
.propcycle-stats--accent .propcycle-stats__item:nth-child(7) {
	color: var(--propcycle-stats-accent-color-8);
}
.propcycle-stats__content {
	display: grid;
	gap: 4px;
	position: relative;
	margin: auto;
	width: 100%;
}
.propcycle-stats--icon-left .propcycle-stats__content {
	text-align: left;
	margin: 0.5em auto;
}

.propcycle-stats__count {
	font-size: 2.5rem;
	line-height: 1.05;
	font-weight: 700;
}
.propcycle-stats__count:after {
	content:'+';
	margin-left: 0.1em;
}

.propcycle-stats__title {
	font-size: 0.95rem;
	line-height: 1.3;
	/* font-weight: 600; */
}

.propcycle-stats__description {
	position: absolute;
	left: 50%;
	top: calc(100% + 6px);
	z-index: 3;
	min-width: 180px;
	max-width: 260px;
	padding: 8px 10px;
	border-radius: 10px;
	background: rgba(0,0,0, 0.7);
	color: #f2f6fb;
	font-size: 0.82rem;
	line-height: 1.35;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 4px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
	pointer-events: none;
}

.propcycle-stats__item:hover .propcycle-stats__description,
.propcycle-stats__item:focus-within .propcycle-stats__description {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0px);
}

@media (max-width: 600px) {
	.propcycle-stats__grid {
		display: grid;
		grid-template-columns: max-content max-content;
		width: unset;
		margin: auto;
	}

}

@media (max-width: 530px) {
	.propcycle-stats__grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	
	.propcycle-stats--icon-left .propcycle-stats__item {
		flex-direction:column;		
	}
	.propcycle-stats--icon-left .propcycle-stats__content {
		text-align: center;
	}

}

.wp-block-propcycle-banner {
	--propcycle-pill-radius: 999px;
	--propcycle-tile-radius: clamp(1.0625rem, 2vw, 1.4375rem);
	--propcycle-tile-body-padding: clamp(1.5rem, 4vw, 2.125rem);
	--propcycle-tiles-gap: clamp(1.125rem, 2vw, 1.5rem);
	--propcycle-tiles-gap-wide: clamp(2.25rem, 4vw, 3.25rem);
	--propcycle-tiles-scroll-bottom-space: clamp(2rem, 3.5vw, 2.5rem);
	--propcycle-tiles-scroll-gap: clamp(1.125rem, 2vw, 1.5rem);
	--propcycle-tiles-scroll-pad-bottom: clamp(0.625rem, 1.2vw, 0.75rem);
	--propcycle-tiles-scroll-frame: clamp(1rem, 2vw, 1.5rem);
	--propcycle-tiles-nav-offset: clamp(2rem, 4vw, 3rem);
	--propcycle-tiles-nav-gap: clamp(0.375rem, 0.8vw, 0.5rem);
	--propcycle-tile-body-gap: clamp(0.4rem, 1vw, 0.5rem);
	--propcycle-v2-image-margin-bottom: clamp(1rem, 2vw, 1.35rem);
	--propcycle-bg-bleed: clamp(2.5rem, 5vw, 4rem);
	--propcycle-bg-offset: calc(var(--propcycle-bg-bleed) * -0.5);
	--propcycle-icon-stack-gap: clamp(0.625rem, 1.2vw, 0.75rem);
	--propcycle-icon-overlap-content-offset: clamp(1rem, 2vw, 1.25rem);
	--propcycle-inline-icon-padding-gap: clamp(1.75rem, 3vw, 2.125rem);
	--propcycle-placeholder-inline-pad: clamp(0.2rem, 0.6vw, 0.25rem);
	--propcycle-placeholder-block-pad: clamp(0.875rem, 1.6vw, 1rem);
	--propcycle-description-block-pad-y: clamp(0.5rem, 1vw, 0.55rem);
	--propcycle-description-block-pad-x: clamp(0.625rem, 1.2vw, 0.7rem);
	--propcycle-list-indent: clamp(1rem, 2vw, 1.2rem);
	--propcycle-list-item-gap: clamp(0.125rem, 0.4vw, 0.2rem);
	--propcycle-font-overline: clamp(0.5625rem, 0.9vw, 0.625rem);
	--propcycle-font-caption: clamp(0.75rem, 1.1vw, 0.8125rem);
	--propcycle-font-body: clamp(0.95rem, 1.3vw, 1rem);
	--propcycle-font-body-small: clamp(0.8125rem, 1.1vw, 0.875rem);
	--propcycle-font-body-large: clamp(1rem, 1.5vw, 1.125rem);
	--propcycle-font-heading: clamp(1rem, 1.6vw, 1.125rem);
	--propcycle-font-heading-small: clamp(1.125rem, 1.8vw, 1.25rem);
	--propcycle-font-heading-medium: clamp(1.25rem, 2.2vw, 1.5rem);
	--propcycle-font-heading-large: clamp(1.5rem, 2.6vw, 1.75rem);
	--propcycle-font-icon-number-base: clamp(1.375rem, 2vw, 1.5rem);
	--propcycle-font-icon-number-medium: clamp(1.5rem, 2.2vw, 1.75rem);
	--propcycle-font-icon-number-large: clamp(1.75rem, 2.6vw, 2rem);
	--propcycle-font-icon-number-xlarge: clamp(2.25rem, 4vw, 3rem);
	--propcycle-cta-gap: clamp(0.35rem, 0.8vw, 0.45rem);
	--propcycle-cta-offset-top: clamp(0.125rem, 0.4vw, 0.2rem);
	--propcycle-overlay-shadow-size: clamp(5.3125rem, 6vw, 7.1875rem);
	--propcycle-shadow-10-small: 0 clamp(0.1063rem, 0.2vw, 0.1438rem) clamp(0.1594rem, 0.3vw, 0.2156rem) rgba(0, 0, 0, 0.10);
	--propcycle-shadow-10-medium: 0 clamp(0.1594rem, 0.3vw, 0.2156rem) clamp(0.2656rem, 0.45vw, 0.3594rem) rgba(0, 0, 0, 0.10);
	--propcycle-shadow-10-large: 0 clamp(0.2656rem, 0.45vw, 0.3594rem) clamp(0.425rem, 0.7vw, 0.575rem) rgba(0, 0, 0, 0.10);
	--propcycle-shadow-ring: inset 0 0 0 clamp(0.0531rem, 0.2vw, 0.0719rem) rgba(0, 0, 0, 0.14);
	--propcycle-shadow-14-small: 0 clamp(0.2125rem, 0.6vw, 0.2875rem) clamp(0.5313rem, 1.1vw, 0.7188rem) rgba(0, 0, 0, 0.14);
	--propcycle-shadow-18-medium: 0 clamp(0.5313rem, 1.1vw, 0.7188rem) clamp(1.1688rem, 2vw, 1.5813rem) rgba(0, 0, 0, 0.18);
	--propcycle-shadow-22-large: 0 clamp(0.85rem, 1.8vw, 1.15rem) clamp(1.7rem, 3.3vw, 2.3rem) rgba(0, 0, 0, 0.22);
	--propcycle-icon-white-shadow: 0 clamp(0.1063rem, 0.2vw, 0.1438rem) clamp(0.2125rem, 0.6vw, 0.2875rem) rgba(0,0,0,0.1);
	--propcycle-icon-light-shadow: 0 clamp(0.2125rem, 0.6vw, 0.2875rem) clamp(0.3188rem, 0.8vw, 0.4313rem) rgba(0,0,0,0.2), inset 0 0 0 clamp(0.0531rem, 0.2vw, 0.0719rem) var(--tile-accent-color, var(--color-primary, blue));
	--propcycle-placeholder-corner: clamp(0.425rem, 1vw, 0.575rem);
	--propcycle-placeholder-shadow-step: clamp(0.0531rem, 0.2vw, 0.0719rem);
	--propcycle-placeholder-shadow-step-neg: clamp(-0.0719rem, -0.2vw, -0.0531rem);
}

.propcycle-banner__tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--propcycle-tiles-gap);
}
.propcycle-banner__tiles--cols-1 {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}
.propcycle-banner__tiles--cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.propcycle-banner__tiles--cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.propcycle-banner__tiles--cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.propcycle-banner__tiles--cols-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}
.propcycle-banner__tiles--cols-6 {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}
.propcycle-banner__tiles--version-2 {
	gap: var(--propcycle-tiles-gap-wide);
}
@media (max-width: 1024px) {
	.propcycle-banner__tiles--cols-4,
	.propcycle-banner__tiles--cols-5,
	.propcycle-banner__tiles--cols-6 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.propcycle-banner__aside .propcycle-banner__tiles--cols-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 782px) {
	.propcycle-banner__tiles--cols-2,
	.propcycle-banner__tiles--cols-3,
	.propcycle-banner__tiles--cols-4,
	.propcycle-banner__tiles--cols-5,
	.propcycle-banner__tiles--cols-6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 560px) {
	.propcycle-banner__tiles--cols-2,
	.propcycle-banner__tiles--cols-3,
	.propcycle-banner__tiles--cols-4,
	.propcycle-banner__tiles--cols-5,
	.propcycle-banner__tiles--cols-6 {
		grid-template-columns: 1fr;
	}
}
.propcycle-banner__tile-body--align-left {
	text-align: left;
	align-items: flex-start;
}
.propcycle-banner__tile-body--align-center {
	text-align: center;
	align-items: center;
}
.propcycle-banner__tile-body--align-right {
	text-align: right;
	align-items: flex-end;
}
.propcycle-banner__tile-body--align-center .propcycle-banner__tile-icon-circle {
	align-self: center;
}
.propcycle-banner__tile-body--align-right .propcycle-banner__tile-icon-circle {
	margin-right: 0;
}
.propcycle-banner__tile-body--align-left .propcycle-banner__tile-icon-circle {
	margin-left: 0;
}
.propcycle-banner__tile-body--align-center .propcycle-banner__tile-cta {
	align-self: center;
}
.propcycle-banner__tile-body--align-right .propcycle-banner__tile-cta {
	align-self: flex-end;
}
.wp-block-propcycle-banner.has-tile-swiper-active {
	overflow: hidden;
}
.propcycle-banner__tiles--scrolling {
	overflow: hidden;
	padding-bottom: var(--propcycle-tiles-scroll-bottom-space);
	position: relative;
}
.propcycle-banner__tiles--scrolling:not(.swiper) {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	gap: var(--propcycle-tiles-scroll-gap);
	padding-bottom: var(--propcycle-tiles-scroll-pad-bottom);
	margin: calc(var(--propcycle-tiles-scroll-frame) * -1);
	padding: var(--propcycle-tiles-scroll-frame);
}
.propcycle-banner__tiles--scrolling .propcycle-banner__tile {
	height: auto;
}
.propcycle-banner__tiles--scrolling:not(.swiper) .propcycle-banner__tile {
	flex: 0 0 min(340px, 82vw);
}
.propcycle-banner__tiles--scrolling .swiper-wrapper {
	align-items: stretch;
}
.propcycle-banner__tiles-nav {
	position: absolute;
	right: 0;
	top: calc(100% + var(--propcycle-tiles-nav-offset));
	display: inline-flex;
	gap: var(--propcycle-tiles-nav-gap);
	z-index: 3;
}
.propcycle-banner__tiles-nav-button {
	width: 40px;
	height: 40px;
	border: 2px solid var(--color-border);
	border-radius: var(--propcycle-pill-radius);
	background: rgba(255,255,255,0.15);
	color: var(--color-primary);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.propcycle-banner__tiles-nav-button .propcycle-button__chevron {
	color: inherit;
	width: 18px;
	height: 18px;
}
.propcycle-banner__tiles-nav-button--prev .propcycle-button__chevron {
	transform: rotate(180deg);
}
.propcycle-banner__tiles-nav-button:hover {
	border-color: var(--color-primary);
}
.propcycle-banner__tiles-nav-button.swiper-button-disabled {
	opacity: 0.45;
	cursor: default;
	color: var(--color-text);
}
.propcycle-banner__tile {
	display: flex;
	flex-direction: column;
	border-radius: var(--propcycle-tile-radius);
	background: white;
	text-align: left;
}
.propcycle-banner__tile--image-position-left,
.propcycle-banner__tile--image-position-right {
	flex-direction: row;
	align-items: stretch;
}
.propcycle-banner__tile--image-position-left .propcycle-banner__tile-image-wrapper,
.propcycle-banner__tile--image-position-right .propcycle-banner__tile-image-wrapper {
	width: 42%;
	min-width: 42%;
	flex: 0 0 42%;
	height: auto;
	border-radius: var(--propcycle-tile-radius) 0 0 var(--propcycle-tile-radius);
}
.propcycle-banner__tile--image-position-right .propcycle-banner__tile-image-wrapper {
	order: 2;
	border-radius: 0 var(--propcycle-tile-radius) var(--propcycle-tile-radius) 0;
}
.propcycle-banner__tile--image-position-right .propcycle-banner__tile-body {
	order: 1;
}
.propcycle-banner__tile--image-position-bottom .propcycle-banner__tile-image-wrapper {
	order: 2;
	border-radius: 0 0 var(--propcycle-tile-radius) var(--propcycle-tile-radius);
}
.propcycle-banner__tile--image-position-bottom .propcycle-banner__tile-body {
	order: 1;
}
.propcycle-banner__tile--image-position-top .propcycle-banner__tile-image-wrapper {
	border-radius: var(--propcycle-tile-radius) var(--propcycle-tile-radius) 0 0;
}
.propcycle-banner__tile-body {
	display: flex;
	flex-direction: column;
	gap: var(--propcycle-tile-body-gap);
	padding: var(--propcycle-tile-body-padding);
	flex: 1 1 auto;
	width: 100%;
}

.propcycle-banner__tile-body--gap-small {
	--propcycle-tile-body-gap: 0;
}

.propcycle-banner__tile-body--gap-medium {
	--propcycle-tile-body-gap: clamp(0.4rem, 1vw, 0.5rem);
}

.propcycle-banner__tile-body--gap-large {
	--propcycle-tile-body-gap: clamp(0.625rem, 1.2vw, 0.75rem);
}
.propcycle-banner__tile.propcycle-banner__tile--version-3 {
	background: unset;
	border-radius: unset;
	box-shadow: unset !important;
}
.propcycle-banner__tile.propcycle-banner__tile--version-3 .propcycle-banner__tile-body {
	width: 90% !important;
	margin-top: -2em;
	background: white;
	z-index: 1;
	border-radius: 0 var(--propcycle-tile-radius) var(--propcycle-tile-radius) var(--propcycle-tile-radius);
}
.propcycle-banner__tile.propcycle-banner__tile--version-3 .propcycle-banner__tile-image-wrapper {
	border-radius: var(--propcycle-tile-radius) var(--propcycle-tile-radius) 0 0;
	box-shadow: inset 0 0 var(--propcycle-overlay-shadow-size) rgba(0,0,0,0.5);
}
.propcycle-banner__tile.propcycle-banner__tile--version-3 .propcycle-banner__tile-image-wrapper:after {
	content:'';
	display: block;
	left:0;
	top:0;
	width:100%;
	height:100%;
	position:absolute;
	box-shadow: inset 0 0 var(--propcycle-overlay-shadow-size) rgba(0,0,0,0.03);
	background-image: linear-gradient(transparent 75%, rgba(0,0,0,.2))
}
.propcycle-banner__tile.propcycle-banner__tile--shadow-border, 
.propcycle-banner__tile--version-2.propcycle-banner__tile--shadow-border .propcycle-banner__tile-image-wrapper {
	border: 1px solid var(--color-border, rgba(0,0,0,0.2));	
}
.propcycle-banner__tile.propcycle-banner__tile--shadow-small,
.propcycle-banner__tile--version-2.propcycle-banner__tile--shadow-small .propcycle-banner__tile-image-wrapper {
	box-shadow: var(--propcycle-shadow-10-small);
}
.propcycle-banner__tile.propcycle-banner__tile--shadow-medium,
.propcycle-banner__tile--version-2.propcycle-banner__tile--shadow-medium .propcycle-banner__tile-image-wrapper {
	box-shadow: var(--propcycle-shadow-10-medium);
}
.propcycle-banner__tile.propcycle-banner__tile--shadow-large,
.propcycle-banner__tile--version-2.propcycle-banner__tile--shadow-large .propcycle-banner__tile-image-wrapper {
	box-shadow: var(--propcycle-shadow-10-large);
}
.propcycle-banner__tile--version-2 {
	box-shadow: unset !important;
}
.propcycle-banner__tile-image {
	margin-bottom: 0;
	height: auto;
}
.propcycle-banner__tile--version-2 {
	background: transparent;
	border: 0;
	box-shadow: none;
	align-items: center;
	text-align: center;
	border-radius: unset;
}
.propcycle-banner__tile--version-2 .propcycle-banner__tile-body {
	padding: 0;
}
.propcycle-banner__tile--version-2 .propcycle-banner__tile-image {
	display: block;
}
.wp-block-propcycle-banner .propcycle-banner__tile--version-2 .propcycle-banner__tile-image-wrapper {
	margin-bottom: var(--propcycle-v2-image-margin-bottom);
	border-radius: var(--propcycle-tile-radius);
}
.propcycle-banner__tile-image-wrapper {
	position: relative;
	overflow: hidden;
	display: flex;
	align-content: center;
	justify-content: center;
	border-radius: var(--propcycle-tile-radius) var(--propcycle-tile-radius) 0 0;
}
@media (max-width: 782px) {
	.propcycle-banner__tile--image-position-left,
	.propcycle-banner__tile--image-position-right {
		flex-direction: column;
	}
	.propcycle-banner__tile--image-position-left .propcycle-banner__tile-image-wrapper,
	.propcycle-banner__tile--image-position-right .propcycle-banner__tile-image-wrapper {
		order: 0;
		width: auto;
		min-width: 0;
		flex: 0 1 auto;
		border-radius: var(--propcycle-tile-radius) var(--propcycle-tile-radius) 0 0;
	}
	.propcycle-banner__tile--image-position-left .propcycle-banner__tile-body,
	.propcycle-banner__tile--image-position-right .propcycle-banner__tile-body {
		order: 1;
	}
}
.propcycle-banner__tile-image-wrapper--square {
	aspect-ratio: 1 / 1;
}
.propcycle-banner__tile-image-wrapper--shortest {
	aspect-ratio: 3 / 1;
}
.propcycle-banner__tile-image-wrapper--short {
	aspect-ratio: 2 / 1;
}
.propcycle-banner__tile-image-wrapper--medium {
	aspect-ratio: 4 / 3;
}
.propcycle-banner__tile-image-wrapper--large {
	aspect-ratio: 1 / 1.35;
}
.propcycle-banner__tile-background-image {
	position: absolute;
	width: calc(100% + var(--propcycle-bg-bleed)) !important;
	height: calc(100% + var(--propcycle-bg-bleed)) !important;
	object-fit: cover;
	z-index: 0;
	top: var(--propcycle-bg-offset);
	left: var(--propcycle-bg-offset);
	max-width: unset !important;
	filter: blur(var(--tile-background-blur, 10px));
	transform: translate3d(0, 0, 0) scale(1.08);
	transform-origin: center center;
	transition: filter 0.35s ease;
	will-change: transform;
}
.propcycle-banner__tile-image-wrapper:hover .propcycle-banner__tile-background-image,
.propcycle-banner__tile-image-wrapper:focus-within .propcycle-banner__tile-background-image {
	filter: blur(calc(var(--tile-background-blur, 10px) + 1px));
}
.propcycle-banner__tile-background-edge-shadow {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	--tile-edge-shadow: rgba(0, 0, 0, 0.04);
	--tile-edge-shadow-soft: rgba(0, 0, 0, 0.012);
	--tile-edge-shadow-size: 40px;
	background: transparent;
}
.propcycle-banner__tile-background-edge-shadow--center {
	background:
		linear-gradient(to top, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to bottom, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to left, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to right, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}
.propcycle-banner__tile-background-edge-shadow--top-left {
	background:
		linear-gradient(to right, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to bottom, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}
.propcycle-banner__tile-background-edge-shadow--top {
	background: linear-gradient(to bottom, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}
.propcycle-banner__tile-background-edge-shadow--top-right {
	background:
		linear-gradient(to left, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to bottom, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}
.propcycle-banner__tile-background-edge-shadow--right {
	background: linear-gradient(to left, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}
.propcycle-banner__tile-background-edge-shadow--bottom-right {
	background:
		linear-gradient(to left, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to top, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}
.propcycle-banner__tile-background-edge-shadow--bottom {
	background: linear-gradient(to top, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}
.propcycle-banner__tile-background-edge-shadow--bottom-left {
	background:
		linear-gradient(to right, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to top, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}
.propcycle-banner__tile-background-edge-shadow--left {
	background: linear-gradient(to right, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}
@media (prefers-reduced-motion: reduce) {
	.propcycle-banner__tile-background-image {
		transition: none;
		transform: none;
	}
}
img.propcycle-banner__tile-image--with-background {
	position: relative;
	z-index: 2;
	--tile-image-offset: 12px;
	--tile-image-shift-x: 0px;
	--tile-image-shift-y: 0px;
	max-width: calc( 100% - (var(--tile-image-offset) * 2));
	transform: translate( var(--tile-image-shift-x), var(--tile-image-shift-y) );
	box-sizing: border-box;
	width: auto;
	height: auto;
}
.propcycle-banner__tile-image--rounded {
	--tile-image-radius: clamp(0.7rem, 2vw, 1.125rem);
	border-radius: var(--tile-image-radius);
}
.propcycle-banner__tile-image--rounded-small {
	--tile-image-radius: clamp(0.45rem, 1.4vw, 0.625rem);
}
.propcycle-banner__tile-image--rounded-medium {
	--tile-image-radius: clamp(0.7rem, 2vw, 1.125rem);
}
.propcycle-banner__tile-image--rounded-large {
	--tile-image-radius: clamp(0.95rem, 2.8vw, 1.75rem);
}
.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-top-left {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-left-radius: 0;
}
.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-top {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	margin-top: 0 !important;
	margin-bottom: auto;
}
.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-top-right {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-right {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	width: auto;
}
.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-bottom-right {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}
.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-bottom {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	margin-bottom: 0 !important;
}
.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-bottom-left {
	border-top-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}
.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-left {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.propcycle-banner__tile-image--filter-shadow {
	filter: drop-shadow(0 14px 24px rgba(0, 0, 0, 0.18));
}
.propcycle-banner__tile-image--shadow-border {
	box-shadow: var(--propcycle-shadow-ring);
}
.propcycle-banner__tile-image--shadow-small {
	box-shadow: var(--propcycle-shadow-14-small);
}
.propcycle-banner__tile-image--shadow-medium {
	box-shadow: var(--propcycle-shadow-18-medium);
}
.propcycle-banner__tile-image--shadow-large {
	box-shadow: var(--propcycle-shadow-22-large);
}
.propcycle-banner__tile-background-image--shadow {
	border-radius: 0;
}
.propcycle-banner__tile-background-image--shadow-border {
	box-shadow: var(--propcycle-shadow-ring);
}
.propcycle-banner__tile-background-image--shadow-small {
	box-shadow: var(--propcycle-shadow-14-small);
}
.propcycle-banner__tile-background-image--shadow-medium {
	box-shadow: var(--propcycle-shadow-18-medium);
}
.propcycle-banner__tile-background-image--shadow-large {
	box-shadow: var(--propcycle-shadow-22-large);
}
.propcycle-banner__tile-image--shadow-border.propcycle-banner__tile-image {
	box-shadow: var(--propcycle-shadow-ring);
}
.propcycle-banner__tile-image--shadow-small.propcycle-banner__tile-image {
	box-shadow: var(--propcycle-shadow-14-small);
}
.propcycle-banner__tile-image--shadow-medium.propcycle-banner__tile-image {
	box-shadow: var(--propcycle-shadow-18-medium);
}
.propcycle-banner__tile-image--shadow-large.propcycle-banner__tile-image {
	box-shadow: var(--propcycle-shadow-22-large);
}
.propcycle-banner__tile-image--background-shadow-border.propcycle-banner__tile-image {
	box-shadow: var(--propcycle-shadow-ring);
}
.propcycle-banner__tile-image--background-shadow-small.propcycle-banner__tile-image {
	box-shadow: var(--propcycle-shadow-14-small);
}
.propcycle-banner__tile-image--background-shadow-medium.propcycle-banner__tile-image {
	box-shadow: var(--propcycle-shadow-18-medium);
}
.propcycle-banner__tile-image--background-shadow-large.propcycle-banner__tile-image {
	box-shadow: var(--propcycle-shadow-22-large);
}
.propcycle-banner__tile-image--pad-small {
	--tile-image-offset: 8px;
}
.propcycle-banner__tile-image--pad-medium {
	--tile-image-offset: 12px;
}
.propcycle-banner__tile-image--pad-large {
	--tile-image-offset: 16px;
}
.propcycle-banner__tile-image--pos-top-left.propcycle-banner__tile-image {
	--tile-image-shift-x: calc( -1 * var(--tile-image-offset) );
	--tile-image-shift-y: calc( -1 * var(--tile-image-offset) );
	margin-right: auto;
	margin-bottom: auto;
}
.propcycle-banner__tile-image--pos-top.propcycle-banner__tile-image {
	--tile-image-shift-y: calc( -1 * var(--tile-image-offset) * 2 );
	max-width: calc(100% - var(--tile-image-offset) * 4) !important;
}
.propcycle-banner__tile-image--pos-top-right.propcycle-banner__tile-image {
	--tile-image-shift-x: var(--tile-image-offset);
	--tile-image-shift-y: calc( -1 * var(--tile-image-offset) );
	margin-left: auto;
	margin-bottom: auto;
}
.propcycle-banner__tile-image--pos-right.propcycle-banner__tile-image {
	--tile-image-shift-x: var(--tile-image-offset);
	max-height: calc(100% - var(--tile-image-offset) * 4) !important;
	margin-left: auto;
	align-self: center;
}
.propcycle-banner__tile-image--pos-bottom-right.propcycle-banner__tile-image {
	--tile-image-shift-x: var(--tile-image-offset);
	--tile-image-shift-y: var(--tile-image-offset);
	margin-left: auto;
	align-self: end;
}
.propcycle-banner__tile-image--pos-bottom.propcycle-banner__tile-image {
	--tile-image-shift-y: calc(var(--tile-image-offset) * 2);
	max-width: calc(100% - var(--tile-image-offset) * 4) !important;
	align-self: flex-end;
}
.propcycle-banner__tile-image--pos-bottom-left.propcycle-banner__tile-image {
	--tile-image-shift-x: calc( -1 * var(--tile-image-offset) );
	--tile-image-shift-y: var(--tile-image-offset);
	align-self: flex-end;
	margin-right: auto;
}
.propcycle-banner__tile-image--pos-left.propcycle-banner__tile-image {
	--tile-image-shift-x: calc( -1 * var(--tile-image-offset) );
	max-height: calc(100% - var(--tile-image-offset) * 4) !important;
	align-self: center;
	margin-right: auto;
	width: auto;
}
.propcycle-banner__tile-image-wrapper--square .propcycle-banner__tile-image,
.propcycle-banner__tile-image-wrapper--shortest .propcycle-banner__tile-image,
.propcycle-banner__tile-image-wrapper--short .propcycle-banner__tile-image,
.propcycle-banner__tile-image-wrapper--medium .propcycle-banner__tile-image,
.propcycle-banner__tile-image-wrapper--large .propcycle-banner__tile-image {
	height: 100%;
	object-fit: cover;
}
.propcycle-banner__tile-image-wrapper--square .propcycle-banner__tile-image--with-background,
.propcycle-banner__tile-image-wrapper--shortest .propcycle-banner__tile-image--with-background,
.propcycle-banner__tile-image-wrapper--short .propcycle-banner__tile-image--with-background,
.propcycle-banner__tile-image-wrapper--medium .propcycle-banner__tile-image--with-background,
.propcycle-banner__tile-image-wrapper--large .propcycle-banner__tile-image--with-background {
	max-height: calc( 100% - var(--tile-image-offset) );
	height: auto;
	width: auto;
	object-fit:unset;
}
.propcycle-banner__tile-image--pos-center {
	margin: auto;
    max-width: calc(100% - (var(--tile-image-offset) * 6)) !important;
}
.propcycle-banner__tile-icon-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin: 0 auto 0;
	border-radius: var(--propcycle-pill-radius);
	background: var(--tile-accent-color, var(--color-primary, blue));
	color: white;
}
.propcycle-banner__tile-icon-circle--size-small  { width: 32px; height: 32px; }
.propcycle-banner__tile-icon-circle--size-medium { width: 48px; height: 48px; }
.propcycle-banner__tile-icon-circle--size-large  { width: 64px; height: 64px; }
.propcycle-banner__tile-icon-circle--size-xlarge { width: 80px; height: 80px; }
.propcycle-banner__tile-icon-circle--icon-only {
	border-radius: 0;
	background: transparent;
	color: var(--tile-accent-color, var(--color-primary, blue));
}
.propcycle-banner__tile-icon-circle--light-circle {
	background: color-mix(in srgb, var(--tile-accent-color, var(--color-primary, blue)) 10%, transparent);
	color: var(--tile-accent-color, var(--color-primary, blue));
}
.propcycle-banner__tile-icon-circle--white-circle {
	background: white;
	box-shadow: var(--propcycle-icon-white-shadow) !important;
	color: var(--tile-accent-color, var(--color-primary, blue));
}
.propcycle-banner__tile-icon-circle--white-circle-no-shadow {
	background: white;
	box-shadow: none !important;
	color: var(--tile-accent-color, var(--color-primary, blue));
}
.propcycle-banner__tile-icon-circle--tile-number {
	background: var(--tile-accent-color, var(--color-primary, blue));
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: var(--propcycle-font-heading-small);
}
.propcycle-banner__tile-icon-number {
	display: block;
	line-height: 1;
	font-weight: bold;
	font-size: var(--propcycle-font-icon-number-base)
}
.propcycle-banner__tile-icon-circle--size-small .propcycle-banner__tile-icon-number  { font-size: var(--propcycle-font-icon-number-base) }
.propcycle-banner__tile-icon-circle--size-medium .propcycle-banner__tile-icon-number { font-size: var(--propcycle-font-icon-number-medium) }
.propcycle-banner__tile-icon-circle--size-large .propcycle-banner__tile-icon-number  { font-size: var(--propcycle-font-icon-number-large) }
.propcycle-banner__tile-icon-circle--size-xlarge .propcycle-banner__tile-icon-number { font-size: var(--propcycle-font-icon-number-xlarge) }
.propcycle-banner__tile-icon-circle--colored-circle {
	margin-bottom: var(--propcycle-icon-stack-gap);
}
.propcycle-banner__tile-icon-circle > div {
	display: contents;
}
.propcycle-banner__tile-icon-circle svg {
	width: 60%;
	height: 60%;
	min-width: 18px;
	min-height: 18px;
	display: block;
	color: inherit;
}
.propcycle-banner__tile-icon-circle--icon-only svg {
	width: 100%;
	height: auto;
}
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-icon-circle--light-circle {
	background: white;
	box-shadow: var(--propcycle-icon-light-shadow);
	color: var(--tile-accent-color, var(--color-primary, blue));
}
.propcycle-banner__tile-icon-circle svg [fill]:not([fill='none']) {
	fill: currentColor;
}
.propcycle-banner__tile-icon-circle svg [stroke]:not([stroke='none']) {
	stroke: currentColor;
}
.propcycle-banner__tile-icon-circle-image {
	width: 60%;
	height: 60%;
	object-fit: contain;
	display: block;
}
.propcycle-banner__tile-icon-circle--inline {
	position: static;
	flex-shrink: 0;
	margin: 0;
	align-self: flex-start;
}
.propcycle-banner__tile-icon-circle--inline:not(.propcycle-banner__tile-icon-circle--icon-only) svg {
	width: 60%;
	height: 60%;
}
.propcycle-banner__tile-icon-circle--editable {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
	appearance: none;
	cursor: pointer;
}
.propcycle-banner__tile-icon-circle--editable svg {
	fill: none;
	stroke: currentColor;
	max-width: 100%;
	max-height: 100%;
}
.propcycle-banner__tile-icon-placeholder {
	font-size: var(--propcycle-font-overline);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-align: center;
	padding: 0 var(--propcycle-placeholder-inline-pad);
	color: var(--color-heading);
	border: 3px solid;
	height: 100%;
	display: flex;
	align-content: center;
	justify-content: center;
	flex-wrap: wrap;
	border-radius: var(--propcycle-placeholder-corner);
	opacity: 0.2;
	text-shadow: 1px 1px 0px white, -1px -1px 0px white, 1px -1px 0px white, -1px 1px 0px white;
	box-shadow: var(--propcycle-placeholder-shadow-step) var(--propcycle-placeholder-shadow-step) 0 white, var(--propcycle-placeholder-shadow-step-neg) var(--propcycle-placeholder-shadow-step) 0 white, var(--propcycle-placeholder-shadow-step) var(--propcycle-placeholder-shadow-step-neg) 0 white, var(--propcycle-placeholder-shadow-step-neg) var(--propcycle-placeholder-shadow-step-neg) 0 white;
}
.propcycle-banner__tile-icon-heading {
	display: flex;
	align-items: center;
	gap: var(--propcycle-icon-stack-gap);
}
.propcycle-banner__tile-icon-circle--overlap {
	position: absolute;
	bottom: 100%;
	right: 20px;
	margin: 0;
	z-index: 10;
	transform: translate(0, 50%);
}
.propcycle-banner__tile-icon-circle--overlap:not(.propcycle-banner__tile-icon-circle--white-circle-no-shadow) + * {
	margin-top: var(--propcycle-icon-overlap-content-offset) !important
}
.propcycle-banner__tile-body--align-left .propcycle-banner__tile-icon-circle--overlap {
	right: unset;
	transform: translate(-1em, 50%);
}
.propcycle-banner__tile-body--align-center .propcycle-banner__tile-icon-circle--overlap {
	right: 50%;
	left: 50%;
	transform: translate(-50%, 50%);
}
.propcycle-banner__tile.propcycle-banner__tile--version-1 .propcycle-banner__tile-icon-circle--inline,
.propcycle-banner__tile.propcycle-banner__tile--version-1 .propcycle-banner__tile-icon-circle--overlap {
	display: flex;
	align-items: center;
	justify-content: center;
}
.propcycle-banner__tile.propcycle-banner__tile--version-1 .propcycle-banner__tile-body {
	position: relative;
}
.propcycle-banner__tile.propcycle-banner__tile--version-1.propcycle-banner__tile--has-icon .propcycle-banner__tile-icon-circle--inline ~ .propcycle-banner__tile-heading {
	padding-left: 0;
}
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content {
	position: relative;
	padding-left: calc(var(--propcycle-inline-icon-padding, 86px) + var(--propcycle-inline-icon-padding-gap));
}
.propcycle-banner__tile.propcycle-banner__tile--version-2 .propcycle-banner__tile-body--icon-inline-content {
	position: relative;
	padding-left: calc(var(--propcycle-inline-icon-padding, 86px) * 1.25);
}
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content:has(.propcycle-banner__tile-icon-circle--size-small) {
	--propcycle-inline-icon-padding: 32px;
}
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content:has(.propcycle-banner__tile-icon-circle--size-medium) {
	--propcycle-inline-icon-padding: 48px;
}
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content:has(.propcycle-banner__tile-icon-circle--size-large) {
	--propcycle-inline-icon-padding: 64px;
}
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content:has(.propcycle-banner__tile-icon-circle--size-xlarge) {
	--propcycle-inline-icon-padding: 80px;
}
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content .propcycle-banner__tile-icon-circle {
	position: absolute;
	transform: translate(-100%, -10%);
	margin: 0 0 0 calc(var(--propcycle-inline-icon-padding, 86px) * -1 * 0.25);
}
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content .propcycle-banner__tile-icon-circle:is(:nth-last-child(2)) {
	top: 50%;
	transform: translate(-100%, -50%);
}
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content .propcycle-banner__tile-heading,
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content .propcycle-banner__tile-description,
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content .propcycle-banner__tile-cta {
	margin-left: 0;
}
.propcycle-banner__tile-image {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}
.propcycle-banner__tile-image--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #eef3f8 0%, #f8fbff 100%);
	color: #5f6f82;
	font-size: var(--propcycle-font-caption);
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	border: 1px dashed #b8c6d6;
	padding: var(--propcycle-placeholder-block-pad);
	box-sizing: border-box;
	text-align: center;
}
.propcycle-banner__tile-heading {
	margin-top: 0;
	margin-bottom: var(--propcycle-icon-stack-gap);
	font-size: var(--propcycle-font-heading);
	font-weight: 600;
	color: #000;
}
.propcycle-banner__tile-heading--small {
	font-size: var(--propcycle-font-heading-small);
}
.propcycle-banner__tile-heading--medium {
	font-size: var(--propcycle-font-heading-medium);
}
.propcycle-banner__tile-heading--large {
	font-size: var(--propcycle-font-heading-large);
}
.propcycle-banner__tile-description {
	margin-bottom: var(--propcycle-font-body);
	color: var(--color-text);
	font-size: var(--propcycle-font-body);
	line-height: 1.5;
	flex-grow: 1;
}
.propcycle-banner__tile-description {
	margin-bottom: var(--propcycle-font-body);
	display: flex;
	flex-direction: column;
	gap: var(--propcycle-icon-stack-gap);
}
.propcycle-banner__tile-description p {
	margin:0;
}
.propcycle-banner__tile-description-block {
	position: relative;
	/* padding: var(--propcycle-description-block-pad-y) var(--propcycle-description-block-pad-x); */
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
.propcycle-banner__tile-description-block :is(ul,ol) {
	margin:0;
	padding: 0 0 0 1.5em
}
.propcycle-banner__tile-description-block :is(ul,ol) li {
	margin:0;
	padding: 0 0 0 0
}
.propcycle-banner__tile-description-block :is(ul,ol) li p {
	display: contents;
}
.propcycle-banner__tile-description-block :is(ul,ol) li:not(:first-child) {
	margin-top: 0.5em;
}
.propcycle-banner__tile-description-input {
	margin-bottom: 0;
}
.propcycle-banner__tile-description-input--rich {
	min-height: 1.5em;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	line-height: 1.55;
	font-size: var(--propcycle-font-body);
	box-shadow: none;
}
.propcycle-banner__tile-description-input--rich:focus {
	outline: none;
}
.propcycle-banner__tile-description-input--list {
	min-height: 1.5em;
	padding: 0;
	line-height: 1.55;
	font-size: var(--propcycle-font-body);
}
.propcycle-banner__tile-description-input--list ul,
.propcycle-banner__tile-description-input--list ol {
	margin: 0;
	padding-left: var(--propcycle-list-indent);
}
.propcycle-banner__tile-description-input--list li {
	margin: 0;
	line-height: 1.55;
}
.propcycle-banner__tile-description-input--list li + li {
	margin-top: var(--propcycle-list-item-gap);
}
.propcycle-banner__tile-description--small {
	font-size: var(--propcycle-font-body-small);
	line-height: 1.45;
}
.propcycle-banner__tile-description--medium {
	font-size: var(--propcycle-font-body);
	line-height: 1.5;
}
.propcycle-banner__tile-description--large {
	font-size: var(--propcycle-font-body-large);
	line-height: 1.6;
}
.propcycle-banner__tile-cta {
	display: inline-flex;
	align-items: center;
	gap: var(--propcycle-cta-gap);
	color: var(--color-text);
	text-decoration: none;
	font-weight: 700;
	align-self: flex-start;
	font-size: var(--propcycle-font-caption);
	text-transform: uppercase;
	margin-top: var(--propcycle-cta-offset-top);
}
.propcycle-banner__tile-cta svg {
	color: var(--tile-accent-color, var(--color-primary));
	transition: transform .2s ease;
}
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-cta, 
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-cta svg{
	color: white;
}
.propcycle-banner__tile-cta:hover svg {
	color: var(--tile-accent-color, var(--color-primary-hover));
	transform: translateX(4px);
}
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-cta:hover {
	color: white;
}
.propcycle-banner__tile-cta-chevron {
	display: inline-flex;
	align-items: center;
	line-height: 1;
	font-size: 1.5em;
}
.propcycle-banner__tile--version-1 .propcycle-banner__tile-heading,
.propcycle-banner__tile--version-1 .propcycle-banner__tile-description,
.propcycle-banner__tile--version-3 .propcycle-banner__tile-heading,
.propcycle-banner__tile--version-3 .propcycle-banner__tile-description {
	color: var(--color-heading);
}
.propcycle-banner__tile--version-2 .propcycle-banner__tile-heading,
.propcycle-banner__tile--version-2 .propcycle-banner__tile-description {
	color: inherit;
}
.propcycle-banner__tile-heading {
	font-weight: 700;
	margin: 0;
	line-height: 1.2;
}
.propcycle-banner__tile-body:not(.propcycle-banner__tile-body--icon-inline-content) .propcycle-banner__tile-icon-circle:not(.propcycle-banner__tile-icon-circle--inline) + .propcycle-banner__tile-heading {
	margin-top: var(--propcycle-tiles-nav-gap);	
}
.propcycle-banner__tile--version-1 .propcycle-banner__tile-description,
.propcycle-banner__tile--version-3 .propcycle-banner__tile-description {
	margin: 0.25em 0 0 0;
	color: var(--color-text);
	width: 100%;
	word-break: break-word;
}
.propcycle-banner__tile--version-2 .propcycle-banner__tile-heading {
	color: var(--color-heading);
}
.propcycle-banner__tile--version-2 .propcycle-banner__tile-description {
	margin: 0;
	color: var(--color-text);
}
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-heading,
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-description,
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-icon-circle--icon-only {
	color: white;
}
.wp-block-propcycle-banner .swiper {
	overflow: visible
}
.propcycle-banner__special-content--faq {
	width: 100%;
}

.propcycle-banner__faq-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.propcycle-banner__faq-list--text-dark a {
	color: var(--color-primary);
}

.propcycle-banner__faq-item {
	/* border: 1px solid var(--color-border, rgba(0, 0, 0, 0.15)); */
	border-radius: clamp(0.6375rem, calc(0.75rem + 0.2vw), 0.8625rem); /* original: 0.75rem */
	background: var(--propcycle-faq-bg-color, rgba(255, 255, 255, 0.9));
	overflow: hidden;
}

.propcycle-banner__faq-item--shadow-none {
	box-shadow: none;
}

.propcycle-banner__faq-item--shadow-border {
	box-shadow: inset 0 0 0 clamp(0.0531rem, calc(0.0625rem + 0.2vw), 0.0719rem) rgba(0, 0, 0, 0.14); /* original: inset 0 0 0 1px rgba(0, 0, 0, 0.14) */
}

.propcycle-banner__faq-item--shadow-small {
	box-shadow: 0 clamp(0.2125rem, calc(0.25rem + 0.2vw), 0.2875rem) clamp(0.5313rem, calc(0.625rem + 0.2vw), 0.7188rem) rgba(0, 0, 0, 0.14); /* original: 0 4px 10px rgba(0, 0, 0, 0.14) */
}

.propcycle-banner__faq-item--shadow-medium {
	box-shadow: 0 clamp(0.5313rem, calc(0.625rem + 0.2vw), 0.7188rem) clamp(1.1688rem, calc(1.375rem + 0.2vw), 1.5813rem) rgba(0, 0, 0, 0.18); /* original: 0 10px 22px rgba(0, 0, 0, 0.18) */
}

.propcycle-banner__faq-item--shadow-large {
	box-shadow: 0 clamp(0.85rem, calc(1rem + 0.2vw), 1.15rem) clamp(1.7rem, calc(2rem + 0.2vw), 2.3rem) rgba(0, 0, 0, 0.22); /* original: 0 16px 32px rgba(0, 0, 0, 0.22) */
}

.propcycle-banner__faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	list-style: none;
	cursor: pointer;
	padding: 1.2rem 1.2rem;
	font-weight: 700;
	font-family: var(--font-family-heading);
}

.propcycle-banner__faq-question::-webkit-details-marker {
	display: none;
}

.propcycle-banner__faq-question-text {
	flex: 1 1 auto;
}

.propcycle-banner__faq-chevron {
	transition: transform 180ms ease;
}
.propcycle-banner__faq-item .propcycle-banner__faq-chevron {
	transform: rotate(90deg);
}
.propcycle-banner__faq-item[open] .propcycle-banner__faq-chevron {
	transform: rotate(-90deg);
}

.propcycle-banner__faq-answer {
	padding: 0 1.2rem 1.2rem;
}

.propcycle-banner__faq-answer > :last-child {
	margin-bottom: 0;
}

.propcycle-banner__faq-list--text-white .propcycle-banner__faq-item, 
.propcycle-banner__faq-list--text-white .propcycle-banner__faq-chevron {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.45);
}

.propcycle-banner__faq-list--text-white .propcycle-banner__faq-answer a {
	color: inherit;
	transition: all .5s ease;
}

.propcycle-banner__faq-list--text-dark .propcycle-banner__faq-item {
	color: var(--color-text, #1f2937);
}

.propcycle-banner__faq-list--question-small .propcycle-banner__faq-question {
	font-size: 0.95rem;
}

.propcycle-banner__faq-list--question-medium .propcycle-banner__faq-question {
	font-size: 1.05rem;
}

.propcycle-banner__faq-list--question-large .propcycle-banner__faq-question {
	font-size: 1.2rem;
}

.propcycle-banner__faq-list--answer-small .propcycle-banner__faq-answer {
	font-size: 0.92rem;
}

.propcycle-banner__faq-list--answer-medium .propcycle-banner__faq-answer {
	font-size: 1rem;
}

.propcycle-banner__faq-list--answer-large .propcycle-banner__faq-answer {
	font-size: 1.1rem;
}
.propcycle-banner__faq-answer > *:last-child {
	margin-bottom: 0px
}
.propcycle-banner__faq-answer > *:first-child {
	margin-top: 0px
}


/* Image Gallery Styles */
.propcycle-banner__image-gallery {
	display: flex;
	gap: 0;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.propcycle-banner__image-gallery.is-layout-single {
	flex-wrap: wrap;
}

.propcycle-banner__image-gallery.is-layout-single .propcycle-banner__image-item {
	width: 100%;
	height: auto;
}

.propcycle-banner__image-item {
	--image-border-radius-base: var(--image-border-radius-input, 16px);
	--image-border-radius-size: clamp(
		calc(var(--image-border-radius-base) * 0.5),
		calc(var(--image-border-radius-base) * (0.5 + (0.5 * (100vw / 768px)))),
		var(--image-border-radius-base)
	);
}

.propcycle-banner__image-content {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: var(--image-border-radius-size, 16px);
}

.propcycle-banner__image-gallery.is-layout-overlap {
	--overlap-size: clamp(48px, 5vw, 72px);
	--image-left-ratio: 50%;
	--image-right-ratio: 50%;
	--image-vertical-spacing: var(--overlap-size);
	flex-wrap: nowrap;
	position: relative;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-spacing-small {
	--image-vertical-spacing: clamp(48px, 5vw, 72px);
}

.propcycle-banner__image-gallery.is-layout-overlap.is-spacing-smaller {
	--image-vertical-spacing: clamp(34px, 3.5vw, 56px);
}

.propcycle-banner__image-gallery.is-layout-overlap.is-spacing-smallest {
	--image-vertical-spacing: clamp(22px, 2.2vw, 40px);
}

.propcycle-banner__image-gallery.is-layout-overlap.is-spacing-medium {
	--image-vertical-spacing: clamp(64px, 7vw, 100px);
}

.propcycle-banner__image-gallery.is-layout-overlap.is-spacing-large {
	--image-vertical-spacing: clamp(84px, 10vw, 132px);
}

.propcycle-banner__image-gallery.is-layout-overlap .propcycle-banner__image-item {
	flex: 0 0 auto;
	height: auto;
	object-fit: cover;
	/* border-radius: inherit; */
}

.propcycle-banner__image-gallery.is-layout-overlap:not(.is-overlap-full-small):not(.is-overlap-full-medium):not(.is-overlap-full-large) .propcycle-banner__image-item:first-child {
	width: calc(var(--image-left-ratio) + (var(--overlap-size) / 2));
	margin-right: calc(-1 * (var(--overlap-size) / 2));
}

.propcycle-banner__image-gallery.is-layout-overlap:not(.is-overlap-full-small):not(.is-overlap-full-medium):not(.is-overlap-full-large) .propcycle-banner__image-item:last-child {
	width: calc(var(--image-right-ratio) + (var(--overlap-size) / 2));
	margin-left: calc(-1 * (var(--overlap-size) / 2));
}

.propcycle-banner__image-gallery.is-overlap-overlap-medium {
	--overlap-size: clamp(64px, 7vw, 100px);
}

.propcycle-banner__image-gallery.is-overlap-overlap-large {
	--overlap-size: clamp(84px, 10vw, 132px);
}

.propcycle-banner__image-gallery.is-overlap-full-small {
	--overlap-size: clamp(18px, 2vw, 30px);
	--full-reveal-size: clamp(18px, 2vw, 30px);
}

.propcycle-banner__image-gallery.is-overlap-full-medium {
	--overlap-size: clamp(30px, 3vw, 48px);
	--full-reveal-size: clamp(30px, 3vw, 48px);
}

.propcycle-banner__image-gallery.is-overlap-full-large {
	--overlap-size: clamp(44px, 4.5vw, 72px);
	--full-reveal-size: clamp(44px, 4.5vw, 72px);
}

.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-small,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-medium,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-large {
	display: grid;
	align-items: center;
	justify-items: center;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-small .propcycle-banner__image-item,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-medium .propcycle-banner__image-item,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-large .propcycle-banner__image-item {
	grid-area: 1 / 1;
	margin-left: 0;
	margin-right: 0;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-small .propcycle-banner__image-item:first-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-medium .propcycle-banner__image-item:first-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-large .propcycle-banner__image-item:first-child {
	width: calc(100% - var(--full-reveal-size) - var(--image-border-gap-size, 0px));
	justify-self: start;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-small .propcycle-banner__image-item:last-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-medium .propcycle-banner__image-item:last-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-large .propcycle-banner__image-item:last-child {
	width: calc((100% - var(--full-reveal-size)) * (var(--image-right-ratio) / 100%));
	justify-self: end;
}


.propcycle-banner__image-gallery.is-layout-overlap.is-stack-standard .propcycle-banner__image-item:first-child {
	z-index: 2;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-stack-standard .propcycle-banner__image-item:last-child {
	z-index: 1;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-stack-reverse .propcycle-banner__image-item:first-child {
	z-index: 1;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-stack-reverse .propcycle-banner__image-item:last-child {
	z-index: 2;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-alignment-center {
	align-items: center;
}


.propcycle-banner__image-gallery.is-layout-overlap.is-alignment-top-to-bottom .propcycle-banner__image-item:first-child {
	align-self: flex-start;
	margin-bottom: calc(var(--image-vertical-spacing) + var(--image-border-gap-size, 0px));
}

.propcycle-banner__image-gallery.is-layout-overlap.is-alignment-top-to-bottom .propcycle-banner__image-item:last-child {
	align-self: flex-end;
	margin-top: calc(var(--image-vertical-spacing) + var(--image-border-gap-size, 0px));
}

.propcycle-banner__image-gallery.is-layout-overlap.is-alignment-bottom-to-top .propcycle-banner__image-item:first-child {
	align-self: flex-end;
	margin-top: calc(var(--image-vertical-spacing) + var(--image-border-gap-size, 0px));
}

.propcycle-banner__image-gallery.is-layout-overlap.is-alignment-bottom-to-top .propcycle-banner__image-item:last-child {
	align-self: flex-start;
	margin-bottom: calc(var(--image-vertical-spacing) + var(--image-border-gap-size, 0px));
}

.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-first .propcycle-banner__image-item:first-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-last .propcycle-banner__image-item:last-child {
	object-fit: cover;
	position: absolute;
	top: 0;
	bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
	height: 100%;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-first .propcycle-banner__image-item:first-child > .propcycle-banner__image-content,
.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-last .propcycle-banner__image-item:last-child > .propcycle-banner__image-content {
	height: 100%;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-first .propcycle-banner__image-item:last-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-last .propcycle-banner__image-item:first-child {
	align-self: center;
	margin-top: 0;
	margin-bottom: 0;
	margin-top: calc((var(--image-vertical-spacing) / 2) + var(--image-border-gap-size, 0px));
	margin-bottom: calc((var(--image-vertical-spacing) / 2) + var(--image-border-gap-size, 0px));
}

.propcycle-banner__image-item {
	--image-border-radius-plus-border: calc(var(--image-border-gap-size) + var(--image-border-radius-size));
	display: block;
	box-sizing: border-box;
	max-width: 100%;
	height: auto;
	border-radius: var(--image-border-radius-plus-border, clamp(0.2125rem, calc(0.25rem + 0.2vw), 0.2875rem));
	border-style: solid;
	border-width: var(--image-border-gap-size, 0px);
	border-color: var(--image-border-color, transparent);
	box-shadow: var(--image-shadow, none);
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.wp-block-propcycle-banner {
	position: relative;
	isolation: isolate;
	--propcycle-content-align: flex-start;
	--propcycle-base-content-width: var(--container-max, 1200px);
	--propcycle-text-content-width: var(--propcycle-base-content-width);
	--propcycle-special-content-width: var(--propcycle-text-content-width);
	--propcycle-button-row-width: var(--propcycle-text-content-width);
	--propcycle-inner-padding: clamp(1rem, 3vw, 2.5rem);
	--propcycle-content-extra-padding: 0;
	/* overflow: hidden; */
	padding: clamp(1rem, 13vw, 6.25rem) clamp(1.5rem, 2vw, 2rem);
	/* border-radius: 28px; */
	background-color: transparent;
	color: var(--color-text, #2b2e3c);
	/* box-shadow: 0 10px 30px rgba(15, 31, 55, 0.08); */
	z-index: 1;
	border: unset;
	font-family: var(--font-family-base);
	line-height: 1.2
}

.wp-block-propcycle-banner,
.wp-block-propcycle-banner *,
.wp-block-propcycle-banner *::before,
.wp-block-propcycle-banner *::after {
	box-sizing: border-box;
}

.wp-block-propcycle-banner p {
	line-height: 1.5
}

.propcycle-banner__background-image,
.propcycle-banner__background-gradient {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	bottom: var(--propcycle-overlap-size, 0);
}

.propcycle-banner__background-image {
	background-image: var(--propcycle-bg-url, none);
	background-position: var(--propcycle-background-image-position, center center);
	background-repeat: var(--propcycle-background-image-repeat, no-repeat);
	background-size: var(--propcycle-background-image-size, cover);
	opacity: var(--propcycle-background-image-opacity, 1);
	z-index: var(--propcycle-background-image-z, 0);
}

.propcycle-banner__background-gradient {
	background-image: var(--propcycle-background-gradient, none);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	z-index: var(--propcycle-background-gradient-z, 0);
}

.propcycle-banner__inner-background-image,
.propcycle-banner__inner-background-gradient {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.propcycle-banner__inner-background-image {
	background-image: var(--propcycle-inner-bg-url, none);
	background-position: var(--propcycle-inner-background-image-position, center center);
	background-repeat: var(--propcycle-inner-background-image-repeat, no-repeat);
	background-size: var(--propcycle-inner-background-image-size, cover);
	opacity: var(--propcycle-inner-background-image-opacity, 1);
	z-index: var(--propcycle-inner-background-image-z, 0);
	border-radius: 28px;
}

.propcycle-banner__inner-background-gradient {
	background-image: var(--propcycle-inner-background-gradient, none);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	z-index: var(--propcycle-inner-background-gradient-z, 0);
	border-radius: 28px;
}

.wp-block-propcycle-banner.has-banner {
	/* Menu sits over banner with white text */
	padding-top: calc( clamp(1rem, 13vw, 6.25rem) + 96px);
	/* z-index: 2; */
}

.wp-block-propcycle-banner {
	--propcycle-overlap-size: 0px;
	width: 100%;
	/* overflow: hidden; */
}

.wp-block-propcycle-banner.is-selected {
	z-index:2
}

.wp-block-propcycle-banner.is-overlap-small {
	--propcycle-overlap-size: clamp(48px, 7vw, 72px);
}

.wp-block-propcycle-banner.is-overlap-medium {
	--propcycle-overlap-size: clamp(64px, 9vw, 100px);
}

.wp-block-propcycle-banner.is-overlap-large {
	--propcycle-overlap-size: clamp(84px, 11vw, 132px);
}

.wp-block-propcycle-banner.is-overlap-small,
.wp-block-propcycle-banner.is-overlap-medium,
.wp-block-propcycle-banner.is-overlap-large {
	padding-bottom: 0;
	z-index: 2;
}

.wp-block-propcycle-banner.is-overlap-small .propcycle-banner__inner,
.wp-block-propcycle-banner.is-overlap-medium .propcycle-banner__inner,
.wp-block-propcycle-banner.is-overlap-large .propcycle-banner__inner {
	position: relative;
	z-index: 1;
	margin-bottom: calc( -1 * var(--propcycle-overlap-size) );
}

.wp-block-propcycle-banner.is-overlap-small + section {
	padding-top: calc( clamp(48px, 7vw, 72px) + clamp(1rem, 13vw, 6.25rem) );
}

.wp-block-propcycle-banner.is-overlap-medium + section {
	padding-top: calc( clamp(64px, 9vw, 100px) + clamp(1rem, 13vw, 6.25rem) );
}

.wp-block-propcycle-banner.is-overlap-large + section {
	padding-top: calc( clamp(84px, 11vw, 132px) + clamp(1rem, 13vw, 6.25rem) );
}

.site-content:has(.entry-content > .wp-block-propcycle-banner.is-overlap-small:last-child) + .site-footer .footer-main {
	padding-top: calc( clamp(48px, 7vw, 72px) + clamp(1rem, 13vw, 6.25rem) );
}

.site-content:has(.entry-content > .wp-block-propcycle-banner.is-overlap-medium:last-child) + .site-footer .footer-main {
	padding-top: calc( clamp(64px, 9vw, 100px) + clamp(1rem, 13vw, 6.25rem) );
}

.site-content:has(.entry-content > .wp-block-propcycle-banner.is-overlap-large:last-child) + .site-footer .footer-main {
	padding-top: calc( clamp(84px, 11vw, 132px) + clamp(1rem, 13vw, 6.25rem) );
}

.wp-block-propcycle-banner.is-text-light {
	color: #ffffff;
}

.wp-block-propcycle-banner.is-text-light .propcycle-banner__preheader,
.wp-block-propcycle-banner.is-text-light .propcycle-banner__heading,
.wp-block-propcycle-banner.is-text-light .propcycle-banner__content,
.wp-block-propcycle-banner.is-text-light .propcycle-banner__special-content {
	color: white;
}

.propcycle-banner__inner {
	position: relative;
	z-index: 2;
	display: grid;
	gap: clamp(1.25rem, 4vw, 3.125rem);
	margin: 0 auto;
	width: 100%;
	max-width: var(--propcycle-base-content-width, 1200px);
	--propcycle-column-width: 33%;
	justify-content: center;
	/* align-items: center; */
}

.wp-block-propcycle-banner:not(.has-inner-panel) .propcycle-banner__inner {
	width: 100%;
	max-width: unset;
	padding: 0;
}

.wp-block-propcycle-banner.has-inner-panel .propcycle-banner__inner {
	padding: var(--propcycle-inner-padding, clamp(1rem, 3vw, 2.5rem));
	border-radius: 28px;
	overflow: hidden;
	background-color: var(--propcycle-inner-background-color, #035FAA);
	border: var(--propcycle-inner-border-width, 0) solid var(--propcycle-inner-border-color, transparent);
	--propcycle-inner-shadow-scale: clamp(0.7, 0.5vw + 0.7, 1);
	box-shadow: var(--propcycle-inner-shadow, none);
	isolation: isolate;
}

.wp-block-propcycle-banner.has-inner-panel .propcycle-banner__inner > :not(.propcycle-banner__inner-background-image):not(.propcycle-banner__inner-background-gradient) {
	position: relative;
	z-index: 2;
}

/* Inner panel padding sizes */
.wp-block-propcycle-banner.is-inner-padding-none .propcycle-banner__inner {
	--propcycle-inner-padding: 0;
}

.wp-block-propcycle-banner.is-inner-padding-small .propcycle-banner__inner {
	--propcycle-inner-padding: clamp(0.75rem, 1.8vw, 1.5rem);
}

.wp-block-propcycle-banner.is-inner-padding-medium .propcycle-banner__inner {
	--propcycle-inner-padding: clamp(1rem, 3vw, 2.5rem);
}

.wp-block-propcycle-banner.is-inner-padding-large .propcycle-banner__inner {
	--propcycle-inner-padding: clamp(1.5rem, 4vw, 3.5rem);
}

/* Remove padding from specific sides */
.wp-block-propcycle-banner.is-remove-padding-left .propcycle-banner__inner {
	padding-left: 0;
}

.wp-block-propcycle-banner.is-remove-padding-right .propcycle-banner__inner {
	padding-right: 0;
}

.wp-block-propcycle-banner.is-remove-padding-top .propcycle-banner__inner {
	padding-top: 0;
}

.wp-block-propcycle-banner.is-remove-padding-bottom .propcycle-banner__inner {
	padding-bottom: 0;
}

.wp-block-propcycle-banner.is-remove-padding-both-sides .propcycle-banner__inner {
	padding-left: 0;
	padding-right: 0;
}

/* Image overflow - push aside content outside container */
/* Enable overflow hidden when image overflow is active */
.wp-block-propcycle-banner.is-image-overflow-small,
.wp-block-propcycle-banner.is-image-overflow-medium,
.wp-block-propcycle-banner.is-image-overflow-large {
	overflow: hidden;
}

/* When content is on right (aside on left), apply negative left margin */
.wp-block-propcycle-banner.is-layout-2-column:not(.is-special-left).is-image-overflow-small .propcycle-banner__aside {
	margin-right: -3rem;
}

.wp-block-propcycle-banner.is-layout-2-column:not(.is-special-left).is-image-overflow-medium .propcycle-banner__aside {
	margin-right: -6rem;
}

.wp-block-propcycle-banner.is-layout-2-column:not(.is-special-left).is-image-overflow-large .propcycle-banner__aside {
	margin-right: -10rem;
}

/* When content is on left (aside on right), apply negative right margin */
.wp-block-propcycle-banner.is-layout-2-column.is-special-left.is-image-overflow-small .propcycle-banner__aside {
	margin-left: -3rem;
}

.wp-block-propcycle-banner.is-layout-2-column.is-special-left.is-image-overflow-medium .propcycle-banner__aside {
	margin-left: -6rem;
}

.wp-block-propcycle-banner.is-layout-2-column.is-special-left.is-image-overflow-large .propcycle-banner__aside {
	margin-left: -10rem;
}

/* Column gap controls */
.wp-block-propcycle-banner.is-column-gap-none .propcycle-banner__inner {
	gap: 0;
}

.wp-block-propcycle-banner.is-column-gap-small .propcycle-banner__inner {
	gap: clamp(0.75rem, 2vw, 1.5rem);
}

.wp-block-propcycle-banner.is-column-gap-medium .propcycle-banner__inner {
	gap: clamp(1.25rem, 4vw, 3.125rem);
}

.wp-block-propcycle-banner.is-column-gap-large .propcycle-banner__inner {
	gap: clamp(2rem, 6vw, 5rem);
}

.wp-block-propcycle-banner.is-column-gap-x-large .propcycle-banner__inner {
	gap: clamp(3rem, 8vw, 7rem);
}

.wp-block-propcycle-banner.is-width-inherit {
	--propcycle-base-content-width: var(--container-max, 1200px);
}

.wp-block-propcycle-banner.is-width-standard {
	--propcycle-base-content-width: var(--container-max, 1200px);
}

.wp-block-propcycle-banner.is-width-narrow {
	--propcycle-base-content-width: 960px;
}

.wp-block-propcycle-banner.is-width-wide {
	--propcycle-base-content-width: 1440px;
}

.wp-block-propcycle-banner.is-width-full {
	--propcycle-base-content-width: 100%;
}

.wp-block-propcycle-banner.is-layout-2-column .propcycle-banner__inner {
	grid-template-columns: minmax(0, calc(100% - var(--propcycle-column-width))) minmax(0, var(--propcycle-column-width));
	align-items: center;
	max-width: var(--propcycle-base-content-width, 100%);
}

.wp-block-propcycle-banner.is-layout-2-column.is-column-align-both-middle .propcycle-banner__inner {
	align-items: center;
}

.wp-block-propcycle-banner.is-layout-2-column.is-column-align-both-top .propcycle-banner__inner {
	align-items: start;
}

.wp-block-propcycle-banner.is-layout-2-column.is-column-align-left-top .propcycle-banner__content-column,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-right-top .propcycle-banner__content-column,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-left-top .propcycle-banner__aside,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-right-top .propcycle-banner__aside {
	align-self: center;
}

.wp-block-propcycle-banner.is-layout-2-column.is-column-align-left-top:not(.is-special-left) .propcycle-banner__content-column,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-right-top:not(.is-special-left) .propcycle-banner__aside,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-left-top.is-special-left .propcycle-banner__aside,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-right-top.is-special-left .propcycle-banner__content-column {
	align-self: start;
}

.wp-block-propcycle-banner.is-column-width-25 .propcycle-banner__inner {
	--propcycle-column-width: 25%;
}

.wp-block-propcycle-banner.is-column-width-33 .propcycle-banner__inner {
	--propcycle-column-width: 33%;
}

.wp-block-propcycle-banner.is-column-width-50 .propcycle-banner__inner {
	--propcycle-column-width: 50%;
}

.wp-block-propcycle-banner.is-column-width-66 .propcycle-banner__inner {
	--propcycle-column-width: 66%;
}

.wp-block-propcycle-banner.is-column-width-75 .propcycle-banner__inner {
	--propcycle-column-width: 75%;
}

.wp-block-propcycle-banner.is-layout-1-column .propcycle-banner__inner {
	grid-template-columns: minmax(0, 1fr);
}

.wp-block-propcycle-banner.is-layout-1-column .propcycle-banner__aside {
	margin-top: var(--space-4);
}

.wp-block-propcycle-banner.is-layout-2-column.is-special-left .propcycle-banner__content-column {
	order: 2;
}

.wp-block-propcycle-banner.is-layout-2-column.is-special-left .propcycle-banner__aside {
	order: 1;
}

.wp-block-propcycle-banner.is-layout-2-column.is-special-left .propcycle-banner__inner {
	grid-template-columns: minmax(0, var(--propcycle-column-width)) minmax(0, calc(100% - var(--propcycle-column-width)));
}

@media (max-width: 600px) {
	.wp-block-propcycle-banner.is-layout-2-column.is-special-left .propcycle-banner__inner {
		display: flex;
		flex-direction: column-reverse
	}	
}

.wp-block-propcycle-banner.is-text-align-center .propcycle-banner__content-column,
.wp-block-propcycle-banner.is-text-align-center .propcycle-banner__aside {
	text-align: center;
}

.wp-block-propcycle-banner.is-text-align-center {
	--propcycle-content-align: center;
}

.wp-block-propcycle-banner.is-text-align-center .propcycle-banner__preheader {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-propcycle-banner.is-text-align-center .propcycle-banner__buttons {
	justify-content: center;
}

.wp-block-propcycle-banner.is-text-align-right .propcycle-banner__content-column,
.wp-block-propcycle-banner.is-text-align-right .propcycle-banner__aside {
	text-align: right;
}

.wp-block-propcycle-banner.is-text-align-right {
	--propcycle-content-align: flex-end;
}

.wp-block-propcycle-banner.is-text-align-right .propcycle-banner__preheader {
	margin-left: auto;
}

.wp-block-propcycle-banner.is-text-align-right .propcycle-banner__buttons {
	justify-content: flex-end;
}

.propcycle-banner__content-column,
.propcycle-banner__aside {
	min-width: 0;
}

.propcycle-banner__content-column {
	display: block;
	padding: var(--propcycle-content-extra-padding, 0);
}

.is-remove-padding-left .propcycle-banner__content-column {
	padding-left: var(--propcycle-inner-padding, clamp(1rem, 3vw, 2.5rem))
}

.propcycle-banner__content-column > div {
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.wp-block-propcycle-banner.is-text-align-center .propcycle-banner__content-column > div {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-propcycle-banner.is-text-align-right .propcycle-banner__content-column > div {
	margin-left: auto;
}

.propcycle-banner__text-content {
	width: min(100%, var(--propcycle-text-content-width, 100%));
	max-width: 100%;
	margin: auto;
}

@media (max-width: 782px) {
	.wp-block-propcycle-banner.is-layout-2-column .propcycle-banner__inner {
		grid-template-columns: 1fr;
	}

	.wp-block-propcycle-banner.is-overlap-small {
		--propcycle-overlap-size: 48px;
	}

	.wp-block-propcycle-banner.is-overlap-small + section {
		padding-top: calc( 48px + clamp(1rem, 13vw, 6.25rem) );
	}

	.wp-block-propcycle-banner.is-overlap-medium {
		--propcycle-overlap-size: 72px;
	}

	.wp-block-propcycle-banner.is-overlap-medium + section {
		padding-top: calc( 72px + clamp(1rem, 13vw, 6.25rem) );
	}

	.wp-block-propcycle-banner.is-overlap-large {
		--propcycle-overlap-size: 96px;
	}

	.wp-block-propcycle-banner.is-overlap-large + section {
		padding-top: calc( 96px + clamp(1rem, 13vw, 6.25rem) );
	}

}

.propcycle-banner__preheader {
	display: inline-flex;
	align-items: center;
	margin-bottom: 1.5rem;
	padding: 0.5rem 0.875rem;
	border-radius: 999px;
	color: #137fd8;
	border: 0.125em solid;
	font-size: 0.875rem;
	font-weight: 700;
	/* letter-spacing: 0.08em; */
	/* text-transform: uppercase; */
	line-height: 1.125;
}

.propcycle-banner__heading-eyebrow {
	display: inline-flex;
	width: fit-content;
}

.propcycle-banner__heading-main {
	display: block;
}

.propcycle-banner__sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.propcycle-banner__heading {
	margin: 0;
	font-family: var(--font-family-heading, Georgia, serif);
	font-size: clamp(1.75rem, 4vw, 2.375rem);
	line-height: 1.2;
	/* letter-spacing: 0; */
	color: var(--color-heading);
}

.propcycle-banner__heading--xs  { font-size: clamp(0.875rem, 2vw, 1.25rem); }

.propcycle-banner__heading--sm  { font-size: clamp(1.125rem, 2.5vw, 1.625rem); }

.propcycle-banner__heading--md  { font-size: clamp(1.5rem, 3.25vw, 2rem); }

.propcycle-banner__heading--lg  { font-size: clamp(2rem, 5vw, 3rem); }

.propcycle-banner__heading--xl  { font-size: clamp(2.4rem, 6.25vw, 3.75rem); }

.propcycle-banner__heading--2xl {font-size: clamp(2rem, 8vw, 4.75rem);}

.propcycle-banner__content {
	margin-top: 1.5rem;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--color-text);
}

.propcycle-banner__content :where(.wp-block) {
    margin-bottom: unset;
    margin-top: unset;
    max-width: unset;
}


/* Paragraph */
.propcycle-banner__content p {
	margin: 0 0 var(--space-4);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

/* Links */
.propcycle-banner__content a {
	color: inherit;
	text-decoration: underline;
}

.is-text-dark .propcycle-banner__content a {
	color: var(--color-primary);	
}

.propcycle-banner__content a:hover,
.propcycle-banner__content a:focus-visible {
	/* text-decoration: none; */
	/* offset-distance: 1em; */
	text-underline-offset: 2px;
}

/* Headings 1-4 */
.propcycle-banner__content :is(h1, h2, h3, h4) {
	margin: 0 0 var(--space-4);
	font-family: var(--font-family-heading);
	line-height: var(--line-height-heading);
	color: var(--color-heading);
	font-weight: 700;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.propcycle-banner__content :is(h1, h2, h3, h4):not(:first-child) {
	margin-top: 1.5em;
}

.propcycle-banner__content h1 {
	font-size: clamp(2rem, 4vw, 3rem);
}

.propcycle-banner__content h2 {
	font-size: clamp(1.625rem, 3vw, 2.25rem);
}

.propcycle-banner__content h3 {
	font-size: clamp(1.25rem, 2.3vw, 1.75rem);
}

.propcycle-banner__content h4 {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
}

.entry-content .propcycle-banner__content :is(ul,ol) {
	margin: 0 0 var(--space-4) var(--space-5);
	padding: 0;
}

.propcycle-banner__content ul {
	list-style: disc;
}

.propcycle-banner__content ol {
	list-style: decimal;
}

.propcycle-banner__content li + li {
	margin-top: var(--space-2);
}



.propcycle-banner__content--small   { font-size: 0.875rem; line-height: 1.5; }

.propcycle-banner__content--large   { font-size: 1.125rem; line-height: 1.5; }

.propcycle-banner__content--largest { font-size: clamp(1.2rem, 4.5vw, 1.25rem); line-height: 1.5; }

/*
 * Banner CSS ownership guide:
 * - Layout and variant rules: assets/css/banner-layout.css
 * - Typography and rich content rules: assets/css/banner-content.css
 * - Tile styles: assets/css/tiles.css
 * - FAQ styles: assets/css/faq.css
 * - Image gallery styles: assets/css/image-gallery.css
 * - Editor-only styles: assets/css/banner-editor.css
 * - Keep this file for shared runtime styles that do not fit the split files above.
 */

.propcycle-banner__special-content.is-placeholder {
	display: grid;
	gap: 0.6rem;
}

.propcycle-banner__special-content.is-placeholder strong {
	font-family: var(--font-family-heading, Georgia, serif);
	font-size: 1.05rem;
	line-height: 1.3;
}

.propcycle-banner__special-content.is-placeholder p {
	margin: 0;
	opacity: 0.85;
}

.propcycle-banner__video {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	background: white;
}

.propcycle-banner__video-shell {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	border-radius: clamp(15px, 5vw, 30px);
	border: clamp(5px, 2vw, 10px) solid rgba(255,255,255,0.2);
	box-shadow: 0 9px 24px rgba(0,0,0,0.18);
}

.propcycle-banner__lottie-shell {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	border-radius: 20px;
	background: transparent;
	aspect-ratio: 1 / 1;
}

.propcycle-banner__lottie {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.propcycle-banner__video-shell:not(.is-active) .propcycle-banner__video {
	pointer-events: none;
	background: white;
}

.propcycle-banner__video-activate, .propcycle-banner__video-activate:hover {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.01);
	cursor: pointer;
}

.propcycle-banner__video-shell.is-active .propcycle-banner__video-activate {
	display: none;
}

.propcycle-banner__special-content.is-empty {
	opacity: 0.65;
	font-style: italic;
}


.propcycle-banner__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
	width: min(100%, var(--propcycle-button-row-width, var(--propcycle-text-content-width, 100%)));
	max-width: 100%;
}

.propcycle-banner__inline-content {
	margin-top: 2.5rem;
	width: min(100%, var(--propcycle-special-content-width, var(--propcycle-text-content-width, 100%)));
	max-width: 100%;
}

.propcycle-banner__inline-content > * {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.propcycle-banner__inline-content + .propcycle-banner__buttons {
	margin-top: 2.5rem;
}

.wp-block-propcycle-banner.is-text-light .propcycle-banner__buttons .propcycle-button-primary {
	background: #ffffff;
	color: var(--color-heading);
	border-color: white;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.wp-block-propcycle-banner.is-text-light .propcycle-banner__buttons .propcycle-button-primary:hover {
	box-shadow: 0 12px 3px -4px rgba(0, 0, 0, 0.1);	
}

.wp-block-propcycle-banner.is-text-light .propcycle-banner__buttons .propcycle-button-primary svg {
	color: var(--color-primary);	
}

.wp-block-propcycle-banner.is-text-light .propcycle-banner__buttons .propcycle-button-secondary {
	border-color: rgba(255, 255, 255, 0.85);
	color: #ffffff;
	background: transparent;
}
.propcycle-button__icon--left svg path {
	stroke: currentColor;
	stroke-width: 8% !important;
}
.propcycle-button__icon--left svg path[stroke="none"] {
	stroke: none
}
.wp-block-propcycle-banner.is-text-light .propcycle-banner__buttons .propcycle-button-secondary svg {
	color: white;
}

.wp-block-propcycle-banner.is-background-image {
	background-color: rgba(19, 127, 216, 0.14);
}

