/*
 * Program landing pages (pattern gkb-site/program-landing; catalog plan Phase 1b).
 * Site tokens only: --global-palette1 orange, 2 dark orange, 3 ink, 4 charcoal, 5 and 6 greys,
 * 7 light grey, 8 off white, 9 white; Krona One headings, IBM Plex Sans body.
 */

.gkb-landing {
	--lp-ink: var(--global-palette3, #1a1a1a);
	--lp-text: var(--global-palette4, #3c3c3c);
	--lp-muted: var(--global-palette5, #4a5568);
	--lp-faint: var(--global-palette6, #718096);
	--lp-soft: var(--global-palette7, #edf2f7);
	--lp-off: var(--global-palette8, #f7fafc);
	--lp-white: var(--global-palette9, #ffffff);
	--lp-accent: var(--global-palette1, #ffa500);
	--lp-accent-ink: var(--global-palette2, #b57500);
	--lp-head: var(--global-heading-font-family, 'Krona One', sans-serif);
	--lp-body: var(--global-body-font-family, 'IBM Plex Sans', sans-serif);
	--lp-gutter: var(--global-content-edge-padding, 1.5rem);
	color: var(--lp-text);
	font-family: var(--lp-body);
	font-size: 18px;
	line-height: 1.6;
	background: var(--lp-white);
}

.gkb-landing * {
	box-sizing: border-box;
}

.gkb-landing > * {
	margin-block: 0;
}

.gkb-landing p,
.gkb-landing h1,
.gkb-landing h2,
.gkb-landing h3 {
	margin: 0;
}

/* The Kadence content layer (legacy.css, .single-content) gives groups, buttons and figures a bottom
   margin; the landing layout sets its own spacing. Same specificity, loaded later. */
.gkb-landing .wp-block-group,
.gkb-landing .wp-block-buttons,
.gkb-landing .wp-block-button,
.gkb-landing figure,
.gkb-landing details {
	margin-top: 0;
	margin-bottom: 0;
}

.gkb-landing .gkb-lp__wrap {
	width: 100%;
	max-width: var(--global-content-width, 1290px);
	margin: 0 auto;
	padding: 0 var(--lp-gutter);
}

.gkb-landing .gkb-lp-section {
	padding: 80px 0;
}

.gkb-landing .gkb-lp-section + .gkb-lp-section {
	padding-top: 0;
}

/* Type */

.gkb-landing .gkb-lp-eyebrow {
	font-family: var(--lp-head);
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lp-accent-on-dark, var(--lp-accent));
	margin-bottom: 14px;
}

.gkb-landing .gkb-lp-eyebrow--dark {
	color: var(--lp-accent-ink);
}

.gkb-landing .gkb-lp-h2,
.gkb-landing .gkb-lp-callout__title,
.gkb-landing .gkb-lp-closing__title {
	font-family: var(--lp-head);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.25;
	text-transform: uppercase;
	color: var(--lp-ink);
	margin-bottom: 24px;
}

.gkb-landing .gkb-lp-h2--sub {
	font-size: 24px;
	margin-top: 56px;
}

.gkb-landing .gkb-lp-sub {
	margin: -16px 0 20px;
	color: var(--lp-muted);
}

.gkb-landing .gkb-lp-lead {
	max-width: 760px;
	margin-bottom: 32px;
}

/* Zero-specificity default so component link rules (jump chips, tiles) win. */
.gkb-landing :where(a:not(.wp-block-button__link):not(.gkb-bk-btn):not(.gkb-card)) {
	color: var(--lp-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Buttons */

.gkb-landing .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
}

.gkb-landing .gkb-lp-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 28px;
	font-family: var(--lp-head);
	font-size: 14px;
	line-height: 1.2;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	border-radius: 0;
	border: 2px solid var(--lp-accent);
	background: var(--lp-accent);
	color: var(--lp-on-accent, var(--lp-ink));
	box-shadow: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.gkb-landing .gkb-lp-btn .wp-block-button__link:hover,
.gkb-landing .gkb-lp-btn .wp-block-button__link:focus-visible {
	background: var(--lp-white);
	border-color: var(--lp-white);
	color: var(--lp-ink);
}

.gkb-landing .gkb-lp-btn--ghost .wp-block-button__link,
.gkb-landing .wp-block-button.is-style-outline.gkb-lp-btn--ghost .wp-block-button__link {
	background: transparent;
	border-color: var(--lp-white);
	color: var(--lp-white);
}

.gkb-landing .gkb-lp-btn--ghost .wp-block-button__link:hover,
.gkb-landing .gkb-lp-btn--ghost .wp-block-button__link:focus-visible,
.gkb-landing .wp-block-button.is-style-outline.gkb-lp-btn--ghost .wp-block-button__link:hover,
.gkb-landing .wp-block-button.is-style-outline.gkb-lp-btn--ghost .wp-block-button__link:focus-visible {
	background: var(--lp-white);
	color: var(--lp-ink);
}

.gkb-landing .gkb-lp-btn--dark .wp-block-button__link,
.gkb-landing .wp-block-button.is-style-outline.gkb-lp-btn--dark .wp-block-button__link {
	background: var(--lp-white);
	border-color: var(--lp-ink);
	color: var(--lp-ink);
}

.gkb-landing .gkb-lp-btn--dark .wp-block-button__link:hover,
.gkb-landing .gkb-lp-btn--dark .wp-block-button__link:focus-visible,
.gkb-landing .wp-block-button.is-style-outline.gkb-lp-btn--dark .wp-block-button__link:hover,
.gkb-landing .wp-block-button.is-style-outline.gkb-lp-btn--dark .wp-block-button__link:focus-visible {
	background: var(--lp-accent);
	border-color: var(--lp-ink);
	color: var(--lp-on-accent, var(--lp-ink));
}

.gkb-landing .gkb-lp-btn--sm .wp-block-button__link {
	min-height: 44px;
	padding: 10px 16px;
	font-size: x-small;
}

/* 1. Hero */

.gkb-landing .gkb-lp-hero {
	position: relative;
	background-color: var(--lp-ink);
	color: var(--lp-white);
	padding: 72px 0 80px;
	overflow: hidden;
}

.gkb-landing .gkb-lp-hero__copy {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	column-gap: 64px;
	align-items: start;
}

.gkb-landing .gkb-lp-hero__copy > * {
	grid-column: 1;
}

.gkb-landing .gkb-lp-hero__media {
	grid-column: 2;
	grid-row: 1 / span 8;
	align-self: center;
}

.gkb-landing .gkb-lp-hero__media figure {
	margin: 0;
}

.gkb-landing .gkb-lp-hero__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.gkb-landing .gkb-lp-hero__title {
	font-family: var(--lp-head);
	font-weight: 400;
	font-size: 44px;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--lp-white);
	margin-bottom: 20px;
}

.gkb-landing .gkb-lp-hero__lead {
	max-width: 640px;
	color: var(--lp-white);
	opacity: 0.88;
	margin-bottom: 32px;
}

.gkb-landing .gkb-lp-hero__hint {
	margin-top: 20px;
	font-size: 15px;
	color: var(--lp-soft);
}

.gkb-landing .gkb-lp-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid var(--lp-text);
}

.gkb-landing .gkb-lp-stat__num {
	font-family: var(--lp-head);
	font-size: 28px;
	line-height: 1.2;
	color: var(--lp-accent-on-dark, var(--lp-accent));
}

.gkb-landing .gkb-lp-stat__label {
	font-size: 14px;
	line-height: 1.4;
	color: var(--lp-soft);
}

/* Hero with a background image (step class: poster of step_class.mp4) */

.gkb-landing .gkb-lp-hero--bg {
	min-height: 520px;
	display: flex;
	align-items: center;
}

.gkb-landing .gkb-lp-hero--bg > .gkb-lp__wrap {
	position: relative;
	z-index: 1;
}

.gkb-landing .gkb-lp-hero--bg .gkb-lp-hero__copy {
	display: block;
	max-width: 640px;
}

.gkb-landing .gkb-lp-hero__bg {
	position: absolute;
	inset: 0;
	margin: 0;
}

.gkb-landing .gkb-lp-hero__bg figure {
	margin: 0;
	height: 100%;
}

.gkb-landing .gkb-lp-hero__bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gkb-landing .gkb-lp-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(26, 26, 26, 0.92) 0%, rgba(26, 26, 26, 0.6) 55%, rgba(26, 26, 26, 0.2) 100%);
}

/* 2. What to expect */

.gkb-landing .gkb-lp-points {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 32px;
}

.gkb-landing .gkb-lp-point {
	padding-top: 20px;
	border-top: 3px solid var(--lp-accent);
}

.gkb-landing .gkb-lp-point__title,
.gkb-landing .gkb-lp-step__title {
	font-family: var(--lp-head);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--lp-ink);
	margin-bottom: 8px;
}

.gkb-landing .gkb-lp-point__text,
.gkb-landing .gkb-lp-step__text {
	font-size: 16px;
	line-height: 1.55;
}

.gkb-landing .gkb-lp-days {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0;
	margin-top: 48px;
	border: 1px solid var(--lp-ink);
}

.gkb-landing .gkb-lp-day {
	padding: 16px;
	border-left: 1px solid var(--lp-ink);
}

.gkb-landing .gkb-lp-day:first-child {
	border-left: 0;
}

.gkb-landing .gkb-lp-day__name {
	font-family: var(--lp-head);
	font-size: 14px;
	text-transform: uppercase;
	color: var(--lp-accent-ink);
}

.gkb-landing .gkb-lp-day__class {
	font-size: 16px;
	color: var(--lp-ink);
}

.gkb-landing .gkb-lp-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.gkb-landing .gkb-lp-step__num {
	font-family: var(--lp-head);
	font-size: 32px;
	line-height: 1.2;
	color: var(--lp-accent);
	margin-bottom: 8px;
}

/* Step class: portrait video beside the copy */

.gkb-landing .gkb-lp-about__grid {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: 56px;
	align-items: start;
}

.gkb-landing .gkb-lp-portrait {
	margin: 0;
}

.gkb-landing .gkb-lp-portrait video {
	display: block;
	width: 100%;
	max-width: none;
	aspect-ratio: 9 / 16;
	height: auto;
	margin: 0;
	object-fit: cover;
	background: var(--lp-ink);
}

.gkb-landing .gkb-lp-portrait figcaption {
	margin-top: 10px;
	font-size: 14px;
	color: var(--lp-muted);
	text-align: center;
}

.gkb-landing .gkb-lp-about__copy .gkb-lp-points {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 32px;
}

/* 3 and 4. Grids inside the landing sections */

.gkb-landing .gkb-grid {
	padding: 0;
	background: transparent;
}

.gkb-landing .gkb-grid .gkb-bk__wrap {
	max-width: none;
	padding: 0;
}

/* Assessment callout */

.gkb-landing .gkb-lp-callout {
	background: var(--lp-ink);
	color: var(--lp-white);
	padding: 64px 0;
	margin-bottom: 80px;
}

.gkb-landing .gkb-lp-about + .gkb-lp-callout {
	margin-top: 0;
}

.gkb-landing .gkb-lp-callout__inner {
	max-width: 760px;
}

.gkb-landing .gkb-lp-callout__title {
	color: var(--lp-white);
	margin-bottom: 12px;
}

.gkb-landing .gkb-lp-callout__text {
	color: var(--lp-white);
	opacity: 0.88;
	margin-bottom: 28px;
}

.gkb-landing .gkb-lp-callout + .gkb-lp-section {
	padding-top: 0;
}

/* 5. Coach */

.gkb-landing .gkb-lp-coach {
	padding: 0 0 80px;
}

.gkb-landing .gkb-lp-coach__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 56px;
	align-items: center;
}

.gkb-landing .gkb-lp-coach__cards--2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.gkb-landing .gkb-lp-coach__cards .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
}

/* ID Card reusable block (768): its Kadence CSS is a frosted card that overlaps a photo on the
   About page (margin-right -80px, backdrop blur). On the landing pages it is a plain dark card. */
.gkb-landing .gkb-lp-coach__cards .wp-block-kadence-column,
.gkb-landing .gkb-lp-coach__cards .wp-block-kadence-column:not(.specificity) {
	max-width: 390px;
	margin: 0 !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.gkb-landing .gkb-lp-coach__cards .wp-block-kadence-column > .kt-inside-inner-col {
	height: 100%;
	justify-content: flex-start;
	background: var(--lp-ink);
	border-radius: 0;
	box-shadow: -10px 10px 0 0 var(--lp-accent);
	padding: 16px 16px 20px;
	gap: 6px;
}

.gkb-landing .gkb-lp-coach__cards .wp-block-kadence-column .wp-block-image {
	margin: 0 0 10px;
	align-self: stretch;
}

.gkb-landing .gkb-lp-coach__cards .wp-block-kadence-column .wp-block-image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.gkb-landing .gkb-lp-coach__cards .wp-block-social-links {
	margin: 4px 0 0;
}

.gkb-landing .gkb-lp-coach__cards .wp-block-social-links a {
	color: var(--lp-accent);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
}

.gkb-landing .gkb-lp-coach__placeholder {
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-width: 390px;
	padding: 16px 16px 20px;
	border: 1px dashed var(--lp-faint);
}

.gkb-landing .gkb-lp-coach__ph {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3 / 2;
	background: var(--lp-soft);
	color: var(--lp-muted);
	font-size: 14px;
}

.gkb-landing .gkb-lp-coach__name {
	font-family: var(--lp-head);
	font-weight: 400;
	font-size: 18px;
	text-transform: uppercase;
	color: var(--lp-ink);
}

.gkb-landing .gkb-lp-coach__role {
	font-size: 15px;
	color: var(--lp-muted);
}

.gkb-landing .gkb-lp-coach__bio {
	margin-bottom: 16px;
}

.gkb-landing .gkb-lp-coach__quote {
	font-weight: 600;
	color: var(--lp-ink);
	margin-bottom: 24px;
}

/* 6. Reviews */

.gkb-landing .gkb-lp-reviews {
	background: var(--lp-off);
	padding: 80px 0;
}

.gkb-landing .gkb-lp-reviews__row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.gkb-landing .gkb-lp-review {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	background: var(--lp-white);
	border: 1px solid var(--lp-ink);
}

.gkb-landing .gkb-lp-review__stars {
	color: var(--lp-accent-ink);
	letter-spacing: 0.1em;
}

.gkb-landing .gkb-lp-review__name {
	font-size: 15px;
	color: var(--lp-muted);
	margin-top: auto;
}

/* 7. FAQ */

.gkb-landing .gkb-lp-faq {
	padding: 80px 0;
}

.gkb-landing .gkb-lp-faq__list {
	max-width: 880px;
	border-top: 1px solid var(--lp-ink);
}

.gkb-landing .gkb-lp-faq__item {
	border-bottom: 1px solid var(--lp-ink);
	margin: 0;
}

.gkb-landing .gkb-lp-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 56px;
	padding: 12px 0;
	font-weight: 600;
	color: var(--lp-ink);
	cursor: pointer;
	list-style: none;
}

.gkb-landing .gkb-lp-faq__item summary::-webkit-details-marker {
	display: none;
}

.gkb-landing .gkb-lp-faq__item summary::after {
	content: "+";
	flex: none;
	font-family: var(--lp-head);
	font-size: 18px;
	color: var(--lp-accent-ink);
}

.gkb-landing .gkb-lp-faq__item[open] summary::after {
	content: "\2212";
}

.gkb-landing .gkb-lp-faq__item > :not(summary) {
	margin: 0 0 16px;
}

/* 8. Closing band */

.gkb-landing .gkb-lp-closing {
	background: var(--lp-ink);
	color: var(--lp-white);
	padding: 72px 0;
	text-align: center;
}

.gkb-landing .gkb-lp-closing__title {
	color: var(--lp-white);
	margin-bottom: 12px;
}

.gkb-landing .gkb-lp-closing__text {
	opacity: 0.88;
	margin-bottom: 28px;
}

.gkb-landing .gkb-lp-closing .wp-block-buttons {
	justify-content: center;
}

/* Sticky action bar: phone only */

.gkb-landing .gkb-lp-sticky {
	display: none;
}

/* Tablet */

@media (max-width: 1024px) {
	.gkb-landing .gkb-lp-hero__title {
		font-size: 34px;
	}
	.gkb-landing .gkb-lp-about__copy .gkb-lp-points {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Phone (B1a) */

@media (max-width: 767px) {
	.gkb-landing {
		--lp-gutter: 16px;
		font-size: 16px;
	}

	.gkb-landing .gkb-lp-section,
	.gkb-landing .gkb-lp-reviews,
	.gkb-landing .gkb-lp-faq {
		padding: 48px 0;
	}

	.gkb-landing .gkb-lp-coach {
		padding-bottom: 48px;
	}

	.gkb-landing .gkb-lp-h2,
	.gkb-landing .gkb-lp-callout__title,
	.gkb-landing .gkb-lp-closing__title {
		font-size: 22px;
		margin-bottom: 16px;
	}

	.gkb-landing .gkb-lp-h2--sub {
		font-size: 18px;
		margin-top: 40px;
	}

	.gkb-landing .gkb-lp-sub {
		margin: -8px 0 16px;
	}

	/* Hero: eyebrow, H1, lead, media, stacked buttons, stats strip */
	.gkb-landing .gkb-lp-hero {
		padding: 32px 0 40px;
	}

	.gkb-landing .gkb-lp-hero__copy {
		display: block;
	}

	.gkb-landing .gkb-lp-hero__title {
		font-size: 26px;
		margin-bottom: 14px;
	}

	.gkb-landing .gkb-lp-hero__lead {
		margin-bottom: 20px;
	}

	.gkb-landing .gkb-lp-hero__media {
		margin: 0 calc(-1 * var(--lp-gutter)) 20px;
	}

	.gkb-landing .gkb-lp-hero__media img {
		aspect-ratio: 16 / 9;
	}

	.gkb-landing .gkb-lp-hero__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.gkb-landing .gkb-lp-hero__actions .wp-block-button,
	.gkb-landing .gkb-lp-hero__actions .wp-block-button__link {
		width: 100%;
	}

	.gkb-landing .gkb-lp-stats {
		gap: 8px;
		margin-top: 24px;
		padding-top: 16px;
	}

	.gkb-landing .gkb-lp-stat__num {
		font-size: 18px;
	}

	.gkb-landing .gkb-lp-stat__label {
		font-size: 14px;
	}

	.gkb-landing .gkb-lp-hero--bg {
		min-height: 0;
		align-items: flex-end;
		padding-top: 200px;
	}

	.gkb-landing .gkb-lp-hero__bg::after {
		background: linear-gradient(180deg, rgba(26, 26, 26, 0.15) 0%, rgba(26, 26, 26, 0.75) 35%, rgba(26, 26, 26, 0.96) 60%);
	}

	.gkb-landing .gkb-lp-points,
	.gkb-landing .gkb-lp-steps,
	.gkb-landing .gkb-lp-about__grid,
	.gkb-landing .gkb-lp-coach__grid,
	.gkb-landing .gkb-lp-coach__cards--2 {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.gkb-landing .gkb-lp-days {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-top: 32px;
	}

	.gkb-landing .gkb-lp-day {
		padding: 12px;
		border-left: 1px solid var(--lp-ink);
		border-top: 1px solid var(--lp-ink);
	}

	.gkb-landing .gkb-lp-day:nth-child(3n + 1) {
		border-left: 0;
	}

	.gkb-landing .gkb-lp-day:nth-child(-n + 3) {
		border-top: 0;
	}

	.gkb-landing .gkb-lp-day__class {
		font-size: 14px;
	}

	/* Class grid: full-width rows with a chevron */
	.gkb-landing .gkb-lp-classes .gkb-cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
		padding-left: 6px;
	}

	.gkb-landing .gkb-lp-classes a.gkb-card {
		padding: 14px 12px 14px 16px;
		box-shadow: -6px 6px 0 0 var(--lp-accent);
	}

	.gkb-landing .gkb-lp-classes .gkb-card__img {
		display: none;
	}

	.gkb-landing .gkb-lp-classes .gkb-card__body {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 44px;
		align-items: center;
		column-gap: 8px;
		row-gap: 4px;
	}

	.gkb-landing .gkb-lp-classes .gkb-card__body > * {
		grid-column: 1;
		margin: 0;
	}

	.gkb-landing .gkb-lp-classes .gkb-badge {
		justify-self: start;
	}

	.gkb-landing .gkb-lp-classes .gkb-card__title {
		font-size: 15px;
		line-height: 1.35;
	}

	.gkb-landing .gkb-lp-classes .gkb-card__meta {
		font-size: 14px;
	}

	.gkb-landing .gkb-lp-classes .gkb-card__line {
		display: none;
	}

	.gkb-landing .gkb-lp-classes .gkb-card__cta {
		grid-column: 2;
		grid-row: 1 / span 3;
		width: 44px;
		min-height: 44px;
		padding: 0;
		font-size: 0;
		border: 0;
		background: transparent;
	}

	.gkb-landing .gkb-lp-classes .gkb-card__cta .gkb-arrow {
		width: 20px;
		height: 20px;
	}

	.gkb-landing .gkb-lp-classes.is-collapsed .gkb-card:nth-child(n + 4) {
		display: none;
	}

	.gkb-landing .gkb-lp-more {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 48px;
		margin-top: 24px;
		font-family: var(--lp-head);
		font-size: 12px;
		text-transform: uppercase;
		background: var(--lp-white);
		color: var(--lp-ink);
		border: 2px solid var(--lp-ink);
		border-radius: 0;
		cursor: pointer;
	}

	/* Portrait video: full width, capped at 520px tall */
	.gkb-landing .gkb-lp-portrait video {
		width: min(100%, calc(520px * 9 / 16));
	}

	/* Assessment callout */
	.gkb-landing .gkb-lp-callout {
		padding: 40px 0;
		margin-bottom: 48px;
	}

	.gkb-landing .gkb-lp-callout .wp-block-buttons {
		justify-content: flex-start;
	}

	/* Reviews: one card and a peek */
	.gkb-landing .gkb-lp-reviews__row {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		margin: 0 calc(-1 * var(--lp-gutter));
		padding: 0 var(--lp-gutter) 8px;
		overscroll-behavior-x: contain;
		/* Snap cards to the gutter, not the scrollport edge, so the first card lines up with the heading. */
		scroll-padding-inline: var(--lp-gutter);
	}

	.gkb-landing .gkb-lp-review {
		flex: 0 0 84%;
		scroll-snap-align: start;
	}

	.gkb-landing .gkb-lp-faq__item summary {
		min-height: 48px;
	}

	.gkb-landing .gkb-lp-closing {
		padding: 48px 0;
	}

	.gkb-landing .gkb-lp-closing .wp-block-buttons,
	.gkb-landing .gkb-lp-callout .wp-block-button,
	.gkb-landing .gkb-lp-closing .wp-block-button {
		width: 100%;
	}

	.gkb-landing .gkb-lp-closing .wp-block-button__link,
	.gkb-landing .gkb-lp-callout .wp-block-button__link {
		width: 100%;
	}

	/* Sticky action bar */
	.gkb-landing .gkb-lp-sticky {
		position: sticky;
		bottom: 0;
		z-index: 40;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		height: 64px;
		padding: 0 var(--lp-gutter);
		background: var(--lp-white);
		border-top: 1px solid var(--lp-ink);
		transition: transform 0.2s ease, visibility 0.2s;
	}

	.gkb-landing.gkb-lp-js .gkb-lp-sticky:not(.is-shown) {
		visibility: hidden;
		transform: translateY(100%);
	}

	.gkb-landing .gkb-lp-sticky__main {
		font-weight: 600;
		font-size: 15px;
		line-height: 1.3;
		color: var(--lp-ink);
	}

	.gkb-landing .gkb-lp-sticky__sub {
		font-size: 14px;
		line-height: 1.3;
		color: var(--lp-muted);
	}

	.gkb-landing .gkb-lp-sticky .wp-block-buttons {
		flex: none;
	}

	.gkb-landing .gkb-lp-sticky .wp-block-button__link {
		min-height: 44px;
		padding: 10px 16px;
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gkb-landing .gkb-lp-sticky {
		transition: none;
	}
}

/* Policies page (/policies/): contents list with 44px tap targets */

.gkb-policies .gkb-policies__toc {
	margin: 0 0 32px;
	padding-left: 1.2em;
}

.gkb-policies .gkb-policies__toc li {
	margin: 0;
}

.gkb-policies .gkb-policies__toc a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.gkb-policies .gkb-policies__section h2 {
	scroll-margin-top: 96px;
}

/* ==========================================================================
   Membership pillar (Phase 1c, page 2849, pattern gkb-site/membership-pillar)
   ========================================================================== */

.gkb-landing .gkb-accent {
	color: var(--lp-accent);
}

.gkb-landing .gkb-pillar-hero__copy .gkb-pillar-stats {
	grid-column: 2;
	grid-row: 1 / span 5;
	align-self: center;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.16);
}

.gkb-landing .gkb-pillar-stats .gkb-lp-stat {
	padding: 24px;
	border-right: 1px solid rgba(255, 255, 255, 0.16);
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.gkb-landing .gkb-pillar-stats .gkb-lp-stat:nth-child(2n) {
	border-right: 0;
}

.gkb-landing .gkb-pillar-stats .gkb-lp-stat:nth-child(n + 3) {
	border-bottom: 0;
}

.gkb-landing .gkb-pillar-stats .gkb-lp-stat__num {
	font-size: 36px;
}

/* Jump row */

.gkb-landing .gkb-jump-row {
	background: var(--lp-white);
	border-bottom: 1px solid #d0d5dd;
}

.gkb-landing .gkb-jump {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 12px 0;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.gkb-landing .gkb-jump::-webkit-scrollbar {
	display: none;
}

.gkb-landing .gkb-jump a {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
	color: var(--lp-ink);
	background: var(--lp-white);
	border: 1px solid #d0d5dd;
	text-decoration: none;
	scroll-snap-align: start;
}

.gkb-landing .gkb-jump a:hover,
.gkb-landing .gkb-jump a:focus-visible {
	background: var(--lp-ink);
	border-color: var(--lp-ink);
	color: var(--lp-accent);
}

/* Section heads */

.gkb-landing .gkb-pillar-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	margin-bottom: 28px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--lp-ink);
}

.gkb-landing .gkb-pillar-head .gkb-lp-h2 {
	margin: 0;
}

.gkb-landing .gkb-pillar-head__line {
	font-size: 15px;
	color: var(--lp-muted);
}

.gkb-landing .gkb-pillar-monthly {
	padding-top: 56px;
}

.gkb-landing .gkb-pillar-terms {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px solid #d0d5dd;
	font-size: 15px;
	line-height: 1.5;
}

.gkb-landing .gkb-pillar-terms strong {
	color: var(--lp-ink);
}

.gkb-landing .gkb-pillar-note {
	margin-top: 16px;
	font-size: 15px;
	color: var(--lp-muted);
}

/* Cross-brand panel (pattern gkb-site/cross-brand-jiujitsu; --gkb-xbrand is set from the brand's
   color_primary by gkb-blocks) */

.gkb-landing .gkb-pillar-xbrand {
	padding-bottom: 80px;
}

.gkb-landing .gkb-xbrand {
	--gkb-x: var(--gkb-xbrand, #e81d23);
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) minmax(0, 300px);
	gap: 32px;
	align-items: center;
	padding: 32px;
	background: var(--lp-white);
	border: 1px solid #d0d5dd;
	border-left: 6px solid var(--gkb-x);
	scroll-margin-top: 96px;
}

.gkb-landing .gkb-xbrand__symbol img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: contain;
}

.gkb-landing .gkb-xbrand__labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 10px;
}

.gkb-landing .gkb-badge--xbrand {
	display: inline-flex;
	align-items: center;
	padding: 5px 9px;
	font-family: var(--lp-head);
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: var(--gkb-x);
	color: var(--lp-white);
}

.gkb-landing .gkb-xbrand__eyebrow {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gkb-x);
}

.gkb-landing .gkb-xbrand__title {
	font-family: var(--lp-head);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--lp-ink);
	margin-bottom: 10px;
}

.gkb-landing .gkb-xbrand__copy p + p {
	margin-top: 10px;
}

.gkb-landing .gkb-xbrand__note {
	font-size: 15px;
	color: var(--lp-muted);
}

.gkb-landing .gkb-xbrand__buy {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.gkb-landing .gkb-xbrand__amount {
	font-family: var(--lp-head);
	font-size: 32px;
	line-height: 1;
	color: var(--lp-ink);
}

.gkb-landing .gkb-xbrand__unit {
	font-size: 14px;
	color: var(--lp-muted);
}

.gkb-landing .gkb-xbrand__founding {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	font-size: 14px;
	background: color-mix(in srgb, var(--gkb-x) 7%, #ffffff);
	border: 1px solid var(--gkb-x);
}

.gkb-landing .wp-block-button.is-style-outline.gkb-lp-btn--xbrand .wp-block-button__link,
.gkb-landing .gkb-lp-btn--xbrand .wp-block-button__link {
	width: 100%;
	background: var(--lp-white);
	border-color: var(--gkb-x);
	color: var(--lp-ink);
}

.gkb-landing .gkb-lp-btn--xbrand .wp-block-button__link:hover,
.gkb-landing .gkb-lp-btn--xbrand .wp-block-button__link:focus-visible {
	background: var(--gkb-x);
	color: var(--lp-white);
}

.gkb-landing .gkb-xbrand__buy .wp-block-button {
	width: 100%;
}

.gkb-landing .gkb-xbrand__trial .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0;
	font-weight: 600;
	color: var(--lp-ink);
	background: transparent;
	border: 0;
	border-radius: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Drop-in strip */

.gkb-landing .gkb-pillar-dropin {
	padding: 40px 0;
	background: var(--lp-soft);
}

.gkb-landing .gkb-pillar-dropin__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
}

.gkb-landing .gkb-pillar-dropin__copy {
	max-width: 720px;
}

.gkb-landing .gkb-pillar-dropin__copy .gkb-badge {
	display: inline-flex;
	margin-bottom: 10px;
	background: var(--lp-white);
}

.gkb-landing .gkb-pillar-dropin__title {
	font-family: var(--lp-head);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--lp-ink);
	margin-bottom: 8px;
}

.gkb-landing .gkb-pillar-dropin__actions {
	flex: none;
}

/* Results row (the existing Kadence carousel row, kept) */

.gkb-landing #results {
	scroll-margin-top: 96px;
}

.gkb-landing .gkb-pillar-faq {
	padding-top: 80px;
}

.gkb-landing .gkb-lp-section[id],
.gkb-landing section[id] {
	scroll-margin-top: 96px;
}

@media (max-width: 1100px) {
	.gkb-landing .gkb-xbrand {
		grid-template-columns: 72px minmax(0, 1fr);
	}
	.gkb-landing .gkb-xbrand__buy {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.gkb-landing .gkb-pillar-hero__copy .gkb-pillar-stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
		margin-top: 20px;
		border: 0;
		text-align: center;
	}
	.gkb-landing .gkb-pillar-stats .gkb-lp-stat {
		padding: 0;
		border: 0;
	}
	.gkb-landing .gkb-pillar-stats .gkb-lp-stat__num {
		font-size: 18px;
	}
	.gkb-landing .gkb-pillar-stats .gkb-lp-stat__label {
		font-size: 14px;
		line-height: 1.25;
	}
	.gkb-landing .gkb-jump {
		margin: 0 calc(-1 * var(--lp-gutter));
		padding: 10px var(--lp-gutter);
	}
	.gkb-landing .gkb-jump a {
		font-size: 14px;
		padding: 0 14px;
	}
	.gkb-landing .gkb-pillar-monthly {
		padding-top: 32px;
	}
	.gkb-landing .gkb-pillar-head {
		margin-bottom: 20px;
	}
	.gkb-landing .gkb-pillar-terms {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}
	.gkb-landing .gkb-pillar-xbrand {
		padding-bottom: 32px;
	}
	.gkb-landing .gkb-xbrand {
		grid-template-columns: 44px minmax(0, 1fr);
		gap: 14px;
		padding: 18px 16px;
	}
	.gkb-landing .gkb-xbrand__symbol img {
		width: 44px;
		height: 44px;
	}
	.gkb-landing .gkb-xbrand {
		align-items: start;
	}
	.gkb-landing .gkb-xbrand__title {
		font-size: 17px;
	}
	.gkb-landing .gkb-pillar-dropin {
		padding: 24px 0;
	}
	.gkb-landing .gkb-pillar-dropin__inner {
		flex-direction: column;
		align-items: stretch;
	}
	.gkb-landing .gkb-pillar-dropin__actions {
		flex-direction: column;
		align-items: stretch;
	}
	.gkb-landing .gkb-pillar-dropin__actions .wp-block-button,
	.gkb-landing .gkb-pillar-dropin__actions .wp-block-button__link {
		width: 100%;
	}
	.gkb-landing .gkb-pillar-faq {
		padding-top: 48px;
	}
}

/* ==========================================================================
   Programs page (Phase 1d, page 609, pattern gkb-site/programs-page)
   ========================================================================== */

.gkb-landing .gkb-program-nav {
	display: flex;
	align-items: center;
	gap: 8px 24px;
}

.gkb-landing .gkb-program-nav .gkb-jump {
	flex: 1 1 auto;
	min-width: 0;
}

.gkb-landing .gkb-program-nav__note {
	flex: 0 0 auto;
	font-size: 14px;
	color: var(--lp-muted);
}

.gkb-landing .gkb-programs-list {
	padding-top: 48px;
}

.gkb-landing .gkb-programs-list .gkb-grid__group {
	scroll-margin-top: 96px;
}

.gkb-landing .gkb-programs-list .gkb-grid__group + .gkb-grid__group {
	margin-top: 56px;
}

.gkb-landing .gkb-programs-list .gkb-bk__section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 24px;
	margin-bottom: 28px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--lp-ink);
}

.gkb-landing .gkb-programs-list .gkb-bk__section-head h2 {
	font-family: var(--lp-head);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--lp-ink);
	margin: 0;
}

.gkb-landing .gkb-programs-list .gkb-bk__section-head p {
	margin: 0;
	font-size: 15px;
	color: var(--lp-muted);
}

.gkb-landing .gkb-programs-list .gkb-bk__section-head a {
	color: var(--lp-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.gkb-landing .gkb-programs-list .gkb-cards {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Perks: the six original tiles (Kadence columns with their lottie icons, headings and copy),
   in a plain 3 by 2 grid. */

.gkb-landing .gkb-perks {
	padding-top: 80px;
}

.gkb-landing .gkb-perks__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 32px;
}

.gkb-landing .gkb-perks__grid > .wp-block-kadence-column,
.gkb-landing .gkb-perks__grid > .wp-block-group {
	margin: 0;
	max-width: none;
	width: auto;
}

.gkb-landing .gkb-perks__grid .kt-inside-inner-col > * + * {
	margin-top: 10px;
}

.gkb-landing .gkb-closing-actions {
	justify-content: center;
}

@media (max-width: 1024px) {
	.gkb-landing .gkb-programs-list .gkb-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.gkb-landing .gkb-program-nav {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	.gkb-landing .gkb-program-nav__note {
		padding: 0 0 10px;
	}
	.gkb-landing .gkb-programs-list {
		padding-top: 28px;
	}
	.gkb-landing .gkb-programs-list .gkb-grid__group + .gkb-grid__group {
		margin-top: 36px;
	}
	.gkb-landing .gkb-programs-list .gkb-bk__section-head {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 16px;
	}
	.gkb-landing .gkb-programs-list .gkb-bk__section-head h2 {
		font-size: 18px;
	}
	.gkb-landing .gkb-programs-list .gkb-bk__section-head p {
		font-size: 14px;
	}

	/* Class cards become full-width rows: badge, name, meta, chevron. The whole row is the link. */
	.gkb-landing .gkb-programs-list .gkb-cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
		padding-left: 6px;
	}
	.gkb-landing .gkb-programs-list .gkb-card {
		padding: 12px 44px 12px 14px;
		box-shadow: -6px 6px 0 0 var(--lp-accent);
		min-height: 84px;
		justify-content: center;
	}
	.gkb-landing .gkb-programs-list .gkb-card::before {
		content: "\203A";
		position: absolute;
		right: 16px;
		top: 50%;
		transform: translateY(-50%);
		font-size: 28px;
		line-height: 1;
		color: var(--lp-faint);
	}
	.gkb-landing .gkb-programs-list .gkb-card__img,
	.gkb-landing .gkb-programs-list .gkb-card__line,
	.gkb-landing .gkb-programs-list .gkb-card__actions,
	.gkb-landing .gkb-programs-list a.gkb-card .gkb-card__cta {
		display: none;
	}
	.gkb-landing .gkb-programs-list .gkb-card__body {
		gap: 4px;
	}
	.gkb-landing .gkb-programs-list .gkb-card__title {
		font-size: 15px;
		line-height: 1.35;
	}
	.gkb-landing .gkb-programs-list .gkb-card__meta {
		font-size: 14px;
	}
	.gkb-landing .gkb-programs-list .gkb-grid__more {
		margin-top: 16px;
	}

	.gkb-landing .gkb-perks {
		padding-top: 48px;
	}
	.gkb-landing .gkb-perks__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
	}
	.gkb-landing .gkb-closing-actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ==========================================================================
   Matos & Mora pages (Phase 2a). Same components as the GKB pages; the brand
   colour comes from body.brand-mm (gkb-blocks brand-mm.css), which also sets
   --lp-on-accent (white on red) and --lp-accent-on-dark (a lighter red for small
   text on #1a1a1a, 5.8:1).
   ========================================================================== */

/* Cross-brand panel pointing back to GKB: orange rule, dark text on orange. */
.gkb-landing .gkb-xbrand--gkb .gkb-badge--xbrand,
.gkb-landing .gkb-xbrand--gkb .gkb-lp-btn--xbrand .wp-block-button__link:hover,
.gkb-landing .gkb-xbrand--gkb .gkb-lp-btn--xbrand .wp-block-button__link:focus-visible {
	color: var(--lp-ink);
}

.gkb-landing .gkb-xbrand--gkb .gkb-xbrand__eyebrow {
	color: var(--lp-ink);
}

/* Membership pillar (M&M): the wide plan card beside the GKB All In card. */
.gkb-landing .gkb-mm-plans {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 24px;
	align-items: stretch;
}

.gkb-landing .gkb-mm-plan,
.gkb-landing .gkb-mm-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px;
	background: var(--lp-white);
	border: 1px solid var(--lp-ink);
	box-shadow: -10px 10px 0 0 var(--lp-accent);
}

.gkb-landing .gkb-mm-plan {
	border-width: 2px;
	padding: 32px;
}

.gkb-landing .gkb-mm-plan__tag,
.gkb-landing .gkb-mm-card__tag {
	align-self: flex-start;
	padding: 5px 9px;
	font-family: var(--lp-head);
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: var(--lp-accent);
	color: var(--lp-on-accent, var(--lp-ink));
}

.gkb-landing .gkb-mm-plan__title,
.gkb-landing .gkb-mm-card__title {
	font-family: var(--lp-head);
	font-weight: 400;
	font-size: 20px;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--lp-ink);
	margin: 0;
}

.gkb-landing .gkb-mm-plan__price,
.gkb-landing .gkb-mm-card__price {
	margin: 0;
	color: var(--lp-muted);
	font-size: 14px;
}

.gkb-landing .gkb-mm-plan__price strong,
.gkb-landing .gkb-mm-card__price strong {
	font-family: var(--lp-head);
	font-weight: 400;
	font-size: 36px;
	line-height: 1;
	color: var(--lp-ink);
}

.gkb-landing .gkb-mm-card__price strong {
	font-size: 28px;
}

.gkb-landing .gkb-mm-plan__founding {
	margin: 0;
	padding: 10px 12px;
	font-size: 15px;
	background: color-mix(in srgb, var(--lp-accent) 7%, #ffffff);
	border: 1px solid var(--lp-accent);
}

.gkb-landing .gkb-mm-plan__classes {
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.gkb-landing .gkb-mm-plan__classes li {
	padding: 12px;
	background: var(--lp-off);
	border-left: 3px solid var(--lp-accent);
	font-size: 14px;
	line-height: 1.4;
}

.gkb-landing .gkb-mm-plan__classes li strong {
	display: block;
	font-size: 15px;
	color: var(--lp-ink);
}

.gkb-landing .gkb-mm-plan .wp-block-buttons,
.gkb-landing .gkb-mm-card .wp-block-buttons {
	margin-top: auto;
	padding-top: 8px;
}

.gkb-landing .gkb-mm-card--xbrand {
	--gkb-x: var(--gkb-xbrand, #ffa500);
	border-left: 6px solid var(--gkb-x);
	box-shadow: -10px 10px 0 0 var(--gkb-x);
}

.gkb-landing .gkb-mm-card--xbrand .gkb-mm-card__tag {
	background: var(--gkb-x);
	color: var(--lp-ink);
}

.gkb-landing .gkb-mm-card--dashed {
	border: 2px dashed var(--lp-faint);
	box-shadow: none;
	background: transparent;
}

.gkb-landing .gkb-mm-card--dark {
	background: var(--lp-ink);
	color: var(--lp-white);
	border-color: var(--lp-ink);
}

.gkb-landing .gkb-mm-card--dark .gkb-mm-card__title,
.gkb-landing .gkb-mm-card--dark .gkb-mm-card__price,
.gkb-landing .gkb-mm-card--dark p {
	color: var(--lp-white);
}

.gkb-landing .gkb-mm-card--dark a {
	color: var(--lp-white);
}

.gkb-landing .gkb-mm-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.gkb-landing .gkb-mm-cards--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gkb-landing .gkb-mm-card .wp-block-button__link {
	width: 100%;
}

/* Schedule page (2790): the week grid block sits in a landing section. */
.gkb-landing .gkb-mm-schedule .gkb-grid {
	background: transparent;
}

.gkb-landing .gkb-mm-policies {
	margin-top: 24px;
	font-size: 15px;
}

@media (max-width: 1024px) {
	.gkb-landing .gkb-mm-plans {
		grid-template-columns: minmax(0, 1fr);
	}
	.gkb-landing .gkb-mm-cards--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.gkb-landing .gkb-mm-plan,
	.gkb-landing .gkb-mm-card {
		padding: 20px;
		box-shadow: -6px 6px 0 0 var(--lp-accent);
		margin-left: 6px;
	}
	.gkb-landing .gkb-mm-card--xbrand {
		box-shadow: -6px 6px 0 0 var(--gkb-x);
	}
	.gkb-landing .gkb-mm-card--dashed {
		box-shadow: none;
	}
	.gkb-landing .gkb-mm-plan__classes,
	.gkb-landing .gkb-mm-cards,
	.gkb-landing .gkb-mm-cards--4 {
		grid-template-columns: minmax(0, 1fr);
	}
	.gkb-landing .gkb-mm-plan__price strong {
		font-size: 30px;
	}
}


.gkb-landing .gkb-mm-card__amount {
	margin: 0;
	font-family: var(--lp-head);
	font-size: 28px;
	line-height: 1;
	color: var(--lp-ink);
}

.gkb-landing .gkb-mm-card--dark .gkb-mm-card__amount {
	color: var(--lp-white);
}

.gkb-landing .gkb-mm-kids-cards {
	margin-top: 40px;
	padding-left: 10px;
}

/* Reviews marquee (Personal Training, 2026-10-01): slow, infinite, right-to-left loop of Google reviews.
   Without JS, or with reduced motion, the track is a plain horizontally scrolling row. */
.gkb-landing .gkb-lp-reviews__marquee {
	overflow-x: auto;
	padding: 0 var(--lp-gutter) 8px;
}
.gkb-landing .gkb-lp-reviews__marquee .gkb-lp-reviews__row {
	display: flex;
	gap: 32px;
	width: max-content;
	margin: 0;
	padding: 0;
	overflow: visible;
}
.gkb-landing .gkb-lp-reviews__marquee .gkb-lp-review {
	flex: 0 0 380px;
	width: 380px;
	box-sizing: border-box;
}
.gkb-landing .gkb-lp-reviews__marquee .gkb-lp-review__text {
	font-size: 16px;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 9;
	line-clamp: 9;
	overflow: hidden;
}
.gkb-landing .gkb-lp-reviews__marquee.is-marquee {
	overflow: hidden;
	padding: 0;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.gkb-landing .gkb-lp-reviews__marquee.is-marquee .gkb-lp-reviews__row {
	padding-right: 32px; /* equals the gap, so a -50% shift lands exactly on the duplicate set */
	animation: gkb-lp-marquee var(--gkb-marquee-duration, 90s) linear infinite;
	will-change: transform;
}
.gkb-landing .gkb-lp-reviews__marquee.is-marquee:hover .gkb-lp-reviews__row,
.gkb-landing .gkb-lp-reviews__marquee.is-marquee:focus-within .gkb-lp-reviews__row {
	animation-play-state: paused;
}
@keyframes gkb-lp-marquee {
	to {
		transform: translateX(-50%);
	}
}
.gkb-landing .gkb-lp-reviews__more {
	margin-top: 24px;
	font-size: 16px;
}
.gkb-landing .gkb-lp-reviews__more a {
	color: var(--lp-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}
@media (max-width: 767px) {
	.gkb-landing .gkb-lp-reviews__marquee .gkb-lp-review {
		flex-basis: min(300px, 82vw);
		width: min(300px, 82vw);
	}
	.gkb-landing .gkb-lp-reviews__marquee .gkb-lp-reviews__row {
		gap: 16px;
	}
	.gkb-landing .gkb-lp-reviews__marquee.is-marquee .gkb-lp-reviews__row {
		padding-right: 16px;
	}
}

/* FAQ list at the full content width (Personal Training had it as an alignfull group, so it sat off to the left). */
.gkb-landing .gkb-lp-faq__list.gkb-lp-faq__list--full {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* Space between the Results heading and the marquee. */
.gkb-landing .gkb-lp-reviews__marquee {
	margin-top: 40px;
}
@media (max-width: 767px) {
	.gkb-landing .gkb-lp-reviews__marquee {
		margin-top: 24px;
	}
}

/* Line pattern on the reviews background: the section's own background shorthand would reset the utility's gradient. */
.gkb-landing .gkb-lp-reviews.gkb-lines--light {
	background-image: linear-gradient(to right, rgba(26, 26, 26, 0.08) 1px, transparent 1px);
	background-size: calc(100% / 6) 100%;
	background-repeat: repeat-x;
}
@media (max-width: 781px) {
	.gkb-landing .gkb-lp-reviews.gkb-lines--light {
		background-size: calc(100% / 3) 100%;
	}
}

/* Top and bottom borders on the reviews section, same 1px ink line as the cards and FAQ rows. */
.gkb-landing .gkb-lp-reviews.gkb-lines--light {
	border-top: 1px solid var(--lp-ink);
	border-bottom: 1px solid var(--lp-ink);
}

/* Hero media: the image block is set to alignright, so it floated and the buttons wrapped beside it on phones. The grid and the stacked layout both place it themselves. */
.gkb-landing .gkb-lp-hero__media {
	display: flow-root;
}
.gkb-landing .gkb-lp-hero__media figure.alignright,
.gkb-landing .gkb-lp-hero__media figure {
	float: none;
	width: 100%;
	margin: 0;
}

/* Dark reviews section with black cards (homepage). */
.gkb-landing .gkb-lp-reviews--dark {
	background-color: var(--lp-ink);
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
	background-size: calc(100% / 6) 100%;
	background-repeat: repeat-x;
	color: var(--lp-white);
}
@media (max-width: 781px) {
	.gkb-landing .gkb-lp-reviews--dark {
		background-size: calc(100% / 3) 100%;
	}
}
.gkb-landing .gkb-lp-reviews--dark .gkb-lp-h2 {
	color: var(--lp-white);
}
.gkb-landing .gkb-lp-reviews--dark .gkb-lp-reviews__more a {
	color: var(--lp-white);
}
.gkb-landing .gkb-lp-review.gkb-lp-review--black {
	background: #000;
	border-color: var(--global-palette4, #3c3c3c);
	color: var(--lp-white);
}
.gkb-landing .gkb-lp-review--black .gkb-lp-review__stars {
	color: var(--lp-accent);
}
.gkb-landing .gkb-lp-review--black .gkb-lp-review__text {
	color: var(--lp-white);
	opacity: 0.92;
}
.gkb-landing .gkb-lp-review--black .gkb-lp-review__name {
	color: var(--lp-soft);
}

/* Membership cards (Matos & Mora): hover lift and the All In card's shadow.
   The cross-brand card also had a 6px left border, which fused with its left-hand offset shadow into one thick orange bar;
   it now has the same 1px border as the other cards, so only the orange shadow differs. */
.gkb-landing .gkb-mm-card.gkb-mm-card--xbrand {
	border: 1px solid var(--lp-ink);
	box-shadow: -10px 10px 0 0 var(--gkb-x);
}
.gkb-landing .gkb-mm-plan,
.gkb-landing .gkb-mm-card {
	transition: border-color 0.3s, box-shadow 0.3s;
}
/* Same hover as the bookable cards (.gkb-card, .gkb-way in bookables.css): accent border and a 13px accent glow replace the offset shadow (same as the Programs page cards). */
@media (hover: hover) {
	.gkb-landing .gkb-mm-plan:hover,
	.gkb-landing .gkb-mm-plan:focus-within,
	.gkb-landing .gkb-mm-card:hover,
	.gkb-landing .gkb-mm-card:focus-within {
		border-color: var(--lp-accent);
		box-shadow: 0 0 13px 0 var(--lp-accent);
	}
	.gkb-landing .gkb-mm-card.gkb-mm-card--xbrand:hover,
	.gkb-landing .gkb-mm-card.gkb-mm-card--xbrand:focus-within {
		border-color: var(--gkb-x);
		box-shadow: 0 0 13px 0 var(--gkb-x);
	}
	.gkb-landing .gkb-mm-card--dashed:hover,
	.gkb-landing .gkb-mm-card--dashed:focus-within {
		border-color: var(--lp-accent);
		box-shadow: 0 0 13px 0 var(--lp-accent);
	}
}
@media (hover: hover) and (max-width: 767px) {
	.gkb-landing .gkb-mm-plan:hover,
	.gkb-landing .gkb-mm-card:not(.gkb-mm-card--dashed):hover {
		box-shadow: 0 0 13px 0 var(--lp-accent);
	}
	.gkb-landing .gkb-mm-card.gkb-mm-card--xbrand:hover {
		box-shadow: 0 0 13px 0 var(--gkb-x);
	}
}
@media (prefers-reduced-motion: reduce) {
	.gkb-landing .gkb-mm-plan,
	.gkb-landing .gkb-mm-card {
		transition: none;
	}
}

/* M&M assistant coaches + photo galleries */
.gkb-landing.gkb-mm-assist{background-color:var(--global-palette3,#1a1a1a);background-image:linear-gradient(to right,rgba(255,255,255,.07) 1px,transparent 1px);background-size:calc(100%/6) 100%;background-repeat:repeat-x;padding:72px 24px;}
.gkb-mm-assist__in{max-width:1200px;margin:0 auto;text-align:center;}
.gkb-mm-assist__eyebrow{margin:0 0 8px;color:var(--lp-accent);text-transform:uppercase;letter-spacing:.12em;font-size:14px;}
.gkb-mm-assist__title{margin:0 0 40px;color:#fff;}
.gkb-mm-assist__grid{display:grid;grid-template-columns:repeat(2,minmax(0,320px));gap:32px;justify-content:center;}
.gkb-mm-coach{border:1px solid rgba(255,255,255,.18);padding:16px;text-align:center;}
.gkb-mm-coach figure{margin:0 0 16px;}
.gkb-mm-coach img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;display:block;border-radius:0;}
.gkb-mm-coach h3{margin:0 0 4px;color:#fff;font-size:22px;}
.gkb-mm-coach p{margin:0;color:var(--lp-accent);}
@media(max-width:640px){.gkb-mm-assist__grid{grid-template-columns:1fr;max-width:340px;margin:0 auto;}.gkb-landing.gkb-mm-assist{padding:48px 20px;}}
.gkb-mm-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1200px;margin:0 auto;}
.gkb-mm-gallery img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:0;}
.gkb-mm-gallery--wide{grid-template-columns:repeat(2,1fr);}
.gkb-mm-gallery--wide img{aspect-ratio:3/2;}
.gkb-mm-band{padding:64px 24px;background:var(--wp--preset--color--palette-3,#111);}
.gkb-mm-band h2{color:#fff;text-align:center;margin:0 0 32px;}
@media(max-width:640px){.gkb-mm-gallery{grid-template-columns:1fr 1fr;gap:10px;}.gkb-mm-gallery--wide{grid-template-columns:1fr;}.gkb-mm-band{padding:44px 16px;}}

.gkb-mm-gallery--4{grid-template-columns:repeat(4,1fr);}
.gkb-mm-gallery figure{margin:0;}
@media(max-width:640px){.gkb-mm-gallery--4{grid-template-columns:1fr 1fr;}}

.gkb-mm-gallery img{height:auto;}

@media(max-width:640px){.gkb-landing.gkb-mm-assist{background-size:calc(100%/3) 100%;}}

.gkb-landing.gkb-mm-assist{background-color:#000;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);}

/* Photo cards in the marquee (Matos & Mora home). */
.gkb-landing .gkb-lp-review.gkb-lp-review--photo{padding:0;width:300px;flex:0 0 300px;overflow:hidden;}
.gkb-landing .gkb-lp-review--photo figure{margin:0;}
.gkb-landing .gkb-lp-review--photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:0;}
.gkb-landing .gkb-lp-review--photo .gkb-lp-review__name{margin:0;padding:14px 16px;}

/* ===== Native-block sections: marquee, results, assistant coaches, galleries ===== */
.gkb-pm{overflow-x:auto;width:100%;margin-top:40px;}
.gkb-pm .gkb-pm__row{display:flex;gap:40px;width:max-content;margin:0 !important;}
.gkb-pm.is-marquee{overflow:hidden;}
.gkb-pm.is-marquee .gkb-pm__row{animation:gkb-pm-scroll var(--gkb-pm-dur,80s) linear infinite;will-change:transform;}
.gkb-pm.is-marquee:hover .gkb-pm__row,.gkb-pm.is-marquee:focus-within .gkb-pm__row{animation-play-state:paused;}
.gkb-pm .gkb-pm__item{flex:0 0 auto;margin:0 !important;}
.gkb-pm .gkb-pm__item img{display:block;height:240px !important;width:auto !important;max-width:none !important;border:3px solid var(--global-palette1,#ffa500);border-radius:0;box-sizing:border-box;}
@keyframes gkb-pm-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 20px))}}
@media(max-width:640px){.gkb-pm .gkb-pm__item img{height:200px !important}}
.gkb-results{background-color:var(--global-palette3,#1a1a1a);background-image:linear-gradient(to right,rgba(255,255,255,.07) 1px,transparent 1px);background-size:calc(100%/6) 100%;background-repeat:repeat-x;padding:80px 0;text-align:center;overflow:hidden;}
.gkb-results .gkb-results__eyebrow{margin:0 0 12px;color:var(--global-palette1,#e81d23);text-transform:uppercase;letter-spacing:.12em;font-size:14px;font-weight:700;}
.gkb-results .gkb-results__title{margin:0;color:#fff;text-transform:uppercase;}
.gkb-results .gkb-results__title span{color:var(--global-palette1,#e81d23);}
@media(max-width:640px){.gkb-results{padding:56px 0;background-size:calc(100%/3) 100%;}}
.gkb-landing.gkb-mm-assist{padding:72px 24px;}
.gkb-mm-assist .gkb-mm-assist__eyebrow,.gkb-mm-assist .gkb-mm-assist__title{text-align:center;}
.wp-block-columns.gkb-mm-assist__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:32px;max-width:700px;margin:0 auto;}
.gkb-mm-assist__grid>.wp-block-column{flex:1 1 280px !important;max-width:320px;}
.gkb-mm-assist .gkb-mm-coach{border:1px solid rgba(255,255,255,.18);padding:16px;text-align:center;}
.gkb-mm-assist .gkb-mm-coach figure{margin:0 0 16px;}
.gkb-mm-assist .gkb-mm-coach img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;display:block;border-radius:0;}
.gkb-mm-assist .gkb-mm-coach h3{margin:0 0 4px;color:#fff;font-size:22px;}
.gkb-mm-assist .gkb-mm-coach p{margin:0;color:var(--lp-accent);}
.gkb-landing.gkb-mm-band{padding:64px 24px;background-color:var(--global-palette3,#1a1a1a);}
.gkb-mm-band h2{color:#fff;text-align:center;margin:0 0 32px;}
.wp-block-gallery.gkb-mm-gallery{max-width:1200px;margin:0 auto;display:flex;grid-template-columns:none;gap:16px;}
.wp-block-gallery.gkb-mm-gallery figure.wp-block-image img{width:100%;height:auto !important;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:0;}
.wp-block-gallery.gkb-mm-gallery--wide figure.wp-block-image img{aspect-ratio:3/2;}
@media(max-width:640px){.gkb-landing.gkb-mm-band{padding:44px 16px;}}
/* Coaches page: sharp corners and equal card photos */
.page-id-2792 .kb-row-layout-id380_41e3bf-07 .kt-inside-inner-col,.page-id-2792 .kb-row-layout-id380_41e3bf-07 .kb-image-has-overlay,.page-id-2792 .kb-row-layout-id380_41e3bf-07 figure,.page-id-2792 .kb-row-layout-id380_41e3bf-07 img,.page-id-2792 .kb-row-layout-id380_41e3bf-07 .u-background-blur-15{border-radius:0 !important;}
.page-id-2792 .kb-row-layout-id380_41e3bf-07 .kb-image380_eb03cc-ae img,.page-id-2792 .kb-row-layout-id380_41e3bf-07 .kb-image380_f2391a-38 img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;display:block;}
/* M&M home: program cards, equal height, own icons */
.page-id-2743 .kadence-column380_e0ba64-78>.kt-inside-inner-col{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-auto-rows:1fr;align-items:stretch;gap:24px;}
.page-id-2743 .kadence-column380_e0ba64-78>.kt-inside-inner-col>.wp-block-column,.page-id-2743 .kadence-column380_e0ba64-78>.kt-inside-inner-col>.wp-block-kadence-column{display:flex;flex-direction:column;}
.page-id-2743 .kadence-column380_e0ba64-78>.kt-inside-inner-col>*>.kt-inside-inner-col{display:flex;flex-direction:column;flex:1 1 auto;}
.page-id-2743 .kadence-column380_e0ba64-78>.kt-inside-inner-col>*>.kt-inside-inner-col>.wp-block-kadence-column{display:flex;flex-direction:column;flex:1 1 auto;}
.page-id-2743 .kadence-column380_e0ba64-78>.kt-inside-inner-col>*>.kt-inside-inner-col>.wp-block-kadence-column>.kt-inside-inner-col{flex:1 1 auto;min-height:0 !important;}
.page-id-2743 .kadence-column380_e0ba64-78>.kt-inside-inner-col img[src*="mm-icon-"]{height:56px !important;width:auto !important;max-width:none !important;}

.wp-block-gallery.gkb-mm-gallery{flex-wrap:wrap;}
.wp-block-gallery.gkb-mm-gallery.columns-4>figure.wp-block-image{flex:0 0 auto;width:calc((100% - 48px)/4) !important;margin:0;}
.wp-block-gallery.gkb-mm-gallery.columns-2>figure.wp-block-image{flex:0 0 auto;width:calc((100% - 16px)/2) !important;margin:0;}
@media(max-width:640px){.wp-block-gallery.gkb-mm-gallery.columns-4>figure.wp-block-image{width:calc((100% - 16px)/2) !important;}.wp-block-gallery.gkb-mm-gallery.columns-2>figure.wp-block-image{width:100% !important;}}

/* Ollie carousel used as a photo marquee */
.gkb-photo-carousel{margin-top:40px;background:transparent;}
.gkb-photo-carousel .wp-block-image{margin:0;}
.gkb-photo-carousel .wp-block-image img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center top;border:3px solid var(--global-palette1,#ffa500);border-radius:0;box-sizing:border-box;}

.gkb-photo-carousel .ollie-carousel-container>*{flex:0 0 240px !important;width:240px !important;min-width:240px !important;max-width:none !important;margin:0 !important;}
.gkb-photo-carousel .ollie-carousel-container>* img{width:100% !important;height:240px !important;aspect-ratio:auto;}
@media(max-width:640px){.gkb-photo-carousel .ollie-carousel-container>*{flex-basis:200px !important;width:200px !important;min-width:200px !important;}.gkb-photo-carousel .ollie-carousel-container>* img{height:200px !important;}}

.gkb-photo-carousel .ollie-carousel-container>*{margin:0 32px 0 0 !important;}
@media(max-width:640px){.gkb-photo-carousel .ollie-carousel-container>*{margin-right:16px !important;}}

.entry-content>.gkb-mm-assist,.entry-content>.gkb-results,.entry-content>.gkb-mm-band{margin-block:0 !important;}

.gkb-landing.gkb-results{padding-top:96px;padding-bottom:96px;}
.gkb-results .gkb-results__title{margin-bottom:0;}
.gkb-results .ollie-carousel-block.gkb-photo-carousel{margin-top:48px !important;}
@media(max-width:640px){.gkb-landing.gkb-results{padding-top:64px;padding-bottom:64px;}.gkb-results .ollie-carousel-block.gkb-photo-carousel{margin-top:32px !important;}}

.gkb-landing.gkb-results{padding-top:180px;}
@media(max-width:640px){.gkb-landing.gkb-results{padding-top:112px;}}

/* Photo carousel: natural widths, equal heights */
.gkb-photo-carousel .ollie-carousel-container>*{flex:0 0 auto !important;width:auto !important;min-width:0 !important;max-width:none !important;}
.gkb-photo-carousel .ollie-carousel-container>* img{width:auto !important;height:240px !important;max-width:none !important;object-fit:cover;}
@media(max-width:640px){.gkb-photo-carousel .ollie-carousel-container>* img{height:200px !important;}}

/* No block-gap strips between full-width sections: top-level landing groups and carousels sit flush. */
.entry-content>.gkb-landing,.entry-content>.wp-block-group[class*="gkb-"],.entry-content>.ollie-carousel-block,.entry-content>.wp-block-group.alignfull{margin-block-start:0 !important;margin-block-end:0 !important;}

/* 2.1.1 Step class hero and video (mobile).
 * Hero fills the first screen below the header (--gkb-lp-hero-top is set by landing.js). The photo or video sits at
 * the top in its natural 16:9 ratio; one gradient covers the whole hero, clear at the top and solid ink at the media's
 * bottom edge, so the media dissolves into the copy with no hard line. The video section below is full bleed. */
@media (max-width: 767px) {
	.gkb-landing .gkb-lp-hero--bg {
		min-height: calc(100vh - var(--gkb-lp-hero-top, 0px));
		min-height: calc(100svh - var(--gkb-lp-hero-top, 0px));
		padding: 0 0 40px;
		align-items: flex-end;
		background-color: var(--lp-ink);
	}
	.gkb-landing .gkb-lp-hero--bg > .gkb-lp__wrap {
		padding-top: calc(100vw * 9 / 16 - 40px);
	}
	.gkb-landing .gkb-lp-hero--bg .gkb-lp-hero__bg {
		inset: 0 0 auto 0;
		height: auto;
	}
	.gkb-landing .gkb-lp-hero--bg .gkb-lp-hero__bg figure,
	.gkb-landing .gkb-lp-hero--bg .gkb-lp-hero__bg img {
		height: auto;
		width: 100%;
		object-fit: initial;
	}
	.gkb-landing .gkb-lp-hero--bg .gkb-lp-hero__bg::after {
		display: none;
	}
	.gkb-landing .gkb-lp-hero--bg::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 0;
		pointer-events: none;
		background: linear-gradient(180deg, color-mix(in srgb, var(--lp-ink) 0%, transparent) 0, color-mix(in srgb, var(--lp-ink) 0%, transparent) calc(100vw * 9 / 16 * 0.3), var(--lp-ink) calc(100vw * 9 / 16));
	}

	/* About video: edge to edge, flush under the hero, taller than the old 292px cap. */
	.gkb-landing .gkb-lp-about--video {
		padding-top: 0;
	}
	.gkb-landing .gkb-lp-about--video .gkb-lp-about__grid {
		gap: 24px;
	}
	.gkb-landing .gkb-lp-about--video .gkb-lp-about__media {
		margin-inline: calc(-1 * var(--lp-gutter));
	}
	.gkb-landing .gkb-lp-about--video .gkb-lp-portrait video {
		width: 100%;
		max-width: none;
		aspect-ratio: 9 / 16;
		margin: 0;
	}
	.gkb-landing .gkb-lp-about--video .gkb-lp-portrait figcaption {
		padding-inline: var(--lp-gutter);
	}
}

/* 2.1.1 Hero background video: sits over the poster image, same box, fades in once it is playing. The overlay gradient stays above it. */
.gkb-landing .gkb-lp-hero__vid {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.5s ease;
}
.gkb-landing .gkb-lp-hero__vid.is-playing {
	opacity: 1;
}

/* 2.1.9 Schedule pages: the Next class card (gkb/next-class) sits in the hero's second column, bottom aligned,
   and stacks under the buttons on phones instead of bleeding to the edges like a hero image. */
.gkb-landing .gkb-lp-hero__media.gkb-next-wrap {
	align-self: end;
}

@media (max-width: 767px) {
	.gkb-landing .gkb-lp-hero__media.gkb-next-wrap {
		margin: 20px 0 0;
	}
}


/* 2.1.10 Coaches page */
.gkb-landing .gkb-lp-coach--page {
	padding: 80px 0;
}

.gkb-landing .gkb-lp-coach--page .wp-block-columns {
	align-items: center;
}

.gkb-landing .gkb-lp-hero--compact {
	padding: 56px 0 64px;
}

@media (max-width: 767px) {
	.gkb-landing .gkb-lp-coach--page {
		padding: 48px 0;
	}
}


/* 2.1.10 Next class card padding */
.gkb-landing .gkb-grid.gkb-next {
	padding: 24px;
	background: rgba(255, 255, 255, 0.03);
}

@media (max-width: 767px) {
	.gkb-landing .gkb-grid.gkb-next {
		padding: 16px;
	}
}


/* 2.1.10 Hero boxes */
.gkb-landing .gkb-grid.gkb-next {
	background: var(--global-palette3, #1a1a1a);
	box-shadow: 0px 5px 20px 0px #000;
}

@media (min-width: 768px) {
	.gkb-landing .gkb-pillar-hero__copy .gkb-pillar-stats {
		background: var(--global-palette3, #1a1a1a);
		box-shadow: 0px 5px 20px 0px #000;
	}
}

/* 2.1.10 M&M coaches story */
.gkb-landing .gkb-mm-story{padding:72px 0}
.gkb-mm-story .gkb-mm-story__cols{align-items:center;gap:48px}
.gkb-mm-story .gkb-mm-story__title{margin:0 0 20px}
.gkb-mm-story .my-visual-frame{margin:0}
.gkb-mm-story .my-visual-frame img{width:100%;height:auto;display:block}
@media(max-width:781px){.gkb-landing .gkb-mm-story{padding:48px 0}.gkb-mm-story .gkb-mm-story__cols{gap:28px}}

.gkb-landing .gkb-mm-story .gkb-mm-story__title{color:#fff}
.gkb-landing .gkb-mm-story .wp-block-column>p:not(.gkb-lp-eyebrow){color:#e6e6e6;margin:0 0 1.1em;line-height:1.65}
.gkb-landing .gkb-mm-story .gkb-lp-eyebrow{margin:0 0 10px}
