/**
 * GutenFlow — Frontend styles applied to generated pages.
 *
 * Scoped via body class `gutenflow-generated-page` (set by the plugin on the frontend
 * when viewing a page with _gutenflow_generated meta) AND by per-section classes like
 * `.gutenflow-section--hero`. This keeps GutenFlow-generated pages consistently styled
 * and mobile-responsive regardless of the active theme.
 */

/* ---------- Root tokens ---------- */
:root,
.gutenflow-generated-page {
	--gf-primary:    #7c3aed;
	--gf-secondary:  #0f172a;
	--gf-accent:     #06b6d4;
	--gf-rose:       #e11d48;
	--gf-sun:        #f59e0b;
	--gf-lavender:   #ede9fe;
	--gf-ink:        #0f172a;
	--gf-muted:      #475569;
	--gf-line:       #e2e8f0;
	--gf-surface:    #ffffff;
	--gf-surface-2:  #f8fafc;
	--gf-radius:     16px;
	--gf-radius-lg:  24px;
	--gf-shadow-sm:  0 1px 2px rgba(15, 23, 42, 0.06);
	--gf-shadow-md:  0 10px 25px -10px rgba(15, 23, 42, 0.18);
	--gf-shadow-lg:  0 24px 60px -24px rgba(15, 23, 42, 0.25);
	--gf-ease:       cubic-bezier(.2, .8, .2, 1);
}

/* ---------- Blocksy shell polish ---------- */
.gutenflow-generated-page .hero-section {
	display: none;
}
.gutenflow-generated-page #header,
.gutenflow-generated-page header.ct-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 9999 !important;
	background: rgba(255, 255, 255, .94) !important;
	backdrop-filter: blur(16px);
	box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
}
.admin-bar.gutenflow-generated-page #header,
.admin-bar.gutenflow-generated-page header.ct-header {
	top: 32px !important;
}
.gutenflow-generated-page #header [data-row],
.gutenflow-generated-page header.ct-header [data-row] {
	min-height: 76px;
}
.gutenflow-generated-page #header [data-row="middle"],
.gutenflow-generated-page header.ct-header [data-row="middle"] {
	--height: 76px;
}
.gutenflow-generated-page #offcanvas.ct-header {
	position: fixed !important;
	top: 0 !important;
	z-index: 10000 !important;
}
.gutenflow-generated-page .ct-container-full[data-vertical-spacing],
.gutenflow-generated-page main,
.gutenflow-generated-page .site-main,
.gutenflow-generated-page .entry-content {
	padding-top: 0;
	margin-top: 0;
}
.gutenflow-generated-page.gutenflow-has-logo .site-title a,
.gutenflow-generated-page.gutenflow-has-logo .site-branding a:not(.custom-logo-link) {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 180px !important;
	min-width: 180px !important;
	max-width: 180px !important;
	height: 72px !important;
	min-height: 72px !important;
	max-height: 72px !important;
	flex: 0 0 180px !important;
	font-size: 0 !important;
	line-height: 0 !important;
	overflow: hidden !important;
}
.gutenflow-generated-page.gutenflow-has-logo .site-title-container,
.gutenflow-generated-page.gutenflow-has-logo .site-title {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	white-space: nowrap !important;
}
.gutenflow-generated-page.gutenflow-has-logo .site-branding,
.gutenflow-generated-page.gutenflow-has-logo [data-id="logo"],
.gutenflow-generated-page.gutenflow-has-logo .site-logo-container {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 180px !important;
	min-width: 180px !important;
	height: 72px !important;
	min-height: 72px !important;
	max-width: 180px !important;
	max-height: 72px !important;
	flex: 0 0 180px !important;
	overflow: hidden !important;
}
.gutenflow-generated-page.gutenflow-has-logo .site-title a::before,
.gutenflow-generated-page.gutenflow-has-logo .site-branding a:not(.custom-logo-link)::before {
	content: "";
	display: block;
	width: 180px;
	height: 72px;
	background-image: var(--gf-logo-url);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
}
.gutenflow-generated-page .custom-logo-link,
.gutenflow-generated-page .site-logo-container,
.gutenflow-generated-page [data-id="logo"] {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 180px !important;
	min-width: 180px !important;
	max-width: 180px !important;
	height: 72px !important;
	min-height: 72px !important;
	max-height: 72px !important;
	flex: 0 0 180px !important;
	overflow: hidden !important;
}
.gutenflow-generated-page .custom-logo,
.gutenflow-generated-page img.custom-logo,
.gutenflow-generated-page .custom-logo-link img,
.gutenflow-generated-page .site-logo-container img,
.gutenflow-generated-page [data-id="logo"] img {
	display: block !important;
	position: static !important;
	inset: auto !important;
	transform: none !important;
	width: 180px !important;
	height: 72px !important;
	max-width: 180px !important;
	max-height: 72px !important;
	flex: 0 0 auto !important;
	object-fit: contain !important;
	object-position: left center !important;
}
.gutenflow-generated-page:not(.gutenflow-has-logo) .site-title {
	font-weight: 800;
	font-size: 1.2rem;
}
.gutenflow-generated-page .header-menu-1 .ct-menu-link {
	min-height: 54px;
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0;
	color: #0f172a !important;
	opacity: 1 !important;
	text-shadow: none !important;
}
.gutenflow-generated-page #header .ct-menu-link,
.gutenflow-generated-page header.ct-header .ct-menu-link,
.gutenflow-generated-page #header .menu a,
.gutenflow-generated-page header.ct-header .menu a {
	color: #0f172a !important;
	opacity: 1 !important;
	text-shadow: none !important;
}
.gutenflow-generated-page #header .current-menu-item > .ct-menu-link,
.gutenflow-generated-page header.ct-header .current-menu-item > .ct-menu-link,
.gutenflow-generated-page #header .ct-menu-link:hover,
.gutenflow-generated-page header.ct-header .ct-menu-link:hover {
	color: var(--gf-primary) !important;
}
.gutenflow-generated-page #header [data-id="search"],
.gutenflow-generated-page header.ct-header [data-id="search"],
.gutenflow-generated-page #header .ct-header-search,
.gutenflow-generated-page header.ct-header .ct-header-search,
.gutenflow-generated-page #header .ct-header-trigger,
.gutenflow-generated-page header.ct-header .ct-header-trigger {
	color: #0f172a !important;
	--theme-icon-color: #0f172a !important;
	--theme-link-initial-color: #0f172a !important;
	opacity: 1 !important;
}
.gutenflow-generated-page #header svg,
.gutenflow-generated-page header.ct-header svg {
	color: currentColor !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}
.gutenflow-generated-page .ct-footer,
.gutenflow-generated-page .ct-footer [data-row],
.gutenflow-generated-page .ct-footer [data-row="bottom"] {
	background: transparent;
	padding-top: 0;
	padding-bottom: 0;
}
.gutenflow-generated-page .ct-footer [data-row] > .ct-container,
.gutenflow-generated-page .ct-footer-copyright {
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
}
.gutenflow-generated-page .gutenflow-footer {
	width: 100%;
	color: var(--gf-ink);
	text-align: left;
	background: #f8fafc;
}
.gutenflow-generated-page .gutenflow-footer a {
	color: inherit;
	text-decoration: none;
}
.gutenflow-generated-page .gutenflow-footer-newsletter {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) minmax(260px, 560px);
	gap: 2rem;
	align-items: center;
	padding: 1.25rem max(2rem, calc((100vw - 1160px) / 2));
	background: var(--gf-footer-accent, var(--gf-primary));
	color: #ffffff;
}
.gutenflow-generated-page .gutenflow-footer-newsletter > div {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}
.gutenflow-generated-page .gutenflow-footer-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.55);
	font-size: 1.1rem;
}
.gutenflow-generated-page .gutenflow-footer-newsletter strong {
	font-size: 1.25rem;
	line-height: 1.2;
}
.gutenflow-generated-page .gutenflow-footer-newsletter em {
	font-style: normal;
	font-weight: 650;
	opacity: .95;
}
.gutenflow-generated-page .gutenflow-footer-newsletter-cta {
	justify-self: stretch;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	border-radius: 999px;
	background: #0f172a;
	color: #ffffff !important;
	font-weight: 800;
}
.gutenflow-generated-page .gutenflow-footer-main {
	display: grid;
	grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(160px, .75fr));
	gap: clamp(1.5rem, 4vw, 4rem);
	padding: clamp(2.4rem, 5vw, 4rem) max(2rem, calc((100vw - 1160px) / 2));
	background: #f8fafc;
	color: #0f172a;
}
.gutenflow-generated-page .gutenflow-footer-main h3 {
	margin: 0 0 1rem;
	font-size: 1rem;
	color: #0f172a;
}
.gutenflow-generated-page .gutenflow-footer-main ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: .72rem;
}
.gutenflow-generated-page .gutenflow-footer-main li,
.gutenflow-generated-page .gutenflow-footer-main p {
	color: #334155;
	margin: 0 0 .8rem;
	line-height: 1.6;
}
.gutenflow-generated-page .gutenflow-footer-main a:hover {
	color: var(--gf-primary);
}
.gutenflow-generated-page .gutenflow-footer-logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 220px;
	max-height: 92px;
	object-fit: contain;
	margin: 0 0 1.2rem;
	padding: 8px 10px;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: var(--gf-shadow-sm);
}
.gutenflow-generated-page .gutenflow-footer-name {
	display: block;
	margin: 0 0 1.2rem;
	font-size: 1.7rem;
	line-height: 1.1;
	color: #0f172a;
}
.gutenflow-generated-page .gutenflow-footer-call span {
	display: block;
	color: #64748b;
	font-size: .85rem;
}
.gutenflow-generated-page .gutenflow-footer-call strong {
	display: block;
	margin-top: .2rem;
	font-size: 1.35rem;
	color: #0f172a;
}
.gutenflow-generated-page .gutenflow-footer-bottom {
	padding: 1rem max(2rem, calc((100vw - 1160px) / 2));
	background: #e5e7eb;
	color: #334155;
}
.gutenflow-generated-page .gutenflow-footer-bottom a {
	color: var(--gf-primary);
	font-weight: 800;
}

/* ---------- Shared section scaffolding ---------- */
.gutenflow-generated-page .gutenflow-section {
	position: relative;
	overflow: hidden;
}
.gutenflow-generated-page .gutenflow-section > .wp-block-group__inner-container,
.gutenflow-generated-page .gutenflow-section .wp-block-columns,
.gutenflow-generated-page .gutenflow-section .wp-block-heading,
.gutenflow-generated-page .gutenflow-section p {
	animation: gf-rise .6s var(--gf-ease) both;
}
@keyframes gf-rise {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Typography ---------- */
.gutenflow-generated-page h1.wp-block-heading {
	letter-spacing: 0;
	line-height: 1.05;
	font-weight: 800;
}
.gutenflow-generated-page h2.wp-block-heading {
	letter-spacing: 0;
	line-height: 1.15;
	font-weight: 800;
}
.gutenflow-generated-page h3.wp-block-heading {
	letter-spacing: 0;
	font-weight: 750;
}
.gutenflow-generated-page p {
	line-height: 1.7;
	color: var(--gf-muted);
}
.gutenflow-generated-page .gutenflow-section:not(.gutenflow-section--hero):not(.gutenflow-section--process):not(.gutenflow-section--cta) h1,
.gutenflow-generated-page .gutenflow-section:not(.gutenflow-section--hero):not(.gutenflow-section--process):not(.gutenflow-section--cta) h2,
.gutenflow-generated-page .gutenflow-section:not(.gutenflow-section--hero):not(.gutenflow-section--process):not(.gutenflow-section--cta) h3,
.gutenflow-generated-page .gutenflow-section:not(.gutenflow-section--hero):not(.gutenflow-section--process):not(.gutenflow-section--cta) .wp-block-heading {
	color: var(--gf-ink) !important;
	text-shadow: none !important;
}
.gutenflow-generated-page .gutenflow-section:not(.gutenflow-section--hero):not(.gutenflow-section--process):not(.gutenflow-section--cta):not(.gutenflow-section--contact) p,
.gutenflow-generated-page .gutenflow-section:not(.gutenflow-section--hero):not(.gutenflow-section--process):not(.gutenflow-section--cta):not(.gutenflow-section--contact) li {
	color: var(--gf-muted) !important;
	text-shadow: none !important;
}
.gutenflow-generated-page .wp-block-cover .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	text-shadow: 0 2px 14px rgba(2, 6, 23, .58);
}
.gutenflow-generated-page .wp-block-cover .wp-block-cover__inner-container h1,
.gutenflow-generated-page .wp-block-cover .wp-block-cover__inner-container h2,
.gutenflow-generated-page .wp-block-cover .wp-block-cover__inner-container h3,
.gutenflow-generated-page .wp-block-cover .wp-block-cover__inner-container p {
	color: #ffffff !important;
}
.gutenflow-generated-page .gutenflow-section:not(.gutenflow-section--hero) img {
	display: block;
	max-width: 100%;
	width: 100%;
	height: auto;
	max-height: 420px;
	object-fit: cover;
}
.gutenflow-generated-page .wp-block-cover__image-background {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---------- CTA buttons (global polish) ---------- */
.gutenflow-generated-page .wp-block-button__link {
	padding: 14px 28px;
	font-weight: 600;
	letter-spacing: 0.01em;
	border-radius: 999px;
	box-shadow: var(--gf-shadow-md);
	transition: transform .25s var(--gf-ease), box-shadow .25s var(--gf-ease), filter .25s var(--gf-ease);
}
.gutenflow-generated-page .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: var(--gf-shadow-lg);
	filter: brightness(1.05);
}
.gutenflow-generated-page .wp-block-button__link:focus-visible {
	outline: 3px solid var(--gf-primary);
	outline-offset: 3px;
}
.gutenflow-generated-page .gutenflow-funnel-buttons {
	margin-top: 2rem;
	gap: .8rem;
}
.gutenflow-generated-page .gutenflow-funnel-buttons .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--gf-primary) !important;
	border: 1px solid currentColor !important;
	box-shadow: none;
}
.gutenflow-generated-page .gutenflow-section--hero .gutenflow-funnel-buttons .wp-block-button.is-style-outline .wp-block-button__link,
.gutenflow-generated-page .gutenflow-section--cta .gutenflow-funnel-buttons .wp-block-button.is-style-outline .wp-block-button__link,
.gutenflow-generated-page .gutenflow-section--process .gutenflow-funnel-buttons .wp-block-button.is-style-outline .wp-block-button__link {
	color: #ffffff !important;
}

/* ---------- Hero ---------- */
.gutenflow-generated-page .gutenflow-section--hero {
	isolation: isolate;
	margin-top: 0 !important;
}
.gutenflow-generated-page .gutenflow-section--hero.wp-block-cover,
.gutenflow-generated-page .gutenflow-section--hero .wp-block-cover__background {
	background:
		linear-gradient(135deg, rgba(15, 23, 42, .78) 0%, rgba(76, 29, 149, .68) 46%, rgba(6, 182, 212, .34) 100%),
		repeating-linear-gradient(135deg, rgba(255,255,255,.14) 0 1px, transparent 1px 18px);
}
.gutenflow-generated-page .gutenflow-section--hero h1.wp-block-heading {
	font-size: 4rem;
	text-wrap: balance;
}
.gutenflow-generated-page .gutenflow-hero-logo {
	display: none !important;
}
.gutenflow-generated-page .gutenflow-hero-logo img {
	width: auto !important;
	max-width: 132px;
	max-height: 72px;
	object-fit: contain;
	padding: .55rem .75rem;
	border-radius: 18px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 16px 40px rgba(15, 23, 42, .18);
}
.gutenflow-generated-page .gutenflow-section--hero p {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	color: #f8fafc;
	font-size: 1.15rem;
}

.gutenflow-generated-page .gutenflow-section-intro {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

/* ---------- Features ---------- */
.gutenflow-generated-page .gutenflow-section--features {
	background:
		linear-gradient(135deg, rgba(237, 233, 254, .9) 0%, rgba(255, 255, 255, .94) 42%, rgba(224, 242, 254, .72) 100%);
}
.gutenflow-generated-page .gutenflow-section--features .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 1.5rem;
}
.gutenflow-generated-page .gutenflow-section--features .wp-block-column {
	background: var(--gf-surface);
	color: var(--gf-ink);
	padding: 2rem 1.75rem;
	border-radius: var(--gf-radius);
	border: 1px solid var(--gf-line);
	box-shadow: var(--gf-shadow-sm);
	transition: transform .3s var(--gf-ease), box-shadow .3s var(--gf-ease), border-color .3s var(--gf-ease);
	min-width: 0;
}
.gutenflow-generated-page .gutenflow-section--features .wp-block-column:nth-child(2n) {
	border-top: 4px solid var(--gf-accent);
}
.gutenflow-generated-page .gutenflow-section--features .wp-block-column:nth-child(2n+1) {
	border-top: 4px solid var(--gf-primary);
}
.gutenflow-generated-page .gutenflow-section--features .wp-block-column:hover {
	transform: translateY(-4px);
	box-shadow: var(--gf-shadow-md);
	border-color: color-mix(in srgb, var(--gf-primary) 30%, var(--gf-line));
}
.gutenflow-generated-page .gutenflow-section--features h3.wp-block-heading {
	margin-top: 0;
	color: var(--gf-ink) !important;
}

/* ---------- About (2-column image + text) ---------- */
.gutenflow-generated-page .gutenflow-section--about .wp-block-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--gf-radius-lg);
	box-shadow: var(--gf-shadow-lg);
}
.gutenflow-generated-page .gutenflow-section--about .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 4 / 3;
	border-radius: var(--gf-radius-lg);
	object-fit: cover !important;
	object-position: center center !important;
	display: block;
}

/* ---------- Stats ---------- */
.gutenflow-generated-page .gutenflow-section--stats,
.gutenflow-generated-page .gutenflow-section--tinted {
	background:
		repeating-linear-gradient(90deg, rgba(124, 58, 237, .08) 0 1px, transparent 1px 64px),
		linear-gradient(135deg, #f8fafc 0%, #ede9fe 50%, #ecfeff 100%);
}
.gutenflow-generated-page .gutenflow-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}
.gutenflow-generated-page .gutenflow-stat-card {
	background: rgba(255, 255, 255, .86);
	color: var(--gf-ink);
	border: 1px solid rgba(124, 58, 237, .18);
	border-radius: var(--gf-radius);
	padding: 1.5rem;
	box-shadow: var(--gf-shadow-sm);
}
.gutenflow-generated-page .gutenflow-stat-number {
	margin: 0 0 .35rem;
	color: var(--gf-primary);
	font-size: 2.35rem;
	line-height: 1;
	font-weight: 850;
}

/* ---------- Services ---------- */
.gutenflow-generated-page .gutenflow-section--services {
	background:
		linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(238px, 1fr));
	gap: 1.5rem;
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-column {
	background: var(--gf-surface);
	color: var(--gf-ink);
	border-radius: var(--gf-radius);
	overflow: hidden;
	border: 1px solid var(--gf-line);
	box-shadow: var(--gf-shadow-sm);
	transition: transform .3s var(--gf-ease), box-shadow .3s var(--gf-ease);
	min-width: 0;
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-column:nth-child(3n+1) {
	border-color: rgba(124, 58, 237, .24);
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-column:nth-child(3n+2) {
	border-color: rgba(6, 182, 212, .28);
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-column:nth-child(3n) {
	border-color: rgba(225, 29, 72, .22);
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-column:hover {
	transform: translateY(-4px);
	box-shadow: var(--gf-shadow-md);
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-image {
	margin: 0;
	width: 100%;
	aspect-ratio: 16 / 10;
	min-height: 220px;
	overflow: hidden;
	background: #e2e8f0;
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center center !important;
	display: block;
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-column > *:not(.wp-block-image) {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-column > *:first-child {
	margin-top: 0;
}
.gutenflow-generated-page .gutenflow-section--services .wp-block-column > *:last-child {
	padding-bottom: 1.5rem;
}

/* ---------- Process ---------- */
.gutenflow-generated-page .gutenflow-section--process,
.gutenflow-generated-page .gutenflow-process-band {
	background:
		linear-gradient(120deg, rgba(15, 23, 42, .98) 0%, rgba(46, 16, 101, .96) 48%, rgba(12, 74, 110, .92) 100%);
	color: #f8fafc;
}
.gutenflow-generated-page .gutenflow-section--process h2,
.gutenflow-generated-page .gutenflow-section--process h3,
.gutenflow-generated-page .gutenflow-section--process p,
.gutenflow-generated-page .gutenflow-section--process li,
.gutenflow-generated-page .gutenflow-process-band h2,
.gutenflow-generated-page .gutenflow-process-band h3,
.gutenflow-generated-page .gutenflow-process-band p,
.gutenflow-generated-page .gutenflow-process-band li {
	color: #f8fafc !important;
}
.gutenflow-generated-page .gutenflow-process-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}
.gutenflow-generated-page .gutenflow-process-step {
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: var(--gf-radius);
	padding: 1.4rem;
	backdrop-filter: blur(10px);
}
.gutenflow-generated-page .gutenflow-step-index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	margin: 0 0 1rem;
	border-radius: 999px;
	background: #ffffff;
	color: var(--gf-primary) !important;
	font-weight: 850;
}

/* ---------- Gallery ---------- */
.gutenflow-generated-page .gutenflow-section--gallery .wp-block-gallery .wp-block-image,
.gutenflow-generated-page .gutenflow-section--gallery .wp-block-image {
	overflow: hidden;
	border-radius: var(--gf-radius);
	width: 100% !important;
	aspect-ratio: 4 / 3;
	min-height: 220px;
	background: #e2e8f0;
}
.gutenflow-generated-page .gutenflow-section--gallery .wp-block-gallery {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
	align-items: stretch;
}
.gutenflow-generated-page .gutenflow-section--gallery .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 4 / 3;
	object-fit: cover !important;
	object-position: center center !important;
	display: block;
	transition: transform .45s var(--gf-ease);
}
.gutenflow-generated-page .gutenflow-section--gallery .wp-block-image:hover img {
	transform: scale(1.06);
}

/* ---------- Testimonials ---------- */
.gutenflow-generated-page .gutenflow-section--testimonials {
	background:
		radial-gradient(120% 120% at 0% 0%, rgba(124, 58, 237, 0.08), transparent 60%),
		radial-gradient(120% 120% at 100% 100%, rgba(15, 23, 42, 0.06), transparent 60%),
		var(--gf-surface);
}
.gutenflow-generated-page .gutenflow-section--testimonials .wp-block-column {
	background: var(--gf-surface);
	padding: 2rem;
	border-radius: var(--gf-radius);
	border: 1px solid var(--gf-line);
	box-shadow: var(--gf-shadow-sm);
	position: relative;
}
.gutenflow-generated-page .gutenflow-section--testimonials .wp-block-column::before {
	content: "\201C";
	position: absolute;
	top: -0.5rem;
	left: 1rem;
	font-size: 3.5rem;
	line-height: 1;
	color: var(--gf-primary);
	opacity: .22;
	font-family: Georgia, serif;
}
.gutenflow-generated-page .gutenflow-section--testimonials .gutenflow-testimonial-author {
	color: var(--gf-muted);
	font-weight: 600;
	margin-top: 1rem;
}

/* ---------- FAQ ---------- */
.gutenflow-generated-page .gutenflow-section--faq .wp-block-details {
	background: var(--gf-surface);
	border: 1px solid var(--gf-line);
	border-radius: var(--gf-radius);
	padding: 1.1rem 1.35rem;
	margin-bottom: 0.75rem;
	box-shadow: var(--gf-shadow-sm);
	transition: box-shadow .3s var(--gf-ease);
}
.gutenflow-generated-page .gutenflow-section--faq .wp-block-details[open] {
	box-shadow: var(--gf-shadow-md);
}
.gutenflow-generated-page .gutenflow-section--faq .wp-block-details > summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--gf-ink);
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.gutenflow-generated-page .gutenflow-section--faq .wp-block-details > summary::-webkit-details-marker {
	display: none;
}
.gutenflow-generated-page .gutenflow-section--faq .wp-block-details > summary::after {
	content: "+";
	font-size: 1.4rem;
	color: var(--gf-primary);
	transition: transform .3s var(--gf-ease);
}
.gutenflow-generated-page .gutenflow-section--faq .wp-block-details[open] > summary::after {
	transform: rotate(45deg);
}

/* ---------- CTA banner ---------- */
.gutenflow-generated-page .gutenflow-section--cta {
	background:
		radial-gradient(80% 120% at 10% 10%, rgba(255,255,255,.12), transparent 50%),
		linear-gradient(135deg, var(--gf-primary) 0%, #5b21b6 100%);
	color: #ffffff;
}
.gutenflow-generated-page .gutenflow-section--cta h1,
.gutenflow-generated-page .gutenflow-section--cta h2,
.gutenflow-generated-page .gutenflow-section--cta h3,
.gutenflow-generated-page .gutenflow-section--cta .wp-block-heading,
.gutenflow-generated-page .gutenflow-section--cta p {
	color: #ffffff !important;
}
.gutenflow-generated-page .gutenflow-section--cta .wp-block-button__link {
	background: #ffffff;
	color: var(--gf-ink);
}
.gutenflow-generated-page .gutenflow-section--cta .wp-block-button__link:hover {
	background: #f8fafc;
}

/* ---------- Contact ---------- */
.gutenflow-generated-page .gutenflow-section--contact {
	background:
		linear-gradient(135deg, #f8fafc 0%, #ffffff 46%, #f5f3ff 100%);
}
.gutenflow-generated-page .gutenflow-contact-grid {
	display: grid;
	grid-template-columns: minmax(240px, .85fr) minmax(300px, 1.35fr);
	gap: 1.5rem;
	align-items: stretch;
}
.gutenflow-generated-page .gutenflow-section--contact .wp-block-column,
.gutenflow-generated-page .gutenflow-contact-panel,
.gutenflow-generated-page .gutenflow-form-panel {
	background: var(--gf-surface);
	padding: 1.75rem;
	border-radius: var(--gf-radius);
	border: 1px solid var(--gf-line);
	box-shadow: var(--gf-shadow-sm);
	min-width: 0;
}
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel {
	background:
		linear-gradient(135deg, rgba(124, 58, 237, .95) 0%, rgba(15, 23, 42, .98) 100%);
	color: #ffffff;
}
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel * {
	color: #ffffff !important;
}
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel .wp-block-heading,
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel h1,
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel h2,
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel h3,
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel h4 {
	color: #ffffff;
}
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel p,
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel a,
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel strong,
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel span,
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel li {
	color: #ffffff !important;
	opacity: 1 !important;
	text-shadow: 0 1px 10px rgba(2, 6, 23, .25);
}
.gutenflow-generated-page .gutenflow-section--contact a {
	color: var(--gf-primary);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px dashed color-mix(in srgb, var(--gf-primary) 50%, transparent);
}
.gutenflow-generated-page .gutenflow-section--contact a:hover {
	border-bottom-style: solid;
}
.gutenflow-generated-page .gutenflow-section--contact .gutenflow-contact-panel a {
	color: #ffffff !important;
	border-bottom-color: rgba(255, 255, 255, .6);
}
.gutenflow-generated-page .gutenflow-form-panel input,
.gutenflow-generated-page .gutenflow-form-panel textarea {
	width: 100%;
	border-radius: 12px;
	border: 1px solid var(--gf-line);
	background: #f8fafc;
}
.gutenflow-generated-page .gutenflow-form-panel input:focus,
.gutenflow-generated-page .gutenflow-form-panel textarea:focus {
	border-color: var(--gf-primary);
	box-shadow: 0 0 0 3px rgba(124, 58, 237, .15);
	outline: none;
}
.gutenflow-generated-page .gutenflow-form-panel input[type="submit"],
.gutenflow-generated-page .gutenflow-form-panel button {
	width: auto;
	background: linear-gradient(135deg, var(--gf-primary), #5b21b6);
	color: #ffffff;
	border: 0;
	border-radius: 999px;
	padding: 12px 22px;
	font-weight: 700;
}

/* ---------- Video ---------- */
.gutenflow-generated-page .gutenflow-section--video .wp-block-video,
.gutenflow-generated-page .gutenflow-section--video video {
	width: 100%;
	max-height: 520px;
	object-fit: cover;
	border-radius: var(--gf-radius-lg);
	overflow: hidden;
	box-shadow: var(--gf-shadow-lg);
}

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.admin-bar.gutenflow-generated-page #header,
	.admin-bar.gutenflow-generated-page header.ct-header {
		top: 46px !important;
	}
	.gutenflow-generated-page #header [data-row],
	.gutenflow-generated-page header.ct-header [data-row] {
		min-height: 64px;
	}
	.gutenflow-generated-page #header [data-row="middle"],
	.gutenflow-generated-page header.ct-header [data-row="middle"] {
		--height: 64px;
	}
	.gutenflow-generated-page.gutenflow-has-logo .site-title a,
	.gutenflow-generated-page.gutenflow-has-logo .site-branding a:not(.custom-logo-link),
	.gutenflow-generated-page.gutenflow-has-logo .site-branding,
	.gutenflow-generated-page.gutenflow-has-logo [data-id="logo"],
	.gutenflow-generated-page.gutenflow-has-logo .site-logo-container,
	.gutenflow-generated-page .custom-logo-link,
	.gutenflow-generated-page .site-logo-container,
	.gutenflow-generated-page [data-id="logo"] {
		width: 144px !important;
		min-width: 144px !important;
		max-width: 144px !important;
		height: 56px !important;
		min-height: 56px !important;
		max-height: 56px !important;
		flex-basis: 144px !important;
	}
	.gutenflow-generated-page.gutenflow-has-logo .site-title a::before,
	.gutenflow-generated-page.gutenflow-has-logo .site-branding a:not(.custom-logo-link)::before,
	.gutenflow-generated-page .custom-logo,
	.gutenflow-generated-page img.custom-logo,
	.gutenflow-generated-page .custom-logo-link img,
	.gutenflow-generated-page .site-logo-container img,
	.gutenflow-generated-page [data-id="logo"] img {
		width: 144px !important;
		height: 56px !important;
		max-width: 144px !important;
		max-height: 56px !important;
	}
	.gutenflow-generated-page .wp-block-group.alignfull,
	.gutenflow-generated-page .wp-block-cover.alignfull {
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
	}
	.gutenflow-generated-page .gutenflow-section--hero {
		min-height: 420px !important;
	}
	.gutenflow-generated-page .gutenflow-section--hero h1.wp-block-heading {
		font-size: 2.45rem !important;
	}
	.gutenflow-generated-page .gutenflow-section--features .wp-block-columns,
	.gutenflow-generated-page .gutenflow-section--services .wp-block-columns,
	.gutenflow-generated-page .gutenflow-section--testimonials .wp-block-columns,
	.gutenflow-generated-page .gutenflow-stats-grid,
	.gutenflow-generated-page .gutenflow-process-grid,
	.gutenflow-generated-page .gutenflow-contact-grid {
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
	}
	.gutenflow-generated-page .gutenflow-section--features .wp-block-column,
	.gutenflow-generated-page .gutenflow-section--services .wp-block-column,
	.gutenflow-generated-page .gutenflow-section--testimonials .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	.gutenflow-generated-page .gutenflow-section--services .wp-block-image img {
		min-height: 0;
	}
	.gutenflow-generated-page .gutenflow-section--services .wp-block-image {
		min-height: 180px;
	}
	.gutenflow-generated-page .gutenflow-section--gallery .wp-block-gallery {
		grid-template-columns: 1fr !important;
	}
	.gutenflow-generated-page .gutenflow-section--gallery .wp-block-image img {
		min-height: 0;
	}
	.gutenflow-generated-page .gutenflow-section--gallery .wp-block-image {
		min-height: 190px;
	}
	.gutenflow-generated-page .gutenflow-section:not(.gutenflow-section--hero) img {
		max-height: 320px;
	}
	.gutenflow-generated-page .gutenflow-section--video video {
		max-height: 320px;
	}
	.gutenflow-generated-page .wp-block-button__link {
		padding: 12px 22px;
		font-size: 0.95rem;
	}
	.gutenflow-generated-page .gutenflow-footer-newsletter,
	.gutenflow-generated-page .gutenflow-footer-main {
		grid-template-columns: 1fr;
	}
	.gutenflow-generated-page .gutenflow-footer-newsletter {
		gap: 1rem;
	}
}
@media (max-width: 480px) {
	.gutenflow-generated-page .gutenflow-section--hero h1.wp-block-heading {
		font-size: 2rem !important;
	}
	.gutenflow-generated-page .gutenflow-section--features .wp-block-column,
	.gutenflow-generated-page .gutenflow-section--services .wp-block-column,
	.gutenflow-generated-page .gutenflow-section--testimonials .wp-block-column {
		padding: 1.5rem 1.25rem;
	}
}

.gutenflow-generated-page .gutenflow-section--placeholder {
	background:
		repeating-linear-gradient(135deg, rgba(124, 58, 237, .08) 0 1px, transparent 1px 16px),
		linear-gradient(135deg, #f8fafc 0%, #f5f3ff 100%);
}
.gutenflow-generated-page .gutenflow-section--placeholder h1 {
	color: var(--gf-ink);
}

/* ---------- Accessibility — prefer-reduced-motion ---------- */
@media (prefers-reduced-motion: reduce) {
	.gutenflow-generated-page .gutenflow-section > .wp-block-group__inner-container,
	.gutenflow-generated-page .gutenflow-section .wp-block-columns,
	.gutenflow-generated-page .gutenflow-section .wp-block-heading,
	.gutenflow-generated-page .gutenflow-section p,
	.gutenflow-generated-page .wp-block-button__link,
	.gutenflow-generated-page .gutenflow-section--gallery .wp-block-image img {
		animation: none !important;
		transition: none !important;
	}
}

/* ---------- Optional dark mode ----------
   Generated sites stay light by default, regardless of the visitor's OS/browser
   setting. Add `gutenflow-dark-mode` to the body only when a site explicitly asks
   for a dark generated design. */
@media (prefers-color-scheme: dark) {
	.gutenflow-generated-page.gutenflow-dark-mode {
		--gf-ink: #f8fafc;
		--gf-muted: #cbd5e1;
		--gf-line: rgba(148, 163, 184, .24);
		--gf-surface: #111827;
		--gf-surface-2: #0b1120;
	}
	.gutenflow-generated-page.gutenflow-dark-mode,
	.gutenflow-generated-page.gutenflow-dark-mode main,
	.gutenflow-generated-page.gutenflow-dark-mode .site-main,
	.gutenflow-generated-page.gutenflow-dark-mode .entry-content {
		background: #020617;
		color: #f8fafc;
	}
	.gutenflow-generated-page.gutenflow-dark-mode #header,
	.gutenflow-generated-page.gutenflow-dark-mode header.ct-header {
		background: rgba(2, 6, 23, .88);
		box-shadow: 0 8px 24px rgba(0, 0, 0, .38);
	}
	.gutenflow-generated-page.gutenflow-dark-mode .header-menu-1 .ct-menu-link,
	.gutenflow-generated-page.gutenflow-dark-mode .site-title,
	.gutenflow-generated-page.gutenflow-dark-mode .site-title a {
		color: #f8fafc !important;
	}
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--services,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--features,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--contact,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--testimonials,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--placeholder,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--stats,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--tinted {
		background:
			repeating-linear-gradient(90deg, rgba(124, 58, 237, .12) 0 1px, transparent 1px 64px),
			linear-gradient(135deg, #020617 0%, #111827 54%, #082f49 100%);
		color: #f8fafc;
	}
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--features .wp-block-column,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--services .wp-block-column,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--testimonials .wp-block-column,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-stat-card,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--faq .wp-block-details,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-form-panel {
		background: rgba(15, 23, 42, .9);
		border-color: rgba(148, 163, 184, .22);
		color: #f8fafc;
	}
	.gutenflow-generated-page.gutenflow-dark-mode h1,
	.gutenflow-generated-page.gutenflow-dark-mode h2,
	.gutenflow-generated-page.gutenflow-dark-mode h3,
	.gutenflow-generated-page.gutenflow-dark-mode .wp-block-heading,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-section--faq .wp-block-details > summary {
		color: #f8fafc;
	}
	.gutenflow-generated-page.gutenflow-dark-mode p {
		color: #cbd5e1;
	}
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-footer,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-footer-main {
		background: #020617;
		color: #f8fafc;
	}
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-footer-main h3,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-footer-call strong,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-footer-name {
		color: #f8fafc;
	}
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-footer-main li,
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-footer-main p {
		color: #cbd5e1;
	}
	.gutenflow-generated-page.gutenflow-dark-mode .gutenflow-footer-bottom {
		background: #111827;
		color: #cbd5e1;
	}
}
