.z-section {
	position: relative;
	display: block;
	padding-block: var(--z-section-y);
	scroll-margin-block-start: 110px;
	visibility: visible;
}

.zorvan-home,
.zv-section,
.zorvan-home-fallback,
.zorvan-index-fallback,
.zorvan-section-fallback {
	display: block;
	visibility: visible;
}

.z-section + .z-section {
	border-block-start: 0;
}

.z-section__header {
	max-width: 760px;
	margin-block-end: clamp(40px, 5vw, 64px);
}

.z-section__header--center {
	margin-inline: auto;
	text-align: center;
}

.z-section__header--center .z-section__text {
	margin-inline: auto;
}

.z-section__header h1,
.z-section__header h2,
.entry__header h1,
.empty-state h1,
.z-cta h2 {
	margin: 0;
	color: var(--z-text);
	font-family: var(--z-font-fa-heading);
	font-weight: 780;
	line-height: var(--z-line-height-heading);
	letter-spacing: 0;
}

.z-section__header h1,
.entry__header h1,
.empty-state h1 {
	font-size: clamp(2.25rem, 5vw, 4.5rem);
}

.z-section__header h2,
.z-cta h2 {
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.z-section__text,
.entry__meta,
.empty-state p {
	color: var(--z-muted);
}

.z-section__text,
.z-lead {
	max-width: 680px;
	margin-block: 16px 0;
	font-size: var(--z-type-md);
}

.z-lead {
	color: var(--z-text-soft);
}

.z-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-block: 0 16px;
	color: var(--z-gold);
	font-family: var(--z-font-en);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

.z-eyebrow::before {
	width: 22px;
	height: 1px;
	content: "";
	background: linear-gradient(90deg, var(--z-gold), rgba(0, 255, 156, 0.62));
}

.z-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--z-gap-sm);
}

.button {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding-block: 0;
	padding-inline: 24px;
	border: 1px solid transparent;
	border-radius: var(--z-radius-sm);
	font-family: var(--z-font-ui);
	font-weight: 700;
	line-height: 1.15;
	isolation: isolate;
	transition:
		border-color var(--z-duration-fast) var(--z-ease),
		background var(--z-duration-fast) var(--z-ease),
		color var(--z-duration-fast) var(--z-ease),
		box-shadow var(--z-duration-fast) var(--z-ease),
		transform var(--z-duration-fast) var(--z-ease);
}

.button::before {
	position: absolute;
	z-index: -1;
	inset: 1px;
	content: "";
	border-radius: inherit;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.12), transparent 38%);
	opacity: 0;
	transition: opacity var(--z-duration-fast) var(--z-ease);
}

.button:hover {
	transform: translateY(-1px);
}

.button:hover::before,
.button:focus-visible::before {
	opacity: 1;
}

.button--primary {
	background: var(--z-gradient-emerald);
	color: var(--z-bg);
	box-shadow:
		0 12px 28px rgba(25, 185, 121, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.button--primary:hover {
	color: var(--z-bg);
}

.button--secondary,
.button--small {
	border-color: var(--z-border-strong);
	background: rgba(7, 23, 15, 0.62);
	color: var(--z-text);
}

.button--secondary:hover,
.button--small:hover {
	border-color: rgba(0, 255, 156, 0.52);
	box-shadow: 0 0 28px rgba(0, 255, 156, 0.08);
}

.button--small {
	min-height: 40px;
	padding-inline: 16px;
	font-size: 0.9rem;
}

.service-grid,
.post-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--z-gap-md);
}

.service-card,
.post-card,
.z-cta,
.empty-state {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--z-border);
	border-radius: var(--z-radius-md);
	background:
		linear-gradient(180deg, rgba(242, 255, 248, 0.055), rgba(242, 255, 248, 0.018)),
		var(--z-gradient-glass);
	box-shadow: var(--z-shadow-card), var(--z-shadow-edge);
	isolation: isolate;
}

.service-card::before,
.post-card::before,
.z-cta::before,
.empty-state::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	content: "";
	background:
		linear-gradient(135deg, rgba(0, 255, 156, 0.1), transparent 34%),
		radial-gradient(circle at 84% 16%, rgba(0, 255, 156, 0.13), transparent 13rem);
	opacity: 0.66;
}

.service-card,
.post-card {
	min-height: 240px;
	padding: clamp(24px, 2.6vw, 32px);
	transition:
		border-color var(--z-duration-base) var(--z-ease),
		box-shadow var(--z-duration-base) var(--z-ease),
		transform var(--z-duration-base) var(--z-ease);
}

.service-card:hover,
.post-card:hover {
	border-color: var(--z-border-strong);
	box-shadow: var(--z-shadow-card), var(--z-shadow-edge);
	transform: translateY(-2px);
}

.service-card__kicker,
.post-card__meta {
	margin-block: 0 20px;
	color: var(--z-gold);
	font-family: var(--z-font-en);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.service-card h3,
.post-card h2 {
	margin: 0;
	color: var(--z-text);
	font-size: clamp(1.26rem, 1.75vw, 1.62rem);
	line-height: 1.42;
}

.service-card p,
.post-card__excerpt {
	margin-block: 14px 0;
	color: var(--z-muted);
	font-size: var(--z-type-sm);
}

.service-card__outcome {
	color: var(--z-text-soft) !important;
	font-weight: 650;
}

.service-card__list {
	display: grid;
	gap: 8px;
	padding: 0;
	margin: 20px 0 0;
	color: var(--z-muted);
	font-size: var(--z-type-sm);
	list-style: none;
}

.service-card__list li {
	position: relative;
	padding-inline-start: 18px;
}

.service-card__list li::before {
	position: absolute;
	inset-block-start: 0.82em;
	inset-inline-start: 0;
	width: 6px;
	height: 6px;
	content: "";
	border-radius: 50%;
	background: var(--z-green);
	box-shadow: 0 0 14px rgba(0, 255, 156, 0.46);
}

.process-list {
	display: grid;
	padding: 0;
	margin: 0;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--z-gap-sm);
	list-style: none;
}

.process-list li {
	position: relative;
	min-height: 148px;
	padding: 22px;
	border: 1px solid rgba(198, 161, 91, 0.2);
	border-radius: var(--z-radius-md);
	background:
		linear-gradient(180deg, rgba(242, 255, 248, 0.04), transparent),
		linear-gradient(180deg, rgba(8, 26, 18, 0.72), rgba(3, 7, 5, 0.68)),
		rgba(8, 26, 18, 0.54);
	box-shadow: var(--z-shadow-edge);
	transition:
		border-color var(--z-duration-base) var(--z-ease),
		transform var(--z-duration-base) var(--z-ease);
}

.process-list li::after {
	position: absolute;
	inset-block-start: 22px;
	inset-inline-end: 22px;
	width: 8px;
	aspect-ratio: 1;
	content: "";
	border-radius: 50%;
	background: var(--z-green);
	box-shadow: 0 0 20px rgba(0, 255, 156, 0.5);
}

.process-list li:hover {
	border-color: var(--z-border-strong);
	transform: translateY(-2px);
}

.process-list span {
	display: block;
	margin-block-end: 22px;
	color: var(--z-gold);
	font-family: var(--z-font-en);
	font-size: 0.82rem;
	font-weight: 700;
}

.process-list strong {
	display: block;
	color: var(--z-text);
	font-size: 1.05rem;
}

.process-list p {
	margin-block: 12px 0;
	color: var(--z-muted);
	font-size: var(--z-type-sm);
	line-height: 1.8;
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--z-green);
	font-weight: 700;
	text-decoration: none;
}

.text-link::after {
	content: "↗";
	font-family: var(--z-font-en);
	font-size: 0.86em;
}

.text-link:hover {
	color: var(--z-green-3);
}

.entry {
	padding-block: clamp(18px, 4vw, 44px);
}

.entry__header {
	margin-block-end: var(--z-gap-lg);
}

.entry__meta {
	margin-block: 0 12px;
}

.entry__content {
	color: rgba(242, 255, 248, 0.9);
	font-size: var(--z-type-md);
}

.entry__content a {
	color: var(--z-green);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.entry__content > * + * {
	margin-block-start: 1.3em;
}

.entry__content :where(p, ul, ol, blockquote, figure, table) {
	margin-block-end: 0;
}

.entry__content :where(h2, h3, h4) {
	margin-block-start: 1.8em;
	color: var(--z-text);
}

.entry__content h2 {
	font-size: clamp(1.8rem, 4vw, 3rem);
}

.entry__content h3 {
	font-size: clamp(1.35rem, 2.6vw, 2rem);
}

.entry__content :where(ul, ol) {
	display: grid;
	gap: 10px;
	padding-inline-start: 1.25em;
}

.entry__content li::marker {
	color: var(--z-green);
}

.entry__content figure {
	margin-inline: 0;
}

.entry__content figcaption {
	margin-block-start: 10px;
	color: var(--z-muted);
	font-size: var(--z-type-sm);
	text-align: center;
}

.entry__content img {
	border-radius: var(--z-radius-md);
	box-shadow: var(--z-shadow-soft);
}

.entry__content :where(blockquote, pre) {
	border: 1px solid var(--z-border);
	border-radius: var(--z-radius-md);
	background: rgba(8, 26, 18, 0.62);
}

.entry__content blockquote {
	margin-inline: 0;
	padding: 20px 24px;
	border-inline-start: 3px solid var(--z-green);
	color: var(--z-text-soft);
}

.entry__content pre {
	overflow-x: auto;
	padding: 18px 20px;
}

.entry__content table {
	display: block;
	width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}

.entry__content :where(th, td) {
	border: 1px solid var(--z-border);
	padding: 10px 12px;
}

.entry__content .wp-block-button__link {
	border-radius: 999px;
	background: var(--z-gradient-emerald);
	color: var(--z-bg);
	font-weight: 750;
	text-decoration: none;
}

.z-cta {
	max-width: 960px;
	padding: clamp(30px, 7vw, 76px);
	margin-inline: auto;
	text-align: center;
	border-color: rgba(0, 255, 156, 0.22);
	background:
		radial-gradient(circle at 50% 0%, rgba(0, 255, 156, 0.18), transparent 24rem),
		linear-gradient(180deg, rgba(10, 31, 22, 0.9), rgba(3, 7, 5, 0.88));
}

.z-cta p:not(.z-eyebrow) {
	max-width: 620px;
	margin: 18px auto 28px;
	color: var(--z-muted);
}

.z-cta .button {
	margin-inline: auto;
}

.empty-state {
	padding: clamp(28px, 6vw, 56px);
}

.empty-state--large {
	text-align: center;
}

.navigation.pagination {
	margin-block-start: var(--z-gap-lg);
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.page-numbers {
	display: inline-flex;
	min-width: 38px;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--z-border);
	border-radius: 999px;
	color: var(--z-muted);
}

.page-numbers.current {
	background: var(--z-green);
	color: var(--z-bg);
}

.search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-block-start: 24px;
}

.search-form label {
	flex: 1 1 220px;
}

.search-submit {
	width: auto;
	min-height: 48px;
	padding-inline: 18px;
	border: 1px solid var(--z-border-strong);
	border-radius: 999px;
	background: var(--z-gradient-emerald);
	color: var(--z-bg);
	font-weight: 700;
}

.zorvan-home-fallback,
.zorvan-index-fallback,
.zorvan-section-fallback {
	padding-block: clamp(22px, 3vw, 36px);
	background:
		radial-gradient(circle at 50% 0%, rgba(0, 255, 156, 0.09), transparent 30rem),
		linear-gradient(180deg, rgba(6, 20, 14, 0.72), rgba(3, 7, 5, 0.92));
}

.zorvan-home-fallback__inner,
.zorvan-index-fallback__inner,
.zorvan-section-fallback .z-container {
	max-width: min(100%, 980px);
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid var(--z-border);
	border-radius: var(--z-radius-md);
	background:
		linear-gradient(145deg, rgba(242, 255, 248, 0.08), rgba(242, 255, 248, 0.025)),
		rgba(3, 7, 5, 0.72);
	box-shadow: var(--z-shadow-soft);
}

.zorvan-home-fallback h1,
.zorvan-index-fallback h1,
.zorvan-section-fallback h2 {
	max-width: 780px;
	margin-block: 0;
	color: var(--z-text);
	font-family: var(--z-font-fa-heading);
	font-size: clamp(1.22rem, 2.4vw, 2rem);
	font-weight: 760;
	line-height: 1.42;
	letter-spacing: 0;
}

.zorvan-home-fallback p:not(.z-eyebrow),
.zorvan-index-fallback p:not(.z-eyebrow),
.zorvan-section-fallback p:not(.z-eyebrow) {
	max-width: 660px;
	margin-block: 10px 0;
	color: var(--z-text-soft);
	font-size: var(--z-type-sm);
}

.zorvan-index-fallback .button {
	margin-block-start: 28px;
}

@media (max-width: 1040px) {
	.service-grid,
	.post-grid,
	.process-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.z-section {
		padding-block: clamp(64px, 18vw, 96px);
	}

	.service-grid,
	.post-grid,
	.process-list {
		grid-template-columns: 1fr;
	}

	.button {
		width: 100%;
		min-height: 52px;
	}

	.service-card,
	.post-card {
		min-height: auto;
	}
}
