/*
Theme Name: JZTA Theme
Author: Zeigler Technology Advisory
Description: Original block theme for an independent technology advisory serving mission-driven organizations. Calm, structured, executive-friendly presentation; no page builder; all design tokens in theme.json.
Version: 0.14.2
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.2
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jzta-theme
Tags: block-theme, full-site-editing, accessibility-ready
*/

/* All visual design lives in theme.json tokens and block styles.
   This file intentionally carries only rules that theme.json cannot express. */

/* Honor reduced motion globally (WCAG 2.2 / spec accessibility requirement). */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Visible focus for keyboard navigation on interactive elements. */
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Links inside running text must not rely on color alone (WCAG 1.4.1). */
.wp-block-post-content a:not(.wp-block-button__link),
.wp-block-post-excerpt a,
footer a,
.jzta-breadcrumbs a {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* Restrained motion polish; fully disabled by the reduced-motion block above. */
.wp-block-button__link,
button.wp-element-button {
	transition: background-color 160ms ease, transform 160ms ease;
}
.wp-block-button__link:hover,
button.wp-element-button:hover {
	transform: translateY(-1px);
}
.wp-block-post-template .wp-block-group {
	transition: box-shadow 180ms ease, transform 180ms ease;
}
.wp-block-post-template .wp-block-group:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 22px rgba(22, 35, 46, 0.10);
}

::selection {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
}

/* Service status labels (terms of the service_status taxonomy). */
.jzta-status {
	display: inline-block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	padding: 0.15rem 0.6rem;
	border-radius: 999px;
	border: 1px solid currentColor;
}
.jzta-status--available { color: var(--wp--preset--color--primary); }
.jzta-status--limited_release { color: var(--wp--preset--color--accent-dark); }
.jzta-status--planned { color: var(--wp--preset--color--muted); }

/* Homepage visual system: original executive editorial direction. */
:root {
	--jzta-radius-sm: 0.75rem;
	--jzta-radius-lg: clamp(1.5rem, 3vw, 2.75rem);
	--jzta-shadow: 0 1.5rem 4rem rgba(22, 35, 46, 0.12);
	--jzta-container-wide: 78rem;
	--jzta-container-wide-half: 39rem;
	--jzta-container-standard: 68rem;
	--jzta-container-standard-half: 34rem;
	--jzta-container-reading: 46rem;
	--jzta-page-gutter: clamp(1.25rem, 4vw, 3rem);
	--jzta-control-min-height: 2.75rem;
	--jzta-button-min-height: 3rem;
	--jzta-button-padding-block: 0.72rem;
	--jzta-button-padding-inline: 1.15rem;
	--jzta-button-radius: 0.5rem;
	--jzta-button-gap: 0.75rem;
}

body {
	overflow-x: hidden;
}

/* The primary navigation stays visible while scrolling. Sticky lives on the
   template-part wrapper (the element in the page's scroll flow); the inner
   group only carries the visual treatment. The admin-bar variable keeps the
   header below WordPress admin controls when they are present. */
header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 1000;
}

header.wp-block-group {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid rgba(250, 250, 247, 0.12);
	transition: background-color 240ms ease, box-shadow 240ms ease;
}

/* Once the visitor scrolls, the header lifts slightly: a touch of depth and a
   restrained blur where supported, without shrinking or shifting content. */
header.wp-block-group.jzta-header.is-scrolled {
	background-color: rgba(22, 35, 46, 0.94) !important;
	box-shadow: 0 1px 0 rgba(250, 250, 247, 0.16), 0 14px 34px rgba(6, 12, 17, 0.38);
}

@supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)) {
	header.wp-block-group.jzta-header.is-scrolled {
		background-color: rgba(22, 35, 46, 0.78) !important;
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
	}
}

.jzta-header__inner,
.jzta-header__actions { gap: clamp(1rem, 2vw, 2rem); }
.jzta-header .wp-block-site-title { flex: 0 1 21rem; margin: 0; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.2; }
.jzta-header .wp-block-site-title a { display: inline-flex; align-items: center; min-height: var(--jzta-control-min-height); text-decoration: none; }

/* Compact Z mark beside the wordmark (header and footer bookends). Drawn as a
   decorative background so the written name remains the accessible brand. */
.jzta-header .wp-block-site-title a::before,
.jzta-footer__brand .wp-block-site-title a::before {
	flex: 0 0 auto;
	width: 1.5rem;
	height: 1.75rem;
	margin-right: 0.65rem;
	background: url(assets/images/brand/zeigler-z-gold.svg) center / contain no-repeat;
	content: "";
	transition: filter 180ms ease;
}
.jzta-header .wp-block-site-title a:hover::before,
.jzta-header .wp-block-site-title a:focus-visible::before {
	filter: brightness(1.18);
}
.jzta-header .wp-block-navigation { font-size: 0.96rem; }
.jzta-header .wp-block-navigation__container { column-gap: clamp(0.7rem, 1.25vw, 1.2rem); }

header.wp-block-group :where(.wp-block-site-title a, .wp-block-navigation a, .wp-block-navigation__responsive-container-open) {
	color: var(--wp--preset--color--contrast) !important;
}

header.wp-block-group .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: var(--jzta-control-min-height);
}

.jzta-header .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.jzta-header .wp-block-navigation-item__content[aria-current="page"] {
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast) !important;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	display: inline-grid;
	box-sizing: border-box;
	place-items: center;
	min-width: var(--jzta-control-min-height);
	min-height: var(--jzta-control-min-height);
	padding: 0.55rem;
	border-radius: var(--jzta-button-radius);
}

.wp-block-button__link,
button.wp-element-button {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	min-height: var(--jzta-button-min-height);
	padding: var(--jzta-button-padding-block) var(--jzta-button-padding-inline);
	border-radius: var(--jzta-button-radius);
	column-gap: 0.5rem;
	line-height: 1.2;
	text-align: center;
}

.wp-block-buttons { gap: var(--jzta-button-gap); }
.wp-block-button.is-style-outline .wp-block-button__link { border-width: 1px; }

.jzta-text-link a,
.jzta-card-link,
.jzta-service-card__cta a {
	display: inline-flex;
	align-items: center;
	min-height: var(--jzta-control-min-height);
	column-gap: 0.35rem;
}

.wp-block-button__link[aria-disabled="true"],
.wp-block-button__link:disabled,
button.wp-element-button:disabled {
	cursor: not-allowed;
	opacity: 0.55;
	transform: none;
}

footer.wp-block-group,
footer.wp-block-group :where(p, h2, .wp-block-site-title, .wp-block-site-title a) {
	color: var(--wp--preset--color--contrast) !important;
}

footer.wp-block-group a {
	display: inline-flex;
	align-items: center;
	min-height: var(--jzta-control-min-height);
	color: var(--wp--preset--color--contrast) !important;
}

.jzta-footer__grid {
	display: grid !important;
	grid-template-columns: minmax(16rem, 1.5fr) repeat(3, minmax(0, 1fr));
	gap: clamp(2rem, 4vw, 4rem);
}

.jzta-footer__grid > .wp-block-column { min-width: 0; }
.jzta-footer__grid h2 { margin: 0 0 0.75rem; }
.jzta-footer__grid ul { margin: 0; padding: 0; list-style: none; }
.jzta-footer__grid li { margin: 0; }
.jzta-footer__grid a { line-height: 1.35; }
.jzta-footer__brand .wp-block-site-title { margin-top: 0; font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.25; }
.jzta-footer__brand .wp-block-site-title a { display: inline-flex; align-items: center; text-decoration: none; }
.jzta-footer__brand .wp-block-site-title a::before { width: 1.3rem; height: 1.55rem; margin-right: 0.55rem; }
.jzta-footer__brand p { max-width: 34rem; }
.jzta-footer__location { color: rgba(250, 250, 247, 0.7) !important; }
.jzta-footer__copyright { margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: 1.25rem; border-top: 1px solid rgba(250, 250, 247, 0.18); }
.jzta-footer .has-small-font-size { font-size: 0.875rem !important; line-height: 1.55; }
.jzta-footer h2.has-medium-font-size { font-size: 1rem !important; }

.jzta-consent-banner {
	position: fixed;
	z-index: 100;
	right: var(--jzta-page-gutter);
	bottom: var(--jzta-page-gutter);
	left: var(--jzta-page-gutter);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.5rem;
	max-width: 72rem;
	margin-inline: auto;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid rgba(250, 250, 247, 0.28);
	border-radius: var(--jzta-radius-sm);
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--base-soft);
	box-shadow: 0 1rem 4rem rgba(0, 0, 0, 0.35);
}

.jzta-consent-banner[hidden] { display: none !important; }
.jzta-consent-banner h2 { margin: 0 0 0.5rem; color: var(--wp--preset--color--contrast) !important; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.jzta-consent-banner p { margin: 0.35rem 0 0; }
.jzta-consent-actions { display: grid; grid-template-columns: repeat(2, minmax(9rem, 1fr)); align-content: center; gap: 0.65rem; }
.jzta-consent-actions button,
.jzta-consent-dialog button {
	box-sizing: border-box;
	min-height: var(--jzta-control-min-height);
	padding: 0.65rem 1rem;
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: var(--jzta-button-radius);
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
}

.jzta-consent-choice,
.jzta-consent-save,
.jzta-consent-reject-all {
	color: var(--wp--preset--color--contrast);
	background: transparent;
}

.jzta-consent-choice:hover,
.jzta-consent-choice:focus-visible,
.jzta-consent-save:hover,
.jzta-consent-save:focus-visible,
.jzta-consent-reject-all:hover,
.jzta-consent-reject-all:focus-visible {
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--contrast);
}

.jzta-consent-manage { grid-column: 1 / -1; color: var(--wp--preset--color--base); background: var(--wp--preset--color--accent); }
.jzta-consent-dialog { width: min(calc(100% - 2rem), 44rem); max-height: calc(100dvh - 2rem); padding: 0; overflow: auto; border: 1px solid #c7d2cc; border-radius: var(--jzta-radius-sm); color: var(--wp--preset--color--text); background: var(--wp--preset--color--contrast); box-shadow: var(--jzta-shadow); }
.jzta-consent-dialog::backdrop { background: rgba(10, 22, 29, 0.72); }
.jzta-consent-dialog form { padding: clamp(1.25rem, 4vw, 2.25rem); }
.jzta-consent-dialog__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.jzta-consent-dialog__head h2 { margin: 0; }
.jzta-consent-close { flex: 0 0 var(--jzta-control-min-height); width: var(--jzta-control-min-height); padding: 0 !important; border-color: #899b91 !important; color: var(--wp--preset--color--base); background: transparent; font-size: 1.6rem !important; }
.jzta-consent-category { margin: 1rem 0 0; padding: 1rem; border: 1px solid #c7d2cc; border-radius: 0.5rem; }
.jzta-consent-category legend { padding-inline: 0.3rem; color: var(--wp--preset--color--base); font-weight: 800; }
.jzta-consent-category legend span { margin-left: 0.35rem; color: var(--wp--preset--color--primary); font-size: 0.78rem; text-transform: uppercase; }
.jzta-consent-category label { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); gap: 0.7rem; align-items: start; }
.jzta-consent-category input { width: 1.25rem; height: 1.25rem; margin: 0.15rem 0 0; accent-color: var(--wp--preset--color--primary); }
.jzta-consent-dialog__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.25rem; }
.jzta-consent-save,
.jzta-consent-reject-all { border-color: var(--wp--preset--color--primary) !important; color: var(--wp--preset--color--base); }
.jzta-video-consent { margin-bottom: 1.5rem; }
.jzta-video-consent__notice { padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid #c7d2cc; border-radius: var(--jzta-radius-sm); background: var(--wp--preset--color--surface); }
.jzta-video-consent__notice h2 { margin-top: 0; font-size: var(--wp--preset--font-size--x-large); }
.jzta-video-embed { aspect-ratio: 16 / 9; }
.jzta-video-embed iframe { width: 100%; height: 100%; border: 0; }

/* WordPress 7's generated global styles do not reliably preserve inherited
   foreground presets on nested blocks. Pin legible foregrounds to dark
   surfaces and to the two filled-button palettes. */
:where(.has-base-background-color, .has-base-soft-background-color, .has-primary-background-color) {
	color: var(--wp--preset--color--contrast);
}

:where(.has-base-background-color, .has-base-soft-background-color, .has-primary-background-color) a:not(.has-accent-background-color) {
	color: var(--wp--preset--color--contrast);
}

.wp-block-button__link.has-primary-background-color {
	color: var(--wp--preset--color--contrast) !important;
}

.wp-block-button__link.has-accent-background-color {
	color: var(--wp--preset--color--base) !important;
}

/* WordPress applies the global heading color after a Group's inherited text
   color. Keep every dark design-token surface legible across all templates. */
:where(.has-base-background-color, .has-base-soft-background-color, .has-primary-background-color) :where(h1, h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--contrast) !important;
}

:where(.has-base-background-color, .has-base-soft-background-color, .has-primary-background-color) .is-style-outline .wp-block-button__link {
	border-color: rgba(250, 250, 247, 0.72) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.wp-site-blocks > .wp-block-template-part + .jzta-home,
.wp-site-blocks > .jzta-home + .wp-block-template-part {
	margin-block-start: 0;
}

.jzta-home {
	--jzta-section-pad: clamp(5rem, 9vw, 9rem);
}

.jzta-section,
.jzta-hero {
	padding-right: clamp(1.25rem, 4vw, 3rem);
	padding-left: clamp(1.25rem, 4vw, 3rem);
}

/* Anchored targets (hero secondary CTA, service-card anchors, guide section)
   settle below the sticky header instead of underneath it. */
.jzta-home [id],
.jzta-service-card[id] {
	scroll-margin-top: calc(var(--jzta-header-height, 4.5rem) + 1.5rem);
}

.jzta-section {
	padding-top: var(--jzta-section-pad);
	padding-bottom: var(--jzta-section-pad);
}

.jzta-eyebrow {
	margin: 0 0 1.1rem;
	color: var(--wp--preset--color--primary);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.jzta-section-title {
	max-width: 18ch;
	margin-top: 0;
	font-size: clamp(2.2rem, 5vw, 4.6rem) !important;
	letter-spacing: -0.04em;
	line-height: 1.02 !important;
}

.jzta-section-head {
	box-sizing: border-box;
	width: min(100%, 58rem);
	max-width: 58rem;
	margin-top: 0;
	margin-right: auto !important;
	margin-bottom: clamp(3rem, 6vw, 5.5rem);
	margin-left: max(0px, calc((100% - var(--jzta-container-wide)) / 2)) !important;
}

.jzta-section-head--split {
	width: min(100%, var(--jzta-container-wide));
	max-width: var(--jzta-container-wide);
	gap: 2rem;
}

.jzta-section-head:not(.jzta-section-head--split) > :where(*) {
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.jzta-text-link a,
.jzta-card-link {
	font-weight: 700;
	text-decoration: none !important;
}

/* Hero */
.jzta-hero {
	position: relative;
	display: flex;
	box-sizing: border-box;
	align-items: center;
	isolation: isolate;
	/* Fill the initial viewport on every monitor. The hero is pinned
	   full-screen during the constellation, so it uses full 100svh rather
	   than subtracting the header: at load the header plus hero occupy the
	   first screen, and while pinned the hero alone covers it exactly. */
	min-height: max(42.5rem, 100svh);
	padding-top: clamp(2rem, 5vh, 3.75rem);
	padding-bottom: clamp(2rem, 5vh, 3.75rem);
	color: var(--wp--preset--color--contrast);
	background:
		radial-gradient(circle at 74% 46%, rgba(201, 138, 45, 0.16), transparent 24rem),
		radial-gradient(circle at 15% 10%, rgba(14, 95, 91, 0.55), transparent 30rem),
		linear-gradient(135deg, #101c25 0%, #162a34 54%, #102b2e 100%);
}

.jzta-hero__grid {
	width: 100%;
	align-items: center !important;
	gap: clamp(2rem, 4vw, 4.5rem);
}

.jzta-hero .jzta-eyebrow,
.jzta-section--ink .jzta-eyebrow,
.jzta-brief .jzta-eyebrow {
	color: #e7b963;
}

.jzta-hero__fit {
	max-width: 52rem;
	margin: -0.35rem 0 1.1rem;
	color: rgba(250, 250, 247, 0.72);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.035em;
}

.jzta-display {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(3.4rem, 5.7vw, 6.5rem) !important;
	font-weight: 550 !important;
	letter-spacing: -0.06em;
	line-height: 0.91 !important;
	color: var(--wp--preset--color--contrast) !important;
}

.jzta-display em {
	color: #e7b963;
	font-weight: 500;
}

.jzta-hero__lede {
	max-width: 43rem;
	margin-top: 1.5rem;
	color: rgba(250, 250, 247, 0.82);
	font-size: clamp(1.05rem, 1.55vw, 1.22rem);
	line-height: 1.55;
}

.jzta-hero__principle {
	max-width: 48rem;
	margin: 1.15rem 0 0;
	color: var(--wp--preset--color--contrast);
	font-size: 0.96rem;
	font-weight: 650;
	line-height: 1.5;
}

.jzta-hero__actions {
	flex-wrap: nowrap;
	gap: 0.75rem;
	margin-top: 1.2rem;
}

.jzta-hero__actions .wp-block-button__link {
	min-height: 3.5rem;
	padding-right: clamp(1.1rem, 1.6vw, 1.35rem);
	padding-left: clamp(1.1rem, 1.6vw, 1.35rem);
}

.jzta-hero .is-style-outline .wp-block-button__link {
	border-color: rgba(250, 250, 247, 0.72) !important;
	color: var(--wp--preset--color--contrast) !important;
	background: rgba(250, 250, 247, 0.04) !important;
}

.jzta-hero .is-style-outline .wp-block-button__link:hover,
.jzta-hero .is-style-outline .wp-block-button__link:focus-visible {
	border-color: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--base) !important;
	background: var(--wp--preset--color--contrast) !important;
}

.jzta-hero__note {
	margin-top: 1.5rem;
	color: rgba(250, 250, 247, 0.58);
	font-size: 0.78rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Static-final by default; GSAP/ScrollTrigger progressively enhances only
   desktop, non-reduced-motion views. */
.jzta-hero__visual-column {
	display: flex;
	align-items: center;
	align-self: stretch;
	min-width: 0;
}

/* Wide-screen hero composition (ADR-0035). The rail widens progressively:
   1248px below 1440, 1472px on large desktops, 1600px ultrawide. Above
   1600px a true two-column grid gives the animation a cinematic stage while
   the copy keeps an editorial measure; scale-ups stay deliberately modest. */
@media (min-width: 1440px) {
	.jzta-hero .jzta-hero__grid,
	.jzta-header .jzta-header__inner {
		max-width: min(calc(100vw - 2 * var(--jzta-page-gutter)), 92rem);
	}
}

@media (min-width: 1600px) {
	.jzta-hero .jzta-hero__grid {
		display: grid;
		grid-template-columns: minmax(520px, 0.85fr) minmax(680px, 1.25fr);
		column-gap: clamp(72px, 7vw, 160px);
	}
	.jzta-hero__grid > .wp-block-column { max-width: none; }
	.jzta-hero__copy { max-width: 44rem; }
	.jzta-display { font-size: clamp(6.2rem, 4.4vw + 1.4rem, 7.4rem) !important; }
	.jzta-hero__lede { max-width: 46rem; font-size: clamp(1.22rem, 0.8vw + 0.55rem, 1.38rem); }
	.jzta-hero__principle { max-width: 50rem; font-size: 1.04rem; }
	.jzta-hero__fit { font-size: 0.85rem; }
	.jzta-hero__note { font-size: 0.82rem; }
	.jzta-hero__actions .wp-block-button__link { min-height: 3.8rem; font-size: 1.05rem; }
	.jzta-header .wp-block-navigation { font-size: 1.05em; }
	.jzta-hero .jzta-alignment-visual { width: min(100%, 56rem); margin-inline: auto; }
	.jzta-hero .alignment-node__label { font-size: 14px; }
}

@media (min-width: 1780px) {
	.jzta-hero .jzta-hero__grid,
	.jzta-header .jzta-header__inner {
		max-width: min(calc(100vw - 2 * var(--jzta-page-gutter)), 100rem);
	}
}

.jzta-alignment-visual {
	position: relative;
	width: min(100%, 45rem);
	margin: 0 0 0 auto;
	isolation: isolate;
}

.jzta-alignment-stage,
.jzta-alignment-svg {
	display: block;
	width: 100%;
}

.jzta-alignment-stage {
	position: relative;
	aspect-ratio: 6 / 5;
}

.jzta-alignment-svg {
	height: 100%;
	overflow: visible;
}

.alignment-debug-markers,
.jzta-alignment-debug-output {
	display: none;
}

.jzta-alignment-visual.is-debug .alignment-debug-markers {
	display: block;
	fill: none;
	stroke: #ff6b6b;
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}

.jzta-alignment-visual.is-debug .alignment-debug-markers__origin {
	fill: #62d8ff;
	stroke: none;
}

.jzta-alignment-visual.is-debug .alignment-debug-markers__center {
	fill: #ff6b6b;
	stroke: #fafaf7;
}

.jzta-alignment-visual.is-debug .alignment-debug-markers text {
	fill: #fafaf7;
	stroke: none;
	font-size: 10px;
}

.jzta-alignment-visual.is-debug .jzta-alignment-debug-output {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	display: block;
	z-index: 2;
	padding: 0.35rem 0.5rem;
	color: #fafaf7;
	background: rgba(16, 28, 37, 0.88);
	font: 700 0.72rem/1.35 monospace;
}

.alignment-line {
	stroke: rgba(255, 255, 255, 0.4);
	stroke-width: 1.5px;
	fill: none;
	vector-effect: non-scaling-stroke;
}

.alignment-node__glow {
	fill: rgba(234, 179, 8, 0.2);
}

.alignment-node__core {
	fill: #facc15;
}

.alignment-node__label {
	fill: #f1f5f9;
	font-family: var(--wp--preset--font-family--body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.025em;
	paint-order: stroke;
	stroke: rgba(22, 35, 46, 0.94);
	stroke-width: 5px;
	stroke-linejoin: round;
	text-anchor: middle;
	pointer-events: none;
}

.alignment-final-label {
	fill: #f1f5f9;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 28px;
	font-weight: 600;
	letter-spacing: -0.02em;
	pointer-events: none;
}

.jzta-alignment-visual.is-enhanced .alignment-node,
.jzta-alignment-visual.is-enhanced .alignment-line,
.jzta-alignment-visual.is-enhanced .alignment-final-label {
	will-change: transform, opacity;
}

/* Final Business Alignment resolution. The enhanced timeline tweens the warm
   fill and glow inline as part of one continuous settle; these class rules
   style the static, reduced-motion, and no-JavaScript final states. */
.alignment-underline {
	opacity: 0;
	stroke: #f0c87f;
	stroke-width: 3;
	stroke-linecap: round;
}
.jzta-alignment-visual.is-resolved .alignment-underline { filter: drop-shadow(0 0 9px rgba(240, 200, 127, 0.7)); }
.jzta-alignment-visual.is-resolved .alignment-final-label text {
	fill: #fdf3dd;
	filter: drop-shadow(0 0 14px rgba(240, 200, 127, 0.5));
}

/* Scroll-progress indicator: a peripheral cue at the far-right edge of the
   pinned hero, drawn in the constellation's own language — a thin curved gold
   path with faint phase stops and a glowing oval node. Enhanced desktop only;
   it hands its glow to the resolving title and fades out. */
.jzta-scroll-pill {
	position: absolute;
	top: calc(var(--jzta-header-height, 4.5rem) + 2rem);
	right: clamp(16px, 2vw, 32px);
	bottom: 2rem;
	z-index: 2;
	display: none;
	width: 24px;
	margin: 0 !important;
	pointer-events: none;
	transition: opacity 500ms ease;
}
.jzta-hero--enhanced .jzta-scroll-pill { display: block; }
.jzta-scroll-pill[data-pill-ready="false"] { display: none !important; }
.jzta-scroll-pill.is-completing { opacity: 0; }
.jzta-scroll-pill__svg { display: block; width: 100%; height: 100%; overflow: visible; }
.jzta-scroll-pill__path {
	fill: none;
	stroke: rgba(240, 200, 127, 0.22);
	stroke-width: 1;
}
.jzta-scroll-pill__stop { fill: rgba(240, 200, 127, 0.28); transition: fill 300ms ease; }
.jzta-scroll-pill__stop.is-passed { fill: rgba(240, 200, 127, 0.72); }
.jzta-scroll-pill__thumb-halo { fill: rgba(234, 179, 8, 0.22); }
.jzta-scroll-pill__thumb-core { fill: #facc15; filter: drop-shadow(0 0 6px rgba(250, 204, 21, 0.55)); }
.jzta-scroll-pill.is-completing .jzta-scroll-pill__thumb-halo { fill: rgba(234, 179, 8, 0.4); }
.jzta-scroll-pill.is-completing .jzta-scroll-pill__thumb-core { filter: drop-shadow(0 0 11px rgba(250, 204, 21, 0.85)); }

@media (max-height: 600px) {
	.jzta-scroll-pill { display: none !important; }
}

/* Narrative sections */
.jzta-split { gap: clamp(3rem, 9vw, 9rem); }
.jzta-problem { background: var(--wp--preset--color--contrast); }
.jzta-problem .has-large-font-size { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.35rem, 2.3vw, 2rem) !important; line-height: 1.4; }
.jzta-problem__sub { max-width: 30rem; margin: 1.25rem 0 0; color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.45; }

/* The leadership-gap problem sequence: each concern moves toward its
   consequence along the site's directional-path language. Arrows are
   decorative; the sentence reads completely without them. */
.jzta-problem-seq { margin: 0 0 1.75rem; padding: 0; list-style: none; }
.jzta-problem-seq li { display: flex; flex-wrap: wrap; gap: 0.35rem 0.85rem; align-items: baseline; padding: 0.9rem 0; border-bottom: 1px solid #d4ddd8; }
.jzta-problem-seq li:first-child { border-top: 1px solid #d4ddd8; }
.jzta-problem-seq strong { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.2rem, 1.9vw, 1.6rem); line-height: 1.2; }
.jzta-problem-seq__arrow { position: relative; flex: 0 0 auto; align-self: center; width: 1.4rem; height: 7px; }
.jzta-problem-seq__arrow::before { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: rgba(201, 138, 45, 0.6); }
.jzta-problem-seq__arrow::after { content: ""; position: absolute; top: calc(50% - 3px); right: 0; width: 6px; height: 6px; border-top: 1px solid var(--wp--preset--color--accent); border-right: 1px solid var(--wp--preset--color--accent); transform: rotate(45deg); }
.jzta-problem-seq__result { color: var(--wp--preset--color--muted); font-size: clamp(1rem, 1.4vw, 1.15rem); }

/* Common technology pitfalls: one scannable three-card sequence with enough
   separation to read as three distinct risks rather than one text band. */
.jzta-pitfalls { background: #f4f5f0; }
.jzta-pitfalls-grid { display: grid; box-sizing: border-box; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); align-items: stretch; width: min(100%, var(--jzta-container-wide)); margin-inline: auto; }
.jzta-pitfall { min-width: 0; margin: 0; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid #cfd8d3; border-radius: 0.5rem; background: var(--wp--preset--color--contrast); box-shadow: 0 0.65rem 1.8rem rgba(22, 35, 46, 0.06); transition: border-color 300ms ease, box-shadow 300ms ease, transform 300ms ease; }
.jzta-pitfall h3 { margin: 0 0 0.75rem; font-size: clamp(1.35rem, 2.1vw, 1.8rem); line-height: 1.15; }
.jzta-pitfall p { margin: 0; color: var(--wp--preset--color--muted); font-size: 0.98rem; line-height: 1.6; }
.jzta-card-icon { display: inline-grid; width: 2.75rem; height: 2.75rem; margin: 0 0 1.25rem; place-items: center; border: 1px solid rgba(14, 95, 91, 0.22); border-radius: 0.5rem; color: var(--wp--preset--color--primary); background: rgba(14, 95, 91, 0.06); }
.jzta-card-icon svg { display: block; width: 1.75rem; height: 1.75rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.jzta-card-icon svg circle { fill: var(--wp--preset--color--contrast); }

@media (hover: hover) and (pointer: fine) {
	.jzta-pitfall:hover { border-color: rgba(14, 95, 91, 0.38); box-shadow: 0 1rem 2.4rem rgba(22, 35, 46, 0.12); transform: translateY(-4px); }
	.jzta-motion-ready .jzta-pitfall.is-visible:hover { transform: translateY(-4px); }
}

/* Technology Alignment Diagnostic: a focused paid entry engagement with a
   visible starting price; final scope remains confirmed by conversation. */
.jzta-diagnostic { scroll-margin-top: 5rem; background: var(--wp--preset--color--contrast); padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(3rem, 6vw, 5.5rem); }
.jzta-diagnostic__panel { display: grid; box-sizing: border-box; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2rem, 4vw, 4rem); width: min(100%, var(--jzta-container-wide)); margin-inline: auto; padding: clamp(2rem, 4vw, 3.25rem); border: 1px solid #c7d2cc; border-left: 4px solid var(--wp--preset--color--accent); background: #fdfdf9; }
.jzta-diagnostic__intro h2 { max-width: 18ch; margin: 0 0 1rem; font-size: clamp(1.9rem, 3vw, 2.8rem); letter-spacing: -0.03em; line-height: 1.08; }
.jzta-diagnostic__lede { max-width: 36rem; margin: 0 0 1.25rem; color: var(--wp--preset--color--muted); font-size: clamp(1rem, 1.4vw, 1.13rem); line-height: 1.6; }
.jzta-diagnostic__qualification { max-width: 36rem; margin: 0 0 1.5rem; padding: 0.9rem 1.1rem; border-left: 3px solid var(--wp--preset--color--primary); background: rgba(14, 95, 91, 0.06); color: var(--wp--preset--color--base); font-size: 0.9rem; line-height: 1.55; }
.jzta-diagnostic__price { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 0.15rem 1rem; max-width: 36rem; margin: 0 0 1.5rem; padding: 1rem 1.2rem; border: 1px solid rgba(231, 185, 99, 0.62); border-radius: 8px; background: #14232e; box-shadow: 0 14px 30px rgba(20, 35, 46, 0.18); }
.jzta-diagnostic__price-label { grid-column: 1; color: #f0c87f; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.jzta-diagnostic__price strong { grid-row: 1 / span 2; grid-column: 2; justify-self: end; color: #fff; font-family: var(--wp--preset--font-family--heading); font-size: clamp(2.35rem, 5vw, 3.4rem); font-weight: 700; letter-spacing: -0.05em; line-height: 0.95; }
.jzta-diagnostic__price-scope { grid-column: 1; max-width: 29ch; color: rgba(250, 250, 247, 0.78); font-size: 0.82rem; line-height: 1.45; }
.jzta-diagnostic__note { margin: 0.85rem 0 0; color: var(--wp--preset--color--muted); font-size: 0.85rem; }
.jzta-diagnostic__lists { display: grid; gap: 1.5rem; align-content: start; }
.jzta-diagnostic__list { padding: clamp(1.25rem, 2.5vw, 1.75rem); border: 1px solid #d4ddd8; background: var(--wp--preset--color--contrast); }
.jzta-diagnostic__list h3 { margin: 0 0 0.75rem; color: var(--wp--preset--color--primary); font-family: var(--wp--preset--font-family--body); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.jzta-diagnostic__list ul { margin: 0; padding: 0; list-style: none; }
.jzta-diagnostic__list li { position: relative; padding: 0.4rem 0 0.4rem 1.5rem; color: var(--wp--preset--color--base); font-size: 0.92rem; line-height: 1.5; }
.jzta-diagnostic__list li::before { position: absolute; top: 0.45rem; left: 0; color: var(--wp--preset--color--primary); content: "✓"; font-weight: 800; }

/* Final outcome: what greater strategic clarity makes possible. */
.jzta-final-outcomes { max-width: 44rem; margin: 1.5rem auto 2rem; text-align: left; }
.jzta-final-outcomes__heading { margin: 0 0 0.75rem; color: var(--wp--preset--color--base); font-size: 0.95rem; font-weight: 750; text-align: center; }
.jzta-final-outcomes ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.25rem 2rem; margin: 0; padding: 0; list-style: none; }
.jzta-final-outcomes li { position: relative; padding: 0.45rem 0 0.45rem 1.5rem; color: var(--wp--preset--color--muted); font-size: 0.97rem; line-height: 1.5; }
.jzta-final-outcomes li::before { position: absolute; top: 0.5rem; left: 0; color: var(--wp--preset--color--primary); content: "✓"; font-weight: 800; }

@media (max-width: 960px) {
	.jzta-pitfalls-grid { grid-template-columns: minmax(0, 1fr); }
	.jzta-diagnostic__panel { grid-template-columns: minmax(0, 1fr); }
	.jzta-diagnostic__price { grid-template-columns: minmax(0, 1fr) max-content; }
	.jzta-diagnostic__price strong { font-size: clamp(2.15rem, 12vw, 3rem); }
	.jzta-final-outcomes ul { grid-template-columns: minmax(0, 1fr); }
}

.jzta-section--ink {
	color: rgba(250, 250, 247, 0.76);
	background: var(--wp--preset--color--base);
}

.jzta-section--ink :where(h2, h3),
.jzta-brief h2 {
	color: var(--wp--preset--color--contrast) !important;
}

/* Outcomes flow toward alignment: three bordered panels joined by thin gold
   connectors with restrained arrowheads in the gutters. The connectors are
   purely decorative (pseudo-elements, no text, no interaction) and never
   cross the copy. */
.jzta-outcome-grid { gap: 0 clamp(1.5rem, 2.5vw, 2.5rem); }
.jzta-outcome { position: relative; min-height: 16rem; padding: 2rem; border: 1px solid rgba(240, 200, 127, 0.28); border-radius: 0.5rem; background: linear-gradient(145deg, rgba(14, 95, 91, 0.3), rgba(250, 250, 247, 0.035)); }
.jzta-outcome .jzta-card-icon { margin-bottom: 0; }
.jzta-card-icon--positive { border-color: rgba(240, 200, 127, 0.38); color: #f0c87f; background: rgba(240, 200, 127, 0.08); }
.jzta-card-icon--positive svg circle { fill: transparent; }
.jzta-outcome h3 { margin-top: 1.25rem; color: var(--wp--preset--color--contrast) !important; font-size: 2rem; }
.jzta-outcome:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 3.1rem;
	right: calc(-1 * clamp(1.5rem, 2.5vw, 2.5rem));
	width: clamp(1.5rem, 2.5vw, 2.5rem);
	height: 1px;
	background: rgba(240, 200, 127, 0.6);
	transform-origin: left center;
}
.jzta-outcome:not(:last-child)::before {
	content: "";
	position: absolute;
	top: calc(3.1rem - 3px);
	right: calc(-1 * clamp(1.5rem, 2.5vw, 2.5rem) + 2px);
	width: 6px;
	height: 6px;
	border-top: 1px solid rgba(240, 200, 127, 0.95);
	border-right: 1px solid rgba(240, 200, 127, 0.95);
	transform: rotate(45deg);
}
.jzta-outcomes__link { margin-top: 2.5rem; }

/* Directional path: a gold node, a thin rule, and a restrained arrowhead.
   Shared by the engagement entry and the Approach method; decorative only
   (aria-hidden in markup, no focusable parts). */
.jzta-path { position: relative; z-index: 2; display: flex; align-items: center; height: 11px; margin: 0 0 1.5rem; pointer-events: none; }
.jzta-path__node { display: block; flex: 0 0 auto; width: 11px; height: 11px; border-radius: 50%; background: #e7b963; box-shadow: 0 0 9px rgba(240, 200, 127, 0.5); }
.jzta-path__line { flex: 1 1 auto; height: 1px; margin: 0 16px 0 10px; background: rgba(240, 200, 127, 0.5); transform-origin: left center; }
.jzta-path__arrow { position: absolute; top: 50%; width: 6px; height: 6px; border-top: 1px solid rgba(240, 200, 127, 0.95); border-right: 1px solid rgba(240, 200, 127, 0.95); transform: translateY(-50%) rotate(45deg); }

/* Draw the connectors once as their section reveals; the copy is never
   gated on the animation, and reduced motion renders everything complete
   (the jzta-motion-ready class is only added when motion is permitted). */
@media (min-width: 961px) {
	.jzta-motion-ready .jzta-reveal .jzta-path__line { transform: scaleX(0); transition: transform 620ms cubic-bezier(0.2, 0.7, 0.2, 1) 200ms; }
	.jzta-motion-ready .jzta-reveal.is-visible .jzta-path__line { transform: scaleX(1); }
	.jzta-motion-ready .jzta-reveal .jzta-path__arrow { opacity: 0; transition: opacity 320ms ease 760ms; }
	.jzta-motion-ready .jzta-reveal.is-visible .jzta-path__arrow { opacity: 1; }
	.jzta-motion-ready .jzta-outcome::after { transform: scaleX(0); transition: transform 620ms cubic-bezier(0.2, 0.7, 0.2, 1) 200ms; }
	.jzta-motion-ready .jzta-outcome.is-visible::after { transform: scaleX(1); }
	.jzta-motion-ready .jzta-outcome::before { opacity: 0; transition: opacity 320ms ease 760ms; }
	.jzta-motion-ready .jzta-outcome.is-visible::before { opacity: 1; }
}
.jzta-section--ink .jzta-text-link a { color: #f0c87f !important; }

/* Three practical ways to begin */
.jzta-ways { background: #f4f5f0; }
.jzta-ways__intro { max-width: 58rem; margin: calc(-1 * clamp(1.5rem, 3vw, 3rem)) 0 clamp(2.5rem, 5vw, 4rem) max(0px, calc((100% - var(--jzta-container-wide)) / 2)) !important; color: var(--wp--preset--color--muted); font-size: clamp(1.02rem, 1.5vw, 1.15rem); }
.jzta-begin-grid { display: grid; box-sizing: border-box; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; align-items: stretch; width: min(100%, var(--jzta-container-wide)); margin-inline: auto; padding: 1px; background: #cfd8d3; }
.jzta-begin-card { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--wp--preset--color--contrast); }
.jzta-begin-card__title { margin: 0 0 1.25rem; font-size: clamp(1.45rem, 2.2vw, 1.95rem); line-height: 1.12; }
.jzta-begin-card__facts { display: grid; gap: 1rem; margin: 0 0 1.25rem; }
.jzta-begin-card__facts dt { color: var(--wp--preset--color--primary); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.jzta-begin-card__facts dd { margin: 0.25rem 0 0; color: var(--wp--preset--color--base); font-size: 0.94rem; line-height: 1.55; }
.jzta-begin-card__extra { margin-top: auto; border-top: 1px solid #d4ddd8; }
.jzta-begin-card__extra-heading { margin: 0; }
.jzta-accordion-trigger { display: flex; box-sizing: border-box; align-items: center; justify-content: space-between; gap: 0.75rem; width: 100%; min-height: var(--jzta-control-min-height); margin: 0; padding: 0.8rem 0.15rem; border: 0; color: var(--wp--preset--color--primary); background: transparent; font: 750 0.85rem/1.2 var(--wp--preset--font-family--body); letter-spacing: 0.03em; text-align: left; cursor: pointer; }
.jzta-accordion-trigger__icon { position: relative; flex: 0 0 auto; width: 0.85rem; height: 0.85rem; }
.jzta-accordion-trigger__icon::before,
.jzta-accordion-trigger__icon::after { content: ""; position: absolute; top: 50%; left: 50%; width: 0.85rem; height: 2px; border-radius: 2px; background: currentColor; transform: translate(-50%, -50%); transition: transform 200ms ease; }
.jzta-accordion-trigger__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.jzta-accordion-trigger[aria-expanded="true"] .jzta-accordion-trigger__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.jzta-accordion-panel { padding: 0 0.15rem 1rem; }
.jzta-accordion-panel ul { margin: 0; padding-left: 1.15rem; }
.jzta-accordion-panel li { margin: 0.35rem 0; color: var(--wp--preset--color--muted); font-size: 0.92rem; }
.jzta-begin-card__cta { margin: 0.5rem 0 0; padding-top: 0.75rem; border-top: 1px solid #d4ddd8; }
.jzta-begin-card__cta a { font-weight: 750; }
.jzta-service-query { box-sizing: border-box; width: 100% !important; max-width: var(--jzta-container-wide) !important; margin-inline: auto !important; }
.jzta-service-query .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; grid-auto-rows: 1fr; align-items: stretch; gap: clamp(1rem, 2vw, 1.5rem); background: transparent; }
.jzta-service-query .wp-block-post-template > li { display: grid; min-width: 0; }
.jzta-service-card { display: grid; box-sizing: border-box; grid-template-rows: auto auto minmax(0, 1fr) auto auto auto; width: 100%; min-width: 0; min-height: 24rem; height: 100%; margin: 0; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid #c7d2cc; border-radius: 8px; background: var(--wp--preset--color--contrast); box-shadow: 0 0.75rem 2rem rgba(8, 47, 45, 0.07); transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease; }
.jzta-service-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.jzta-service-card__status p { margin: 0; }
.jzta-service-card__icon { display: inline-grid; flex: 0 0 auto; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid rgba(14, 95, 91, 0.22); border-radius: 8px; color: var(--wp--preset--color--primary); background: rgba(14, 95, 91, 0.06); }
.jzta-service-card__icon svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.jzta-service-card__title { margin: 1.5rem 0 1rem; font-size: clamp(1.55rem, 2.5vw, 2.2rem); line-height: 1.1; }
.jzta-service-card__title a { text-decoration: none; }
.jzta-service-card__description { min-width: 0; margin: 0; color: var(--wp--preset--color--muted); }
.jzta-service-value { margin: 1.25rem 0 0; padding: 1rem; border-left: 3px solid var(--wp--preset--color--accent); background: rgba(14, 95, 91, 0.07); }
.jzta-service-value p { margin: 0; }
.jzta-service-value__label { display: block; margin-bottom: 0.35rem; color: var(--wp--preset--color--primary); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.jzta-service-value__copy { display: block; color: var(--wp--preset--color--base); font-size: 0.92rem; line-height: 1.5; }
.jzta-service-investment { margin: 1rem 0 1.25rem; padding-top: 0.85rem; border-top: 1px solid rgba(14, 95, 91, 0.22); color: var(--wp--preset--color--base); }
.jzta-service-investment p { margin: 0; }
.jzta-service-investment__label { display: block; margin-bottom: 0.3rem; color: var(--wp--preset--color--primary); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.jzta-service-investment__copy { display: block; font-size: 0.92rem; line-height: 1.55; }
.jzta-service-investment__copy strong { color: var(--wp--preset--color--base); }
.jzta-investment-scope-note { max-width: 58rem; margin: 1.5rem auto 0; color: var(--wp--preset--color--muted); font-size: 0.88rem; line-height: 1.6; text-align: center; }
.jzta-service-card .jzta-service-investment { align-self: stretch; margin-top: 1.25rem; }
.jzta-service-card__cta { align-self: end; padding-top: 1rem; }
.jzta-service-card__cta p { margin: 0; }
.jzta-service-card__cta a { font-weight: 750; }

@supports (grid-template-rows: subgrid) {
	.jzta-service-query .wp-block-post-template { grid-auto-rows: auto; }
	.jzta-service-query .wp-block-post-template > li { grid-row: span 6; grid-template-rows: subgrid; }
	.jzta-service-card { grid-row: span 6; grid-template-rows: subgrid; }
	.jzta-service-card__meta { grid-row: 1; }
	.jzta-service-card__title { grid-row: 2; }
	.jzta-service-card__description { grid-row: 3; }
	.jzta-service-card .jzta-service-value { grid-row: 4; }
	.jzta-service-card .jzta-service-investment { grid-row: 5; }
	.jzta-service-card__cta { grid-row: 6; }
}

.jzta-audience { background: var(--wp--preset--color--contrast); }
.jzta-audience__intro { max-width: 52rem; margin: calc(-1 * clamp(1.5rem, 3vw, 3rem)) 0 clamp(2rem, 4vw, 3.5rem) max(0px, calc((100% - var(--jzta-container-wide)) / 2)) !important; color: var(--wp--preset--color--muted); font-size: clamp(1.02rem, 1.5vw, 1.15rem); }
.jzta-audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 1rem; width: 100%; overflow: visible; }
.jzta-audience-grid__data { display: none; }
.jzta-audience-tile { position: relative; isolation: isolate; display: grid; grid-template-rows: minmax(0, 1fr) auto; min-width: 0; min-height: 34rem; margin: 0; overflow: hidden; color: var(--wp--preset--color--base); border: 1px solid #c7d2cc; border-radius: var(--jzta-radius-lg); background: #eef1ed; box-shadow: 0 0.75rem 2rem rgba(8, 47, 45, 0.08); transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.jzta-audience-tile:nth-child(2), .jzta-audience-tile:nth-child(5) { background: #e4eae5; }
.jzta-audience-tile::after { position: absolute; z-index: 0; right: -4rem; bottom: -4.5rem; width: 12rem; height: 12rem; border: 1px solid rgba(14, 95, 91, 0.2); border-radius: 50%; content: ""; pointer-events: none; }
.jzta-audience-tile__link { position: relative; z-index: 3; display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: clamp(1.35rem, 2.4vw, 2rem); color: inherit; text-decoration: none !important; }
.jzta-audience-tile__link:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: -6px; border-radius: calc(var(--jzta-radius-lg) - 1px); }
.jzta-audience-tile h3 { position: relative; z-index: 3; max-width: 24rem; margin: 2.4rem 0 0; color: inherit; line-height: 1.12; }
.jzta-audience-tile__name { display: block; color: var(--wp--preset--color--primary); font-family: var(--wp--preset--font-family--body); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.12em; line-height: 1.35; text-transform: uppercase; }
.jzta-audience-tile__headline { display: block; margin-top: 0.75rem; font-size: clamp(1.4rem, 2vw, 1.85rem); text-wrap: balance; }
.jzta-audience-tile__index { position: absolute; z-index: 3; top: 1.35rem; right: 1.5rem; color: var(--wp--preset--color--primary); font-family: var(--wp--preset--font-family--body); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; }
.jzta-audience-tile__message { position: relative; z-index: 3; display: grid; gap: 0.6rem; max-width: 34rem; margin-top: auto; padding-top: clamp(4.5rem, 11vw, 8rem); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity 360ms ease 100ms, transform 360ms ease 100ms, visibility 0s linear 460ms; }
.jzta-audience-tile__message strong { color: inherit; font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.04rem, 1.4vw, 1.22rem); line-height: 1.35; }
.jzta-audience-tile__message > span { color: inherit; font-family: var(--wp--preset--font-family--body); font-size: 0.93rem; line-height: 1.55; }
.jzta-audience-tile__cue { position: relative; z-index: 3; align-self: flex-start; margin-top: 1rem; padding: 0.4rem 0.75rem; border: 1px solid rgba(14, 95, 91, 0.28); border-radius: 999px; color: var(--wp--preset--color--primary); background: rgba(250, 250, 247, 0.92); font-family: var(--wp--preset--font-family--body); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.04em; transition: color 240ms ease, background-color 240ms ease, border-color 240ms ease; }
.jzta-audience-tile__media { position: absolute; z-index: 0; overflow: hidden; pointer-events: none; }
.jzta-audience-tile__media img { display: block; width: 100%; height: 100%; margin: 0; object-position: var(--jzta-tile-focal, 50% 50%); transform: translate(var(--jzta-tile-offset-x, 0), var(--jzta-tile-offset-y, 0)) scale(var(--jzta-tile-scale, 1)); }
.jzta-audience-tile__media--cutout { right: -5%; bottom: -1%; width: 108%; height: 70%; opacity: 0.78; transition: opacity 360ms ease, transform 420ms ease; }
.jzta-audience-tile__media--cutout img { object-fit: contain; object-position: 50% 100%; }
.jzta-audience-tile__media--scene { inset: 0; opacity: 0; transition: opacity 420ms ease 90ms; }
.jzta-audience-tile__media--scene img { object-fit: cover; }
.jzta-audience-tile__overlay { position: absolute; z-index: 1; inset: 0; opacity: 0; background: linear-gradient(180deg, rgba(5, 36, 34, 0.6) 0%, rgba(5, 36, 34, 0.78) 42%, rgba(5, 31, 29, 0.97) 100%); transition: opacity 300ms ease 60ms; pointer-events: none; }
.jzta-audience-tile__next { position: relative; z-index: 4; display: none; align-items: center; justify-content: center; min-height: 2.75rem; margin: 0 clamp(1.35rem, 2.4vw, 2rem) clamp(1.35rem, 2.4vw, 2rem); padding: 0.7rem 1rem; color: var(--wp--preset--color--base); border: 1px solid rgba(14, 95, 91, 0.5); border-radius: 999px; background: rgba(250, 250, 247, 0.88); font: 750 0.8rem/1.2 var(--wp--preset--font-family--body); cursor: pointer; }
.jzta-audience-tile:is(:hover, :focus-within) { color: var(--wp--preset--color--contrast); border-color: #0e5f5b; background-color: var(--wp--preset--color--primary); }
.jzta-audience-tile:is(:hover, :focus-within) :where(.jzta-audience-tile__name, .jzta-audience-tile__index) { color: #f0c87f; }
/* The cue keeps an explicit chip in every state so it never depends on what
   sits behind it: dark teal on cream at rest, pale gold on deep teal active. */
.jzta-audience-tile:is(:hover, :focus-within) .jzta-audience-tile__cue { color: #f0c87f; border-color: rgba(240, 200, 127, 0.45); background: rgba(5, 31, 29, 0.85); }
.jzta-audience-tile:is(:hover, :focus-within) .jzta-audience-tile__message { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 100ms, 100ms, 0s; }
.jzta-audience-tile:is(:hover, :focus-within) .jzta-audience-tile__media--cutout { opacity: 0; transform: scale(1.015); }
.jzta-audience-tile:is(:hover, :focus-within) .jzta-audience-tile__media--scene,
.jzta-audience-tile:is(:hover, :focus-within) .jzta-audience-tile__overlay { opacity: 1; }

/* Published Industry media retains the editor's background/contained/cutout controls. */
.jzta-audience-tile--editor-media .jzta-audience-tile__media--editor { inset: 0; opacity: 0.28; transition: opacity 300ms ease; }
.jzta-audience-tile--editor-media .jzta-audience-tile__media--editor img { object-fit: cover; }
.jzta-audience-tile--editor-media:is(:hover, :focus-within) .jzta-audience-tile__media--editor { opacity: 0.42; }
.jzta-audience-tile--editor-media.jzta-audience-tile--background .jzta-audience-tile__overlay { background: rgba(6, 35, 33, var(--jzta-tile-overlay, 0.55)); }
.jzta-audience-tile--contained .jzta-audience-tile__media--editor { top: 5.5rem; right: 0.75rem; bottom: auto; left: auto; width: 58%; height: 48%; opacity: 0.72; }
.jzta-audience-tile--contained .jzta-audience-tile__media--editor img { object-fit: contain; }
.jzta-audience-tile--cutout .jzta-audience-tile__media--editor { top: 6rem; right: -1rem; bottom: 0; left: auto; width: 70%; opacity: 0.78; }
.jzta-audience-tile--cutout .jzta-audience-tile__media--editor img { object-fit: contain; object-position: var(--jzta-tile-focal, 50% 100%); }

/* Homepage audience preview: a lighter cut of the Who We Serve interaction,
   not a miniature content grid. At rest each card shows its identity and
   generous cutout artwork; hover or keyboard focus fades in the scene, the
   contrast overlay, and the single approved message. Touch and small screens
   show the message statically (never hover-dependent). */
.jzta-audience-grid--preview .jzta-audience-tile { min-height: clamp(19rem, 24vw, 21.25rem); }
.jzta-audience-grid--preview .jzta-audience-tile h3 { margin-top: 2rem; max-width: 20rem; }
.jzta-audience-grid--preview .jzta-audience-tile__headline { font-size: clamp(1.5rem, 1.8vw, 1.9rem); }
.jzta-audience-tile__message--single { max-width: 30rem; padding-top: clamp(3rem, 5vw, 4.5rem); }
.jzta-audience-tile__message--single > span { display: block; color: inherit; font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.05rem, 1.4vw, 1.25rem); line-height: 1.45; }
.jzta-audience-grid--preview .jzta-audience-tile__media--cutout {
	right: var(--audience-image-x, -4%);
	bottom: var(--audience-image-y, -1%);
	width: var(--audience-image-width, 62%);
	height: 68%;
	opacity: 0.9;
}
.jzta-audience-grid--preview .jzta-audience-tile__cue { margin-top: 1.1rem; }

.jzta-founder { color: var(--wp--preset--color--contrast); background: linear-gradient(135deg, #0a4643, #0e5f5b); }
.jzta-founder h2, .jzta-founder p { color: inherit; }
.jzta-founder .jzta-text-link a, .jzta-founder .jzta-eyebrow { color: #f0c87f; }
/* Founder seal: the one deliberate full-seal placement on the site. The image
   carries the brand name in its ring, so it keeps meaningful alt text. A
   single restrained light pass crosses the gold when the section reveals;
   the wax silhouette itself masks the streak so nothing spills onto the
   background. The global reduced-motion rule collapses the sweep. */
.jzta-founder-seal { position: relative; width: min(100%, 22rem); margin-inline: auto; }
.jzta-founder-seal img { display: block; width: 100%; height: auto; }
.jzta-founder-seal::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, transparent 42%, rgba(255, 246, 224, 0.3) 50%, transparent 58%) no-repeat;
	background-size: 250% 100%;
	background-position: 130% 0;
	-webkit-mask: url(assets/images/brand/zeigler-seal-768.webp) center / contain no-repeat;
	mask: url(assets/images/brand/zeigler-seal-768.webp) center / contain no-repeat;
	content: "";
	opacity: 0;
	pointer-events: none;
}
.jzta-motion-ready .jzta-founder-seal.is-visible::after {
	animation: jzta-seal-sweep 1.3s ease-out 400ms 1 both;
}
@keyframes jzta-seal-sweep {
	from { opacity: 1; background-position: 130% 0; }
	to { opacity: 1; background-position: -30% 0; }
}
.jzta-founder .wp-block-buttons { margin-top: 2rem; }
.jzta-founder .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--contrast); border-color: rgba(250, 250, 247, 0.72); }
.jzta-founder-points { margin: 1.5rem 0 0; padding: 0; list-style: none; }
.jzta-founder-points li { position: relative; margin: 0; padding: 0.65rem 0 0.65rem 1.9rem; border-bottom: 1px solid rgba(250, 250, 247, 0.18); }
.jzta-founder-points li:first-child { border-top: 1px solid rgba(250, 250, 247, 0.18); }
.jzta-founder-points li::before { position: absolute; top: 0.72rem; left: 0; color: #f0c87f; content: "✓"; font-weight: 800; }

/* Engagement entry: three panels joined by one journey path (node, rule,
   arrowhead) along their upper edge. */
.jzta-entry-steps { display: grid; box-sizing: border-box; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; width: min(100%, var(--jzta-container-wide)); margin: 0 auto; padding: 1px; list-style: none; background: rgba(250, 250, 247, 0.22); }
.jzta-entry-steps > li { position: relative; min-width: 0; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--wp--preset--color--base); }
/* The connecting rule continues across the panel boundary to the next node;
   the arrowhead sits in the boundary zone, clear of all copy. */
.jzta-entry-steps .jzta-path:not(.jzta-path--end) { margin-right: calc(-2 * clamp(1.5rem, 3vw, 2.25rem) - 1px); }
.jzta-entry-steps .jzta-path:not(.jzta-path--end) .jzta-path__line { margin-right: calc(clamp(1.5rem, 3vw, 2.25rem) + 14px); }
.jzta-entry-steps .jzta-path__arrow { right: calc(clamp(1.5rem, 3vw, 2.25rem) + 1px); }
.jzta-entry-steps h3 { margin: 0 0 0.75rem; color: var(--wp--preset--color--contrast) !important; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.jzta-entry-steps p { margin-bottom: 0; font-size: 0.95rem; line-height: 1.6; }

/* Stacked engagement panels: the journey path turns vertical along the left
   edge, in a reserved lane that keeps clear of the copy at any zoom level. */
@media (max-width: 1100px) {
	.jzta-entry-steps > li { padding-left: calc(clamp(1.5rem, 3vw, 2.25rem) + 2rem); }
	.jzta-entry-steps .jzta-path { position: absolute; top: calc(clamp(1.5rem, 3vw, 2.25rem) + 2px); left: clamp(1.5rem, 3vw, 2.25rem); display: block; width: 11px; height: 11px; margin: 0 !important; }
	.jzta-entry-steps .jzta-path__line,
	.jzta-entry-steps .jzta-path__arrow { display: none; }
	.jzta-entry-steps > li:not(:last-child)::after { content: ""; position: absolute; top: calc(clamp(1.5rem, 3vw, 2.25rem) + 18px); bottom: 22px; left: calc(clamp(1.5rem, 3vw, 2.25rem) + 5px); width: 1px; background: rgba(240, 200, 127, 0.5); }
	.jzta-entry-steps > li:not(:last-child)::before { content: ""; position: absolute; bottom: 14px; left: calc(clamp(1.5rem, 3vw, 2.25rem) + 2px); width: 6px; height: 6px; border-top: 1px solid rgba(240, 200, 127, 0.95); border-right: 1px solid rgba(240, 200, 127, 0.95); transform: rotate(135deg); }
}

/* Stacked outcomes: the gutter connector turns vertical with a downward
   arrowhead between panels; no draw animation at these widths. */
@media (max-width: 781px) {
	.jzta-outcome-grid { gap: 2.25rem 0; }
	.jzta-outcome:not(:last-child)::after { top: auto; right: auto; bottom: calc(-2.25rem + 6px); left: 50%; width: 1px; height: calc(2.25rem - 16px); transform: none; }
	.jzta-outcome:not(:last-child)::before { top: auto; right: auto; bottom: calc(-2.25rem + 8px); left: calc(50% - 3px); transform: rotate(135deg); }
}
.jzta-entry-callout { box-sizing: border-box; width: min(100%, var(--jzta-container-wide)); margin: clamp(2rem, 4vw, 3rem) auto 0; padding: clamp(1.5rem, 3.5vw, 2.5rem); border-left: 4px solid #e7b963; background: rgba(250, 250, 247, 0.06); }
.jzta-entry-callout h3 { margin: 0 0 0.75rem; color: var(--wp--preset--color--contrast) !important; font-size: clamp(1.3rem, 2.1vw, 1.8rem); }
.jzta-entry-callout p { max-width: 62rem; margin: 0; }
.jzta-entry-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; width: min(100%, var(--jzta-container-wide)); margin: clamp(2rem, 4vw, 3rem) auto 0; }
.jzta-engagement-entry .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--contrast); border-color: rgba(250, 250, 247, 0.72); }

/* Evidence from the work: the homepage's principal proof moment. Without the
   enhancement (mobile, tablet, reduced motion, no JavaScript) every proof is
   a complete editorial block in a normal stack. The enhanced desktop state is
   a controlled sticky stage that presents exactly one emphasized proof at a
   time, advanced by scroll thresholds — never by a timer. */
.jzta-evidence {
	color: rgba(250, 250, 247, 0.78);
	background:
		radial-gradient(circle at 84% 22%, rgba(201, 138, 45, 0.1), transparent 26rem),
		radial-gradient(circle at 8% 88%, rgba(14, 95, 91, 0.32), transparent 30rem),
		linear-gradient(160deg, #101c25 0%, #14232e 58%, #102b2e 100%);
}
.jzta-evidence__panel { box-sizing: border-box; padding: var(--jzta-section-pad) clamp(1.25rem, 4vw, 3rem); }
.jzta-evidence__inner { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; width: min(100%, var(--jzta-container-wide)); margin-inline: auto; }
.jzta-evidence__context .jzta-eyebrow { color: #e7b963; }
.jzta-evidence__title { max-width: 16ch; margin: 0 0 1.25rem; color: var(--wp--preset--color--contrast) !important; font-size: clamp(1.9rem, 3.2vw, 3rem); letter-spacing: -0.03em; line-height: 1.1; }
.jzta-evidence__lede { max-width: 34rem; margin: 0; font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.6; }
.jzta-evidence__stage { position: relative; min-width: 0; }
.jzta-evidence-item { margin: 0 0 1.25rem; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid rgba(250, 250, 247, 0.16); border-radius: var(--jzta-radius-sm); background: rgba(250, 250, 247, 0.04); }
.jzta-evidence-item:last-of-type { margin-bottom: 0; }
.jzta-evidence-item__marker { margin: 0 0 0.85rem; color: #e7b963; font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.35rem, 4.5vw, 1.9rem); font-weight: 650; letter-spacing: 0.04em; line-height: 0.98; text-transform: uppercase; }
.jzta-evidence-item__headline { margin: 0 0 0.85rem; color: var(--wp--preset--color--contrast) !important; font-size: clamp(1.45rem, 5vw, 2rem); letter-spacing: -0.02em; line-height: 1.08; }
.jzta-evidence-item__detail { max-width: 36rem; margin: 0; font-size: clamp(0.98rem, 1.4vw, 1.15rem); line-height: 1.6; }
.jzta-evidence__progress { display: none; }

/* Enhanced sticky stage (desktop, motion permitted; toggled by site.js). */
.jzta-evidence--enhanced { min-height: 185svh; }
.jzta-evidence--enhanced .jzta-evidence__panel { position: sticky; top: var(--jzta-header-height, 4.25rem); display: flex; align-items: center; height: calc(100svh - var(--jzta-header-height, 4.25rem)); padding-top: 2rem; padding-bottom: 2rem; overflow: hidden; }
.jzta-evidence--enhanced .jzta-evidence__inner { width: min(100%, var(--jzta-container-wide)); }
.jzta-evidence--enhanced .jzta-evidence__stage { min-height: min(30rem, 72vh); }
.jzta-evidence--enhanced .jzta-evidence__stage::before { content: ""; position: absolute; top: 50%; left: 46%; z-index: 0; width: min(36rem, 46vw); height: min(30rem, 60vh); transform: translate(-50%, -50%); background: radial-gradient(closest-side, rgba(231, 185, 99, 0.12), rgba(14, 95, 91, 0.08) 55%, transparent 78%); pointer-events: none; }
.jzta-evidence--enhanced .jzta-evidence-item { position: absolute; top: 50%; right: clamp(3.25rem, 4vw, 4.5rem); left: 0; z-index: 1; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; opacity: 0; visibility: hidden; transform: translateY(-50%) translateX(32px) scale(0.96); transition: opacity 480ms ease, transform 480ms cubic-bezier(0.2, 0.7, 0.2, 1), visibility 0s linear 480ms; }
.jzta-evidence--enhanced .jzta-evidence-item.is-passed { transform: translateY(-50%) translateX(-22px) scale(0.985); }
.jzta-evidence--enhanced .jzta-evidence-item.is-active { opacity: 1; visibility: visible; transform: translateY(-50%); transition-delay: 90ms, 90ms, 0s; }
.jzta-evidence--enhanced .jzta-evidence-item__marker { margin-bottom: 1.1rem; font-size: clamp(2.75rem, 4.2vw, 4.5rem); text-wrap: balance; }
.jzta-evidence--enhanced .jzta-evidence-item__headline { margin-bottom: 1rem; font-size: clamp(1.9rem, 2.6vw, 2.7rem); }
.jzta-evidence--enhanced .jzta-evidence-item__detail { font-size: clamp(1.02rem, 1.4vw, 1.2rem); }
.jzta-evidence--enhanced .jzta-evidence__progress { position: absolute; top: 50%; right: 0; z-index: 2; display: flex; flex-direction: column; gap: 1.15rem; align-items: center; padding: 0.75rem 0; transform: translateY(-50%); }
.jzta-evidence--enhanced .jzta-evidence__progress-rule { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: rgba(240, 200, 127, 0.28); transform: translateX(-50%); }
.jzta-evidence--enhanced .jzta-evidence__stop { position: relative; z-index: 1; padding: 0.3rem 0.1rem; color: rgba(240, 200, 127, 0.38); background: #14232e; font-family: var(--wp--preset--font-family--body); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; transition: color 300ms ease, text-shadow 300ms ease; }
.jzta-evidence--enhanced .jzta-evidence__stop.is-active { color: #f0c87f; text-shadow: 0 0 10px rgba(240, 200, 127, 0.55); }

/* Below the animation breakpoint the proof presents as a single editorial
   column: context first, then all four complete proof blocks. */
@media (max-width: 1023px) {
	.jzta-evidence__inner { grid-template-columns: minmax(0, 1fr); align-items: start; }
	.jzta-evidence__context { margin-bottom: 0.5rem; }
}

.jzta-proof-records { padding: clamp(3rem, 7vw, 7rem) max(1.25rem, calc((100vw - 78rem) / 2)); }
.jzta-testimonials { background: #e8eeea; }
.jzta-testimonial-grid, .jzta-case-study-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.jzta-testimonial { margin: 0; padding: clamp(1.5rem, 3vw, 2.25rem); border-top: 3px solid var(--wp--preset--color--primary); background: var(--wp--preset--color--contrast); }
.jzta-testimonial blockquote { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.15rem, 2vw, 1.45rem); }
.jzta-testimonial blockquote p:first-child { margin-top: 0; }
.jzta-testimonial figcaption { margin-top: 2rem; color: var(--wp--preset--color--muted); font-size: 0.88rem; font-weight: 700; }
.jzta-case-studies { color: rgba(250, 250, 247, 0.78); background: var(--wp--preset--color--base); }
.jzta-case-studies h2, .jzta-case-studies h3, .jzta-case-studies h3 a { color: var(--wp--preset--color--contrast); }
.jzta-case-study-grid article { padding: 1.75rem; border: 1px solid rgba(250, 250, 247, 0.24); }
.jzta-case-study-grid h3 { font-size: clamp(1.4rem, 2.3vw, 2rem); }
.jzta-case-study-card { height: 100%; padding: 1.5rem; border-top: 3px solid var(--wp--preset--color--primary); background: var(--wp--preset--color--surface); }
.jzta-case-study__context { padding-bottom: 1.25rem; border-bottom: 1px solid #c7d2cc; color: var(--wp--preset--color--muted); font-weight: 700; }
.jzta-case-study-detail > section { margin-top: 3rem; }
.jzta-proof-preview, .jzta-proof-label { padding: 1rem; border-left: 4px solid var(--wp--preset--color--accent); background: var(--wp--preset--color--surface); }

.jzta-engagement-shell { box-sizing: border-box; width: min(100%, var(--jzta-container-wide)); max-width: var(--jzta-container-wide); margin-block: clamp(3rem, 7vw, 6rem); margin-inline: auto; padding: clamp(2rem, 5vw, 4.5rem); border-radius: var(--jzta-radius-lg); }
.jzta-home > .jzta-engagement-shell { margin-block: 0; border-radius: 0; }
.jzta-engagement-shell:empty { display: none; }
.jzta-engagement-model { width: 100%; min-width: 0; }
.jzta-engagement-model__intro { max-width: 64rem; font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.15rem, 2vw, 1.55rem); }
.jzta-engagement-stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; width: 100%; margin: 2.5rem 0; padding: 1px; list-style: none; background: rgba(250, 250, 247, 0.22); }
.jzta-engagement-stages > li { min-width: 0; padding: 1.5rem; background: var(--wp--preset--color--base); }
.jzta-engagement-stages > li > span { color: #e7b963; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.14em; }
.jzta-engagement-stages h3 { min-height: 4.5rem; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.jzta-engagement-stages ul { padding-left: 1.15rem; }
.jzta-engagement-formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; width: 100%; }
.jzta-engagement-formats article { min-width: 0; padding: 1.5rem; border: 1px solid rgba(250, 250, 247, 0.25); }
.jzta-engagement-formats h3 { margin-top: 0; }
.jzta-engagement-pricing { max-width: 58rem; margin-block: 2.5rem; padding-left: 1.5rem; border-left: 3px solid #e7b963; }
.jzta-engagement-model .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--contrast); border-color: rgba(250, 250, 247, 0.72); }
.jzta-engagement-model .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.jzta-engagement-model .wp-block-button { min-width: 0; }

.jzta-contact-prompt { margin-top: 3rem; padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid #d4ddd8; border-left: 4px solid var(--wp--preset--color--primary); border-radius: 8px; background: var(--wp--preset--color--surface); box-shadow: 0 0.75rem 2rem rgba(8, 47, 45, 0.05); }

.jzta-editorial-page > * + * { margin-block-start: clamp(2rem, 5vw, 4rem); }
.jzta-editorial-lede { max-width: var(--jzta-container-reading); margin-inline: 0; }
.jzta-editorial-lede .has-large-font-size { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.35rem, 2.5vw, 1.9rem) !important; line-height: 1.45; }
.jzta-editorial-highlight { box-sizing: border-box; position: relative; width: min(calc(100vw - (2 * var(--jzta-page-gutter))), var(--jzta-container-standard)); max-width: var(--jzta-container-standard); margin-right: 0 !important; margin-left: calc(50% - min(calc(50vw - var(--jzta-page-gutter)), var(--jzta-container-standard-half))) !important; padding: clamp(1.5rem, 4vw, 2.75rem); border: 1px solid #d4ddd8; border-left: 5px solid var(--wp--preset--color--accent); border-radius: 8px; color: var(--wp--preset--color--base); background: #eef1ed; box-shadow: 0 0.75rem 2rem rgba(8, 47, 45, 0.06); }
.jzta-editorial-highlight p { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.45rem, 3vw, 2.35rem); line-height: 1.3; }
.jzta-editorial-wide,
.jzta-editorial-steps,
.jzta-editorial-challenges,
.jzta-editorial-formats {
	box-sizing: border-box;
	position: relative;
	width: min(calc(100vw - (2 * var(--jzta-page-gutter))), var(--jzta-container-wide));
	max-width: var(--jzta-container-wide);
	margin-right: 0 !important;
	margin-left: calc(50% - min(calc(50vw - var(--jzta-page-gutter)), var(--jzta-container-wide-half))) !important;
}
.jzta-editorial-split { display: grid; grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 6rem); padding: clamp(1.5rem, 4vw, 3rem); background: var(--wp--preset--color--contrast); }
.jzta-editorial-split h2 { margin-top: 0; }
.jzta-editorial-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.875rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.jzta-editorial-list li { position: relative; min-width: 0; padding: 1rem 1rem 1rem 3rem; border: 1px solid #d4ddd8; border-radius: 8px; background: rgba(14, 95, 91, 0.035); }
.jzta-editorial-list li::before { position: absolute; top: 0.9rem; left: 0.9rem; display: grid; place-items: center; width: 1.35rem; height: 1.35rem; border: 1px solid rgba(14, 95, 91, 0.3); border-radius: 50%; color: var(--wp--preset--color--primary); background: var(--wp--preset--color--contrast); content: "✓"; font-size: 0.75rem; font-weight: 800; }
.jzta-editorial-list--capabilities { box-sizing: border-box; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(calc(100vw - (2 * var(--jzta-page-gutter))), var(--jzta-container-wide)); max-width: var(--jzta-container-wide); margin-left: calc(50% - min(calc(50vw - var(--jzta-page-gutter)), var(--jzta-container-wide-half))) !important; }
.jzta-editorial-note { padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid #d4ddd8; border-left: 4px solid var(--wp--preset--color--primary); border-radius: 8px; background: var(--wp--preset--color--surface); box-shadow: 0 0.75rem 2rem rgba(8, 47, 45, 0.05); }
.jzta-editorial-note h3 { margin-top: 0; }
.jzta-editorial-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin-top: 1.5rem; padding: 0; list-style: none; background: transparent; }
.jzta-editorial-steps li { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #c7d2cc; border-radius: 8px; background: var(--wp--preset--color--contrast); box-shadow: 0 0.75rem 2rem rgba(8, 47, 45, 0.06); transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease; }
.jzta-editorial-steps li > span { display: inline-grid; place-items: center; min-width: 2.75rem; height: 2.75rem; padding-inline: 0.55rem; border: 1px solid rgba(14, 95, 91, 0.22); border-radius: 8px; color: var(--wp--preset--color--primary); background: rgba(14, 95, 91, 0.06); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.12em; }
.jzta-editorial-steps h3 { margin: 1.5rem 0 0.75rem; }
.jzta-editorial-steps p { margin-bottom: 0; }

/* Approach: the four-step method as one connected decision pathway — open
   composition (no boxed panels), one continuous gold path, a node per stage,
   arrowheads between stages. Decorative only; copy is never gated on it. */
.jzta-approach-path {
	box-sizing: border-box;
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0 clamp(1.25rem, 2vw, 2rem);
	width: min(calc(100vw - (2 * var(--jzta-page-gutter))), var(--jzta-container-wide));
	max-width: var(--jzta-container-wide);
	margin: 2rem 0 0 !important;
	margin-left: calc(50% - min(calc(50vw - var(--jzta-page-gutter)), var(--jzta-container-wide-half))) !important;
	padding: 0;
	list-style: none;
}
.jzta-approach-path > li { min-width: 0; margin: 0; }
.jzta-approach-path .jzta-path__node { background: var(--wp--preset--color--accent); box-shadow: 0 0 8px rgba(201, 138, 45, 0.35); }
.jzta-approach-path .jzta-path__line { background: rgba(201, 138, 45, 0.5); }
.jzta-approach-path .jzta-path__arrow { border-top-color: var(--wp--preset--color--accent); border-right-color: var(--wp--preset--color--accent); }
.jzta-approach-path .jzta-path:not(.jzta-path--end) { margin-right: calc(-1 * clamp(1.25rem, 2vw, 2rem)); }
.jzta-approach-path .jzta-path__arrow { right: 4px; }
.jzta-approach-path h3 { margin: 0 0 0.6rem; font-size: clamp(1.25rem, 2vw, 1.6rem); }
.jzta-approach-path p { margin: 0; color: var(--wp--preset--color--muted); font-size: 0.95rem; line-height: 1.6; }

@media (max-width: 1100px) {
	.jzta-approach-path { grid-template-columns: minmax(0, 1fr); gap: 2.25rem 0; }
	.jzta-approach-path > li { position: relative; padding-left: 2rem; }
	.jzta-approach-path .jzta-path { position: absolute; top: 4px; left: 0; display: block; width: 11px; height: 11px; margin: 0; }
	.jzta-approach-path .jzta-path__line,
	.jzta-approach-path .jzta-path__arrow { display: none; }
	.jzta-approach-path > li:not(:last-child)::after { content: ""; position: absolute; top: 20px; bottom: calc(-2.25rem + 14px); left: 5px; width: 1px; background: rgba(201, 138, 45, 0.5); }
	.jzta-approach-path > li:not(:last-child)::before { content: ""; position: absolute; bottom: calc(-2.25rem + 8px); left: 2px; width: 6px; height: 6px; border-top: 1px solid var(--wp--preset--color--accent); border-right: 1px solid var(--wp--preset--color--accent); transform: rotate(135deg); }
}
.jzta-editorial-band { box-sizing: border-box; position: relative; width: min(calc(100vw - (2 * var(--jzta-page-gutter))), var(--jzta-container-standard)); max-width: var(--jzta-container-standard); margin-right: 0 !important; margin-left: calc(50% - min(calc(50vw - var(--jzta-page-gutter)), var(--jzta-container-standard-half))) !important; padding: clamp(2rem, 5vw, 4rem); border-radius: 8px; color: rgba(250, 250, 247, 0.82); background: radial-gradient(circle at 88% 16%, rgba(14, 95, 91, 0.34), transparent 24rem), var(--wp--preset--color--base); box-shadow: var(--jzta-shadow); }
.jzta-editorial-band h2 { max-width: 22ch; color: var(--wp--preset--color--contrast) !important; }
.jzta-editorial-band .jzta-eyebrow { color: #e7b963; }
.jzta-editorial-audiences h2 { max-width: 46rem; }
/* The constrained page layout caps group children at the reading width; the
   audience grid must instead fill this section's wide breakout rail. */
.jzta-editorial-audiences > .jzta-audience-grid { max-width: none; gap: clamp(1rem, 2vw, 1.5rem); }
.jzta-fit-checklist { display: grid; box-sizing: border-box; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.875rem; width: min(calc(100vw - (2 * var(--jzta-page-gutter))), var(--jzta-container-wide)); max-width: var(--jzta-container-wide); margin: 1.5rem 0 0 !important; margin-left: calc(50% - min(calc(50vw - var(--jzta-page-gutter)), var(--jzta-container-wide-half))) !important; padding: 0; list-style: none; }
.jzta-fit-checklist li { min-width: 0; margin: 0; padding: 1.15rem 1.15rem 1.15rem 3.15rem; border: 1px solid #d4ddd8; border-radius: 8px; background: var(--wp--preset--color--contrast); box-shadow: 0 0.5rem 1.5rem rgba(8, 47, 45, 0.045); transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease; }
.jzta-fit-checklist li::before { float: left; margin-left: -2rem; color: var(--wp--preset--color--primary); content: "✓"; font-weight: 800; }
.jzta-editorial-challenges { counter-reset: challenge; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); padding: 0; background: transparent; }
.jzta-editorial-challenges article,
.jzta-editorial-formats article { position: relative; min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #c7d2cc; border-radius: 8px; background: var(--wp--preset--color--contrast); box-shadow: 0 0.75rem 2rem rgba(8, 47, 45, 0.06); transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease; }
.jzta-editorial-challenges article { counter-increment: challenge; }
.jzta-editorial-challenges article::before,
.jzta-editorial-formats article::before { display: inline-grid; place-items: center; min-width: 2.75rem; height: 2.75rem; margin-bottom: 1.35rem; padding-inline: 0.55rem; border: 1px solid rgba(14, 95, 91, 0.22); border-radius: 8px; color: var(--wp--preset--color--primary); background: rgba(14, 95, 91, 0.06); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.1em; }
.jzta-editorial-challenges article::before { content: "0" counter(challenge); }
.jzta-editorial-challenges h3,
.jzta-editorial-formats h3 { margin-top: 0; }
.jzta-editorial-formats { counter-reset: format; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.jzta-editorial-formats article { counter-increment: format; }
.jzta-editorial-formats article::before { content: "0" counter(format); }
.jzta-legal-review { padding: clamp(1.25rem, 4vw, 2rem); border-left: 5px solid var(--wp--preset--color--accent-dark); background: #fff3dc; }
.jzta-legal-review h2 { margin-top: 0; font-size: var(--wp--preset--font-size--x-large); }
.wp-block-table { max-width: 100%; overflow-x: auto; }

.jzta-insights { background: var(--wp--preset--color--contrast); }
.jzta-insights .jzta-section-head--split { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 2rem; }
.jzta-insights__support { max-width: 40rem; margin: 1rem 0 0; color: var(--wp--preset--color--muted); }
.jzta-insight-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); align-items: stretch; gap: 1.5rem; width: min(100%, var(--jzta-container-wide)); margin-inline: auto; }
.jzta-insight-card { display: flex; flex-direction: column; min-width: 0; min-height: 16rem; padding: 1.75rem; border-top: 3px solid var(--wp--preset--color--primary); background: #eef1ed; }
.jzta-insight-card h3 { margin-top: 2rem; font-size: clamp(1.3rem, 2vw, 1.7rem); }
.jzta-insight-card h3 a { text-decoration: none; }
.jzta-insight-card__excerpt { flex-grow: 1; color: var(--wp--preset--color--muted); }
.jzta-insight-card__date { margin: 0; color: var(--wp--preset--color--muted); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

/* Insights archive: use the same editorial-card contract as homepage previews. */
.jzta-insights-main > h1 { margin-bottom: clamp(2rem, 4vw, 3rem); }
.jzta-insights-archive { box-sizing: border-box; width: 100% !important; max-width: var(--jzta-container-wide) !important; margin-inline: auto !important; }
.jzta-insights-archive .wp-block-post-template { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; }
.jzta-insights-archive .wp-block-post-template > li { display: grid; }
.jzta-insight-archive-card { position: relative; box-sizing: border-box; height: 100%; margin: 0; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid #c7d2cc; border-top: 3px solid var(--wp--preset--color--primary); border-radius: 8px; background: #eef1ed; box-shadow: 0 0.75rem 2rem rgba(8, 47, 45, 0.07); transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease; }
.jzta-insight-archive-card::before { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-bottom: 1.5rem; border: 1px solid rgba(14, 95, 91, 0.22); border-radius: 8px; color: var(--wp--preset--color--primary); background: var(--wp--preset--color--contrast); content: "↗"; font-size: 1rem; font-weight: 800; }
.jzta-insight-archive-card h2 { margin-top: 0; font-size: clamp(1.5rem, 2.5vw, 2rem) !important; line-height: 1.15; }
.jzta-insight-archive-card h2 a { text-decoration: none; }
.jzta-insight-archive-card .wp-block-post-date { color: var(--wp--preset--color--muted); font-size: 0.875rem !important; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.jzta-insight-archive-card .wp-block-post-excerpt { display: flex; flex-direction: column; flex-grow: 1; }

/* Service details keep the offer prominent without allowing the excerpt to
   overpower the page title or the next decision. */
.jzta-service-detail > .wp-block-post-title { max-width: 18ch; margin-bottom: 1rem; }
.jzta-service-detail > .wp-block-post-excerpt { max-width: 54rem; margin: 0 0 1.75rem; }
.jzta-service-detail > .wp-block-post-excerpt p { color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.25rem, 2.3vw, 1.75rem); line-height: 1.42; }
.jzta-service-detail > .jzta-service-value,
.jzta-service-detail > .jzta-service-investment { max-width: 54rem; }
.jzta-service-detail > .jzta-investment-scope-note { max-width: 54rem; margin-inline: 0; text-align: left; }
.jzta-service-detail > .wp-block-post-content { margin-top: clamp(2.5rem, 6vw, 5rem); }

.jzta-brief { color: rgba(250, 250, 247, 0.78); background: var(--wp--preset--color--base-soft); }
.jzta-brief .jzta-section-title { max-width: 22ch; }

/* Technology Decision Guide: editorial copy beside a working request form. */
.jzta-guide__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr); gap: clamp(2.5rem, 6vw, 6rem); width: min(100%, var(--jzta-container-wide)); margin-inline: auto; }
.jzta-guide__lede { max-width: 40rem; font-size: clamp(1.02rem, 1.5vw, 1.18rem); line-height: 1.6; }
.jzta-guide__covers-label { margin: 2rem 0 0.5rem; color: #e7b963; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.jzta-guide__covers { margin: 0; padding: 0; list-style: none; }
.jzta-guide__covers li { position: relative; padding: 0.6rem 0 0.6rem 1.9rem; border-bottom: 1px solid rgba(250, 250, 247, 0.16); }
.jzta-guide__covers li::before { position: absolute; top: 0.66rem; left: 0; color: #f0c87f; content: "✓"; font-weight: 800; }
.jzta-guide__panel { box-sizing: border-box; align-self: start; min-width: 0; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid rgba(250, 250, 247, 0.22); border-radius: var(--jzta-radius-sm); background: rgba(250, 250, 247, 0.05); }
.jzta-guide__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 0.8rem; }
.jzta-guide__field { margin: 0 0 1.1rem; }
.jzta-guide__field label { display: block; margin-bottom: 0.35rem; color: var(--wp--preset--color--contrast); font-size: 0.88rem; font-weight: 700; }
.jzta-guide__field input { display: block; box-sizing: border-box; width: 100%; min-height: var(--jzta-control-min-height); padding: 0.55rem 0.75rem; border: 1px solid rgba(250, 250, 247, 0.35); border-radius: 0.4rem; color: var(--wp--preset--color--contrast); background: rgba(16, 28, 37, 0.55); font: inherit; }
.jzta-guide__field input:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 1px; }
.jzta-guide__consent { margin: 0 0 1.25rem; }
.jzta-guide__consent label { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); gap: 0.6rem; align-items: start; color: rgba(250, 250, 247, 0.82); font-size: 0.88rem; }
.jzta-guide__consent input { width: 1.15rem; height: 1.15rem; margin-top: 0.15rem; accent-color: var(--wp--preset--color--accent); }
.jzta-guide__submit { margin: 0; }
.jzta-guide__submit button { width: 100%; color: var(--wp--preset--color--base) !important; background: var(--wp--preset--color--accent); }
.jzta-guide__notice { margin: 1rem 0 0; color: rgba(250, 250, 247, 0.62); }
.jzta-guide__notice a { color: rgba(250, 250, 247, 0.82); }
.jzta-guide__honeypot,
.jzta-lead-form__honeypot { position: absolute; z-index: -1; top: -9999px; left: -9999px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.jzta-guide__alert { margin: 0 0 1.25rem; padding: 1rem; border: 1px solid var(--wp--preset--color--accent-dark); border-radius: 0.5rem; background: rgba(201, 138, 45, 0.12); }
.jzta-guide__alert p { margin: 0; color: var(--wp--preset--color--contrast); }
.jzta-guide__success h3 { margin: 0 0 0.75rem; color: var(--wp--preset--color--contrast) !important; font-size: clamp(1.4rem, 2.2vw, 1.9rem); }
.jzta-guide__success p { margin: 0 0 1.25rem; }
.jzta-guide__download { margin: 0; }
.jzta-guide__download a { color: var(--wp--preset--color--base) !important; background: var(--wp--preset--color--accent); }

/* Contact page: a designed conversion destination. The dark intro panel
   explains the introductory conversation and its boundary; the light panel
   carries the styled request form in the same brand language as the
   homepage guide form. */
.jzta-contact-grid {
	box-sizing: border-box;
	position: relative;
	left: 50%;
	display: grid;
	grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
	width: min(calc(100vw - (2 * var(--jzta-page-gutter))), var(--jzta-container-wide));
	max-width: var(--jzta-container-wide);
	margin-right: 0 !important;
	margin-left: 0 !important;
	overflow: hidden;
	border: 1px solid #c7d2cc;
	border-radius: var(--jzta-radius-lg);
	background: var(--wp--preset--color--contrast);
	box-shadow: var(--jzta-shadow);
	transform: translateX(-50%);
}
.jzta-contact-intro {
	position: relative;
	color: rgba(250, 250, 247, 0.8);
	background:
		radial-gradient(circle at 85% 8%, rgba(201, 138, 45, 0.14), transparent 22rem),
		radial-gradient(circle at 0% 100%, rgba(14, 95, 91, 0.5), transparent 26rem),
		linear-gradient(165deg, #101c25 0%, #14232e 55%, #0f2a2d 100%);
}
.jzta-contact-intro::after { content: ""; position: absolute; top: clamp(2rem, 4vw, 3.25rem); left: 0; width: 3px; height: 5.5rem; background: linear-gradient(180deg, #e7b963, rgba(231, 185, 99, 0)); }
.jzta-contact-intro__inner { padding: clamp(2rem, 4vw, 3.5rem); }
.jzta-contact-intro .jzta-eyebrow { color: #e7b963; }
.jzta-contact-intro h1 { max-width: 14ch; margin: 0 0 1.25rem; color: var(--wp--preset--color--contrast); font-size: clamp(2.1rem, 3.4vw, 3.2rem); letter-spacing: -0.03em; line-height: 1.05; }
.jzta-contact-intro__lede { max-width: 32rem; margin: 0 0 2rem; font-size: clamp(1rem, 1.4vw, 1.12rem); line-height: 1.6; }
.jzta-contact-expect { display: grid; gap: 1rem; margin: 0 0 2rem; }
.jzta-contact-expect > div { padding-left: 1.15rem; border-left: 2px solid rgba(240, 200, 127, 0.55); }
.jzta-contact-expect dt { color: var(--wp--preset--color--contrast); font-family: var(--wp--preset--font-family--heading); font-size: 1.08rem; font-weight: 650; }
.jzta-contact-expect dd { margin: 0.25rem 0 0; font-size: 0.92rem; line-height: 1.55; }
.jzta-contact-boundary { margin: 0; padding-top: 1.25rem; border-top: 1px solid rgba(250, 250, 247, 0.18); color: rgba(250, 250, 247, 0.62); font-size: 0.85rem; line-height: 1.6; }
.jzta-contact-form-panel { min-width: 0; padding: clamp(1.75rem, 4vw, 3rem); background: #fdfdf9; }

/* Lead form: shared brand form language on a light surface. */
.jzta-lead-form__title { position: relative; margin: 0 0 0.65rem; padding-bottom: 0.85rem; color: var(--wp--preset--color--base); font-size: clamp(1.45rem, 2.2vw, 1.85rem); letter-spacing: -0.02em; }
.jzta-lead-form__title::after { content: ""; position: absolute; bottom: 0; left: 0; width: 3.25rem; height: 3px; border-radius: 2px; background: var(--wp--preset--color--accent); }
.jzta-lead-form__support { margin: 0 0 1rem; color: var(--wp--preset--color--muted); font-size: 0.95rem; line-height: 1.6; }
.jzta-lead-form__scheduling { margin: 0 0 1rem; font-size: 0.9rem; }
.jzta-lead-form__group { min-width: 0; margin: 0 0 0.75rem; padding: 0; border: 0; }
.jzta-lead-form__group legend { margin-bottom: 0.75rem; padding: 0; color: var(--wp--preset--color--primary); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.jzta-lead-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.jzta-lead-form__field { margin: 0 0 1rem; }
.jzta-lead-form__field label { display: block; margin-bottom: 0.35rem; color: var(--wp--preset--color--base); font-size: 0.88rem; font-weight: 700; }
.jzta-lead-form__field input,
.jzta-lead-form__field select,
.jzta-lead-form__field textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: 3rem;
	padding: 0.6rem 0.8rem;
	border: 1px solid rgba(14, 95, 91, 0.45);
	border-radius: 0.45rem;
	color: var(--wp--preset--color--base);
	background: #fffef9;
	font: inherit;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}
.jzta-lead-form__field select { cursor: pointer; }
.jzta-lead-form__field textarea { min-height: 9.5rem; resize: vertical; }
.jzta-lead-form__field input:hover,
.jzta-lead-form__field select:hover,
.jzta-lead-form__field textarea:hover { border-color: var(--wp--preset--color--primary); }
.jzta-lead-form__field input:focus-visible,
.jzta-lead-form__field select:focus-visible,
.jzta-lead-form__field textarea:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: var(--wp--preset--color--accent); }
.jzta-lead-form__field--error input,
.jzta-lead-form__field--error textarea { border-color: var(--wp--preset--color--accent-dark); background: #fff8ec; }
.jzta-lead-form__error { display: block; margin-top: 0.35rem; color: var(--wp--preset--color--accent-dark); font-size: 0.82rem; font-weight: 700; }
.jzta-lead-form__alert { margin: 0 0 1.5rem; padding: 1rem 1.25rem; border: 1px solid var(--wp--preset--color--accent-dark); border-left-width: 4px; border-radius: 0.5rem; background: #fff3dc; }
.jzta-lead-form__alert p { margin: 0; color: var(--wp--preset--color--base); }
.jzta-lead-form__alert ul { margin: 0.5rem 0 0; padding-left: 1.15rem; color: var(--wp--preset--color--base); font-size: 0.9rem; }
.jzta-lead-form__success { padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--wp--preset--color--primary); border-left-width: 4px; border-radius: 0.5rem; background: #eef4ef; }
.jzta-lead-form__success h2 { margin: 0 0 0.5rem; color: var(--wp--preset--color--base); font-size: clamp(1.35rem, 2vw, 1.7rem); }
.jzta-lead-form__success p { margin: 0; color: var(--wp--preset--color--muted); }
.jzta-lead-form__more { margin: 0.25rem 0 1.25rem; border-top: 1px solid #d4ddd8; border-bottom: 1px solid #d4ddd8; }
.jzta-lead-form__more summary { display: flex; align-items: center; min-height: var(--jzta-control-min-height); color: var(--wp--preset--color--primary); font-size: 0.9rem; font-weight: 750; letter-spacing: 0.02em; cursor: pointer; }
.jzta-lead-form__more summary:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; border-radius: 2px; }
.jzta-lead-form__more[open] summary { border-bottom: 1px solid #e4e9e4; margin-bottom: 1rem; }
.jzta-lead-form__more-fields { padding-bottom: 0.5rem; }
.jzta-lead-form__consent { margin: 0 0 1.25rem; }
.jzta-lead-form__consent label { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); gap: 0.6rem; align-items: start; color: var(--wp--preset--color--base); font-size: 0.9rem; line-height: 1.5; }
.jzta-lead-form__consent input { width: 1.15rem; height: 1.15rem; margin-top: 0.15rem; accent-color: var(--wp--preset--color--primary); }
.jzta-lead-form__submit { margin: 0 0 1rem; }
.jzta-lead-form__submit button { color: var(--wp--preset--color--base) !important; background: var(--wp--preset--color--accent); }
.jzta-lead-form__notice { margin: 0; color: var(--wp--preset--color--muted); }
@media (max-width: 960px) {
	.jzta-contact-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 680px) {
	.jzta-lead-form__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.jzta-guide__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.jzta-lead-form__submit button { width: 100%; }
}
.jzta-final-cta { text-align: center; background: #f4f5f0; }
.jzta-final-cta .jzta-section-title { max-width: none; }
.jzta-final-cta__note { color: var(--wp--preset--color--muted); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }

/* Progressive reveal: content stays visible without JavaScript. */
.jzta-motion-ready .jzta-reveal { opacity: 0; transform: translateY(1.5rem); transition: opacity 650ms ease, transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1); }
.jzta-motion-ready .jzta-reveal.is-visible { opacity: 1; transform: none; }
.jzta-motion-ready .jzta-hero .jzta-reveal { opacity: 1; transform: none; }
.jzta-motion-ready :where(.jzta-section--ink, .jzta-brief) .jzta-reveal :where(h2, h3) { color: rgba(250, 250, 247, 0.16) !important; transition: color 800ms ease 120ms; }
.jzta-motion-ready :where(.jzta-section--ink, .jzta-brief) .jzta-reveal.is-visible :where(h2, h3) { color: var(--wp--preset--color--contrast) !important; }
.jzta-motion-ready .jzta-editorial-band.jzta-reveal h2 { color: rgba(250, 250, 247, 0.16) !important; transition: color 800ms ease 120ms; }
.jzta-motion-ready .jzta-editorial-band.jzta-reveal.is-visible h2 { color: var(--wp--preset--color--contrast) !important; }
.jzta-motion-ready .jzta-outcome-grid > :nth-child(2),
.jzta-motion-ready .jzta-pitfalls-grid > :nth-child(2),
.jzta-motion-ready .jzta-service-query .wp-block-post-template > :nth-child(3n + 2) .jzta-reveal,
.jzta-motion-ready .jzta-begin-grid > :nth-child(2),
.jzta-motion-ready .jzta-insight-grid > :nth-child(2) { transition-delay: 90ms; }
.jzta-motion-ready .jzta-outcome-grid > :nth-child(3),
.jzta-motion-ready .jzta-pitfalls-grid > :nth-child(3),
.jzta-motion-ready .jzta-service-query .wp-block-post-template > :nth-child(3n) .jzta-reveal,
.jzta-motion-ready .jzta-begin-grid > :nth-child(3) { transition-delay: 180ms; }
.jzta-motion-ready :where(.jzta-editorial-list, .jzta-fit-checklist, .jzta-editorial-steps, .jzta-editorial-formats, .jzta-editorial-challenges) > :nth-child(2n) { transition-delay: 90ms; }

@media (hover: hover) and (min-width: 681px) {
	.jzta-service-card:hover,
	.jzta-editorial-steps li:hover,
	.jzta-fit-checklist li:hover,
	.jzta-editorial-challenges article:hover,
	.jzta-editorial-formats article:hover,
	.jzta-insight-archive-card:hover {
		border-color: rgba(14, 95, 91, 0.42);
		box-shadow: 0 1rem 2.5rem rgba(8, 47, 45, 0.12);
		transform: translateY(-4px);
	}
}

/* Equal-height content cards are a site-wide editorial standard. */
.wp-block-post-template { grid-auto-rows: 1fr; align-items: stretch; }
.wp-block-post-template > li { min-width: 0; }

@media (max-width: 960px) {
	.jzta-hero { display: block; min-height: auto; padding-top: clamp(2.75rem, 8vw, 4.5rem); padding-bottom: clamp(4rem, 10vw, 6rem); }
	.jzta-hero__grid, .jzta-split { display: block !important; }
	.jzta-hero__grid > .wp-block-column, .jzta-split > .wp-block-column { flex-basis: 100% !important; }
	.jzta-hero__visual-column { display: block; }
	.jzta-alignment-visual { max-width: 36rem; margin: 3rem auto 0; }
	.jzta-engagement-stages { grid-template-columns: repeat(2, 1fr); }
	.jzta-testimonial-grid, .jzta-case-study-grid { grid-template-columns: repeat(2, 1fr); }
	.jzta-service-query .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.jzta-guide__grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
	.jzta-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.jzta-editorial-split { grid-template-columns: minmax(0, 1fr); }
	.jzta-editorial-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.jzta-editorial-list--capabilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
	.jzta-audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.jzta-engagement-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.jzta-begin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.jzta-entry-steps { grid-template-columns: minmax(0, 1fr); }
	.jzta-header__actions > .wp-block-buttons { display: none; }
}

@media (max-width: 1050px) {
	.jzta-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.jzta-header .wp-block-navigation__responsive-container-open { display: inline-grid !important; }
	.jzta-header .wp-block-navigation__responsive-container.is-menu-open { display: flex !important; }
}

/* Two-line menu icon: long top line, shorter right-aligned lower line; the
   overlay close button renders a matching X. Both reuse the core nav buttons. */
.jzta-header .wp-block-navigation__responsive-container-open svg,
.jzta-header .wp-block-navigation__responsive-container-close svg { display: none; }
.jzta-header .wp-block-navigation__responsive-container-open,
.jzta-header .wp-block-navigation__responsive-container-close { position: relative; min-width: 44px; min-height: 44px; }
.jzta-header .wp-block-navigation__responsive-container-open::before,
.jzta-header .wp-block-navigation__responsive-container-open::after,
.jzta-header .wp-block-navigation__responsive-container-close::before,
.jzta-header .wp-block-navigation__responsive-container-close::after { content: ""; position: absolute; height: 2px; border-radius: 2px; background: currentColor; }
.jzta-header .wp-block-navigation__responsive-container-open::before { top: calc(50% - 5px); right: 10px; width: 23px; }
.jzta-header .wp-block-navigation__responsive-container-open::after { top: calc(50% + 3px); right: 10px; width: 14px; }
.jzta-header .wp-block-navigation__responsive-container-close::before,
.jzta-header .wp-block-navigation__responsive-container-close::after { top: 50%; left: 50%; width: 22px; }
.jzta-header .wp-block-navigation__responsive-container-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.jzta-header .wp-block-navigation__responsive-container-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.jzta-header :is(.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close):focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }

/* Mobile navigation overlay: a designed full-screen experience. Deep navy
   field with a teal illumination anchored to the panel's top-right, the brand
   at the top-left, a prominent circular close control at the top-right, large
   serif navigation with a gold current-page marker, and the primary call to
   action pinned toward the bottom. Core's navigation block keeps ownership of
   focus management, aria state, Escape handling, and scroll locking. */
.jzta-header .wp-block-navigation__responsive-container.is-menu-open {
	inset: 0;
	padding: 0;
	background:
		radial-gradient(circle at 88% 6%, rgba(14, 95, 91, 0.42), transparent 30rem),
		linear-gradient(168deg, #101c25 0%, #16232e 55%, #102b2e 100%) !important;
	transition: opacity 220ms ease;
}

.jzta-header .is-menu-open .wp-block-navigation__responsive-close {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
}

.jzta-header .is-menu-open .wp-block-navigation__responsive-dialog {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	transition: transform 380ms cubic-bezier(0.22, 0.85, 0.3, 1), opacity 300ms ease;
}

/* Menu header: brand top-left (Z mark + name), close control top-right. */
.jzta-header .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "Zeigler Technology Advisory";
	display: block;
	box-sizing: border-box;
	flex: 0 0 auto;
	padding: calc(1.35rem + var(--wp-admin--admin-bar--height, 0px)) 5.5rem 1.35rem calc(clamp(1.5rem, 6vw, 2rem) + 1.95rem);
	border-bottom: 1px solid rgba(250, 250, 247, 0.14);
	background: url(assets/images/brand/zeigler-z-gold.svg) left clamp(1.5rem, 6vw, 2rem) top calc(1.3rem + var(--wp-admin--admin-bar--height, 0px)) / auto 1.5rem no-repeat;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.08rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.3;
}

.jzta-header .is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: calc(0.95rem + var(--wp-admin--admin-bar--height, 0px));
	right: clamp(1.25rem, 5vw, 1.75rem);
	z-index: 2;
	min-width: 44px;
	min-height: 44px;
	border: 1px solid rgba(250, 250, 247, 0.28);
	border-radius: 999px;
	color: var(--wp--preset--color--contrast);
	background: rgba(250, 250, 247, 0.06);
}

/* Core's overlay styles set large flex gaps and paddings with high-specificity
   selectors; these deliberately match that specificity to own the rhythm. */
.jzta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0;
	min-height: 0;
	width: 100%;
	padding: 1.25rem clamp(1.5rem, 6vw, 2rem) clamp(1.5rem, 4vh, 2.25rem);
	overflow-y: auto;
}

.jzta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	width: 100%;
	margin: 0;
	padding: 0;
}

.jzta-header .is-menu-open .wp-block-navigation-item {
	width: 100%;
	margin: 0;
	border-bottom: 1px solid rgba(250, 250, 247, 0.1);
}

.jzta-header .is-menu-open .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 44px;
	padding: 0.85rem 0.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.5rem, 6vw, 2.25rem);
	letter-spacing: -0.015em;
	line-height: 1.15;
}

.jzta-header .is-menu-open .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.jzta-header .is-menu-open .wp-block-navigation-item__content[aria-current="page"] {
	box-shadow: none;
	color: #f0c87f !important;
}

.jzta-header .is-menu-open .wp-block-navigation-item__content[aria-current="page"]::after {
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	width: 2rem;
	height: 3px;
	margin-left: 1rem;
	border-radius: 2px;
	background: #f0c87f;
	box-shadow: 0 0 8px rgba(240, 200, 127, 0.55);
}

/* Brand statement and primary call to action pinned toward the bottom. */
.jzta-header .wp-block-navigation__responsive-container:not(.is-menu-open) .jzta-mobile-nav-extras { display: none; }
.jzta-header .is-menu-open .jzta-mobile-nav-extras {
	display: grid;
	gap: 1.1rem;
	margin-top: auto;
	padding-top: 2rem;
}
.jzta-header .is-menu-open .jzta-mobile-nav-extras p {
	max-width: 30rem;
	margin: 0;
	color: rgba(250, 250, 247, 0.66);
	font-size: 0.88rem;
	line-height: 1.55;
}
.jzta-header .is-menu-open .jzta-mobile-nav-extras__cta {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3.25rem;
	padding: var(--jzta-button-padding-block) var(--jzta-button-padding-inline);
	border-radius: var(--jzta-button-radius);
	color: var(--wp--preset--color--base) !important;
	background: var(--wp--preset--color--accent);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

/* Entrance: backdrop fades, panel rises subtly, links reveal with a light
   stagger, and the icon's two lines resolve into the X. Browsers without
   @starting-style simply open instantly; the global reduced-motion rule
   collapses every duration to an imperceptible change. */
.jzta-header .is-menu-open :is(.wp-block-navigation-item, .jzta-mobile-nav-extras) {
	transition: opacity 320ms ease, transform 360ms cubic-bezier(0.22, 0.85, 0.3, 1);
}
.jzta-header .is-menu-open .wp-block-navigation-item:nth-child(1) { transition-delay: 60ms; }
.jzta-header .is-menu-open .wp-block-navigation-item:nth-child(2) { transition-delay: 100ms; }
.jzta-header .is-menu-open .wp-block-navigation-item:nth-child(3) { transition-delay: 140ms; }
.jzta-header .is-menu-open .wp-block-navigation-item:nth-child(4) { transition-delay: 180ms; }
.jzta-header .is-menu-open .wp-block-navigation-item:nth-child(5) { transition-delay: 220ms; }
.jzta-header .is-menu-open .wp-block-navigation-item:nth-child(6) { transition-delay: 260ms; }
.jzta-header .is-menu-open .wp-block-navigation-item:nth-child(7) { transition-delay: 300ms; }
.jzta-header .is-menu-open .wp-block-navigation-item:nth-child(n + 8) { transition-delay: 340ms; }
.jzta-header .is-menu-open .jzta-mobile-nav-extras { transition-delay: 380ms; }
.jzta-header .is-menu-open .wp-block-navigation__responsive-container-close::before,
.jzta-header .is-menu-open .wp-block-navigation__responsive-container-close::after {
	transition: transform 320ms cubic-bezier(0.22, 0.85, 0.3, 1) 80ms;
}

@starting-style {
	.jzta-header .wp-block-navigation__responsive-container.is-menu-open { opacity: 0; }
	.jzta-header .is-menu-open .wp-block-navigation__responsive-dialog { opacity: 0.6; transform: translateY(14px); }
	.jzta-header .is-menu-open :is(.wp-block-navigation-item, .jzta-mobile-nav-extras) { opacity: 0; transform: translateY(10px); }
	.jzta-header .is-menu-open .wp-block-navigation__responsive-container-close::before { transform: translate(-50%, calc(-50% - 5px)) rotate(0deg); }
	.jzta-header .is-menu-open .wp-block-navigation__responsive-container-close::after { transform: translate(-50%, calc(-50% + 3px)) rotate(0deg); }
}

/* Short viewports (compact phones, landscape): tighten the rhythm so every
   link and the call to action stay inside the first screen; the optional
   brand statement yields its space first. */
@media (max-height: 700px) {
	.jzta-header .is-menu-open .wp-block-navigation__responsive-dialog::before { padding-top: calc(1rem + var(--wp-admin--admin-bar--height, 0px)); padding-bottom: 1rem; background-position: left clamp(1.5rem, 6vw, 2rem) top calc(0.95rem + var(--wp-admin--admin-bar--height, 0px)); }
	.jzta-header .is-menu-open .wp-block-navigation__responsive-container-close { top: calc(0.65rem + var(--wp-admin--admin-bar--height, 0px)); }
	.jzta-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0.75rem; padding-bottom: 1.25rem; }
	.jzta-header .is-menu-open .wp-block-navigation-item__content { padding-top: 0.35rem; padding-bottom: 0.35rem; font-size: clamp(1.25rem, 4.5vh, 1.6rem); }
	.jzta-header .is-menu-open .jzta-mobile-nav-extras { gap: 0.75rem; padding-top: 1rem; }
	.jzta-header .is-menu-open .jzta-mobile-nav-extras p { display: none; }
	.jzta-header .is-menu-open .jzta-mobile-nav-extras__cta { min-height: 2.9rem; }
}

@media (max-width: 900px) {
	.jzta-engagement-formats { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 961px) and (max-width: 1100px) {
	.jzta-hero__actions .wp-block-button__link {
		padding-right: 0.9rem;
		padding-left: 0.9rem;
		font-size: 0.95rem;
		white-space: nowrap;
	}
}

@media (max-width: 680px) {
	.jzta-founder-seal { width: min(100% - 2rem, 20rem); }
	.jzta-display { max-width: 100%; font-size: clamp(3.1rem, 14vw, 4.25rem) !important; }
	.jzta-display em { display: block; }
	.wp-block-buttons.jzta-hero__actions { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-auto-flow: row; gap: 0.75rem; }
	.jzta-hero__actions .wp-block-button, .jzta-hero__actions .wp-block-button__link { width: 100%; }
	.jzta-hero__note { line-height: 1.7; }
	.jzta-hero__fit { margin-bottom: 0.9rem; font-size: 0.76rem; }
	.jzta-hero__principle { font-size: 0.9rem; }
	.jzta-alignment-visual { width: 100%; }
	header.wp-block-group .wp-block-site-title { max-width: 10rem; font-size: 0.8rem; line-height: 1.15; }
	header.wp-block-group .wp-block-buttons { display: none; }
	.jzta-home .wp-block-buttons:not(.jzta-hero__actions) { display: grid; grid-template-columns: minmax(0, 1fr); }
	.jzta-home .wp-block-buttons:not(.jzta-hero__actions) :where(.wp-block-button, .wp-block-button__link) { width: 100%; }
	.jzta-outcome { min-height: auto; }
	.jzta-audience-grid { grid-template-columns: 1fr; }
	.jzta-begin-grid, .jzta-entry-steps, .jzta-engagement-stages, .jzta-engagement-formats { grid-template-columns: 1fr; }
	.jzta-engagement-model .wp-block-buttons { display: grid; grid-template-columns: minmax(0, 1fr); }
	.jzta-engagement-model .wp-block-button, .jzta-engagement-model .wp-block-button__link { width: 100%; }
	.jzta-testimonial-grid, .jzta-case-study-grid { grid-template-columns: 1fr; }
	.jzta-service-query .wp-block-post-template { grid-template-columns: minmax(0, 1fr) !important; }
	.jzta-insights-archive .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
	.jzta-footer__grid { grid-template-columns: minmax(0, 1fr); }
	.jzta-consent-banner { grid-template-columns: minmax(0, 1fr); max-height: calc(100dvh - 2rem); overflow: auto; }
	.jzta-consent-actions { grid-template-columns: minmax(0, 1fr); }
	.jzta-consent-manage { grid-column: auto; }
	.jzta-consent-dialog__actions { display: grid; grid-template-columns: minmax(0, 1fr); }
	.jzta-editorial-list,
	.jzta-editorial-steps,
	.jzta-editorial-challenges,
	.jzta-editorial-formats,
	.jzta-fit-checklist { grid-template-columns: minmax(0, 1fr); }
	.jzta-engagement-stages h3 { min-height: 0; }
	.jzta-audience-tile { min-height: 43rem; }
	.jzta-audience-grid--preview .jzta-audience-tile { min-height: 33rem; }
}

@media (max-width: 680px), (hover: none), (pointer: coarse) {
	.jzta-audience-tile__message { box-sizing: border-box; margin-top: auto; padding: 1rem 1.05rem; border: 1px solid rgba(240, 200, 127, 0.34); border-radius: 8px; color: var(--wp--preset--color--contrast); background: rgba(5, 31, 29, 0.94); box-shadow: 0 0.75rem 1.75rem rgba(5, 31, 29, 0.18); opacity: 1; visibility: visible; transform: none; }
	.jzta-audience-tile__message :where(strong, span) { color: inherit; }
	.jzta-audience-tile__media--cutout { top: 7.5rem; right: 0; bottom: auto; width: 100%; height: 6rem; opacity: 0.88; }
	.jzta-audience-grid--preview .jzta-audience-tile__media--cutout { top: 8.25rem; right: 0; bottom: auto; width: 100%; height: 9.25rem; }
	.jzta-audience-tile__next { display: inline-flex; }
	.jzta-audience-tile__cue { margin-top: 0.75rem; }
}

/* On phone-sized cards the artwork becomes a real visual stage between the
   headline and challenge. The heading pseudo-element reserves that space in
   normal flow, so longer titles cannot collide with the absolutely positioned
   cutout and the message does not fall to the bottom of an empty 43rem card. */
@media (max-width: 680px) {
	.jzta-audience-grid { grid-auto-rows: auto; }
	.jzta-audience-tile { min-height: 39.5rem; }
	.jzta-audience-tile h3::after { display: block; height: clamp(10.25rem, 42vw, 11rem); content: ""; }
	.jzta-audience-tile__media--cutout { top: 8.75rem; height: clamp(9.75rem, 40vw, 11rem); }
	.jzta-audience-tile__message { margin-top: 0.75rem; }
	.jzta-audience-grid--preview .jzta-audience-tile { min-height: 31rem; }
	.jzta-audience-grid--preview .jzta-audience-tile h3::after { height: clamp(9.5rem, 38vw, 10.5rem); }
	.jzta-audience-grid--preview .jzta-audience-tile__media--cutout { top: 8.5rem; height: clamp(9rem, 36vw, 10rem); }
}

@media (prefers-reduced-motion: reduce) {
	.jzta-alignment-visual :where(.alignment-node, .alignment-line, .alignment-final-label) { transition: none !important; }
	.jzta-motion-ready .jzta-reveal { opacity: 1; transform: none; }
	.jzta-audience-tile .jzta-audience-tile__message { transform: none !important; }
}
