/*
 * Core Group decorations
 */

:is(p, h1, h2, h3, h4, h5, h6).is-style-crunchr-pumpkin-square {
	position: relative;
	width: fit-content;
	max-width: calc(100% - 16px);
}

/*
 * A fit-content child is centered by WordPress's constrained-layout auto
 * margins. Keep the default position at the left edge while still honoring
 * the block editor's explicit center and right text-alignment choices.
 */
:is(p, h1, h2, h3, h4, h5, h6).is-style-crunchr-pumpkin-square:not(
		:where(.has-text-align-center)
	):not(:where(.has-text-align-right)) {
	margin-right: auto !important;
	margin-left: 0 !important;
}

:is(p, h1, h2, h3, h4, h5, h6).is-style-crunchr-pumpkin-square.has-text-align-center {
	margin-right: auto !important;
	margin-left: auto !important;
}

:is(p, h1, h2, h3, h4, h5, h6).is-style-crunchr-pumpkin-square.has-text-align-right {
	margin-right: 0 !important;
	margin-left: auto !important;
}

.crunchr-resources__hero
	> :is(p, h1, h2, h3, h4, h5, h6).is-style-crunchr-pumpkin-square {
	margin-right: auto !important;
	margin-left: auto !important;
}

:is(p, h1, h2, h3, h4, h5, h6).is-style-crunchr-pumpkin-square::after {
	position: absolute;
	top: 50%;
	left: calc(100% + 10px);
	width: 6px;
	height: 6px;
	background: var(--wp--preset--color--pumpkin-500, #ff7518);
	transform: translateY(-50%);
	content: "";
}

p.is-style-crunchr-arrow-links a {
	--crunchr-text-link-arrow-size: 0.78em;
	--crunchr-text-link-arrow-gap: 4px;

	position: relative;
	display: inline-block;
	padding: 0 calc(var(--crunchr-text-link-arrow-size) + var(--crunchr-text-link-arrow-gap)) 3px 0;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 0 1px;
	font-weight: 600;
	text-decoration: none;
	transition:
		background-size 340ms cubic-bezier(0.2, 0.7, 0.2, 1),
		color 180ms ease-out;
}

p.is-style-crunchr-arrow-links:not(.has-link-color)
	a:not(.has-inline-color):not(.has-text-color):is(:link, :visited, :hover, :focus-visible, :active) {
	color: var(--wp--preset--color--blue-600, #0f5ed5);
}

p.is-style-crunchr-arrow-links a::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: var(--crunchr-text-link-arrow-size);
	height: var(--crunchr-text-link-arrow-size);
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M8 3.2 11.8 7 8 10.8' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M8 3.2 11.8 7 8 10.8' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	content: "";
	transform: translate(-4px, -50%);
	transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

p.is-style-crunchr-arrow-links a::before {
	position: absolute;
	top: 50%;
	right: 0.139em;
	width: 0.557em;
	height: max(1px, 0.07em);
	border-radius: 999px;
	background: currentColor;
	content: "";
	transform: translate(-4px, -50%) scaleX(0);
	transform-origin: right center;
	transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

p.is-style-crunchr-arrow-links a:is(:hover, :focus-visible) {
	background-size: calc(100% - var(--crunchr-text-link-arrow-size) - var(--crunchr-text-link-arrow-gap)) 1px;
}

p.is-style-crunchr-arrow-links a:is(:hover, :focus-visible)::after {
	transform: translate(0, -50%);
}

p.is-style-crunchr-arrow-links a:is(:hover, :focus-visible)::before {
	transform: translate(0, -50%) scaleX(1);
}

p:not(.is-style-crunchr-arrow-links) > a {
	text-decoration-line: underline;
	text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: text-decoration-color 180ms ease-out;
}

p:not(.is-style-crunchr-arrow-links):not(.has-link-color) > a:is(:link, :visited, :hover, :focus-visible, :active) {
	color: var(--wp--preset--color--blue-600, #0f5ed5);
}

p:not(.is-style-crunchr-arrow-links) > a:is(:hover, :focus-visible) {
	text-decoration-color: currentColor;
}

p:not(.is-style-crunchr-arrow-links) > a:focus-visible {
	text-decoration-thickness: 2px;
}

/* Inline emphasis matching the bordered highlight treatment in Figma. */
.crunchr-text-highlight {
	padding-inline: 4px;
	border-radius: 4px;
	background: color-mix(
		in srgb,
		var(--wp--preset--color--blue-50, #e2f2ff) 50%,
		transparent
	);
	box-shadow: 0 0 0 1px var(--wp--preset--color--blue-100, #baddff);
	font-weight: 500;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

@property --crunchr-dot-grid-accent-a {
	syntax: "<color>";
	inherits: true;
	initial-value: transparent;
}

@property --crunchr-dot-grid-accent-b {
	syntax: "<color>";
	inherits: true;
	initial-value: transparent;
}

@property --crunchr-dot-grid-accent-c {
	syntax: "<color>";
	inherits: true;
	initial-value: transparent;
}

@property --crunchr-dot-grid-accent-d {
	syntax: "<color>";
	inherits: true;
	initial-value: transparent;
}

:is(.wp-block-group, .wp-block-column).is-style-crunchr-dot-grid-background {
	--crunchr-dot-grid-spacing: 12px;
	--crunchr-dot-grid-radius: 1px;
	--crunchr-dot-grid-color: #caced5;
	--crunchr-dot-grid-accent-a: transparent;
	--crunchr-dot-grid-accent-b: transparent;
	--crunchr-dot-grid-accent-c: transparent;
	--crunchr-dot-grid-accent-d: transparent;
	--crunchr-dot-grid-accent-tile: 96px;

	background-image:
		radial-gradient(circle at 13px 25px, var(--crunchr-dot-grid-accent-a) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 61px 13px, var(--crunchr-dot-grid-accent-b) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 37px 49px, var(--crunchr-dot-grid-accent-c) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 49px 61px, var(--crunchr-dot-grid-accent-d) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 1px 37px, var(--crunchr-dot-grid-accent-b) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 25px 1px, var(--crunchr-dot-grid-accent-c) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 61px 49px, var(--crunchr-dot-grid-accent-a) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 37px 13px, var(--crunchr-dot-grid-accent-d) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 13px 61px, var(--crunchr-dot-grid-accent-c) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 49px 25px, var(--crunchr-dot-grid-accent-b) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 25px 37px, var(--crunchr-dot-grid-accent-d) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		radial-gradient(circle at 1px 1px, var(--crunchr-dot-grid-accent-a) 0 var(--crunchr-dot-grid-radius), transparent calc(var(--crunchr-dot-grid-radius) + 0.25px)),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Crect x='.35' y='.35' width='1.3' height='1.3' fill='%23CACED5'/%3E%3C/svg%3E");
	background-size:
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-accent-tile) var(--crunchr-dot-grid-accent-tile),
		var(--crunchr-dot-grid-spacing) var(--crunchr-dot-grid-spacing);
	background-repeat: repeat;
	background-position: top left;
	animation:
		crunchr-dot-grid-accent-a 8.7s ease-in-out infinite,
		crunchr-dot-grid-accent-b 11.3s ease-in-out -3.1s infinite,
		crunchr-dot-grid-accent-c 13.1s ease-in-out -6.4s infinite,
		crunchr-dot-grid-accent-d 9.7s ease-in-out -1.8s infinite;
}

@keyframes crunchr-dot-grid-accent-a {
	0%, 9%, 24%, 47%, 63%, 86%, 100% { --crunchr-dot-grid-accent-a: transparent; }
	13%, 20%, 52%, 59%, 91%, 96% { --crunchr-dot-grid-accent-a: var(--wp--preset--color--neutral-300, #99a5ba); }
}

@keyframes crunchr-dot-grid-accent-b {
	0%, 16%, 35%, 54%, 75%, 100% { --crunchr-dot-grid-accent-b: transparent; }
	21%, 30%, 59%, 69%, 82%, 91% { --crunchr-dot-grid-accent-b: var(--wp--preset--color--neutral-300, #99a5ba); }
}

@keyframes crunchr-dot-grid-accent-c {
	0%, 12%, 29%, 44%, 67%, 88%, 100% { --crunchr-dot-grid-accent-c: transparent; }
	17%, 24%, 49%, 61%, 73%, 82%, 93% { --crunchr-dot-grid-accent-c: var(--wp--preset--color--neutral-300, #99a5ba); }
}

@keyframes crunchr-dot-grid-accent-d {
	0%, 18%, 38%, 57%, 79%, 100% { --crunchr-dot-grid-accent-d: transparent; }
	7%, 13%, 25%, 33%, 46%, 52%, 64%, 72%, 86%, 94% { --crunchr-dot-grid-accent-d: var(--wp--preset--color--neutral-300, #99a5ba); }
}

.wp-block-group.is-style-crunchr-raised-panel {
	position: relative;
	border: 1px solid var(--wp--preset--color--neutral-100, #dce2eb);
	border-radius: 16px;
	background: var(--wp--preset--color--neutral-50, #f2f4f7);
	box-shadow: 18px 12px 12.5px rgba(23, 29, 38, .18);
}

.wp-block-group.is-style-crunchr-edge-ellipses-background {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: var(--wp--preset--color--neutral-800, #29313f) !important;
	background-image: url("../icons/group-edge-ellipses-overlay.png") !important;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

/* Dark grid from the Inkilas hero artwork (Figma 3859:562). The grid is
 * generated instead of rasterized so its right edge remains locked to the
 * block while the cells respond to the available width. */
.wp-block-group.is-style-crunchr-dark-reveal-grid {
	--crunchr-dark-grid-size: clamp(88px, 9.375cqi, 180px);
	--crunchr-dark-grid-line: #505d73;
	--crunchr-dark-grid-top-gap: 72px;

	position: relative;
	isolation: isolate;
	overflow: hidden;
	overflow: clip;
	container-type: inline-size;
	clip-path: inset(0);
	contain: paint;
	padding-top: max(160px, calc(var(--crunchr-header-height, 80px) + var(--crunchr-dark-grid-top-gap))) !important;
	color: var(--wp--preset--color--white, #fff);
	background-color: var(--wp--preset--color--neutral-800, #29313f) !important;
}

.wp-block-group.is-style-crunchr-dark-reveal-grid::before,
.wp-block-group.is-style-crunchr-dark-reveal-grid::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	overflow: hidden;
	clip-path: inset(0);
	pointer-events: none;
	content: "";
}

.wp-block-group.is-style-crunchr-dark-reveal-grid::before {
	background-image:
		url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='3' stitchTiles='stitch' seed='2611'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"),
		radial-gradient(ellipse 24% 40% at 62.3% 47.3%, rgba(60, 70, 88, .92), transparent 100%),
		radial-gradient(ellipse 26% 64% at 69.4% 30.5%, rgba(80, 93, 115, .43), transparent 100%),
		radial-gradient(ellipse 53% 47% at 94.6% 37.3%, rgba(23, 29, 38, .37), transparent 100%);
	background-repeat: repeat, no-repeat, no-repeat, no-repeat;
	background-size: 180px 180px, 100% 100%, 100% 100%, 100% 100%;
	background-blend-mode: soft-light, normal, normal, normal;
	-webkit-mask-image: radial-gradient(ellipse 58% 52% at 78% 43%, #000 0 20%, rgba(0, 0, 0, .9) 38%, rgba(0, 0, 0, .42) 57%, rgba(0, 0, 0, .1) 72%, transparent 88%);
	mask-image: radial-gradient(ellipse 58% 52% at 78% 43%, #000 0 20%, rgba(0, 0, 0, .9) 38%, rgba(0, 0, 0, .42) 57%, rgba(0, 0, 0, .1) 72%, transparent 88%);
	opacity: .95;
}

.wp-block-group.is-style-crunchr-dark-reveal-grid::after {
	background-image:
		linear-gradient(to left, var(--crunchr-dark-grid-line) 1px, transparent 1px),
		linear-gradient(to top, var(--crunchr-dark-grid-line) 1px, transparent 1px);
	background-position: right top;
	background-size:
		var(--crunchr-dark-grid-size) var(--crunchr-dark-grid-size),
		var(--crunchr-dark-grid-size) var(--crunchr-dark-grid-size);
	-webkit-mask-image: radial-gradient(ellipse 61% 46% at 75.8% 40%, #000 0 18%, rgba(0, 0, 0, .88) 38%, rgba(0, 0, 0, .4) 57%, rgba(0, 0, 0, .08) 72%, transparent 88%);
	mask-image: radial-gradient(ellipse 61% 46% at 75.8% 40%, #000 0 18%, rgba(0, 0, 0, .88) 38%, rgba(0, 0, 0, .4) 57%, rgba(0, 0, 0, .08) 72%, transparent 88%);
	opacity: .9;
}

@media (min-width: 782px) and (max-width: 1000px) {
	.wp-block-group.is-style-crunchr-dark-reveal-grid::after {
		-webkit-mask-image: radial-gradient(ellipse 66% 35% at 86% 38%, #000 0 16%, rgba(0, 0, 0, .82) 34%, rgba(0, 0, 0, .28) 53%, transparent 72%);
		mask-image: radial-gradient(ellipse 66% 35% at 86% 38%, #000 0 16%, rgba(0, 0, 0, .82) 34%, rgba(0, 0, 0, .28) 53%, transparent 72%);
	}

	.wp-block-group.is-style-crunchr-dark-reveal-grid::before {
		-webkit-mask-image: radial-gradient(ellipse 64% 40% at 87% 39%, #000 0 18%, rgba(0, 0, 0, .84) 35%, rgba(0, 0, 0, .3) 54%, transparent 74%);
		mask-image: radial-gradient(ellipse 64% 40% at 87% 39%, #000 0 18%, rgba(0, 0, 0, .84) 35%, rgba(0, 0, 0, .3) 54%, transparent 74%);
	}
}

@media (max-width: 781px) {
	.wp-block-group.is-style-crunchr-dark-reveal-grid {
		--crunchr-dark-grid-size: clamp(72px, 25cqi, 112px);
		--crunchr-dark-grid-top-gap: 56px;

		padding-top: max(120px, calc(var(--crunchr-header-height, 64px) + var(--crunchr-dark-grid-top-gap))) !important;
	}

	.wp-block-group.is-style-crunchr-dark-reveal-grid::after {
		-webkit-mask-image: radial-gradient(ellipse 74% 38% at 104% 40%, #000 0 16%, rgba(0, 0, 0, .78) 36%, rgba(0, 0, 0, .24) 56%, transparent 76%);
		mask-image: radial-gradient(ellipse 74% 38% at 104% 40%, #000 0 16%, rgba(0, 0, 0, .78) 36%, rgba(0, 0, 0, .24) 56%, transparent 76%);
	}

	.wp-block-group.is-style-crunchr-dark-reveal-grid::before {
		-webkit-mask-image: radial-gradient(ellipse 78% 44% at 108% 40%, #000 0 18%, rgba(0, 0, 0, .8) 36%, rgba(0, 0, 0, .26) 57%, transparent 78%);
		mask-image: radial-gradient(ellipse 78% 44% at 108% 40%, #000 0 18%, rgba(0, 0, 0, .8) 36%, rgba(0, 0, 0, .26) 57%, transparent 78%);
	}
}

.wp-block-group.is-style-crunchr-radial-glass-panel {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	box-sizing: border-box;
	border: 1px solid transparent;
	border-radius: 16px;
	background: radial-gradient(
		60.03% 60.03% at 50% 0%,
		rgba(255, 255, 255, .09) 0%,
		rgba(255, 255, 255, .02) 100%
	) !important;
	box-shadow: -22px 0 51px rgba(21, 29, 43, .34);
	-webkit-backdrop-filter: blur(7px);
	backdrop-filter: blur(7px);
}

/* Inkilas pale-blue panel (Figma 4189:769). The cell width is always an
 * exact fraction of the bordered panel, so the last square ends on the right
 * edge without partial cells. Responsive breakpoints keep cells within a
 * useful visual range by changing only the number of columns. */
.wp-block-group.is-style-crunchr-blue-square-grid {
	--crunchr-blue-grid-cell: 12.5cqi;
	--crunchr-blue-grid-line: var(--wp--preset--color--neutral-100, #d3d9e3);
	--crunchr-blue-grid-top-padding: 384px;
	--crunchr-blue-grid-effective-top-padding: var(--crunchr-blue-grid-top-padding);

	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	width: min(100%, 1440px);
	max-width: 1440px !important;
	container-type: inline-size;
	background: transparent !important;
	clip-path: inset(0 -100vmax);
}

/* This style uses the existing side-border option, but the grid itself must
 * meet those borders; place any desired content inset on an inner Group. */
.wp-block-group.is-style-crunchr-blue-square-grid.has-crunchr-side-borders {
	padding-right: 0;
	padding-left: 0;
	border-right: 0;
	border-left: 0;
}

.wp-block-group.is-style-crunchr-blue-square-grid:not(.has-crunchr-corner-squares)::before {
	position: absolute;
	z-index: -2;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	pointer-events: none;
	background:
		radial-gradient(
			161.18% 58.55% at 37.55% 50.06%,
			var(--wp--preset--color--neutral-50, #f2f4f7) 0%,
			var(--wp--preset--color--blue-50, #e2f2ff) 100%
		);
	transform: translateX(-50%);
	content: "";
}

.wp-block-group.is-style-crunchr-blue-square-grid::after {
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
	background-image:
		linear-gradient(
			var(--crunchr-group-decoration-color, #d3d9e3),
			var(--crunchr-group-decoration-color, #d3d9e3)
		),
		linear-gradient(
			var(--crunchr-group-decoration-color, #d3d9e3),
			var(--crunchr-group-decoration-color, #d3d9e3)
		),
		repeating-linear-gradient(
			to right,
			transparent 0 calc(var(--crunchr-blue-grid-cell) - 1px),
			var(--crunchr-blue-grid-line) calc(var(--crunchr-blue-grid-cell) - 1px) var(--crunchr-blue-grid-cell)
		),
		repeating-linear-gradient(
			to bottom,
			var(--crunchr-blue-grid-line) 0 1px,
			transparent 1px var(--crunchr-blue-grid-cell)
		);
	background-position: left top, right top, left bottom, left bottom;
	background-repeat: no-repeat;
	background-size:
		1px 100%,
		1px 100%,
		100% calc(100% - var(--crunchr-blue-grid-effective-top-padding)),
		100% calc(100% - var(--crunchr-blue-grid-effective-top-padding));
	content: "";
}

@media (max-width: 960px) {
	.wp-block-group.is-style-crunchr-blue-square-grid {
		--crunchr-blue-grid-cell: 16.666667cqi;
		--crunchr-blue-grid-effective-top-padding: min(var(--crunchr-blue-grid-top-padding), 240px);
	}
}

@media (max-width: 720px) {
	.wp-block-group.is-style-crunchr-blue-square-grid { --crunchr-blue-grid-cell: 25cqi; }
}

@media (max-width: 480px) {
	.wp-block-group.is-style-crunchr-blue-square-grid {
		--crunchr-blue-grid-cell: 33.333333cqi;
		--crunchr-blue-grid-effective-top-padding: min(var(--crunchr-blue-grid-top-padding), 160px);
	}
}

@media (max-width: 360px) {
	.wp-block-group.is-style-crunchr-blue-square-grid { --crunchr-blue-grid-cell: 50cqi; }
}

/* A separate masked layer keeps the brighter radial highlight confined to
 * the one-pixel border without flattening the translucent panel fill. */
.wp-block-group.is-style-crunchr-radial-glass-panel::before {
	position: absolute;
	z-index: 2;
	inset: 0;
	padding: 1px;
	pointer-events: none;
	border-radius: inherit;
	background:
		radial-gradient(
			ellipse 35% 100% at 50% 0%,
			rgba(255, 255, 255, 1) 0%,
			rgba(209, 210, 221, .3) 30%,
			rgba(209, 210, 221, .35) 35%,
			transparent 100%
		),
		linear-gradient(
			117deg,
			rgba(200, 206, 213, .09) 0%,
			rgba(200, 206, 213, .3) 49.038%,
			rgba(200, 206, 213, .105) 100%
		);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask-composite: exclude;
	content: "";
}


:is(
	.wp-block-group,
	.wp-block-columns,
	.wp-block-column
).is-style-crunchr-square-grid-background {
	--crunchr-square-grid-size: 12.5cqi;
	--crunchr-square-grid-color: rgba(161, 173, 191, 0.38);

	position: relative;
	isolation: isolate;
	container-type: inline-size;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

:is(
	.wp-block-group,
	.wp-block-columns,
	.wp-block-column
).is-style-crunchr-square-grid-background::after {
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100cqi;
	clip-path: inset(0 1px 0 0);
	pointer-events: none;
	background-image:
		linear-gradient(
			to right,
			transparent calc(100% - 1px),
			var(--crunchr-square-grid-color) calc(100% - 1px)
		),
		linear-gradient(
			to bottom,
			transparent calc(100% - 1px),
			var(--crunchr-square-grid-color) calc(100% - 1px)
		);
	background-repeat: repeat;
	background-size:
		var(--crunchr-square-grid-size) var(--crunchr-square-grid-size),
		var(--crunchr-square-grid-size) var(--crunchr-square-grid-size);
	transform: translateX(-50%) translateZ(0);
	will-change: transform;
	content: "";
}

@media (max-width: 781px) {
	:is(
		.wp-block-group,
		.wp-block-columns,
		.wp-block-column
	).is-style-crunchr-square-grid-background {
		--crunchr-square-grid-size: 25cqi;
	}
}

:is(
	.wp-block-group,
	.wp-block-columns,
	.wp-block-column
):is(
	.is-style-crunchr-top-fade-grid-background,
	.is-style-crunchr-glass-panel-background
) {
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	border: 0.75px solid #fff;
	border-radius: 16px;
	background-origin: padding-box;
	background-clip: padding-box;
	box-shadow: 0 4px 4px rgba(5, 25, 59, 0.07);
}

:is(
	.wp-block-group,
	.wp-block-columns,
	.wp-block-column
):is(
	.is-style-crunchr-top-fade-grid-background,
	.is-style-crunchr-glass-panel-background
):not(.has-background) {
	background-color: rgba(255, 255, 255, 0.33);
}

:is(
	.wp-block-group,
	.wp-block-columns,
	.wp-block-column
):is(
	.is-style-crunchr-top-fade-grid-background,
	.is-style-crunchr-glass-panel-background
)::before {
	position: absolute;
	z-index: -2;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	box-shadow:
		inset 4px 4px 26px rgba(5, 25, 59, 0.05),
		inset -3px -4px 13.6px rgba(255, 255, 255, 0.09);
	-webkit-backdrop-filter: blur(9.8px);
	backdrop-filter: blur(9.8px);
	content: "";
}

:is(
	.wp-block-group,
	.wp-block-columns,
	.wp-block-column
).is-style-crunchr-top-fade-grid-background::after {
	--crunchr-top-fade-grid-height: 255px;
	--crunchr-top-fade-grid-row: 85px;
	--crunchr-top-fade-grid-line: rgba(101, 116, 142, 0.15);

	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	left: 0;
	height: var(--crunchr-top-fade-grid-height);
	pointer-events: none;
	background-image:
		linear-gradient(var(--crunchr-top-fade-grid-line), var(--crunchr-top-fade-grid-line)),
		linear-gradient(var(--crunchr-top-fade-grid-line), var(--crunchr-top-fade-grid-line)),
		linear-gradient(var(--crunchr-top-fade-grid-line), var(--crunchr-top-fade-grid-line)),
		linear-gradient(var(--crunchr-top-fade-grid-line), var(--crunchr-top-fade-grid-line)),
		linear-gradient(
			to bottom,
			transparent calc(100% - 1px),
			var(--crunchr-top-fade-grid-line) calc(100% - 1px)
		);
	background-position:
		20% 0,
		40% 0,
		60% 0,
		80% 0,
		0 0;
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat,
		no-repeat,
		repeat-y;
	background-size:
		1px 100%,
		1px 100%,
		1px 100%,
		1px 100%,
		100% var(--crunchr-top-fade-grid-row);
	-webkit-mask-image: linear-gradient(
		to bottom,
		#000 0,
		transparent var(--crunchr-top-fade-grid-height)
	);
	mask-image: linear-gradient(
		to bottom,
		#000 0,
		transparent var(--crunchr-top-fade-grid-height)
	);
	content: "";
}

.wp-block-group.has-crunchr-decoration-neutral-100 {
	--crunchr-group-decoration-color: var(
		--wp--preset--color--neutral-100,
		#d3d9e3
	);
}

.wp-block-group.has-crunchr-decoration-neutral-400 {
	--crunchr-group-decoration-color: rgba(161, 173, 191, 0.38);
}

.wp-block-group.has-crunchr-decoration-neutral-700 {
	--crunchr-group-decoration-color: var(
		--wp--preset--color--neutral-700,
		#3c4658
	);
}

.wp-block-group.has-crunchr-side-borders {
	box-sizing: border-box;
	padding-right: 24px;
	padding-left: 24px;
	border-right: 1px solid var(--crunchr-group-decoration-color);
	border-left: 1px solid var(--crunchr-group-decoration-color);
}

.wp-block-group.has-crunchr-viewport-borders {
	position: relative;
}

.wp-block-group.has-crunchr-viewport-borders::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	pointer-events: none;
	background:
		linear-gradient(
			var(--crunchr-group-decoration-color),
			var(--crunchr-group-decoration-color)
		) top / 100% 1px no-repeat,
		linear-gradient(
			var(--crunchr-group-decoration-color),
			var(--crunchr-group-decoration-color)
		) bottom / 100% 1px no-repeat;
	transform: translateX(-50%);
	content: "";
}

.wp-block-group.has-crunchr-viewport-borders-top::after {
	background: linear-gradient(
		var(--crunchr-group-decoration-color),
		var(--crunchr-group-decoration-color)
	) top / 100% 1px no-repeat;
}

.wp-block-group.has-crunchr-viewport-borders-bottom::after {
	background: linear-gradient(
		var(--crunchr-group-decoration-color),
		var(--crunchr-group-decoration-color)
	) bottom / 100% 1px no-repeat;
}

@media (max-width: 781px) {
	.wp-block-group.has-crunchr-side-borders:not(
		.has-crunchr-side-borders-mobile
	) {
		padding-right: 0;
		padding-left: 0;
		border-right: 0;
		border-left: 0;
	}

	:is(
		.wp-block-group,
		.wp-block-column
	).has-crunchr-mobile-full-width-content:not(
		.has-crunchr-mobile-full-width-content-at-1000
	)
		> :where(
			:not(.alignleft):not(.alignright):not(.alignfull):not(
				.is-style-crunchr-pumpkin-square
			)
		) {
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 999px) {
	:is(
		.wp-block-group,
		.wp-block-column
	).has-crunchr-mobile-full-width-content-at-1000
		> :where(
			:not(.alignleft):not(.alignright):not(.alignfull):not(
				.is-style-crunchr-pumpkin-square
			)
		) {
		width: 100%;
		max-width: none;
	}
}

.wp-block-group.has-crunchr-corner-squares {
	--crunchr-corner-squares-color: var(
		--wp--preset--color--neutral-400,
		#7f8ca4
	);
	position: relative;
}

.wp-block-group.has-crunchr-corner-squares-neutral-100 {
	--crunchr-corner-squares-color: var(
		--wp--preset--color--neutral-100,
		#d3d9e3
	);
}

.wp-block-group.has-crunchr-corner-squares-neutral-700 {
	--crunchr-corner-squares-color: var(
		--wp--preset--color--neutral-700,
		#3c4658
	);
}

.wp-block-group.has-crunchr-corner-squares::before {
	position: absolute;
	z-index: 1;
	inset: -3px;
	pointer-events: none;
	background:
		linear-gradient(
			var(--crunchr-corner-squares-color),
			var(--crunchr-corner-squares-color)
		) left top / 6px 6px no-repeat,
		linear-gradient(
			var(--crunchr-corner-squares-color),
			var(--crunchr-corner-squares-color)
		) right top / 6px 6px no-repeat,
		linear-gradient(
			var(--crunchr-corner-squares-color),
			var(--crunchr-corner-squares-color)
		) left bottom / 6px 6px no-repeat,
		linear-gradient(
			var(--crunchr-corner-squares-color),
			var(--crunchr-corner-squares-color)
		) right bottom / 6px 6px no-repeat;
	content: "";
}

/*
 * Core Columns separators
 */

@property --crunchr-column-grid-marker {
	syntax: "<color>";
	inherits: true;
	initial-value: #7f8ca4;
}

@property --crunchr-column-grid-radial-center {
	syntax: "<color>";
	inherits: true;
	initial-value: transparent;
}

@property --crunchr-column-grid-radial-30 {
	syntax: "<color>";
	inherits: true;
	initial-value: transparent;
}

@property --crunchr-column-grid-radial-35 {
	syntax: "<color>";
	inherits: true;
	initial-value: transparent;
}

.wp-block-columns.is-style-crunchr-column-grid {
	--crunchr-column-grid-border: var(
		--wp--preset--color--neutral-100,
		#d3d9e3
	);
	--crunchr-column-grid-marker: var(
		--wp--preset--color--neutral-400,
		#7f8ca4
	);

	align-items: stretch;
	gap: 0 !important;
}

.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-extended-borders {
	position: relative;
}

.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-extended-borders::before,
.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-extended-borders::after {
	position: absolute;
	z-index: 1;
	left: 50%;
	width: 100vw;
	height: 1px;
	pointer-events: none;
	background-color: var(--crunchr-column-grid-border);
	transform: translateX(-50%);
	content: "";
}

.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-extended-borders::before {
	top: 0;
}

.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-extended-borders::after {
	bottom: 0;
}

.wp-block-columns.is-style-crunchr-column-grid > .wp-block-column {
	--crunchr-column-grid-radial-center: transparent;
	--crunchr-column-grid-radial-30: transparent;
	--crunchr-column-grid-radial-35: transparent;

	position: relative;
	align-self: stretch;
	box-sizing: border-box;
	border: 1px solid var(--crunchr-column-grid-border);
	transition:
		--crunchr-column-grid-marker 220ms ease-out,
		--crunchr-column-grid-radial-center 300ms ease-out,
		--crunchr-column-grid-radial-30 300ms ease-out,
		--crunchr-column-grid-radial-35 300ms ease-out;
}

.wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:hover {
	z-index: 3;
	--crunchr-column-grid-marker: var(
		--wp--preset--color--neutral-300,
		#99a5ba
	);
}

.wp-block-columns.is-style-crunchr-column-grid
	> .wp-block-column:not(:first-child) {
	border-left: 0;
}

.wp-block-columns.is-style-crunchr-column-grid > .wp-block-column::before,
.wp-block-columns.is-style-crunchr-column-grid > .wp-block-column::after {
	position: absolute;
	z-index: 2;
	inset: -3px;
	pointer-events: none;
	content: "";
}

.wp-block-columns.is-style-crunchr-column-grid > .wp-block-column::before {
	background:
		linear-gradient(
			var(--crunchr-column-grid-marker),
			var(--crunchr-column-grid-marker)
		) left top / 6px 6px no-repeat,
		linear-gradient(
			var(--crunchr-column-grid-marker),
			var(--crunchr-column-grid-marker)
		) left bottom / 6px 6px no-repeat;
}

.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-radial-hover
	> .wp-block-column::before {
	background:
		linear-gradient(
			var(--crunchr-column-grid-marker),
			var(--crunchr-column-grid-marker)
		) left top / 6px 6px no-repeat,
		linear-gradient(
			var(--crunchr-column-grid-marker),
			var(--crunchr-column-grid-marker)
		) left bottom / 6px 6px no-repeat,
		radial-gradient(
			ellipse 35% 100% at 50% 50%,
			var(--crunchr-column-grid-radial-center) 0%,
			var(--crunchr-column-grid-radial-30) 30%,
			var(--crunchr-column-grid-radial-35) 35%,
			transparent 100%
		) center 3px / calc(100% - 12px) 1px no-repeat;
}

.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-radial-hover
	> .wp-block-column:hover {
	--crunchr-column-grid-radial-center: #d1d2dd;
	--crunchr-column-grid-radial-30: rgba(209, 210, 221, 0.3);
	--crunchr-column-grid-radial-35: rgba(209, 210, 221, 0.35);
}

.wp-block-columns.is-style-crunchr-column-grid > .wp-block-column::after {
	background:
		linear-gradient(
			var(--crunchr-column-grid-marker),
			var(--crunchr-column-grid-marker)
		) right top / 6px 6px no-repeat,
		linear-gradient(
			var(--crunchr-column-grid-marker),
			var(--crunchr-column-grid-marker)
		) right bottom / 6px 6px no-repeat;
}

.wp-block-columns.is-style-crunchr-column-grid
	> .wp-block-column:has(+ .wp-block-column:hover)::after,
.wp-block-columns.is-style-crunchr-column-grid
	> .wp-block-column:hover
	+ .wp-block-column::before {
	--crunchr-column-grid-marker: var(
		--wp--preset--color--neutral-300,
		#99a5ba
	);
}

/* Adjacent full-grid columns share a corner. Keep the later column's left
 * marker as its sole owner. Side coverage has its own marker placement. */
@media (min-width: 782px) {
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-left
		> .wp-block-column:first-child:has(+ .wp-block-column:hover)::after,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-right
		> .wp-block-column:first-child:hover + .wp-block-column::before {
		--crunchr-column-grid-marker: var(
			--wp--preset--color--neutral-400,
			#7f8ca4
		);
	}
}

.wp-block-columns.is-style-crunchr-column-grid.is-not-stacked-on-mobile:not(:is(.has-crunchr-column-grid-side-left, .has-crunchr-column-grid-side-right))
	> .wp-block-column:not(:last-child)::after {
	display: none;
}

.wp-block-columns.is-style-crunchr-column-grid.is-not-stacked-on-mobile:not(:is(.has-crunchr-column-grid-side-left, .has-crunchr-column-grid-side-right))
	> .wp-block-column:hover ~ .wp-block-column {
	z-index: 4;
}

@media (min-width: 782px) {
	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):not(.has-crunchr-early-stack):not(:is(.has-crunchr-column-grid-side-left, .has-crunchr-column-grid-side-right))
		> .wp-block-column:not(:last-child)::after {
		display: none;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):not(.has-crunchr-early-stack):not(:is(.has-crunchr-column-grid-side-left, .has-crunchr-column-grid-side-right))
		> .wp-block-column:hover ~ .wp-block-column {
		z-index: 4;
	}
}

@media (min-width: 1001px) {
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:not(.is-not-stacked-on-mobile):not(:is(.has-crunchr-column-grid-side-left, .has-crunchr-column-grid-side-right))
		> .wp-block-column:not(:last-child)::after {
		display: none;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:not(.is-not-stacked-on-mobile):not(:is(.has-crunchr-column-grid-side-left, .has-crunchr-column-grid-side-right))
		> .wp-block-column:hover ~ .wp-block-column {
		z-index: 4;
	}
}

@media (max-width: 781px) {
	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		> .wp-block-column:not(:first-child) {
		border-top: 0;
		border-left: 1px solid var(--crunchr-column-grid-border);
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		> .wp-block-column::before {
		background:
			linear-gradient(
				var(--crunchr-column-grid-marker),
				var(--crunchr-column-grid-marker)
			) left top / 6px 6px no-repeat,
			linear-gradient(
				var(--crunchr-column-grid-marker),
				var(--crunchr-column-grid-marker)
			) right top / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		> .wp-block-column::after {
		background:
			linear-gradient(
				var(--crunchr-column-grid-marker),
				var(--crunchr-column-grid-marker)
			) left bottom / 6px 6px no-repeat,
			linear-gradient(
				var(--crunchr-column-grid-marker),
				var(--crunchr-column-grid-marker)
			) right bottom / 6px 6px no-repeat;
	}

}

@media (min-width: 782px) and (max-width: 1000px) {
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		> .wp-block-column:not(:first-child) {
		border-top: 0;
		border-left: 1px solid var(--crunchr-column-grid-border);
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		> .wp-block-column::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		> .wp-block-column::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat;
	}

}

/*
 * Consecutive column grids share one horizontal seam. The earlier grid owns
 * the rule and the later grid owns the markers, so its top-marker hover stays
 * responsive without duplicate decoration or layout-reading JavaScript.
 * Keep these rules after the stacking variants so they apply at every width.
 */
.wp-block-columns.is-style-crunchr-column-grid
	+ .wp-block-columns.is-style-crunchr-column-grid
	> .wp-block-column {
	border-top: 0;
}

.wp-block-columns.is-style-crunchr-column-grid
	+ .wp-block-columns.is-style-crunchr-column-grid {
	position: relative;
	z-index: 4;
}

.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-extended-borders
	+ .wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-extended-borders::before {
	display: none;
}

.wp-block-columns.is-style-crunchr-column-grid:has(
		+ .wp-block-columns.is-style-crunchr-column-grid
	)
	> .wp-block-column::before {
	background:
		linear-gradient(
			var(--crunchr-column-grid-marker),
			var(--crunchr-column-grid-marker)
		) left top / 6px 6px no-repeat;
}

.wp-block-columns.is-style-crunchr-column-grid:has(
		+ .wp-block-columns.is-style-crunchr-column-grid
	)
	> .wp-block-column::after {
	background:
		linear-gradient(
			var(--crunchr-column-grid-marker),
			var(--crunchr-column-grid-marker)
		) right top / 6px 6px no-repeat;
}

/*
 * The later grid remains the single physical owner of the seam markers.
 * Hovering a column in the earlier grid only changes the corresponding
 * marker color, avoiding offsets when the two grids have different tracks.
 */
.wp-block-columns.is-style-crunchr-column-grid
	+ .wp-block-columns.is-style-crunchr-column-grid
	> .wp-block-column {
	--crunchr-column-grid-seam-left-marker: var(--crunchr-column-grid-marker);
	--crunchr-column-grid-seam-right-marker: var(--crunchr-column-grid-marker);
}

.wp-block-columns.is-style-crunchr-column-grid
	+ .wp-block-columns.is-style-crunchr-column-grid
	> .wp-block-column:hover + .wp-block-column {
	--crunchr-column-grid-seam-left-marker: var(
		--wp--preset--color--neutral-300,
		#99a5ba
	);
}

.wp-block-columns.is-style-crunchr-column-grid
	+ .wp-block-columns.is-style-crunchr-column-grid
	> .wp-block-column::before {
	background:
		linear-gradient(
			var(--crunchr-column-grid-seam-left-marker),
			var(--crunchr-column-grid-seam-left-marker)
		) left top / 6px 6px no-repeat,
		linear-gradient(
			var(--crunchr-column-grid-marker),
			var(--crunchr-column-grid-marker)
		) left bottom / 6px 6px no-repeat;
}

.wp-block-columns.is-style-crunchr-column-grid
	+ .wp-block-columns.is-style-crunchr-column-grid
	> .wp-block-column::after {
	background:
		linear-gradient(
			var(--crunchr-column-grid-seam-right-marker),
			var(--crunchr-column-grid-seam-right-marker)
		) right top / 6px 6px no-repeat,
		linear-gradient(
			var(--crunchr-column-grid-marker),
			var(--crunchr-column-grid-marker)
		) right bottom / 6px 6px no-repeat;
}

@media (min-width: 1001px) {
.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(1):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(1),
.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(2):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(2),
.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(3):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(3),
.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(4):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(4),
.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(5):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(5),
.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(6):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(6) {
	--crunchr-column-grid-seam-left-marker: var(
		--wp--preset--color--neutral-300,
		#99a5ba
	);
	--crunchr-column-grid-seam-right-marker: var(
		--wp--preset--color--neutral-300,
		#99a5ba
	);
}

.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(1):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(2),
.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(2):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(3),
.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(3):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(4),
.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(4):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(5),
.wp-block-columns.is-style-crunchr-column-grid:has(> .wp-block-column:nth-child(5):hover)
	+ .wp-block-columns.is-style-crunchr-column-grid > .wp-block-column:nth-child(6) {
	--crunchr-column-grid-seam-left-marker: var(
		--wp--preset--color--neutral-300,
		#99a5ba
	);
}
}

@media (max-width: 781px) {
	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		+ .wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile) {
		z-index: auto;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):has(
			+ .wp-block-columns.is-style-crunchr-column-grid
		)
		> .wp-block-column::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):has(
			+ .wp-block-columns.is-style-crunchr-column-grid
		)
		> .wp-block-column::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):has(
			+ .wp-block-columns.is-style-crunchr-column-grid
		)
		> .wp-block-column:last-child::after {
		background: none;
	}
}

@media (min-width: 782px) and (max-width: 1000px) {
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		+ .wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack {
		z-index: auto;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:has(
			+ .wp-block-columns.is-style-crunchr-column-grid
		)
		> .wp-block-column::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:has(
			+ .wp-block-columns.is-style-crunchr-column-grid
		)
		> .wp-block-column::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:has(
			+ .wp-block-columns.is-style-crunchr-column-grid
		)
		> .wp-block-column:last-child::after {
		background: none;
	}
}

@media (max-width: 781px) {
	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):has(
			+ .wp-block-columns.is-style-crunchr-column-grid
		) > .wp-block-column:last-child::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		+ .wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		> .wp-block-column:first-child::before {
		background: none;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		+ .wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		> .wp-block-column:first-child:hover::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat;
	}
}

@media (min-width: 782px) and (max-width: 1000px) {
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:has(
			+ .wp-block-columns.is-style-crunchr-column-grid
		) > .wp-block-column:last-child::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat;
	}

.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		+ .wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		> .wp-block-column:first-child::before {
		background: none;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		+ .wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		> .wp-block-column:first-child:hover::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat;
	}
}

/* Side-only column grids mirror the alternating feature rows in the AI
 * capabilities design. The selected half owns the box and its inner edge
 * becomes the continuous divider. Stacked layouts deliberately fall back to
 * the standard column-grid rules above. */
@media (min-width: 782px) and (max-width: 1000px) {
	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack):is(
		.has-crunchr-column-grid-side-left,
		.has-crunchr-column-grid-side-right
	) {
		position: relative;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-left > .wp-block-column:not(:first-child),
	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-right > .wp-block-column:not(:last-child) {
		border: 0;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-left > .wp-block-column:not(:first-child)::before,
	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-left > .wp-block-column:not(:first-child)::after,
	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-right > .wp-block-column:not(:last-child)::before,
	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-right > .wp-block-column:not(:last-child)::after {
		display: none;
	}
}

@media (min-width: 1001px) {
	.wp-block-columns.is-style-crunchr-column-grid:is(
		.has-crunchr-column-grid-side-left,
		.has-crunchr-column-grid-side-right
	) {
		position: relative;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-left > .wp-block-column:not(:first-child),
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-right > .wp-block-column:not(:last-child) {
		border: 0;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-left > .wp-block-column:not(:first-child)::before,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-left > .wp-block-column:not(:first-child)::after,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-right > .wp-block-column:not(:last-child)::before,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-right > .wp-block-column:not(:last-child)::after {
		display: none;
	}
}

@media (min-width: 782px) {
	.wp-block-columns.is-style-crunchr-column-grid:is(
		.has-crunchr-column-grid-side-left,
		.has-crunchr-column-grid-side-right
	):is(
		.has-crunchr-column-grid-side-extension-above,
		.has-crunchr-column-grid-side-extension-both
	)::before,
	.wp-block-columns.is-style-crunchr-column-grid:is(
		.has-crunchr-column-grid-side-left,
		.has-crunchr-column-grid-side-right
	):is(
		.has-crunchr-column-grid-side-extension-below,
		.has-crunchr-column-grid-side-extension-both
	)::after {
		position: absolute;
		z-index: 1;
		left: 50%;
		width: 1px;
		height: var(--crunchr-column-grid-side-extension, 144px);
		pointer-events: none;
		background: var(--crunchr-column-grid-border);
		content: "";
	}

	.wp-block-columns.is-style-crunchr-column-grid:is(
		.has-crunchr-column-grid-side-left,
		.has-crunchr-column-grid-side-right
	):is(
		.has-crunchr-column-grid-side-extension-above,
		.has-crunchr-column-grid-side-extension-both
	)::before {
		top: calc(-1 * var(--crunchr-column-grid-side-extension, 144px));
	}

	.wp-block-columns.is-style-crunchr-column-grid:is(
		.has-crunchr-column-grid-side-left,
		.has-crunchr-column-grid-side-right
	):is(
		.has-crunchr-column-grid-side-extension-below,
		.has-crunchr-column-grid-side-extension-both
	)::after {
		bottom: calc(-1 * var(--crunchr-column-grid-side-extension, 144px));
	}

}

/* Early-stacked grids use the existing horizontal seam and marker model only
 * while they are actually stacked. Above 1000px their side divider and its
 * extensions remain active. */
@media (min-width: 782px) and (max-width: 1000px) {
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:is(
		.has-crunchr-column-grid-side-left,
		.has-crunchr-column-grid-side-right
	)::before,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:is(
		.has-crunchr-column-grid-side-left,
		.has-crunchr-column-grid-side-right
	)::after {
		display: none;
	}
}

/*
 * Side-only grids retain the complete vertical skeleton: both outer edges and
 * one uninterrupted center divider. Only the top and bottom edges of the
 * inactive column are omitted. Responsive block padding provides permanent
 * breathing room while the center divider continues through the open space.
 */
@media (min-width: 782px) and (max-width: 1000px) {
	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack):is(
			.has-crunchr-column-grid-side-left,
		.has-crunchr-column-grid-side-right
		) {
		--crunchr-column-grid-side-spacing: 44px;

		padding-block: var(--crunchr-column-grid-side-spacing);
		background-image:
			linear-gradient(var(--crunchr-column-grid-border), var(--crunchr-column-grid-border)),
			linear-gradient(var(--crunchr-column-grid-border), var(--crunchr-column-grid-border)),
			linear-gradient(var(--crunchr-column-grid-border), var(--crunchr-column-grid-border));
		background-position: left top, center top, right top;
		background-size: 1px 100%, 1px 100%, 1px 100%;
		background-repeat: no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack):is(
			.has-crunchr-column-grid-side-left,
			.has-crunchr-column-grid-side-right
		):not(
			.wp-block-columns.is-style-crunchr-column-grid
				+ .wp-block-columns.is-style-crunchr-column-grid
		) {
		padding-top: calc(var(--crunchr-column-grid-side-spacing) * 2);
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack):is(
			.has-crunchr-column-grid-side-left,
			.has-crunchr-column-grid-side-right
		):not(:has(+ .wp-block-columns.is-style-crunchr-column-grid)) {
		padding-bottom: calc(var(--crunchr-column-grid-side-spacing) * 2);
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack):is(
			.has-crunchr-column-grid-side-left,
			.has-crunchr-column-grid-side-right
		) > .wp-block-column {
		flex: 0 0 50% !important;
		width: 50% !important;
		max-width: 50%;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-left
		> .wp-block-column:first-child,
	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-right
		> .wp-block-column:last-child {
		border-top: 1px solid var(--crunchr-column-grid-border);
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-left
		> .wp-block-column:first-child {
		border-right: 0;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-left
		> .wp-block-column:first-child::before,
	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-right
		> .wp-block-column:last-child::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-left
		> .wp-block-column:first-child::after,
	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-right
		> .wp-block-column:last-child::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack):is(
			.has-crunchr-column-grid-side-left,
			.has-crunchr-column-grid-side-right
		)::before {
		display: none;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack):is(
			.has-crunchr-column-grid-side-left,
			.has-crunchr-column-grid-side-right
		)::after {
		display: none;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-left
		> .wp-block-column:not(:first-child) {
		border: 0;
		border-right: 1px solid var(--crunchr-column-grid-border);
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.has-crunchr-early-stack).has-crunchr-column-grid-side-right
		> .wp-block-column:not(:last-child) {
		border: 0;
		border-left: 1px solid var(--crunchr-column-grid-border);
	}
}

@media (min-width: 1001px) {
	.wp-block-columns.is-style-crunchr-column-grid:is(
			.has-crunchr-column-grid-side-left,
		.has-crunchr-column-grid-side-right
		) {
		--crunchr-column-grid-side-spacing: 56px;

		padding-block: var(--crunchr-column-grid-side-spacing);
		background-image:
			linear-gradient(var(--crunchr-column-grid-border), var(--crunchr-column-grid-border)),
			linear-gradient(var(--crunchr-column-grid-border), var(--crunchr-column-grid-border)),
			linear-gradient(var(--crunchr-column-grid-border), var(--crunchr-column-grid-border));
		background-position: left top, center top, right top;
		background-size: 1px 100%, 1px 100%, 1px 100%;
		background-repeat: no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:is(
			.has-crunchr-column-grid-side-left,
			.has-crunchr-column-grid-side-right
		):not(
			.wp-block-columns.is-style-crunchr-column-grid
				+ .wp-block-columns.is-style-crunchr-column-grid
		) {
		padding-top: calc(var(--crunchr-column-grid-side-spacing) * 2);
	}

	.wp-block-columns.is-style-crunchr-column-grid:is(
			.has-crunchr-column-grid-side-left,
			.has-crunchr-column-grid-side-right
		):not(:has(+ .wp-block-columns.is-style-crunchr-column-grid)) {
		padding-bottom: calc(var(--crunchr-column-grid-side-spacing) * 2);
	}

	.wp-block-columns.is-style-crunchr-column-grid:is(
			.has-crunchr-column-grid-side-left,
			.has-crunchr-column-grid-side-right
		) > .wp-block-column {
		flex: 0 0 50% !important;
		width: 50% !important;
		max-width: 50%;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-left
		> .wp-block-column:first-child,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-right
		> .wp-block-column:last-child {
		border-top: 1px solid var(--crunchr-column-grid-border);
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-left
		> .wp-block-column:first-child {
		border-right: 0;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-left
		> .wp-block-column:first-child::before,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-right
		> .wp-block-column:last-child::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-left
		> .wp-block-column:first-child::after,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-right
		> .wp-block-column:last-child::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:is(
			.has-crunchr-column-grid-side-left,
			.has-crunchr-column-grid-side-right
		)::before {
		display: none;
	}

	.wp-block-columns.is-style-crunchr-column-grid:is(
			.has-crunchr-column-grid-side-left,
			.has-crunchr-column-grid-side-right
		)::after {
		display: none;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-left
		> .wp-block-column:not(:first-child) {
		border: 0;
		border-right: 1px solid var(--crunchr-column-grid-border);
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-side-right
		> .wp-block-column:not(:last-child) {
		border: 0;
		border-left: 1px solid var(--crunchr-column-grid-border);
	}
}

.wp-block-columns.has-crunchr-column-separators {
	--crunchr-column-separator-width: 1px;

	overflow: hidden;
}

/* Let columns shrink-wrap their contents while retaining the Columns block's
 * gap, alignment and responsive stacking behavior. */
.wp-block-columns.has-crunchr-content-width-columns
	> .wp-block-column {
	flex: 0 1 auto;
	width: fit-content;
}

.wp-block-columns.has-crunchr-column-separators
	> .wp-block-column {
	position: relative;
}

.wp-block-columns.has-crunchr-column-separators
	> .wp-block-column:not(:last-child)::after {
	position: absolute;
	top: -100vh;
	right: calc(
		(var(--wp--style--block-gap, 2em) / -2) -
			(var(--crunchr-column-separator-width) / 2)
	);
	bottom: -100vh;
	width: var(--crunchr-column-separator-width);
	background-color: var(--crunchr-column-separator-color, #d3d9e3);
	content: "";
}

@media (max-width: 781px) {
	.wp-block-columns.has-crunchr-reverse-on-stack:not(.is-not-stacked-on-mobile) {
		flex-direction: column-reverse;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile) {
		row-gap: 0 !important;
		padding-bottom: calc(var(--wp--preset--spacing--70, 32px) * 2);
		background-image:
			linear-gradient(var(--crunchr-column-grid-border), var(--crunchr-column-grid-border)),
			linear-gradient(var(--crunchr-column-grid-border), var(--crunchr-column-grid-border));
		background-position: left top, right top;
		background-size: 1px 100%, 1px 100%;
		background-repeat: no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):not(
			.wp-block-columns.is-style-crunchr-column-grid
				+ .wp-block-columns.is-style-crunchr-column-grid
		) {
		padding-top: calc(var(--wp--preset--spacing--70, 32px) * 2);
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):not(
			:has(+ .wp-block-columns.is-style-crunchr-column-grid)
		) {
		padding-bottom: calc(var(--wp--preset--spacing--70, 32px) * 2);
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		> .wp-block-column {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		border-top: 1px solid var(--crunchr-column-grid-border);
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		> .wp-block-column::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		> .wp-block-column::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:not(:first-child),
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-reverse-on-stack:not(.is-not-stacked-on-mobile)
		> .wp-block-column:not(:last-child) {
		border-top: 0;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:not(:first-child)::before,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-reverse-on-stack:not(.is-not-stacked-on-mobile)
		> .wp-block-column:not(:last-child)::before {
		background: none;
	}

	.wp-block-columns.is-style-crunchr-column-grid
		+ .wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:first-child,
	.wp-block-columns.is-style-crunchr-column-grid
		+ .wp-block-columns.is-style-crunchr-column-grid.has-crunchr-reverse-on-stack:not(.is-not-stacked-on-mobile)
		> .wp-block-column:last-child {
		border-top: 1px solid var(--crunchr-column-grid-border) !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:last-child::after,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-reverse-on-stack:not(.is-not-stacked-on-mobile)
		> .wp-block-column:first-child::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile)
		> .wp-block-column::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid:not(.is-not-stacked-on-mobile):not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:first-child::before,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-reverse-on-stack:not(.is-not-stacked-on-mobile)
		> .wp-block-column:last-child::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat !important;
	}

	.wp-block-columns.has-crunchr-column-separators:not(.is-not-stacked-on-mobile)
		> .wp-block-column:not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: calc(var(--wp--style--block-gap, 2em) / -2);
		left: 50%;
		width: 100vw;
		height: var(--crunchr-column-separator-width);
		transform: translateX(-50%);
	}
}

@media (min-width: 782px) and (max-width: 1000px) {
	.wp-block-columns.has-crunchr-early-stack {
		flex-direction: column;
		flex-wrap: nowrap !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack {
		row-gap: 0 !important;
		padding-bottom: calc(var(--wp--preset--spacing--70, 32px) * 2);
		background-image:
			linear-gradient(var(--crunchr-column-grid-border), var(--crunchr-column-grid-border)),
			linear-gradient(var(--crunchr-column-grid-border), var(--crunchr-column-grid-border));
		background-position: left top, right top;
		background-size: 1px 100%, 1px 100%;
		background-repeat: no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:not(
			.wp-block-columns.is-style-crunchr-column-grid
				+ .wp-block-columns.is-style-crunchr-column-grid
		) {
		padding-top: calc(var(--wp--preset--spacing--70, 32px) * 2);
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:not(
			:has(+ .wp-block-columns.is-style-crunchr-column-grid)
		) {
		padding-bottom: calc(var(--wp--preset--spacing--70, 32px) * 2);
	}

	.wp-block-columns.has-crunchr-early-stack > .wp-block-column {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		> .wp-block-column {
		border-top: 1px solid var(--crunchr-column-grid-border);
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		> .wp-block-column::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		> .wp-block-column::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:not(:first-child),
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack.has-crunchr-reverse-on-stack
		> .wp-block-column:not(:last-child) {
		border-top: 0;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:not(:first-child)::before,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack.has-crunchr-reverse-on-stack
		> .wp-block-column:not(:last-child)::before {
		background: none;
	}

	.wp-block-columns.is-style-crunchr-column-grid
		+ .wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:first-child,
	.wp-block-columns.is-style-crunchr-column-grid
		+ .wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack.has-crunchr-reverse-on-stack
		> .wp-block-column:last-child {
		border-top: 1px solid var(--crunchr-column-grid-border) !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:last-child::after,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack.has-crunchr-reverse-on-stack
		> .wp-block-column:first-child::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack
		> .wp-block-column::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack:not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:first-child::before,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-early-stack.has-crunchr-reverse-on-stack
		> .wp-block-column:last-child::before {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat !important;
	}

	.wp-block-columns.has-crunchr-early-stack.has-crunchr-reverse-on-stack {
		flex-direction: column-reverse;
	}

	.wp-block-columns.has-crunchr-early-stack.has-crunchr-column-separators
		> .wp-block-column:not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: calc(var(--wp--style--block-gap, 2em) / -2);
		left: 50%;
		width: 100vw;
		height: var(--crunchr-column-separator-width);
		transform: translateX(-50%);
	}
}

@media (max-width: 781px) {
	.has-crunchr-mobile-padding:not(.has-crunchr-mobile-padding-at-1000) {
		padding-top: var(--crunchr-mobile-padding-top) !important;
		padding-right: var(--crunchr-mobile-padding-right) !important;
		padding-bottom: var(--crunchr-mobile-padding-bottom) !important;
		padding-left: var(--crunchr-mobile-padding-left) !important;
	}
}

@media (max-width: 999px) {
	.has-crunchr-mobile-padding-at-1000 {
		padding-top: var(--crunchr-mobile-padding-top) !important;
		padding-right: var(--crunchr-mobile-padding-right) !important;
		padding-bottom: var(--crunchr-mobile-padding-bottom) !important;
		padding-left: var(--crunchr-mobile-padding-left) !important;
	}
}

/* Optional lower-marker removal for the Column grid style. Horizontal rows
 * lose every lower pair. Stacked layouts retain one marker pair at each
 * shared seam and remove only the pair on the visual last child. */
.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-bottom-markers
	> .wp-block-column::before {
	background:
		linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat !important;
}

.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-bottom-markers.has-crunchr-column-grid-radial-hover
	> .wp-block-column::before {
	background:
		linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left top / 6px 6px no-repeat,
		radial-gradient(
			ellipse 35% 100% at 50% 50%,
			var(--crunchr-column-grid-radial-center) 0%,
			var(--crunchr-column-grid-radial-30) 30%,
			var(--crunchr-column-grid-radial-35) 35%,
			transparent 100%
		) center 3px / calc(100% - 12px) 1px no-repeat !important;
}

.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-bottom-markers
	> .wp-block-column::after {
	background:
		linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right top / 6px 6px no-repeat !important;
}

@media (max-width: 781px) {
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-stack-spacers:not(.is-not-stacked-on-mobile) {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-bottom-markers:not(.is-not-stacked-on-mobile)
		> .wp-block-column::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-bottom-markers:not(.is-not-stacked-on-mobile):not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:last-child::after,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-bottom-markers.has-crunchr-reverse-on-stack:not(.is-not-stacked-on-mobile)
		> .wp-block-column:first-child::after {
		background: none !important;
	}
}

@media (min-width: 782px) and (max-width: 1000px) {
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-stack-spacers.has-crunchr-early-stack {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-bottom-markers.has-crunchr-early-stack
		> .wp-block-column::after {
		background:
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) left bottom / 6px 6px no-repeat,
			linear-gradient(var(--crunchr-column-grid-marker), var(--crunchr-column-grid-marker)) right bottom / 6px 6px no-repeat !important;
	}

	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-bottom-markers.has-crunchr-early-stack:not(.has-crunchr-reverse-on-stack)
		> .wp-block-column:last-child::after,
	.wp-block-columns.is-style-crunchr-column-grid.has-crunchr-column-grid-no-bottom-markers.has-crunchr-early-stack.has-crunchr-reverse-on-stack
		> .wp-block-column:first-child::after {
		background: none !important;
	}
}

