/* WRMFZY skin: editorial Inter type, hairline rules and full-bleed photography. Scoped to [data-skin="wrmfzy"]. */

.ps-page[data-skin="wrmfzy"] {
	--skin-light: #fff;
	--skin-light-text: #0a0a0a;
	--skin-dark: #0a0a0a;
	--skin-dark-text: #fff;
	--skin-accent: #0a0a0a;
	--skin-accent-text: #fff;
	--skin-highlight: #adc4c6;
	--skin-highlight-text: #0a0a0a;
	--skin-pop: var(--skin-highlight);
	--skin-ink: #0a0a0a;
	--skin-font-body: 'Inter', system-ui, sans-serif;
	--skin-font-display: 'Inter', system-ui, sans-serif;
	--skin-font-accent: 'Inter', system-ui, sans-serif;
	--skin-font-label: 'Inter', system-ui, sans-serif;
	--skin-display-weight: 300;
	--skin-border: 1px solid #dadada;
	--skin-radius: 0;
	--skin-shadow: none;
	--skin-shadow-hover: none;
	--skin-pad: clamp(56px, 8.4vw, 120px);
	--skin-gutter: clamp(20px, 5.6vw, 80px);
	--skin-box-pad: clamp(48px, 6.7vw, 96px);
	--skin-group-gap: 24px;
	--skin-label-width: 312px;
	/* Skin-only tokens: muted copy and hairline rules. */
	--wz-muted: #6b6b6b;
	--wz-rule: rgba(10, 10, 10, 0.15);
	-webkit-font-smoothing: antialiased;
}

[data-skin="wrmfzy"] .ps-bg--dark {
	--wz-muted: #9a9a9a;
	--wz-rule: rgba(255, 255, 255, 0.18);
}

/* No texture in this skin: Pattern is plain white. */
[data-skin="wrmfzy"] .ps-bg--pattern {
	--ps-bg: var(--skin-light);
	--ps-text: var(--skin-light-text);
	background-image: none;
}

/* Two white sections in a row get a hairline, unless the second runs on from the first (top spacing None) or follows a photo. */
[data-skin="wrmfzy"] .ps-bg--light:not(.ps-section--image) + .ps-bg--light:not(.ps-pad-top--none) {
	border-top: 1px solid rgba(10, 10, 10, 0.12);
}

[data-skin="wrmfzy"] .ps-container {
	max-width: 1280px;
}

/* ---------- Shared type and buttons ---------- */

[data-skin="wrmfzy"] .ps-eyebrow,
[data-skin="wrmfzy"] .ps-hero__eyebrow,
[data-skin="wrmfzy"] .ps-hero__price-note,
[data-skin="wrmfzy"] .ps-specs--columns .ps-specs__label {
	color: inherit;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

[data-skin="wrmfzy"] .ps-bg--dark .ps-eyebrow {
	color: var(--skin-highlight);
}

[data-skin="wrmfzy"] .ps-heading {
	font-size: clamp(1.5rem, 2.8vw, 2.5rem);
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
}

[data-skin="wrmfzy"] .ps-intro {
	margin-bottom: clamp(32px, 4vw, 56px);
}

[data-skin="wrmfzy"] .ps-intro .ps-eyebrow {
	margin-bottom: 20px;
}

[data-skin="wrmfzy"] .ps-intro__text,
[data-skin="wrmfzy"] .ps-prose,
[data-skin="wrmfzy"] .ps-cta__text {
	color: var(--wz-muted);
	font-size: clamp(15px, 1.2vw, 16px);
	line-height: 1.6;
}

/* Left-aligned intros (unless set to Stacked) split into a label column and a copy column, as on a magazine spread. */
@media (min-width: 901px) {
	[data-skin="wrmfzy"] :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) {
		display: grid;
		grid-template-columns: minmax(0, var(--skin-label-width)) minmax(0, 1fr);
		column-gap: 24px;
	}

	[data-skin="wrmfzy"] :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) .ps-eyebrow {
		grid-row: 1 / span 3;
		margin: 0;
	}

	[data-skin="wrmfzy"] :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) > :not(.ps-eyebrow) {
		grid-column: 2;
	}

	/* Beside a photo there's no room for two columns, so the label stays on top. */
	[data-skin="wrmfzy"] .ps-specs--has-image :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) {
		display: block;
	}

	[data-skin="wrmfzy"] .ps-specs--has-image :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) .ps-eyebrow {
		margin-bottom: 20px;
	}
}

[data-skin="wrmfzy"] :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) .ps-intro__text {
	max-width: none;
}

/* Headings inside copy (e.g. a pulled-in product description) use the skin's type, not the site theme's. */
[data-skin="wrmfzy"] .ps-prose :is(h2, h3, h4) {
	margin: 40px 0 16px;
	color: var(--ps-text);
	font-family: var(--skin-font-display);
	font-size: clamp(18px, 1.6vw, 22px);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: none;
}

[data-skin="wrmfzy"] .ps-button {
	padding: 14px 26px;
	border: 0;
	font-family: var(--skin-font-label);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.2;
	transition: opacity 0.15s ease;
}

[data-skin="wrmfzy"] .ps-button:hover,
[data-skin="wrmfzy"] .ps-button:focus-visible {
	opacity: 0.85;
	transform: none;
}

/* On dark or Accent (also black here) backgrounds Primary inverts to white, the design's "inverse" button. */
[data-skin="wrmfzy"] :is(.ps-bg--dark, .ps-bg--accent) .ps-button--primary {
	background: var(--skin-light);
	color: var(--skin-light-text);
}

[data-skin="wrmfzy"] .ps-placeholder {
	background: #f4f4f4;
	color: var(--wz-muted);
	font-size: 11px;
	letter-spacing: 0.14em;
}

/* ---------- Product Launch Hero: title row over a full-bleed photo ---------- */

[data-skin="wrmfzy"] .ps-section--launch-hero {
	padding-top: clamp(32px, 3.9vw, 56px);
	padding-bottom: clamp(20px, 3.6vw, 52px);
}

/* Copy and art unwrap (display: contents) so their pieces sit in one grid: copy left, price and button right. */
/* Pieces are placed by column, not named areas, so optional fields (tagline, highlight) still stack in order. */
[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__inner {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 0 24px;
}

[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__copy,
[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__art {
	display: contents;
}

[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__copy > * {
	grid-column: 1;
}

[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__eyebrow {
	grid-column: 1 / -1;
	grid-row: 1;
	gap: 8px 24px;
	margin: 0 0 clamp(24px, 5vw, 72px);
}

[data-skin="wrmfzy"] .ps-hero__eyebrow-note {
	color: var(--wz-muted);
	opacity: 1;
}

[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__title {
	grid-row: 2;
	gap: 0 0.25em;
	margin: 0 0 18px;
	font-size: clamp(3.375rem, 8.9vw, 8rem);
	letter-spacing: 0;
	line-height: 0.9;
}

[data-skin="wrmfzy"] .ps-hero__title-main,
[data-skin="wrmfzy"] .ps-hero__title-suffix {
	padding: 0;
	font-size: inherit;
}

[data-skin="wrmfzy"] .ps-hero__title-suffix {
	font-weight: 500;
}

[data-skin="wrmfzy"] .ps-hero__logo {
	max-height: 0.8em;
	padding: 0;
}

/* Tagline, text and highlight are plain lines of copy in this skin, not banners. */
[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__tagline,
[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__text,
[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__highlight {
	max-width: none;
	margin: 0 0 12px;
	font-size: clamp(15px, 1.2vw, 17px);
	line-height: 1.5;
}

[data-skin="wrmfzy"] .ps-hero__tagline span {
	padding: 0;
	background: none;
	color: inherit;
	font: inherit;
	font-weight: 500;
	text-transform: none;
	transform: none;
}

[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__highlight {
	gap: 4px 16px;
	font-family: var(--skin-font-body);
	font-weight: 400;
	text-transform: none;
}

[data-skin="wrmfzy"] .ps-hero__highlight-label {
	color: var(--wz-muted);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__price {
	position: static;
	grid-column: 2;
	grid-row: 2;
	align-items: flex-end;
	gap: 14px;
	margin: 0 0 14px;
	padding: 0;
	background: none;
	color: inherit;
	border: 0;
	box-shadow: none;
	transform: none;
}

/* Small labels sit above the amount: price label, then the note (e.g. "MSRP"). */
[data-skin="wrmfzy"] .ps-hero__price-label {
	order: -2;
	color: var(--wz-muted);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
}

[data-skin="wrmfzy"] .ps-hero__price-note {
	order: -1;
	color: var(--wz-muted);
}

[data-skin="wrmfzy"] .ps-hero__price-amount {
	font-size: clamp(1.75rem, 2.8vw, 2.5rem);
	font-weight: 300;
	line-height: 1;
}

/* Spans the rows beside the copy so the button lines up with the last line of copy, however many there are. */
[data-skin="wrmfzy"] .ps-hero--launch .ps-buttons {
	grid-column: 2;
	grid-row: 3 / span 3;
	align-self: end;
	justify-content: flex-end;
	margin: 0 0 12px;
}

/* An optional hero image sits under the copy at full page width; order: 2 keeps it last in the grid. */
[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__stage {
	order: 2;
	grid-column: 1 / -1;
	margin-top: clamp(20px, 3.6vw, 52px);
}

[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__product {
	display: block;
	width: 100%;
	height: auto;
}

/* The design has no corner badge or callout panels; accessories belong in a Product Grid section on this skin. */
[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__badge,
[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__callouts {
	display: none;
}

/* ---------- Specs: hairline table beside a full-bleed photo, or stat columns ---------- */

[data-skin="wrmfzy"] .ps-specs__row {
	grid-template-columns: minmax(0, 180px) minmax(0, 1fr);
	border-top: 1px solid rgba(10, 10, 10, 0.18);
	font-size: 14px;
	line-height: 1.5;
}

[data-skin="wrmfzy"] .ps-specs__row:last-child {
	border-bottom: 1px solid rgba(10, 10, 10, 0.18);
}

[data-skin="wrmfzy"] .ps-specs__label {
	color: var(--wz-muted);
	font-weight: 400;
	text-transform: none;
}

[data-skin="wrmfzy"] .ps-section--specs:has(.ps-specs--has-image) {
	padding: 0;
}

/* The photo shows whole at its column's full width, centered beside the table; never cropped to fill the height. */
[data-skin="wrmfzy"] .ps-specs--has-image {
	align-items: center;
	gap: 0;
	max-width: none;
}

[data-skin="wrmfzy"] .ps-specs--has-image .ps-specs__body {
	padding: clamp(48px, 6.7vw, 96px) var(--ps-gutter);
}

[data-skin="wrmfzy"] .ps-specs--columns .ps-specs__list {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

[data-skin="wrmfzy"] .ps-specs--columns .ps-specs__row {
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	padding: 16px 0 0;
	border-top-color: var(--wz-rule);
	border-bottom: 0;
}

[data-skin="wrmfzy"] .ps-specs--columns .ps-specs__value {
	font-size: clamp(17px, 1.7vw, 24px);
	font-weight: 300;
}

/* Stat columns line up under the intro's copy column, not the label column. */
@media (min-width: 901px) {
	[data-skin="wrmfzy"] .ps-specs--columns :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) ~ .ps-specs__list {
		margin-left: calc(var(--skin-label-width) + 24px);
	}

	[data-skin="wrmfzy"] .ps-specs--columns :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) .ps-heading {
		margin-bottom: 0;
		line-height: 1.24;
	}

	[data-skin="wrmfzy"] .ps-specs--columns .ps-intro {
		margin-bottom: 64px;
	}
}

/* ---------- Feature Panels: bordered shots with numbered captions (01, 02, 03) ---------- */

[data-skin="wrmfzy"] .ps-features {
	gap: 24px;
}

[data-skin="wrmfzy"] .ps-feature {
	gap: 16px;
	background: none;
	color: inherit;
	border: 0;
	overflow: visible;
}

[data-skin="wrmfzy"] .ps-feature__image {
	aspect-ratio: 1;
	border: var(--skin-border);
}

[data-skin="wrmfzy"] .ps-feature__body {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 16px;
	row-gap: 6px;
	padding: 0;
}

[data-skin="wrmfzy"] .ps-feature__body::before {
	content: counter(ps-panel, decimal-leading-zero);
	grid-row: span 3;
	padding-top: 2px;
	color: var(--wz-muted);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
}

[data-skin="wrmfzy"] .ps-feature__title {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	text-transform: none;
}

[data-skin="wrmfzy"] .ps-feature__text {
	color: var(--wz-muted);
	font-size: 14px;
}

[data-skin="wrmfzy"] .ps-feature__more {
	padding: 0;
	color: inherit;
	font-size: 11px;
	font-weight: 500;
}

/* ---------- Image + Text: narrow copy column beside a wide, frameless photo ---------- */

[data-skin="wrmfzy"] .ps-split {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 24px;
}

[data-skin="wrmfzy"] .ps-split--image-right {
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

[data-skin="wrmfzy"] .ps-split__media .ps-panel:not(.ps-placeholder) {
	background: none;
	border: 0;
	transform: none;
}

[data-skin="wrmfzy"] .ps-split .ps-heading {
	margin-bottom: 28px;
}

[data-skin="wrmfzy"] .ps-split .ps-eyebrow {
	margin-bottom: 28px;
}

/* ---------- Sign Up: hairline field beside the square label-type button, no gap between them ---------- */

[data-skin="wrmfzy"] .ps-signup__form {
	gap: 0;
	max-width: 520px;
}

[data-skin="wrmfzy"] .ps-signup__email {
	padding: 12px 16px;
	border: 1px solid currentColor;
	border-right: 0;
	background: transparent;
	color: inherit;
	font-size: 15px;
}

[data-skin="wrmfzy"] .ps-signup__email::placeholder {
	color: var(--wz-muted);
}

[data-skin="wrmfzy"] .ps-signup__email:focus {
	outline: none;
	box-shadow: inset 0 -2px 0 currentColor;
}

[data-skin="wrmfzy"] .ps-signup__button {
	border: 1px solid currentColor;
}

[data-skin="wrmfzy"] .ps-signup__status,
[data-skin="wrmfzy"] .ps-signup__note {
	color: var(--wz-muted);
	font-size: 13px;
	opacity: 1;
}

@media (max-width: 600px) {
	[data-skin="wrmfzy"] .ps-signup__email {
		border-right: 1px solid currentColor;
		border-bottom: 0;
	}
}

/* ---------- Product Grid: frameless cards, name and price on one ruled line ---------- */

[data-skin="wrmfzy"] .ps-products ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

[data-skin="wrmfzy"] .ps-products li.product {
	overflow: visible;
	background: none;
	color: inherit;
	border: 0;
	text-align: left;
}

[data-skin="wrmfzy"] .ps-products li.product img {
	aspect-ratio: 1;
	object-fit: cover;
	border: var(--skin-border);
}

/* ul.products li.product outranks Kadence's ".products.align-buttons-bottom li.product .entry-content-wrap" flex column. */
[data-skin="wrmfzy"] .ps-products ul.products li.product .product-details {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-content: start;
	gap: 0 16px;
	margin-top: 20px;
	padding: 16px 0 0;
	border-top: 1px solid var(--wz-rule);
}

[data-skin="wrmfzy"] .ps-products .woocommerce-loop-product__title,
[data-skin="wrmfzy"] .ps-products .price {
	margin: 0 0 20px;
	color: inherit;
	font-size: clamp(15px, 1.25vw, 18px);
	font-weight: 400;
	line-height: 1.3;
	text-transform: none;
}

[data-skin="wrmfzy"] .ps-products .price {
	align-self: start;
}

[data-skin="wrmfzy"] .ps-products .ps-product__excerpt {
	grid-column: 1 / -1;
	color: var(--wz-muted);
	font-size: 14px;
}

[data-skin="wrmfzy"] .ps-products .product-action-wrap {
	grid-column: 1 / -1;
	justify-content: flex-start;
}

/* Square-cornered button in the skin's small-caps label type, matching .ps-button. */
[data-skin="wrmfzy"] .ps-products .button {
	padding: 12px 20px;
	border-radius: 0;
	font-family: var(--skin-font-label);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.2;
	transition: opacity 0.15s ease;
}

[data-skin="wrmfzy"] .ps-products .button:hover,
[data-skin="wrmfzy"] .ps-products .button:focus-visible {
	opacity: 0.85;
}

[data-skin="wrmfzy"] .ps-products :is(.ps-product__view, .added_to_cart) {
	font-family: var(--skin-font-label);
	font-size: 11px;
	letter-spacing: 0.14em;
}

/* ---------- CTA Band: big date line left, button and small print right ---------- */

[data-skin="wrmfzy"] .ps-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"eyebrow ."
		"heading buttons"
		"text note";
	align-items: end;
	column-gap: 24px;
	text-align: left;
}

[data-skin="wrmfzy"] .ps-cta .ps-eyebrow { grid-area: eyebrow; margin-bottom: 28px; }
[data-skin="wrmfzy"] .ps-cta .ps-buttons { grid-area: buttons; justify-content: flex-end; margin: 0; }
[data-skin="wrmfzy"] .ps-cta__note { grid-area: note; margin: 16px 0 0; text-align: right; }

[data-skin="wrmfzy"] .ps-cta__heading {
	grid-area: heading;
	margin: 0 0 28px;
	font-size: clamp(3.375rem, 6.7vw, 6rem);
	line-height: 1;
}

[data-skin="wrmfzy"] .ps-cta__text {
	grid-area: text;
	margin: 0;
	font-size: clamp(15px, 1.2vw, 17px);
}

[data-skin="wrmfzy"] .ps-cta .ps-button {
	padding: 16px 28px;
}

/* Variation pills right-align with the button in the hero and CTA, in the small-caps label type. */
[data-skin="wrmfzy"] :is(.ps-hero--launch, .ps-cta) .ps-cart {
	align-items: flex-end;
}

[data-skin="wrmfzy"] :is(.ps-cart__legend, .ps-cart__option span) {
	font-family: var(--skin-font-label);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

[data-skin="wrmfzy"] .ps-cart__option span {
	border-radius: 0;
}

[data-skin="wrmfzy"] .ps-cta__note {
	color: var(--wz-muted);
	font-size: 13px;
	opacity: 1;
}

/* ---------- FAQ, Countdown and Video: hairlines instead of panels ---------- */

[data-skin="wrmfzy"] .ps-faq {
	gap: 0;
}

[data-skin="wrmfzy"] .ps-faq__item {
	background: none;
	color: inherit;
	border: 0;
	border-top: 1px solid var(--wz-rule);
}

[data-skin="wrmfzy"] .ps-faq__item:last-child {
	border-bottom: 1px solid var(--wz-rule);
}

[data-skin="wrmfzy"] .ps-faq__question {
	padding: 20px 40px 20px 0;
	font-size: 18px;
	font-weight: 400;
	text-transform: none;
}

[data-skin="wrmfzy"] .ps-faq__question::after {
	right: 0;
	color: inherit;
	font-weight: 300;
}

[data-skin="wrmfzy"] .ps-faq__answer {
	padding: 0 0 20px;
}

[data-skin="wrmfzy"] .ps-countdown__unit {
	background: none;
	color: inherit;
	border: 0;
	border-top: 1px solid var(--wz-rule);
}

[data-skin="wrmfzy"] .ps-countdown__label {
	color: var(--wz-muted);
	font-size: 11px;
	font-weight: 500;
}

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
	[data-skin="wrmfzy"] .ps-products ul.products,
	[data-skin="wrmfzy"] .ps-specs--columns .ps-specs__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	/* Stacked Image + Text uses 32px, so a Group's default gap follows on smaller screens. */
	.ps-page[data-skin="wrmfzy"] {
		--skin-group-gap: 32px;
	}

	[data-skin="wrmfzy"] .ps-split,
	[data-skin="wrmfzy"] .ps-split--image-right {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	[data-skin="wrmfzy"] .ps-split--image-right .ps-split__media {
		order: 0;
	}
}

@media (max-width: 700px) {
	/* Mobile hero: copy full width, then a ruled row with the price left and the button right. */
	[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__inner {
		align-items: center;
		gap: 0;
	}

	[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__copy > *,
	[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__title {
		grid-column: 1 / -1;
	}

	[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__price,
	[data-skin="wrmfzy"] .ps-hero--launch .ps-buttons {
		grid-row: auto;
		align-self: stretch;
		align-items: center;
		margin: 12px 0 32px;
		padding-top: 16px;
		border-top: 1px solid var(--wz-rule);
	}

	[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__price {
		grid-column: 1;
		align-items: flex-start;
		gap: 4px;
	}

	/* Placed after the price, so auto-placement keeps them on one row (price column 2, button column 3). */
	[data-skin="wrmfzy"] .ps-hero--launch .ps-buttons {
		order: 1;
		grid-column: 2;
	}

	[data-skin="wrmfzy"] .ps-section--launch-hero {
		padding-bottom: 0;
	}

	[data-skin="wrmfzy"] .ps-hero--launch .ps-hero__stage {
		margin-top: 0;
	}

	[data-skin="wrmfzy"] .ps-products ul.products {
		gap: 24px 16px;
	}

	[data-skin="wrmfzy"] .ps-specs--columns .ps-specs__list {
		gap: 0 20px;
	}

	[data-skin="wrmfzy"] .ps-specs--columns .ps-specs__row {
		gap: 10px;
		padding: 14px 0 18px;
	}

	[data-skin="wrmfzy"] .ps-specs__row {
		grid-template-columns: minmax(0, 120px) minmax(0, 1fr);
		gap: 16px;
	}

	[data-skin="wrmfzy"] .ps-cta {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "eyebrow" "heading" "text" "buttons" "note";
	}

	[data-skin="wrmfzy"] .ps-cta__text {
		margin-bottom: 28px;
	}

	[data-skin="wrmfzy"] .ps-cta .ps-button {
		flex: 1;
		text-align: center;
	}

	[data-skin="wrmfzy"] .ps-cta__note {
		margin-top: 28px;
		text-align: left;
	}
}

/* Base CSS drops product cards to one column under 500px; this design keeps two. */
@media (max-width: 500px) {
	[data-skin="wrmfzy"] .ps-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ---------- Inside a side-by-side Group: a section may sit in a narrow column, so its two-column spreads stack ---------- */

[data-skin="wrmfzy"] .ps-group:not(.ps-group--stacked) .ps-group__item :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) {
	display: block;
}

[data-skin="wrmfzy"] .ps-group:not(.ps-group--stacked) .ps-group__item :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) .ps-eyebrow {
	margin-bottom: 20px;
}

/* Rich Text beside something else matches Image + Text's copy column. */
[data-skin="wrmfzy"] .ps-group:not(.ps-group--stacked) .ps-section--rich-text .ps-intro {
	margin-bottom: 28px;
}

[data-skin="wrmfzy"] .ps-group:not(.ps-group--stacked) .ps-section--rich-text .ps-intro .ps-eyebrow {
	margin-bottom: 28px;
}

[data-skin="wrmfzy"] .ps-group:not(.ps-group--stacked) .ps-group__item .ps-specs--columns :is(.ps-intro--split, .ps-intro--left:not(.ps-intro--stacked)) ~ .ps-specs__list {
	margin-left: 0;
}

[data-skin="wrmfzy"] .ps-group:not(.ps-group--stacked) .ps-group__item .ps-cta {
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "eyebrow" "heading" "text" "buttons" "note";
}

[data-skin="wrmfzy"] .ps-group:not(.ps-group--stacked) .ps-group__item .ps-cta__text {
	margin-bottom: 28px;
}

[data-skin="wrmfzy"] .ps-group:not(.ps-group--stacked) .ps-group__item .ps-cta .ps-buttons {
	justify-content: flex-start;
}

[data-skin="wrmfzy"] .ps-group:not(.ps-group--stacked) .ps-group__item .ps-cta__note {
	margin-top: 28px;
	text-align: left;
}
