/**
 * Optimus Engine — SaaS (main site) header and footer presets and the marketing hero styles.
 * presets/header-saas-*.php, presets/footer-saas-*.php, body.optimus-look-hero--{style} /
 * optimus-look-btn--{style} (src/Core/MainSite/Look, docs/core/mainsite-look.md). Main site only.
 * Colors come from the Design palette (theme.json presets), so light/dark mode follow automatically.
 */

.optimus-header.optimus-header--saas,
.optimus-footer--saas {
	--saas-brand: var(--optimus-c-primary);
	--saas-accent: var(--optimus-c-accent);
	--saas-on-brand: #fff;
	--saas-btn-radius: var(--optimus-button-radius, 10px);
	--saas-grad: linear-gradient(120deg, var(--saas-brand), color-mix(in srgb, var(--saas-brand) 45%, var(--saas-accent)));
}

/* =========================================================================
   Header — shared
   ========================================================================= */

.optimus-header.optimus-header--saas .optimus-header__bar {
	gap: clamp(.75rem, 2vw, 2rem);
}

.optimus-header.optimus-header--saas .optimus-header__end {
	gap: clamp(.75rem, 2vw, 1.75rem);
}

.optimus-header.optimus-header--saas .optimus-header__nav,
.optimus-header.optimus-header--saas .optimus-saas-nav {
	font-size: .975rem;
	font-weight: 550;
	--navigation-layout-gap: clamp(1rem, 2vw, 1.75rem);
	gap: clamp(1rem, 2vw, 1.75rem);
}

.optimus-header.optimus-header--saas .optimus-saas-nav .wp-block-navigation-item__content {
	padding-block: .5rem;
	transition: color .2s;
}

.optimus-header.optimus-header--saas :is(.optimus-header__nav, .optimus-saas-nav) > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.optimus-header.optimus-header--saas :is(.optimus-header__nav, .optimus-saas-nav) [aria-current="page"] {
	color: var(--saas-brand);
}

.optimus-header.optimus-header--saas .optimus-site-title {
	font-weight: 800;
	letter-spacing: -.02em;
}

/* Actions: light/dark switch, languages, Sign in, Start free */
.optimus-saas-actions {
	align-items: center;
	flex-shrink: 0;
}

.optimus-saas-actions .wp-block-buttons {
	gap: .5rem;
	flex-wrap: nowrap;
}

.optimus-saas-actions .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.625rem;
	padding: .55rem 1.15rem;
	border: 1.5px solid transparent;
	border-radius: var(--saas-btn-radius);
	font-size: .95rem;
	font-weight: 650;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s, transform .15s;
}

.optimus-saas-actions .wp-block-button__link:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--saas-brand) 40%, transparent);
	outline-offset: 2px;
}

.optimus-saas-start .wp-block-button__link {
	background: var(--saas-brand);
	color: var(--saas-on-brand) !important;
	box-shadow: 0 6px 16px -8px var(--saas-brand);
}

.optimus-saas-start .wp-block-button__link:hover {
	background: color-mix(in srgb, var(--saas-brand) 88%, #000);
	transform: translateY(-1px);
}

.optimus-saas-signin.is-style-outline .wp-block-button__link,
.optimus-saas-signin .wp-block-button__link {
	background: transparent;
	color: inherit !important;
	border-color: transparent;
}

.optimus-saas-signin .wp-block-button__link:hover {
	background: color-mix(in srgb, currentColor 8%, transparent);
}

.optimus-saas-actions .optimus-language-switcher {
	font-size: .875rem;
}

body.optimus-look-btn--gradient .optimus-saas-start .wp-block-button__link {
	background: var(--saas-grad);
}

/* Mobile: the hamburger goes to the far end; "Sign in" moves into the menu area under 600px. */
@media (max-width: 1023.98px) {
	.optimus-header.optimus-header--saas .optimus-header__end > :is(.optimus-header__nav, .optimus-saas-nav) {
		order: 3;
	}
}

@media (max-width: 599.98px) {
	.optimus-saas-actions .wp-block-buttons > .wp-block-button.optimus-saas-signin {
		display: none;
	}

	.optimus-header.optimus-header--saas .optimus-site-title {
		min-inline-size: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 1.05rem;
	}

	.optimus-saas-actions .wp-block-button__link {
		min-block-size: 2.375rem;
		padding: .45rem .9rem;
		font-size: .9rem;
	}

	.optimus-header.optimus-header--saas .optimus-header__bar {
		gap: .5rem;
	}

	.optimus-header.optimus-header--saas .optimus-header__end {
		gap: .375rem;
	}
}

/* Open mobile menu */
.optimus-header.optimus-header--saas .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-block-start: 3.5rem;
	gap: 1rem;
}

.optimus-header.optimus-header--saas .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-size: 1.25rem;
	font-weight: 600;
}

.optimus-header.optimus-header--saas .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	font-size: 1rem;
	font-weight: 500;
}

/* =========================================================================
   Header — Clean bar
   ========================================================================= */

.optimus-header.optimus-header--saas-clean {
	backdrop-filter: saturate(1.4) blur(10px);
}

/* =========================================================================
   Header — Centered menu (logo | menu | actions)
   ========================================================================= */

@media (min-width: 1024px) {
	.optimus-header.optimus-header--saas-centered .optimus-saas-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		align-items: center;
	}

	.optimus-header.optimus-header--saas-centered .optimus-saas-grid > .optimus-saas-actions {
		justify-self: end;
	}
}

@media (max-width: 1023.98px) {
	.optimus-header.optimus-header--saas-centered .optimus-saas-grid > .optimus-header__brand {
		margin-inline-end: auto;
	}

	.optimus-header.optimus-header--saas-centered .optimus-saas-grid > .optimus-header__nav {
		order: 3;
	}
}

/* =========================================================================
   Header — Bold gradient: floats over the first section (hero) with white text
   ========================================================================= */

.optimus-header.optimus-header--saas-gradient {
	border-block-end-color: transparent;
	background: var(--saas-grad);
	color: #fff;
}

.optimus-header.optimus-header--saas-gradient :where(a:not(.wp-block-button__link), .wp-block-navigation-item__content, .wp-block-site-title a, .wp-block-navigation__responsive-container-open) {
	color: #fff;
}

.optimus-header.optimus-header--saas-gradient :is(.optimus-header__nav, .optimus-saas-nav) > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
	color: #fff;
	opacity: .8;
}

body .optimus-header.optimus-header--saas-gradient .optimus-saas-start .wp-block-button__link {
	background: #fff;
	color: color-mix(in srgb, var(--saas-brand) 80%, #000) !important;
	box-shadow: 0 8px 22px -12px rgba(0, 0, 0, .5);
}

body .optimus-header.optimus-header--saas-gradient .optimus-saas-start .wp-block-button__link:hover {
	background: color-mix(in srgb, #fff 90%, var(--saas-brand));
}

.optimus-header.optimus-header--saas-gradient .optimus-saas-signin .wp-block-button__link {
	border-color: rgba(255, 255, 255, .45);
}

/* Over a hero (the page starts with a marketing hero section): transparent, positioned over it. */
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) > .wp-block-template-part:first-child {
	position: absolute;
	inset-inline: 0;
	inset-block-start: var(--optimus-admin-bar);
}

body.optimus-header--sticky .wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) > .wp-block-template-part:first-child {
	position: fixed;
}

.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) .optimus-header.optimus-header--saas-gradient {
	background: transparent;
	box-shadow: none;
}

body.is-scrolled .wp-site-blocks .optimus-header.optimus-header--saas-gradient {
	background: var(--saas-grad);
	box-shadow: 0 8px 30px -12px rgba(0, 0, 0, .45);
}

.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) > *,
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main {
	margin-block-start: 0;
}

.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .optimus-mk-section:first-child.is-hero,
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .wp-block-post-content > .optimus-mk-section:first-child.is-hero,
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .optimus-mk-section:first-child.is-pagehero,
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .wp-block-post-content > .optimus-mk-section:first-child.is-pagehero {
	margin-block-start: 0;
	padding-block-start: calc(var(--optimus-header-height) + clamp(48px, 7vw, 96px));
}

/* Under the gradient header the first hero is always bold, so the white header stays readable. */
body:not(.optimus-look-hero--dark) .wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .optimus-mk-section:first-child.is-hero,
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .wp-block-post-content > .optimus-mk-section:first-child.is-hero,
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .optimus-mk-section:first-child.is-pagehero,
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .wp-block-post-content > .optimus-mk-section:first-child.is-pagehero {
	--mk-ink: #fff;
	--mk-muted: rgba(255, 255, 255, .84);
	--mk-tint: rgba(255, 255, 255, .16);
	--mk-brand-700: #fff;
	background: radial-gradient(900px 480px at 85% 0%, color-mix(in srgb, var(--mk-accent) 45%, transparent), transparent 70%), linear-gradient(135deg, var(--mk-brand), color-mix(in srgb, var(--mk-brand) 55%, #0b0f1c));
	color: #fff;
}

body:not(.optimus-look-hero--dark) .wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .optimus-mk-section:first-child.is-hero .optimus-mk,
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .wp-block-post-content > .optimus-mk-section:first-child.is-hero .optimus-mk {
	--mk-ink: #fff;
	--mk-muted: rgba(255, 255, 255, .84);
	--mk-tint: rgba(255, 255, 255, .16);
	--mk-brand-700: #fff;
}

.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .optimus-mk-section:first-child.is-hero :is(h1, h2, .optimus-mk-cta__title),
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .wp-block-post-content > .optimus-mk-section:first-child.is-hero :is(h1, h2, .optimus-mk-cta__title),
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .optimus-mk-section:first-child.is-pagehero :is(h1, h2, p),
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .wp-block-post-content > .optimus-mk-section:first-child.is-pagehero :is(h1, h2, p) {
	color: #fff;
}

.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .optimus-mk-section:first-child.is-hero :is(.optimus-mk-cta__text, .optimus-mk-cta__trial),
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .wp-block-post-content > .optimus-mk-section:first-child.is-hero :is(.optimus-mk-cta__text, .optimus-mk-cta__trial) {
	color: rgba(255, 255, 255, .86);
}

.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .optimus-mk-section:first-child.is-hero .optimus-mk-btn--primary,
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .wp-block-post-content > .optimus-mk-section:first-child.is-hero .optimus-mk-btn--primary {
	background: #fff;
	color: color-mix(in srgb, var(--mk-brand) 80%, #000) !important;
}

.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .optimus-mk-section:first-child.is-hero .optimus-mk-btn--ghost,
.wp-site-blocks:has(> .wp-block-template-part > .optimus-header.optimus-header--saas-gradient):has(main > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero), main > .wp-block-post-content > .optimus-mk-section:first-child:is(.is-hero, .is-pagehero)) main > .wp-block-post-content > .optimus-mk-section:first-child.is-hero .optimus-mk-btn--ghost {
	color: #fff !important;
	border-color: rgba(255, 255, 255, .45);
}

/* =========================================================================
   Header — Announcement + mega menu
   ========================================================================= */

.optimus-saas-strip {
	padding-block: .45rem;
	padding-inline: 1rem;
	background: var(--saas-grad);
	color: #fff;
	font-size: .875rem;
}

.optimus-saas-strip__text {
	margin: 0;
	color: #fff;
	line-height: 1.4;
}

.optimus-saas-strip__text a {
	color: #fff !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: .2em;
	white-space: nowrap;
}

.optimus-saas-strip__tag {
	display: inline-block;
	margin-inline-end: .35rem;
	padding: .1rem .5rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .22);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	vertical-align: 1px;
}

.optimus-header.optimus-header--saas-mega .optimus-header__start {
	gap: clamp(1rem, 3vw, 2.5rem);
	min-inline-size: 0;
}

@media (max-width: 1023.98px) {
	.optimus-header.optimus-header--saas-mega .optimus-header__start {
		display: contents;
	}

	.optimus-header.optimus-header--saas-mega .optimus-header__bar > .optimus-saas-actions {
		margin-inline-start: auto;
	}

	.optimus-header.optimus-header--saas-mega .optimus-saas-mega {
		order: 3;
	}
}

@media (min-width: 1024px) {
	.optimus-saas-mega .wp-block-navigation__submenu-container {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .25rem;
		min-inline-size: 520px !important;
		padding: .75rem !important;
		border: 1px solid var(--optimus-c-border) !important;
		border-radius: calc(var(--optimus-radius) + 4px);
		background: var(--optimus-c-base) !important;
		color: var(--optimus-c-text) !important;
		box-shadow: 0 24px 60px -24px rgba(15, 23, 42, .35), 0 2px 6px rgba(15, 23, 42, .06);
		inset-block-start: calc(100% + .5rem) !important;
	}

	.optimus-saas-mega .wp-block-navigation__submenu-container::before {
		content: "";
		position: absolute;
		inset: -.6rem 0 auto;
		block-size: .6rem;
	}

	.optimus-saas-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: flex !important;
		flex-direction: column;
		gap: .15rem;
		padding: .7rem .85rem !important;
		border-radius: var(--optimus-radius);
		color: var(--optimus-c-text) !important;
		font-weight: 650;
		transition: background-color .15s;
	}

	.optimus-saas-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.optimus-saas-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
		background: color-mix(in srgb, var(--saas-brand) 8%, var(--optimus-c-base));
	}
}

.optimus-saas-mega .wp-block-navigation-item__description {
	display: block;
	color: var(--optimus-c-muted);
	font-size: .82rem;
	font-weight: 450;
	line-height: 1.35;
}

.optimus-saas-mega .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__description {
	display: none;
}

.optimus-saas-mega .wp-block-navigation-submenu__toggle {
	color: inherit;
}

/* =========================================================================
   Header — Minimal (logo + Start free + menu button)
   ========================================================================= */

.optimus-header.optimus-header--saas-minimal {
	border-block-end-color: color-mix(in srgb, var(--optimus-c-border) 70%, transparent);
}

.optimus-header.optimus-header--saas-minimal .wp-block-navigation__responsive-container-open {
	display: inline-grid;
	place-items: center;
	inline-size: 2.625rem;
	block-size: 2.625rem;
	border: 1.5px solid var(--optimus-c-border);
	border-radius: var(--saas-btn-radius);
}

.optimus-header.optimus-header--saas-minimal .wp-block-navigation__responsive-container-open:hover {
	border-color: var(--optimus-c-text);
}

/* =========================================================================
   Footer — shared
   ========================================================================= */

.optimus-footer--saas {
	padding-block: clamp(3rem, 7vw, 5rem) 1.5rem;
}

.optimus-footer--saas > * + * {
	margin-block-start: clamp(2rem, 4vw, 3rem);
}

.optimus-footer--saas .optimus-footer__columns {
	row-gap: 2.25rem;
}

.optimus-footer--saas .optimus-footer__about p {
	max-inline-size: 34ch;
	margin-block: 1rem;
}

.optimus-footer--saas .optimus-footer__title {
	margin-block: .25rem 1rem;
	color: var(--optimus-footer-link);
	font-size: .78rem !important;
	font-weight: 750;
	letter-spacing: .1em;
	opacity: .95;
}

.optimus-footer__colnav {
	gap: .65rem !important;
}

.optimus-footer__colnav .wp-block-navigation-item__content {
	padding: 0;
	color: var(--optimus-footer-color) !important;
	text-decoration: none;
	transition: color .15s;
}

.optimus-footer__colnav .wp-block-navigation-item__content:hover {
	color: var(--optimus-footer-link) !important;
	text-decoration: none !important;
}

@media (max-width: 781px) {
	.optimus-footer--saas .optimus-saas-cols {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem 1.5rem;
	}

	.optimus-footer--saas .optimus-saas-cols > .optimus-footer__about {
		grid-column: 1 / -1;
	}
}

.optimus-saas-bottom {
	align-items: center;
	gap: .75rem 1.5rem;
	font-size: .875rem;
}

.optimus-saas-bottom .optimus-copyright {
	margin: 0;
	color: color-mix(in srgb, var(--optimus-footer-color) 90%, transparent);
}

.optimus-saas-bottom__end {
	align-items: center;
	gap: 1rem;
}

/* Pages that already end with a newsletter section don't repeat it in the footer. */
.wp-site-blocks:has(main .optimus-mk-section.is-newsletter) .optimus-saas-newsrow {
	display: none;
}

/* Newsletter (optimus/lead-form) on the footer background */
.optimus-footer--saas .optimus-mk-lead {
	--mk-ink: var(--optimus-footer-link);
	--mk-muted: var(--optimus-footer-color);
	--mk-bg: color-mix(in srgb, var(--optimus-footer-link) 6%, var(--optimus-footer-bg));
	--mk-line: color-mix(in srgb, var(--optimus-footer-color) 25%, transparent);
	color: var(--optimus-footer-color);
}

.optimus-footer--saas .optimus-mk-lead__title {
	color: var(--optimus-footer-link);
}

.optimus-footer--saas .optimus-mk-field input {
	border-color: color-mix(in srgb, var(--optimus-footer-color) 35%, transparent);
	background: color-mix(in srgb, var(--optimus-footer-link) 7%, var(--optimus-footer-bg));
	color: var(--optimus-footer-link);
}

.optimus-footer--saas .optimus-mk-field input::placeholder {
	color: color-mix(in srgb, var(--optimus-footer-color) 75%, transparent);
}

.optimus-footer--saas .optimus-mk-check a {
	color: var(--optimus-footer-link);
}

/* =========================================================================
   Footer — Columns: newsletter row
   ========================================================================= */

.optimus-saas-newsrow {
	padding: clamp(1.5rem, 3.5vw, 2.5rem);
	border: 1px solid color-mix(in srgb, var(--optimus-footer-color) 18%, transparent);
	border-radius: calc(var(--optimus-radius) + 6px);
	background: color-mix(in srgb, var(--optimus-footer-link) 4%, transparent);
}

@media (min-width: 900px) {
	.optimus-saas-newsrow .optimus-mk-lead.is-inline {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
		column-gap: 2.5rem;
		align-items: center;
		max-width: none;
		text-align: start;
	}

	.optimus-saas-newsrow .optimus-mk-lead.is-inline .optimus-mk-lead__title,
	.optimus-saas-newsrow .optimus-mk-lead.is-inline .optimus-mk-lead__text {
		grid-column: 1;
	}

	.optimus-saas-newsrow .optimus-mk-lead.is-inline .optimus-mk-lead__text {
		margin-block-end: 0;
	}

	.optimus-saas-newsrow .optimus-mk-lead.is-inline .optimus-mk-lead__form {
		grid-column: 2;
		grid-row: 1 / span 2;
		max-width: none;
		margin: 0;
	}
}

/* =========================================================================
   Footer — Big CTA
   ========================================================================= */

.optimus-saas-bigcta {
	position: relative;
	overflow: hidden;
	padding: clamp(2.25rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3rem);
	border-radius: calc(var(--optimus-radius) + 10px);
	background: radial-gradient(700px 360px at 90% 0%, color-mix(in srgb, var(--saas-accent) 40%, transparent), transparent 70%), var(--saas-grad);
	color: #fff;
	box-shadow: 0 30px 60px -30px color-mix(in srgb, var(--saas-brand) 70%, transparent);
}

.optimus-saas-bigcta .optimus-mk-cta {
	--mk-ink: #fff;
	--mk-muted: rgba(255, 255, 255, .85);
	--mk-tint: rgba(255, 255, 255, .18);
	--mk-brand-700: #fff;
	--mk-success: #fff;
	color: #fff;
}

.optimus-footer .optimus-saas-bigcta :is(.optimus-mk-cta__text, .optimus-mk-cta__trial) {
	color: rgba(255, 255, 255, .88);
}

.optimus-footer .optimus-saas-bigcta .optimus-mk-eyebrow {
	background: rgba(255, 255, 255, .18);
	color: #fff;
}

.optimus-saas-bigcta .optimus-mk-cta__title {
	color: #fff;
	margin-inline: auto;
	max-width: 22ch;
}

body .optimus-footer .optimus-saas-bigcta .optimus-mk-btn--primary {
	background: #fff;
	color: color-mix(in srgb, var(--saas-brand) 80%, #000) !important;
	box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .45);
}

body .optimus-footer .optimus-saas-bigcta .optimus-mk-btn--primary:hover {
	background: color-mix(in srgb, #fff 90%, var(--saas-brand));
}

.optimus-saas-bigcta .optimus-mk-btn--ghost {
	color: #fff !important;
	border-color: rgba(255, 255, 255, .5);
}

.optimus-saas-cols.is-compact .optimus-footer__about .wp-block-social-links {
	margin-block-start: 1rem;
}

/* =========================================================================
   Footer — Minimal
   ========================================================================= */

.optimus-footer--saas-minimal {
	padding-block: 2rem 1.25rem;
}

.optimus-saas-minirow {
	align-items: center;
	gap: 1rem 2rem;
}

.optimus-footer--saas-minimal .optimus-footer__nav {
	gap: .5rem 1.5rem !important;
	font-weight: 550;
}

.optimus-footer--saas-minimal .optimus-saas-bottom {
	padding-block-start: 1rem;
}

@media (max-width: 781px) {
	.optimus-saas-minirow {
		flex-direction: column;
		text-align: center;
	}

	.optimus-footer--saas-minimal .optimus-saas-bottom {
		justify-content: center !important;
		text-align: center;
	}
}

/* =========================================================================
   Footer — Dark with newsletter (always dark, tinted by the brand)
   ========================================================================= */

.optimus-footer.optimus-footer--saas-dark {
	--optimus-footer-bg: color-mix(in srgb, var(--saas-brand) 9%, #05070d);
	--optimus-footer-color: #a7afc0;
	--optimus-footer-link: #f4f6fb;
	position: relative;
	overflow: hidden;
	background: radial-gradient(900px 420px at 0% 0%, color-mix(in srgb, var(--saas-brand) 28%, transparent), transparent 65%), var(--optimus-footer-bg);
	color: var(--optimus-footer-color);
}

.optimus-saas-darktop {
	row-gap: 2.5rem;
}

.optimus-saas-darktop__news .optimus-mk-lead {
	margin-block: 1.25rem;
	max-width: 460px;
	margin-inline: 0;
}

.optimus-saas-darktop__news .optimus-mk-lead__title {
	font-size: clamp(1.5rem, 2.6vw, 2rem);
}

.optimus-saas-darktop__news .optimus-mk-lead.is-stacked .optimus-mk-lead__fields {
	grid-template-columns: 1fr;
}

.optimus-saas-darktop__news .optimus-mk-btn--primary {
	background: var(--saas-brand);
	color: var(--saas-on-brand) !important;
}

body.optimus-look-btn--gradient .optimus-footer--saas :is(.optimus-saas-newsrow, .optimus-saas-darktop__news) .optimus-mk-btn--primary {
	background: var(--saas-grad);
}

.optimus-saas-cols.is-nested {
	margin: 0;
	row-gap: 2rem;
}

.optimus-footer--saas-dark .optimus-saas-bottom {
	border-block-start-color: rgba(255, 255, 255, .1);
}

/* =========================================================================
   Marketing hero styles (body.optimus-look-hero--{style}) — .optimus-mk-section.is-hero
   ========================================================================= */

/* Aurora: the default soft glow (marketing.css). */

/* Bold gradient */
body.optimus-look-hero--gradient .optimus-mk-section.is-hero .optimus-mk {
	--mk-ink: #fff;
	--mk-muted: rgba(255, 255, 255, .85);
	--mk-tint: rgba(255, 255, 255, .16);
	--mk-brand-700: #fff;
}

body.optimus-look-hero--gradient .optimus-mk-section.is-hero {
	--mk-ink: #fff;
	--mk-muted: rgba(255, 255, 255, .85);
	--mk-tint: rgba(255, 255, 255, .16);
	--mk-brand-700: #fff;
	--mk-success: #fff;
	background: radial-gradient(900px 480px at 85% 0%, color-mix(in srgb, var(--mk-accent) 50%, transparent), transparent 70%),
		radial-gradient(700px 420px at 0% 100%, color-mix(in srgb, var(--mk-brand) 60%, #000), transparent 70%),
		linear-gradient(135deg, var(--mk-brand), color-mix(in srgb, var(--mk-brand) 50%, #0b0f1c));
	color: #fff;
}

body.optimus-look-hero--gradient .optimus-mk-section.is-hero .optimus-mk-btn--primary,
body.optimus-look-hero--dark .optimus-mk-section.is-hero .optimus-mk-btn--primary {
	background: #fff;
	color: color-mix(in srgb, var(--mk-brand) 80%, #000) !important;
	box-shadow: 0 12px 30px -14px rgba(0, 0, 0, .6);
}

body.optimus-look-hero--gradient .optimus-mk-section.is-hero .optimus-mk-btn--ghost,
body.optimus-look-hero--dark .optimus-mk-section.is-hero .optimus-mk-btn--ghost {
	color: #fff !important;
	border-color: rgba(255, 255, 255, .45);
}

body:is(.optimus-look-hero--gradient, .optimus-look-hero--dark) .optimus-mk-section.is-hero :is(h1, h2, .optimus-mk-cta__title) {
	color: #fff;
}

body:is(.optimus-look-hero--gradient, .optimus-look-hero--dark) .optimus-mk-section.is-hero :is(.optimus-mk-cta__text, .optimus-mk-cta__trial) {
	color: rgba(255, 255, 255, .86);
}

/* Mesh */
body.optimus-look-hero--mesh .optimus-mk-section.is-hero {
	background: radial-gradient(600px 400px at 12% 18%, color-mix(in srgb, var(--mk-brand) 26%, transparent), transparent 70%),
		radial-gradient(560px 380px at 88% 12%, color-mix(in srgb, var(--mk-accent) 30%, transparent), transparent 70%),
		radial-gradient(700px 420px at 60% 110%, color-mix(in srgb, var(--mk-brand) 18%, var(--mk-accent) 10%), transparent 70%),
		var(--mk-soft);
}

/* Minimal */
body.optimus-look-hero--minimal .optimus-mk-section.is-hero {
	background: var(--mk-bg);
	border-block-end: 1px solid var(--mk-line);
}

body.optimus-look-hero--minimal .optimus-mk-section.is-hero .optimus-mk-eyebrow {
	background: transparent;
	border: 1px solid var(--mk-line);
	color: var(--mk-ink);
}

/* Dark */
body.optimus-look-hero--dark .optimus-mk-section.is-hero .optimus-mk {
	--mk-ink: #f4f6fb;
	--mk-muted: rgba(226, 232, 240, .78);
	--mk-tint: rgba(255, 255, 255, .16);
	--mk-brand-700: #fff;
}

body.optimus-look-hero--dark .optimus-mk-section.is-hero {
	--mk-ink: #f4f6fb;
	--mk-muted: rgba(226, 232, 240, .78);
	--mk-tint: color-mix(in srgb, var(--mk-brand) 28%, transparent);
	--mk-brand-700: color-mix(in srgb, var(--mk-brand) 35%, #fff);
	background: radial-gradient(800px 460px at 50% -10%, color-mix(in srgb, var(--mk-brand) 55%, transparent), transparent 70%),
		radial-gradient(600px 360px at 100% 100%, color-mix(in srgb, var(--mk-accent) 25%, transparent), transparent 70%),
		color-mix(in srgb, var(--mk-brand) 10%, #05070d);
	color: #f4f6fb;
}

/* Spotlight: grid lines + a beam of light */
body.optimus-look-hero--spotlight .optimus-mk-section.is-hero {
	background: radial-gradient(ellipse 60% 55% at 50% 0%, color-mix(in srgb, var(--mk-brand) 22%, transparent), transparent 70%),
		linear-gradient(to right, color-mix(in srgb, var(--mk-line) 70%, transparent) 1px, transparent 1px) 0 0 / 56px 56px,
		linear-gradient(to bottom, color-mix(in srgb, var(--mk-line) 70%, transparent) 1px, transparent 1px) 0 0 / 56px 56px,
		var(--mk-bg);
}

body.optimus-look-hero--spotlight .optimus-mk-section.is-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	block-size: 40%;
	background: linear-gradient(to bottom, transparent, var(--mk-bg));
	pointer-events: none;
}

body.optimus-look-hero--spotlight .optimus-mk-section.is-hero > * {
	position: relative;
	z-index: 1;
}

/* Gradient buttons in the marketing blocks */
body.optimus-look-btn--gradient .optimus-mk-btn--primary {
	background: linear-gradient(120deg, var(--mk-brand), color-mix(in srgb, var(--mk-brand) 40%, var(--mk-accent)));
	border-color: transparent;
}

body.optimus-look-btn--gradient .optimus-mk-btn--primary:hover {
	filter: brightness(1.05);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.optimus-saas-actions .wp-block-button__link,
	.optimus-footer__colnav .wp-block-navigation-item__content {
		transition: none;
	}

	.optimus-saas-start .wp-block-button__link:hover {
		transform: none;
	}
}
