/* Zarela consolidated front-end CSS. Generated by Step 11. */

/* ---- Source: assets/zarela-step7f.css ---- */
/* Zarela Step 7F — late-loaded visual fixes */

/* Remove Gutenberg's top-level block gap/margins.
   This is the actual source of the white strips seen between full-bleed bands. */
body.zarela-designed-page .entry-content > .wp-block-group,
body.zarela-designed-page .entry-content > .z-page,
body.zarela-designed-page .z-page > .wp-block-group,
body.zarela-designed-page .z-page > .z-bleed {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.zarela-designed-page .entry-content,
body.zarela-designed-page .wp-block-post-content,
body.zarela-designed-page #content,
body.zarela-designed-page .site-content,
body.zarela-designed-page #primary,
body.zarela-designed-page .site-main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Ensure adjacent premium bands physically touch. */
body.zarela-designed-page .z-bleed + .z-bleed,
body.zarela-designed-page .z-page > * + * {
	margin-top: 0 !important;
}

/* Hero starts directly below the main header. */
body.zarela-designed-page .z-premium-hero,
body.zarela-designed-page .z-service-hero {
	margin-top: 0 !important;
}

/* Keep useful hero breathing room inside the section rather than outside it. */
body.zarela-designed-page .z-premium-hero .z-shell--wide,
body.zarela-designed-page .z-service-hero .z-shell--wide {
	padding-top: clamp(4rem, 6vw, 5.8rem) !important;
}

/* Podvojne hero: force a calmer visual over the previous busy illustration.
   This stylesheet is loaded last, so it wins over Step 7C/7D. */
body.zarela-designed-page .z-service-hero .z-service-visual {
	position: relative !important;
	background-image: url("zarela-step7c/hero-ledger.svg") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	border: 1px solid rgba(11,31,51,.08) !important;
	border-radius: 28px !important;
	overflow: hidden !important;
}

body.zarela-designed-page .z-service-hero .z-service-visual > img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	visibility: hidden !important;
	opacity: 0 !important;
}

body.zarela-designed-page .z-service-hero .z-service-caption {
	display: none !important;
}

/* Slightly cleaner service hero balance after removing the floating caption. */
body.zarela-designed-page .z-service-hero-grid {
	grid-template-columns: minmax(0,1.08fr) minmax(420px,.92fr) !important;
	gap: clamp(3rem,7vw,6.2rem) !important;
}

/* The navy consultation band should touch the green section above it. */
body.zarela-designed-page .z-premium-section--green + .z-premium-section--navy,
body.zarela-designed-page .z-premium-section--navy {
	margin-top: 0 !important;
}

@media (max-width: 1024px) {
	body.zarela-designed-page .z-service-hero-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 767px) {
	body.zarela-designed-page .z-premium-hero .z-shell--wide,
	body.zarela-designed-page .z-service-hero .z-shell--wide {
		padding-top: 3.4rem !important;
	}
}

/* ---- Source: assets/zarela-step7g.css ---- */
/* Zarela Step 7G — late-loaded direct fixes */
body.zarela-designed-page,
body.zarela-designed-page .entry-content,
body.zarela-designed-page .wp-block-post-content,
body.zarela-designed-page #content,
body.zarela-designed-page .site-content,
body.zarela-designed-page #primary,
body.zarela-designed-page .site-main {
	--wp--custom--ast-default-block-top-padding: 0px !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.zarela-designed-page .entry-content > .wp-block-group,
body.zarela-designed-page .entry-content > .z-page,
body.zarela-designed-page .z-page > .wp-block-group,
body.zarela-designed-page .z-page > .z-bleed {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.zarela-designed-page .z-service-primary-art {
	background-image: url("zarela-step7c/hero-ledger.svg") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

body.zarela-designed-page .z-service-primary {
	overflow: hidden;
}

body.zarela-designed-page .z-service-primary-art::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 55%);
}

/* ---- Source: assets/zarela-step8.css ---- */
/* Zarela Step 8 — additional page patterns */
.z-s8-art {
	min-height: 410px;
	border-radius: 28px;
	border: 1px solid rgba(11,31,51,.08);
	background-color: #f6f7f8;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: 0 24px 65px rgba(11,31,51,.08);
}
.z-s8-art--ledger,
.z-s8-art--simple,
.z-s8-art--payroll,
.z-s8-art--tax,
.z-s8-art--advice,
.z-s8-art--company,
.z-s8-art--about,
.z-s8-art--services { background-image: url("zarela-step7c/hero-ledger.svg"); }
.z-s8-art--online,
.z-s8-art--online-large { background-image: url("zarela-step7c/online-flow.svg"); }
.z-s8-art--online-large { min-height: 520px; }

.z-s8-service-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 1.15rem;
}
.z-s8-service-card {
	display: grid;
	grid-template-rows: auto 1fr auto;
	min-height: 210px;
	padding: 1.6rem;
	border: 1px solid #dfe5e9;
	border-radius: 16px;
	background: #fff;
	color: #2b5b78 !important;
	text-decoration: none;
	transition: transform .18s ease,border-color .18s ease;
}
.z-s8-service-card:hover { transform: translateY(-2px); border-color: #3a7f6b; }
.z-s8-service-card strong { font-size: 1.35rem; line-height: 1.18; }
.z-s8-service-card span { align-self: start; margin-top: .7rem; color: #5e6b78; }
.z-s8-service-card em { margin-top: 1.2rem; color: #3a7f6b; font-style: normal; font-weight: 700; }

.z-s8-process {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	border-top: 1px solid #d9e0e6;
	border-bottom: 1px solid #d9e0e6;
}
.z-s8-process > div { padding: 1.5rem 1.5rem 1.7rem 0; }
.z-s8-process > div + div { padding-left: 1.5rem; border-left: 1px solid #d9e0e6; }
.z-s8-process strong { display: block; margin-bottom: .45rem; color: #2b5b78; }
.z-s8-process span { color: #5e6b78; }

.z-s8-contact-note {
	padding: 1.7rem 1.8rem;
	border: 1px solid #d9e0e6;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(11,31,51,.06);
}
.z-s8-contact-note ul { margin: 1rem 0 0; padding: 0; list-style: none; }
.z-s8-contact-note li { padding: .75rem 0; border-top: 1px solid #e6eaed; color: #5e6b78; }

.z-s8-contact-grid {
	display: grid;
	grid-template-columns: minmax(260px,.65fr) minmax(0,1.35fr);
	gap: clamp(3rem,8vw,7rem);
	align-items: start;
}
.z-enquiry-form { padding: clamp(1.5rem,3vw,2.2rem); border: 1px solid #d9e0e6; border-radius: 18px; background: #f6f7f8; }
.z-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.z-form-field { display: grid; gap: .45rem; }
.z-form-field label { color: #2b5b78; font-weight: 700; }
.z-form-field input,
.z-form-field select,
.z-form-field textarea { width: 100%; min-height: 48px; border: 1px solid #cfd8df; border-radius: 6px; background: #fff; padding: .75rem .85rem; color: #1c2733; }
.z-form-field textarea { min-height: 150px; resize: vertical; }
.z-form-field--message { margin-top: 1rem; }
.z-form-note { margin: 1rem 0; color: #5e6b78; font-size: .9rem; }
.z-form-submit { min-height: 48px; padding: .8rem 1.2rem; border: 0; border-radius: 6px; background: #3a7f6b; color: #fff; font-weight: 700; cursor: pointer; }
.z-form-submit:hover { background: #2f6e5c; }
.z-form-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.z-form-status { margin-bottom: 1rem; padding: 1rem 1.1rem; border-radius: 8px; }
.z-form-status--success { background: #edf6f2; color: #2f6e5c; }
.z-form-status--error { background: #fff2f2; color: #7b2525; }

@media (max-width: 921px) {
	.z-s8-contact-grid { grid-template-columns: 1fr; }
	.z-s8-art { min-height: 330px; }
}
@media (max-width: 767px) {
	.z-s8-service-grid,
	.z-s8-process,
	.z-form-grid { grid-template-columns: 1fr; }
	.z-s8-process > div + div { padding-left: 0; border-left: 0; border-top: 1px solid #d9e0e6; }
	.z-s8-art { min-height: 280px; }
}

/* Zarela brand assets assigned by Step 8 v1.1 */
.site-branding .custom-logo-link {
	display: inline-flex;
	align-items: center;
}
.site-branding img.custom-logo,
.ast-site-identity .custom-logo {
	display: block;
	width: auto;
	max-width: 170px;
	max-height: 44px;
	object-fit: contain;
}
@media (max-width: 767px) {
	.site-branding img.custom-logo,
	.ast-site-identity .custom-logo {
		max-width: 145px;
		max-height: 38px;
	}
}

/* ---- Source: assets/zarela-step8b.css ---- */
/* Zarela Step 8B — header and Contact Form 7 integration */

/* Full logo: approximately 95% of the 76px desktop header height. */
.site-branding,
.ast-site-identity,
.site-logo-img {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.site-branding .custom-logo-link {
	display: inline-flex !important;
	align-items: center !important;
	height: 72px !important;
	padding: 0 !important;
	margin: 0 !important;
}

.site-branding img.custom-logo,
.ast-site-identity .custom-logo,
.custom-logo-link img {
	display: block !important;
	width: auto !important;
	height: 72px !important;
	max-width: 285px !important;
	max-height: 72px !important;
	object-fit: contain !important;
}

/* Remove social components entirely from header layout. */
.ast-header-social-wrap,
.ast-header-social-1-wrap,
.ast-header-social-2-wrap,
.ast-builder-social-element,
.site-header .ast-social-color-type-custom,
.site-header [class*="header-social"] {
	display: none !important;
}

/* Restore/strengthen the primary header CTA. */
@media (min-width: 922px) {
	.main-header-menu > .menu-item.z-header-cta {
		margin-left: .7rem !important;
	}

	.main-header-menu > .menu-item.z-header-cta > .menu-link {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 48px !important;
		padding: .72rem 1rem !important;
		border-radius: 6px !important;
		background: #3a7f6b !important;
		color: #fff !important;
		line-height: 1.1 !important;
	}

	.main-header-menu > .menu-item.z-header-cta > .menu-link:hover,
	.main-header-menu > .menu-item.z-header-cta > .menu-link:focus-visible {
		background: #2f6e5c !important;
		color: #fff !important;
	}
}

/* CF7: visually match the approved Zarela form treatment. */
.z-s8-form-wrap .wpcf7,
.z-s8-contact-grid .wpcf7 {
	padding: clamp(1.5rem,3vw,2.2rem);
	border: 1px solid #d9e0e6;
	border-radius: 18px;
	background: #f6f7f8;
}

.z-s8-form-wrap .wpcf7 form,
.z-s8-contact-grid .wpcf7 form {
	margin: 0;
}

.wpcf7 .z-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.wpcf7 .z-form-field {
	display: grid;
	gap: .45rem;
}

.wpcf7 .z-form-field label {
	display: grid;
	gap: .45rem;
	margin: 0;
	color: #2b5b78;
	font-weight: 700;
}

.wpcf7 .z-form-field input,
.wpcf7 .z-form-field select,
.wpcf7 .z-form-field textarea {
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: .75rem .85rem;
	border: 1px solid #cfd8df;
	border-radius: 6px;
	background: #fff;
	color: #1c2733;
	box-shadow: none;
}

.wpcf7 .z-form-field textarea {
	min-height: 155px;
	resize: vertical;
}

.wpcf7 .z-form-field--message {
	margin-top: 1rem;
}

.wpcf7 .z-form-note {
	margin: 1rem 0;
	color: #5e6b78;
	font-size: .9rem;
}

.wpcf7 .z-form-submit,
.wpcf7 input[type="submit"].z-form-submit {
	min-height: 48px;
	padding: .8rem 1.2rem;
	border: 0;
	border-radius: 6px;
	background: #3a7f6b;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.wpcf7 .z-form-submit:hover,
.wpcf7 .z-form-submit:focus-visible {
	background: #2f6e5c;
	color: #fff;
}

.wpcf7 .wpcf7-not-valid-tip {
	margin-top: .35rem;
	font-size: .9rem;
}

.wpcf7 form .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: .9rem 1rem;
	border-width: 1px;
	border-radius: 8px;
}

.wpcf7 .wpcf7-spinner {
	vertical-align: middle;
}

@media (max-width: 921px) {
	.site-branding .custom-logo-link {
		height: 61px !important;
	}

	.site-branding img.custom-logo,
	.ast-site-identity .custom-logo,
	.custom-logo-link img {
		height: 61px !important;
		max-height: 61px !important;
		max-width: 225px !important;
	}

	.ast-header-break-point .main-header-menu .menu-item.z-header-cta,
	.ast-header-break-point .ast-builder-menu-mobile .menu-item.z-header-cta {
		margin: .8rem 0 0 !important;
	}

	.ast-header-break-point .main-header-menu .menu-item.z-header-cta > .menu-link,
	.ast-header-break-point .ast-builder-menu-mobile .menu-item.z-header-cta > .menu-link {
		width: 100% !important;
		justify-content: center !important;
		background: #3a7f6b !important;
		color: #fff !important;
		border-radius: 6px !important;
	}
}

@media (max-width: 767px) {
	.wpcf7 .z-form-grid {
		grid-template-columns: 1fr;
	}
}

/* ---- Source: assets/zarela-step8c.css ---- */
/* Zarela Step 8C — late-loaded polish */

/* --------------------------------------------------------------------------
   Header logo: keep the approved dimensions, improve rendering quality.
   -------------------------------------------------------------------------- */
.site-branding img.custom-logo,
.ast-site-identity .custom-logo,
.custom-logo-link img {
	image-rendering: auto !important;
	transform: translateZ(0);
}

/* --------------------------------------------------------------------------
   Contact Form 7 — more deliberate/premium form treatment.
   -------------------------------------------------------------------------- */
.z-s8-form-wrap .wpcf7,
.z-s8-contact-grid .wpcf7 {
	position: relative;
	overflow: hidden;
	padding: clamp(1.8rem, 3.6vw, 2.7rem) !important;
	border: 1px solid #e0e6ea !important;
	border-radius: 16px !important;
	background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%) !important;
	box-shadow: 0 18px 52px rgba(11, 31, 51, .07);
}

.z-s8-form-wrap .wpcf7::before,
.z-s8-contact-grid .wpcf7::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #3a7f6b 0 72%, #ef653f 72% 82%, #356884 82% 100%);
}

.wpcf7 .z-form-grid {
	gap: 1.2rem 1.25rem !important;
}

.wpcf7 .z-form-field {
	gap: .5rem !important;
}

.wpcf7 .z-form-field label {
	gap: .5rem !important;
	color: #356884 !important;
	font-size: .94rem;
	font-weight: 750 !important;
	letter-spacing: -.005em;
}

.wpcf7 .z-form-field input,
.wpcf7 .z-form-field select,
.wpcf7 .z-form-field textarea {
	min-height: 54px !important;
	padding: .82rem .95rem !important;
	border: 1px solid #cfd8df !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: #1c2733 !important;
	font-size: 1rem !important;
	line-height: 1.35;
	transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.wpcf7 .z-form-field input:hover,
.wpcf7 .z-form-field select:hover,
.wpcf7 .z-form-field textarea:hover {
	border-color: #aab8c2 !important;
}

.wpcf7 .z-form-field input:focus,
.wpcf7 .z-form-field select:focus,
.wpcf7 .z-form-field textarea:focus {
	outline: none !important;
	border-color: #2c8d70 !important;
	box-shadow: 0 0 0 3px rgba(44, 141, 112, .14) !important;
	background: #fff !important;
}

.wpcf7 .z-form-field textarea {
	min-height: 180px !important;
}

.wpcf7 .z-form-field--message {
	margin-top: 1.2rem !important;
}

.wpcf7 .z-form-note {
	max-width: 70ch;
	margin: 1.15rem 0 1.35rem !important;
	color: #65727e !important;
	font-size: .88rem !important;
	line-height: 1.55;
}

.wpcf7 .z-form-submit,
.wpcf7 input[type="submit"].z-form-submit {
	min-width: 210px;
	min-height: 52px !important;
	padding: .86rem 1.35rem !important;
	border-radius: 7px !important;
	background: #3a7f6b !important;
	box-shadow: 0 8px 22px rgba(23, 107, 82, .16) !important;
	font-size: .98rem;
	font-weight: 750 !important;
	transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}

.wpcf7 .z-form-submit:hover,
.wpcf7 .z-form-submit:focus-visible {
	transform: translateY(-1px);
	background: #2f6e5c !important;
	box-shadow: 0 10px 26px rgba(17, 85, 65, .2) !important;
}

.wpcf7 .wpcf7-not-valid-tip {
	margin-top: .4rem !important;
	color: #a33a2b !important;
	font-size: .86rem !important;
	font-weight: 650;
}

.wpcf7 form .wpcf7-response-output {
	margin: 1.4rem 0 0 !important;
	padding: 1rem 1.1rem !important;
	border: 1px solid #d5dde3 !important;
	border-left-width: 4px !important;
	border-radius: 8px !important;
	background: #fff;
	color: #263542;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #2c8d70 !important;
	background: #eef8f4;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ef653f !important;
	background: #fff5f1;
}

/* --------------------------------------------------------------------------
   Premium branded footer.
   -------------------------------------------------------------------------- */
.z-site-footer {
	position: relative;
	overflow: hidden;
	background: #2b5b78;
	color: rgba(255,255,255,.76);
}

.z-footer-conversion {
	position: relative;
	border-bottom: 1px solid rgba(255,255,255,.12);
	background:
		radial-gradient(circle at 83% 35%, rgba(44,141,112,.19) 0, rgba(44,141,112,0) 24rem),
		linear-gradient(135deg, #2b5b78 0%, #102b43 100%);
}

.z-footer-conversion::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #3a7f6b 0 62%, #ef653f 62% 70%, transparent 70% 100%);
}

.z-footer-conversion-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(260px, .82fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: center;
	padding-block: clamp(4rem, 7vw, 6.5rem);
}

.z-footer-conversion-copy {
	max-width: 720px;
}

.z-footer-kicker {
	margin: 0 0 .9rem;
	color: #70c4a6;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.z-footer-conversion h2 {
	max-width: 15ch;
	margin: 0 0 1.1rem;
	color: #fff;
	font-size: clamp(2.15rem, 4vw, 3.8rem);
	line-height: 1.04;
	letter-spacing: -.035em;
}

.z-footer-conversion-copy > p:not(.z-footer-kicker) {
	max-width: 58ch;
	margin: 0 0 1.7rem;
	color: rgba(255,255,255,.72);
	font-size: 1.03rem;
	line-height: 1.7;
}

.z-footer-cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: .8rem 1.25rem;
	border-radius: 7px;
	background: #2c8d70;
	color: #fff !important;
	font-weight: 750;
	text-decoration: none !important;
	box-shadow: 0 10px 28px rgba(0,0,0,.16);
	transition: transform .16s ease, background .16s ease;
}

.z-footer-cta-button:hover,
.z-footer-cta-button:focus-visible {
	transform: translateY(-1px);
	background: #3a7f6b;
	color: #fff !important;
}

.z-footer-brand-visual {
	position: relative;
	width: min(100%, 360px);
	aspect-ratio: 1.35 / 1;
	justify-self: end;
}

.z-footer-orbit {
	position: absolute;
	border: 1px solid rgba(112,196,166,.24);
	border-radius: 34px;
	transform: rotate(-7deg);
}

.z-footer-orbit--one {
	inset: 10% 7% 8% 12%;
}

.z-footer-orbit--two {
	inset: 24% 18% 20% 2%;
	border-color: rgba(255,255,255,.11);
	transform: rotate(7deg);
}

.z-footer-mark {
	position: absolute;
	left: 50%;
	top: 50%;
	display: grid;
	place-items: center;
	width: 154px;
	height: 154px;
	padding: 0;
	border-radius: 36px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(0,0,0,.24);
	transform: translate(-50%, -50%) rotate(3deg);
}

.z-footer-mark img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: contain;
}

.z-footer-mark--fallback {
	background: #356884;
	color: #70c4a6;
	font-size: 5rem;
	font-weight: 800;
}

.z-footer-accent-dot {
	position: absolute;
	right: 11%;
	top: 6%;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #ef653f;
	box-shadow: 0 10px 32px rgba(0,0,0,.14);
}

.z-footer-main {
	display: grid;
	grid-template-columns: minmax(240px, 1.2fr) minmax(180px, .8fr) minmax(180px, .8fr);
	gap: clamp(2rem, 6vw, 5.5rem);
	padding-block: clamp(3.4rem, 5vw, 4.6rem);
}

.z-footer-brand-col {
	max-width: 340px;
}

.z-footer-brand {
	margin: 0 0 .85rem;
	font-size: 1.3rem;
	font-weight: 800;
	letter-spacing: -.02em;
}

.z-footer-brand a {
	color: #fff !important;
	text-decoration: none !important;
}

.z-footer-copy {
	max-width: 32ch;
	margin: 0;
	color: rgba(255,255,255,.62);
	line-height: 1.65;
}

.z-footer-heading {
	margin: 0 0 1rem;
	color: #fff;
	font-size: .83rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.z-footer-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.z-footer-links li {
	margin: 0;
	padding: 0;
}

.z-footer-links a {
	display: inline-block;
	padding: .32rem 0;
	color: rgba(255,255,255,.66) !important;
	text-decoration: none !important;
	transition: color .15s ease, transform .15s ease;
}

.z-footer-links a:hover,
.z-footer-links a:focus-visible {
	color: #70c4a6 !important;
	transform: translateX(2px);
}

.z-footer-bottom {
	border-top: 1px solid rgba(255,255,255,.1);
}

.z-footer-bottom-inner {
	display: flex;
	justify-content: space-between;
	gap: 1.5rem;
	align-items: center;
	padding-block: 1.25rem;
	color: rgba(255,255,255,.48);
	font-size: .85rem;
}

.z-footer-bottom-note {
	letter-spacing: .04em;
}

@media (max-width: 921px) {
	.z-footer-conversion-inner {
		grid-template-columns: 1fr;
	}

	.z-footer-brand-visual {
		justify-self: start;
		width: min(100%, 320px);
	}

	.z-footer-main {
		grid-template-columns: 1fr 1fr;
	}

	.z-footer-brand-col {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.z-s8-form-wrap .wpcf7,
	.z-s8-contact-grid .wpcf7 {
		padding: 1.45rem !important;
		border-radius: 12px !important;
		box-shadow: 0 12px 34px rgba(11,31,51,.055);
	}

	.wpcf7 .z-form-submit,
	.wpcf7 input[type="submit"].z-form-submit {
		width: 100%;
	}

	.z-footer-conversion-inner {
		padding-block: 3.7rem;
	}

	.z-footer-brand-visual {
		width: 260px;
		aspect-ratio: 1.2 / 1;
	}

	.z-footer-mark {
		width: 126px;
		height: 126px;
		border-radius: 30px;
	}

	.z-footer-accent-dot {
		width: 46px;
		height: 46px;
	}

	.z-footer-main {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.z-footer-brand-col {
		grid-column: auto;
	}

	.z-footer-bottom-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: .35rem;
	}
}

/* ---- Source: assets/zarela-step8d.css ---- */
/* Zarela Step 8D — integrated premium footer */

.z-site-footer.z-site-footer--integrated {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 8% 0%, rgba(44,141,112,.13), transparent 22rem),
		#2b5b78;
	color: rgba(255,255,255,.72);
}

.z-site-footer--integrated .z-footer-conversion {
	display: none !important;
}

.z-footer-accent-line {
	height: 3px;
	background: linear-gradient(90deg, #3a7f6b 0 72%, #ef653f 72% 78%, rgba(255,255,255,.08) 78% 100%);
}

.z-footer-main--integrated {
	display: grid;
	grid-template-columns: minmax(260px,1.25fr) minmax(220px,.95fr) minmax(180px,.8fr) minmax(160px,.72fr);
	gap: clamp(2rem,4.8vw,4.4rem);
	align-items: start;
	padding-block: clamp(3.5rem,5vw,4.8rem);
}

.z-footer-brand-col--rich {
	position: relative;
	max-width: 360px;
}

.z-footer-brand-head {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	min-height: 64px;
	margin-bottom: 1rem;
}

.z-footer-logo {
	display: block;
	width: min(245px, 100%);
}

.z-footer-logo img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-height: 62px;
	object-fit: contain;
	object-position: left center;
}

.z-footer-mini-mark {
	position: absolute;
	right: -8px;
	top: -10px;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	padding: 6px;
	border: 1px solid rgba(112,196,166,.22);
	border-radius: 16px;
	background: rgba(255,255,255,.055);
	transform: rotate(5deg);
}

.z-footer-mini-mark::before {
	content: "";
	position: absolute;
	inset: -7px 5px 5px -7px;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 17px;
	z-index: -1;
}

.z-footer-mini-mark img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 11px;
	object-fit: contain;
}

.z-footer-brand,
.z-footer-brand a {
	color: #fff !important;
}

.z-footer-copy {
	max-width: 32ch;
	margin: 0 0 1.25rem;
	color: rgba(255,255,255,.66);
	font-size: 1rem;
	line-height: 1.65;
}

.z-footer-proof-lines {
	display: grid;
	gap: .5rem;
}

.z-footer-proof-lines span {
	position: relative;
	padding-left: 1.2rem;
	color: rgba(255,255,255,.52);
	font-size: .88rem;
}

.z-footer-proof-lines span::before {
	content: "";
	position: absolute;
	left: 0;
	top: .55em;
	width: .42rem;
	height: .42rem;
	border-radius: 50%;
	background: #70c4a6;
}

.z-footer-heading {
	margin: 0 0 1.05rem;
	color: rgba(255,255,255,.58);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.z-footer-contact-col {
	padding-left: clamp(1.2rem,2vw,1.7rem);
	border-left: 1px solid rgba(255,255,255,.11);
}

.z-footer-contact-lead {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin-bottom: .9rem;
	color: #fff !important;
	font-size: clamp(1.45rem,2vw,1.9rem);
	font-weight: 760;
	letter-spacing: -.025em;
	text-decoration: none !important;
}

.z-footer-contact-lead span {
	color: #70c4a6;
	transition: transform .15s ease;
}

.z-footer-contact-lead:hover span,
.z-footer-contact-lead:focus-visible span {
	transform: translateX(3px);
}

.z-footer-contact-detail {
	display: block;
	width: fit-content;
	margin: .22rem 0;
	color: rgba(255,255,255,.82) !important;
	font-size: .98rem;
	font-weight: 600;
	text-decoration: none !important;
}

.z-footer-contact-detail:hover,
.z-footer-contact-detail:focus-visible {
	color: #70c4a6 !important;
}

.z-footer-contact-note {
	max-width: 28ch;
	margin: .8rem 0 1.15rem;
	color: rgba(255,255,255,.52);
	font-size: .88rem;
	line-height: 1.55;
}

.z-footer-small-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: .68rem 1rem;
	border: 1px solid rgba(112,196,166,.32);
	border-radius: 7px;
	background: rgba(44,141,112,.15);
	color: #fff !important;
	font-size: .92rem;
	font-weight: 750;
	text-decoration: none !important;
	transition: background .15s ease, border-color .15s ease;
}

.z-footer-small-cta:hover,
.z-footer-small-cta:focus-visible {
	border-color: #70c4a6;
	background: #3a7f6b;
	color: #fff !important;
}

.z-footer-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.z-footer-links li {
	margin: 0;
	padding: 0;
}

.z-footer-links a {
	display: inline-block;
	padding: .31rem 0;
	color: rgba(255,255,255,.69) !important;
	font-size: .94rem;
	line-height: 1.45;
	text-decoration: none !important;
	transition: color .15s ease, transform .15s ease;
}

.z-footer-links a:hover,
.z-footer-links a:focus-visible {
	color: #70c4a6 !important;
	transform: translateX(2px);
}

.z-footer-bottom {
	border-top: 1px solid rgba(255,255,255,.09);
}

.z-footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-block: 1.15rem;
	color: rgba(255,255,255,.42);
	font-size: .83rem;
}

.z-footer-bottom-links {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem 1.25rem;
}

.z-footer-bottom-links a {
	color: rgba(255,255,255,.48) !important;
	text-decoration: none !important;
}

.z-footer-bottom-links a:hover,
.z-footer-bottom-links a:focus-visible {
	color: #70c4a6 !important;
}

@media (max-width: 1080px) {
	.z-footer-main--integrated {
		grid-template-columns: 1.2fr 1fr 1fr;
	}
	.z-footer-brand-col--rich {
		grid-column: 1 / -1;
		max-width: 720px;
	}
	.z-footer-mini-mark {
		right: auto;
		left: 270px;
	}
}

@media (max-width: 767px) {
	.z-footer-main--integrated {
		grid-template-columns: 1fr;
		gap: 2.2rem;
		padding-block: 3.2rem;
	}
	.z-footer-brand-col--rich {
		grid-column: auto;
		max-width: none;
	}
	.z-footer-logo {
		width: min(235px, 75vw);
	}
	.z-footer-mini-mark {
		left: auto;
		right: 0;
		width: 52px;
		height: 52px;
	}
	.z-footer-contact-col {
		padding-left: 0;
		padding-top: 1.7rem;
		border-left: 0;
		border-top: 1px solid rgba(255,255,255,.11);
	}
	.z-footer-bottom-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: .55rem;
	}
}

/* ---- Source: assets/zarela-step8e.css ---- */
/* Zarela Step 8E — footer visibility + restrained visual accents */

/* ---------- Footer logo visibility ---------- */
.z-site-footer.z-site-footer--integrated .z-footer-brand-head {
	padding-right: 4.5rem;
}

.z-site-footer.z-site-footer--integrated .z-footer-logo {
	display: inline-flex;
	align-items: center;
	max-width: min(270px, 100%);
	padding: .72rem .9rem;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,250,252,.96) 100%);
	box-shadow: 0 18px 34px rgba(0,0,0,.18);
	backdrop-filter: blur(2px);
}

.z-site-footer.z-site-footer--integrated .z-footer-logo img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: 64px;
	object-fit: contain;
	object-position: left center;
}

.z-site-footer.z-site-footer--integrated .z-footer-mini-mark {
	box-shadow: 0 12px 28px rgba(0,0,0,.18);
}

.z-site-footer.z-site-footer--integrated .z-footer-contact-col,
.z-site-footer.z-site-footer--integrated .z-footer-nav-col {
	position: relative;
}

.z-site-footer.z-site-footer--integrated .z-footer-contact-col::before,
.z-site-footer.z-site-footer--integrated .z-footer-nav-col::before {
	content: "";
	position: absolute;
	left: 0;
	top: -.55rem;
	width: 1.8rem;
	height: 2px;
	background: linear-gradient(90deg, #70c4a6 0%, rgba(112,196,166,0) 100%);
	opacity: .9;
}

.z-site-footer.z-site-footer--integrated .z-footer-brand-col--rich::after {
	content: "";
	position: absolute;
	left: -1.1rem;
	top: 1rem;
	bottom: .7rem;
	width: 1px;
	background: linear-gradient(180deg, rgba(112,196,166,.55) 0%, rgba(112,196,166,.08) 100%);
}

/* ---------- Sitewide restrained accents ---------- */
body.zarela-designed-page .z-premium-hero,
body.zarela-designed-page .z-premium-section,
body.zarela-designed-page .z-service-hero,
body.zarela-designed-page .z-trust-rail,
body.zarela-designed-page .z-site-footer {
	position: relative;
	isolation: isolate;
	overflow: clip;
}

/* Hero: left guide line + right orbit */
body.zarela-designed-page .z-premium-hero::before,
body.zarela-designed-page .z-service-hero::before {
	content: "";
	position: absolute;
	left: max(14px, calc(50% - 760px));
	top: clamp(2rem, 4vw, 3rem);
	width: 1px;
	height: clamp(82px, 16vw, 148px);
	background: linear-gradient(180deg, rgba(112,196,166,.95) 0%, rgba(112,196,166,.12) 100%);
	box-shadow: 0 0 0 8px rgba(112,196,166,.05);
}

body.zarela-designed-page .z-premium-hero::after,
body.zarela-designed-page .z-service-hero::after {
	content: "";
	position: absolute;
	right: max(-18px, calc(50% - 790px));
	top: clamp(2.2rem, 5vw, 4rem);
	width: clamp(90px, 12vw, 130px);
	height: clamp(90px, 12vw, 130px);
	border: 1px solid rgba(112,196,166,.26);
	border-radius: 26px;
	transform: rotate(14deg);
	opacity: .9;
	animation: zarela-accent-float 7s ease-in-out infinite;
}

/* Sections: left line / right corner accents outside the main text width */
body.zarela-designed-page .z-premium-section::before,
body.zarela-designed-page .z-trust-rail::before {
	content: "";
	position: absolute;
	left: max(12px, calc(50% - 760px));
	top: clamp(2rem, 4vw, 3rem);
	width: 1px;
	height: clamp(54px, 9vw, 88px);
	background: linear-gradient(180deg, rgba(44,141,112,.52) 0%, rgba(44,141,112,.08) 100%);
}

body.zarela-designed-page .z-premium-section::after,
body.zarela-designed-page .z-trust-rail::after {
	content: "";
	position: absolute;
	right: max(10px, calc(50% - 765px));
	bottom: clamp(1.4rem, 3.3vw, 2.4rem);
	width: 36px;
	height: 36px;
	border-right: 1px solid rgba(11,31,51,.18);
	border-bottom: 1px solid rgba(11,31,51,.18);
	border-radius: 0 0 14px 0;
	opacity: .9;
}

body.zarela-designed-page .z-premium-section--green::before {
	background: linear-gradient(180deg, rgba(44,141,112,.7) 0%, rgba(44,141,112,.12) 100%);
}

body.zarela-designed-page .z-premium-section--navy::before {
	background: linear-gradient(180deg, rgba(112,196,166,.82) 0%, rgba(112,196,166,.12) 100%);
}

body.zarela-designed-page .z-premium-section--navy::after {
	border-right-color: rgba(255,255,255,.22);
	border-bottom-color: rgba(255,255,255,.22);
}

/* Small accent beside important headings / cards without clutter */
body.zarela-designed-page .z-premium-section h2,
body.zarela-designed-page .z-service-primary-copy h2,
body.zarela-designed-page .z-consult-panel h3,
body.zarela-designed-page .z-price-premium h3 {
	position: relative;
}

body.zarela-designed-page .z-premium-section h2::after,
body.zarela-designed-page .z-service-primary-copy h2::after,
body.zarela-designed-page .z-consult-panel h3::after,
body.zarela-designed-page .z-price-premium h3::after {
	content: "";
	display: block;
	width: 2.15rem;
	height: 3px;
	margin-top: .6rem;
	background: linear-gradient(90deg, #2c8d70 0%, rgba(44,141,112,.15) 100%);
	border-radius: 999px;
}

body.zarela-designed-page .z-premium-section--navy h2::after,
body.zarela-designed-page .z-premium-section--navy .z-consult-panel h3::after {
	background: linear-gradient(90deg, #70c4a6 0%, rgba(112,196,166,.18) 100%);
}

/* Quiet card lift to make sections feel less flat */
body.zarela-designed-page .z-service-primary,
body.zarela-designed-page .z-service-side,
body.zarela-designed-page .z-consult-panel,
body.zarela-designed-page .z-price-premium,
body.zarela-designed-page .z-related-premium,
body.zarela-designed-page .z-final-premium,
body.zarela-designed-page .z-faq details {
	position: relative;
}

body.zarela-designed-page .z-service-primary::after,
body.zarela-designed-page .z-service-side::after,
body.zarela-designed-page .z-consult-panel::after,
body.zarela-designed-page .z-price-premium::after,
body.zarela-designed-page .z-related-premium::after,
body.zarela-designed-page .z-final-premium::after,
body.zarela-designed-page .z-faq details::after {
	content: "";
	position: absolute;
	inset: auto 1rem -1rem auto;
	width: 28px;
	height: 28px;
	border-right: 1px solid rgba(44,141,112,.18);
	border-bottom: 1px solid rgba(44,141,112,.18);
	border-radius: 0 0 10px 0;
	pointer-events: none;
}

@keyframes zarela-accent-float {
	0%, 100% { transform: rotate(14deg) translateY(0); }
	50% { transform: rotate(14deg) translateY(-7px); }
}

@media (prefers-reduced-motion: reduce) {
	body.zarela-designed-page .z-premium-hero::after,
	body.zarela-designed-page .z-service-hero::after {
		animation: none;
	}
}

@media (max-width: 1120px) {
	body.zarela-designed-page .z-premium-hero::before,
	body.zarela-designed-page .z-premium-hero::after,
	body.zarela-designed-page .z-service-hero::before,
	body.zarela-designed-page .z-service-hero::after,
	body.zarela-designed-page .z-premium-section::before,
	body.zarela-designed-page .z-premium-section::after,
	body.zarela-designed-page .z-trust-rail::before,
	body.zarela-designed-page .z-trust-rail::after,
	.z-site-footer.z-site-footer--integrated .z-footer-brand-col--rich::after {
		display: none;
	}
}

@media (max-width: 767px) {
	.z-site-footer.z-site-footer--integrated .z-footer-brand-head {
		padding-right: 0;
	}

	.z-site-footer.z-site-footer--integrated .z-footer-logo {
		padding: .62rem .72rem;
		max-width: min(230px, 100%);
	}

	.z-site-footer.z-site-footer--integrated .z-footer-logo img {
		max-height: 54px;
	}

	.z-site-footer.z-site-footer--integrated .z-footer-contact-col::before,
	.z-site-footer.z-site-footer--integrated .z-footer-nav-col::before {
		width: 1.45rem;
	}

	body.zarela-designed-page .z-premium-section h2::after,
	body.zarela-designed-page .z-service-primary-copy h2::after,
	body.zarela-designed-page .z-consult-panel h3::after,
	body.zarela-designed-page .z-price-premium h3::after {
		width: 1.8rem;
		margin-top: .5rem;
	}

	body.zarela-designed-page .z-service-primary::after,
	body.zarela-designed-page .z-service-side::after,
	body.zarela-designed-page .z-consult-panel::after,
	body.zarela-designed-page .z-price-premium::after,
	body.zarela-designed-page .z-related-premium::after,
	body.zarela-designed-page .z-final-premium::after,
	body.zarela-designed-page .z-faq details::after {
		width: 22px;
		height: 22px;
		inset: auto .65rem -.65rem auto;
	}
}

/* ---- Source: assets/zarela-step8f.css ---- */
/* Zarela Step 8F - contrast and visible contacts */

/* Header utility contacts */
.z-header-contactbar {
    position: relative;
    z-index: 20;
    border-bottom: 1px solid #d9e0e6;
    background: #f6f7f8;
    color: #334657;
    font-size: .82rem;
    line-height: 1.25;
}

.z-header-contactbar-inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .72rem;
    width: min(calc(100% - (2 * clamp(1.25rem, 3vw, 2.25rem))), 1380px);
    min-height: 30px;
    margin-inline: auto;
}

.z-header-contactbar-label {
    color: #5a6976;
    font-weight: 700;
}

.z-header-contactbar a {
    color: #2f6e5c !important;
    font-weight: 750;
    text-decoration: none !important;
}

.z-header-contactbar a:hover,
.z-header-contactbar a:focus-visible {
    color: #2b5b78 !important;
    text-decoration: underline !important;
}

.z-header-contactbar-sep {
    width: 1px;
    height: 13px;
    background: #b8c4cc;
}

.z-header-contactbar-placeholder {
    color: #455564;
    font-weight: 650;
}

/* Pale green: use deliberately darker secondary copy.
   #455564 on #edf6f2 is comfortably above WCAG AA for normal text. */
body.zarela-designed-page .z-premium-section--green .z-lead-lg,
body.zarela-designed-page .z-premium-section--green .z-heading-split p,
body.zarela-designed-page .z-premium-section--green .z-premium-list span,
body.zarela-designed-page .z-premium-section--green .z-s8-process span,
body.zarela-designed-page .z-premium-section--green p:not(.z-eyebrow),
body.zarela-designed-page .z-premium-section--green li {
    color: #455564 !important;
}

body.zarela-designed-page .z-premium-section--green strong,
body.zarela-designed-page .z-premium-section--green h1,
body.zarela-designed-page .z-premium-section--green h2,
body.zarela-designed-page .z-premium-section--green h3 {
    color: #2b5b78 !important;
}

/* Form secondary text: a little darker without becoming heavy. */
.wpcf7 .z-form-note {
    color: #596875 !important;
}

/* Dark sections: no low-contrast grey body copy. */
body.zarela-designed-page .z-premium-section--navy p,
body.zarela-designed-page .z-premium-section--navy li,
body.zarela-designed-page .z-premium-section--navy .z-lead-lg,
body.zarela-designed-page .z-premium-section--navy .z-consult-panel p,
body.zarela-designed-page .z-premium-section--navy .z-consult-panel li,
body.zarela-designed-page .z-final-premium p {
    color: rgba(255,255,255,.78) !important;
}

/* Footer mark: real high-contrast tile rather than translucent dark-on-dark. */
.z-site-footer.z-site-footer--integrated .z-footer-mini-mark {
    padding: 7px !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    background: #ffffff !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.24) !important;
    opacity: 1 !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-mini-mark::before {
    border-color: rgba(112,196,166,.38) !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-mini-mark img {
    opacity: 1 !important;
    filter: none !important;
}

/* Footer copy: raise all small/secondary text above borderline opacity levels. */
.z-site-footer.z-site-footer--integrated,
.z-site-footer.z-site-footer--integrated .z-footer-copy,
.z-site-footer.z-site-footer--integrated .z-footer-proof-lines span,
.z-site-footer.z-site-footer--integrated .z-footer-heading,
.z-site-footer.z-site-footer--integrated .z-footer-contact-note,
.z-site-footer.z-site-footer--integrated .z-footer-bottom-inner,
.z-site-footer.z-site-footer--integrated .z-footer-bottom-links a {
    color: rgba(255,255,255,.74) !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-links a {
    color: rgba(255,255,255,.78) !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-contact-detail {
    color: #ffffff !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-contact-email {
    font-size: 1.08rem !important;
    font-weight: 760 !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-contact-placeholder {
    color: rgba(255,255,255,.72) !important;
    cursor: default;
}

/* Footer CTA: unmistakable primary action. */
.z-site-footer.z-site-footer--integrated .z-footer-small-cta {
    min-height: 48px !important;
    padding: .78rem 1.15rem !important;
    border: 1px solid #3a7f6b !important;
    background: #3a7f6b !important;
    color: #ffffff !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
    font-weight: 800 !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-small-cta:hover,
.z-site-footer.z-site-footer--integrated .z-footer-small-cta:focus-visible {
    border-color: #2f6e5c !important;
    background: #2f6e5c !important;
    color: #ffffff !important;
}

/* Ensure link/focus contrast remains strong. */
.z-site-footer.z-site-footer--integrated a:focus-visible,
.z-header-contactbar a:focus-visible {
    outline: 3px solid #2c8d70 !important;
    outline-offset: 3px !important;
}

@media (max-width: 921px) {
    .z-header-contactbar-inner {
        justify-content: center;
        min-height: 32px;
    }
}

@media (max-width: 520px) {
    .z-header-contactbar {
        font-size: .76rem;
    }

    .z-header-contactbar-inner {
        gap: .5rem;
        padding-block: 5px;
        flex-wrap: wrap;
    }

    .z-header-contactbar-label,
    .z-header-contactbar-sep {
        display: none;
    }
}

/* ---- Source: assets/zarela-step9a.css ---- */
/* Zarela Step 9A — Gate 3 narrow fixes */

/* 1. Restore the approved white mobile header shell. */
@media (max-width: 921px) {
	#ast-mobile-header,
	#ast-mobile-header .ast-primary-header-bar,
	.ast-mobile-header-wrap,
	.ast-mobile-header-wrap .ast-primary-header-bar,
	.ast-header-break-point .ast-primary-header-bar,
	.ast-header-break-point .site-header-primary-section-left,
	.ast-header-break-point .site-header-primary-section-right {
		background: #ffffff !important;
	}

	#ast-mobile-header,
	.ast-mobile-header-wrap {
		border-bottom: 1px solid #d9e0e6 !important;
		box-shadow: none !important;
	}

	.ast-mobile-menu-trigger-minimal,
	.ast-button-wrap .menu-toggle,
	.ast-mobile-menu-trigger-minimal .ast-mobile-svg,
	.ast-button-wrap .menu-toggle .mobile-menu-toggle-icon {
		color: #2b5b78 !important;
		fill: #2b5b78 !important;
	}

	.ast-mobile-popup-drawer .ast-mobile-popup-inner,
	.ast-mobile-popup-drawer .ast-mobile-popup-header,
	.ast-mobile-popup-drawer .ast-mobile-popup-content,
	.ast-header-break-point .main-header-menu,
	.ast-header-break-point .main-navigation ul {
		background: #ffffff !important;
	}

	.ast-mobile-popup-drawer .main-header-menu .menu-link,
	.ast-mobile-popup-drawer .main-header-menu .ast-menu-toggle,
	.ast-header-break-point .main-header-menu .menu-link,
	.ast-header-break-point .main-header-menu .ast-menu-toggle {
		color: #2b5b78 !important;
	}

	.ast-mobile-popup-drawer .main-header-menu .menu-link:hover,
	.ast-mobile-popup-drawer .main-header-menu .menu-link:focus-visible,
	.ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link,
	.ast-mobile-popup-drawer .main-header-menu .current-menu-ancestor > .menu-link {
		color: #3a7f6b !important;
	}

	.ast-mobile-popup-drawer .main-header-menu .sub-menu,
	.ast-header-break-point .main-header-menu .sub-menu {
		background: #f6f7f8 !important;
	}

	.ast-mobile-popup-drawer .main-header-menu .z-header-cta > .menu-link,
	.ast-header-break-point .main-header-menu .z-header-cta > .menu-link,
	.ast-header-break-point .ast-builder-menu-mobile .z-header-cta > .menu-link {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 48px !important;
		margin: .8rem 1rem 1rem !important;
		padding: .75rem 1rem !important;
		border-radius: 6px !important;
		background: #3a7f6b !important;
		color: #ffffff !important;
		font-weight: 750 !important;
	}
}

/* Keep desktop header CTA unambiguous after restoring the correct menu. */
@media (min-width: 922px) {
	.main-header-menu > .menu-item.z-header-cta {
		margin-left: .7rem !important;
	}
	.main-header-menu > .menu-item.z-header-cta > .menu-link {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 48px !important;
		padding: .72rem 1rem !important;
		border-radius: 6px !important;
		background: #3a7f6b !important;
		color: #ffffff !important;
		font-weight: 750 !important;
	}
	.main-header-menu > .menu-item.z-header-cta > .menu-link:hover,
	.main-header-menu > .menu-item.z-header-cta > .menu-link:focus-visible {
		background: #2f6e5c !important;
		color: #ffffff !important;
	}
}

/* 2. Gate 3 contrast correction for the dark homepage hero.
   #C8D1D9 on #2b5b78 ~= 10.8:1.
   #72B9A2 on #2b5b78 ~= 7.3:1. */
body.zarela-designed-page .z-premium-hero .z-lead-lg,
body.zarela-designed-page .z-premium-hero p:not(.z-eyebrow),
body.zarela-designed-page .z-premium-hero .z-hero-meta {
	color: #c8d1d9 !important;
}

body.zarela-designed-page .z-premium-hero .z-eyebrow {
	color: #72b9a2 !important;
}

/* Maintain strong focus visibility against both white and navy. */
body.zarela-designed-page .z-premium-hero a:focus-visible,
#ast-mobile-header a:focus-visible,
.ast-mobile-popup-drawer a:focus-visible,
.ast-mobile-popup-drawer button:focus-visible {
	outline: 3px solid #2c8d70 !important;
	outline-offset: 3px !important;
}

/* ---- Source: assets/zarela-step9b.css ---- */
/* Zarela Step 9B — Gate 3 follow-up */

/* ---------- Desktop navigation: never disappear on white ---------- */
@media (min-width: 922px) {
    .main-header-menu > .menu-item:not(.z-header-cta) > .menu-link,
    .ast-desktop .main-header-menu > .menu-item:not(.z-header-cta) > .menu-link,
    .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item:not(.z-header-cta) > .menu-link {
        color: #1c2733 !important;
        background: transparent !important;
    }

    .main-header-menu > .menu-item:not(.z-header-cta) > .menu-link:hover,
    .main-header-menu > .menu-item:not(.z-header-cta) > .menu-link:focus-visible,
    .main-header-menu > .current-menu-item:not(.z-header-cta) > .menu-link,
    .main-header-menu > .current-menu-parent:not(.z-header-cta) > .menu-link,
    .main-header-menu > .current-menu-ancestor:not(.z-header-cta) > .menu-link,
    .main-header-menu > .current_page_item:not(.z-header-cta) > .menu-link,
    .main-header-menu > .current_page_parent:not(.z-header-cta) > .menu-link,
    .main-header-menu > .current_page_ancestor:not(.z-header-cta) > .menu-link {
        color: #3a7f6b !important;
        background: transparent !important;
    }

    .main-header-menu .sub-menu,
    .ast-desktop .main-header-menu .sub-menu {
        background: #ffffff !important;
    }

    .main-header-menu .sub-menu .menu-link,
    .ast-desktop .main-header-menu .sub-menu .menu-link {
        color: #1c2733 !important;
        background: #ffffff !important;
    }

    .main-header-menu .sub-menu .menu-link:hover,
    .main-header-menu .sub-menu .menu-link:focus-visible,
    .main-header-menu .sub-menu .current-menu-item > .menu-link,
    .main-header-menu .sub-menu .current_page_item > .menu-link {
        color: #3a7f6b !important;
        background: #f6f7f8 !important;
    }

    .main-header-menu > .z-header-cta > .menu-link,
    .main-header-menu > .z-header-cta.current-menu-item > .menu-link,
    .main-header-menu > .z-header-cta.current_page_item > .menu-link {
        color: #ffffff !important;
        background: #3a7f6b !important;
    }

    .main-header-menu > .z-header-cta > .menu-link:hover,
    .main-header-menu > .z-header-cta > .menu-link:focus-visible {
        color: #ffffff !important;
        background: #2f6e5c !important;
    }
}

/* ---------- Mobile CTA containment ---------- */
@media (max-width: 921px) {
    .ast-mobile-popup-drawer .main-header-menu > .z-header-cta,
    .ast-header-break-point .main-header-menu > .z-header-cta,
    .ast-header-break-point .ast-builder-menu-mobile .z-header-cta {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 1rem !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .ast-mobile-popup-drawer .main-header-menu > .z-header-cta > .menu-link,
    .ast-header-break-point .main-header-menu > .z-header-cta > .menu-link,
    .ast-header-break-point .ast-builder-menu-mobile .z-header-cta > .menu-link {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: .8rem 0 1rem !important;
        padding: .78rem .85rem !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        text-align: center !important;
    }
}

/* ---------- Contact hero: direct information on first view ---------- */
body.page-id-0 .z-contact-identity-panel,
body.zarela-designed-page .z-contact-identity-panel {
    align-self: stretch;
    padding: clamp(1.5rem, 3vw, 2.15rem) !important;
    border: 1px solid #d9e0e6;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(11,31,51,.08);
}

body.zarela-designed-page .z-contact-identity-panel .z-eyebrow {
    margin-bottom: .55rem;
}

body.zarela-designed-page .z-contact-panel-title {
    margin: 0 0 1.35rem;
    color: #2b5b78;
    font-size: clamp(1.55rem, 2.1vw, 2rem);
    line-height: 1.15;
}

body.zarela-designed-page .z-contact-primary {
    margin: 0 0 .95rem;
    color: #455564;
    font-size: .95rem;
    line-height: 1.45;
}

body.zarela-designed-page .z-contact-primary strong {
    display: inline-block;
    margin-bottom: .18rem;
    color: #5e6b78;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.zarela-designed-page .z-contact-primary a {
    color: #2f6e5c !important;
    font-size: clamp(1.18rem, 1.8vw, 1.45rem);
    font-weight: 800;
    text-decoration: none !important;
}

body.zarela-designed-page .z-contact-primary a:hover,
body.zarela-designed-page .z-contact-primary a:focus-visible {
    color: #3a7f6b !important;
    text-decoration: underline !important;
}

body.zarela-designed-page .z-contact-placeholder {
    color: #334657;
    font-size: 1.05rem;
    font-weight: 700;
}

body.zarela-designed-page .z-contact-divider {
    margin: 1.35rem 0 1.15rem;
    border: 0;
    border-top: 1px solid #d9e0e6;
}

body.zarela-designed-page .z-contact-company-label {
    margin: 0 0 .65rem;
    color: #2b5b78;
    font-size: .9rem;
}

body.zarela-designed-page .z-contact-company-row {
    display: grid;
    grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr);
    gap: 1rem;
    margin: 0;
    padding: .48rem 0;
    border-bottom: 1px solid #edf0f2;
    color: #455564;
    font-size: .92rem;
}

body.zarela-designed-page .z-contact-company-row:last-child {
    border-bottom: 0;
}

body.zarela-designed-page .z-contact-company-row strong {
    color: #1c2733;
    font-weight: 750;
}

body.zarela-designed-page .z-contact-form-guide-title {
    margin: 1.25rem 0 .55rem;
    color: #2b5b78;
}

body.zarela-designed-page .z-contact-form-guide {
    margin-top: 0;
    padding-left: 1.2rem;
    color: #455564;
}

body.zarela-designed-page .z-contact-form-guide li {
    margin: .32rem 0;
}

@media (max-width: 767px) {
    body.zarela-designed-page .z-contact-identity-panel {
        padding: 1.35rem !important;
        border-radius: 14px;
    }

    body.zarela-designed-page .z-contact-company-row {
        grid-template-columns: 1fr;
        gap: .12rem;
    }
}

/* ---- Source: assets/zarela-step10b.css ---- */
/* Zarela Step 10B — client content + editorial service design */

:root {
    --z10b-navy: #2b5b78;
    --z10b-navy-2: #356884;
    --z10b-green: #3a7f6b;
    --z10b-green-hover: #2f6e5c;
    --z10b-green-soft: #edf6f2;
    --z10b-text: #1c2733;
    --z10b-muted: #52616f;
    --z10b-line: #d9e0e6;
    --z10b-bg: #f6f7f8;
    --z10b-white: #fff;
}

/* Header contact utility: important, but compact. */
.z-header-contactbar--real .z-header-contactbar-inner {
    max-width: 1240px;
    margin: 0 auto;
    min-height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .85rem;
    padding: 0 1.25rem;
}
.z-header-contactbar--real a,
.z-header-contactbar--real .z-header-contactbar-area {
    display: inline-flex;
    align-items: center;
    min-height: 35px;
    font-size: .84rem;
    font-weight: 720;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}
.z-header-contactbar--real a { color: #fff !important; }
.z-header-contactbar--real a:hover,
.z-header-contactbar--real a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.z-header-contactbar--real .z-header-contactbar-area { color: #dce5eb; }

/* General full-bleed discipline. */
.z-payroll-page > .z-bleed,
.z-consult-page > .z-bleed,
.z-contact-page-v2 > .z-bleed,
.z-legal-page > .z-bleed {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}
.z-payroll-page .z-shell,
.z-consult-page .z-shell,
.z-contact-page-v2 .z-shell,
.z-legal-page .z-shell {
    width: min(1240px, calc(100% - 48px));
    margin-inline: auto;
}
.z-payroll-page .z-shell--wide,
.z-consult-page .z-shell--wide,
.z-contact-page-v2 .z-shell--wide {
    width: min(1380px, calc(100% - 48px));
}
.z-payroll-page h1,
.z-payroll-page h2,
.z-payroll-page h3,
.z-consult-page h1,
.z-consult-page h2,
.z-consult-page h3,
.z-contact-page-v2 h1,
.z-contact-page-v2 h2,
.z-contact-page-v2 h3 {
    margin-top: 0;
}

/* ========================================================================
   PAYROLL — deliberately editorial. No fake dashboard, statistic row or
   six cloned cards from the client's AI mockup.
   ===================================================================== */
.z-payroll-hero {
    position: relative;
    overflow: hidden;
    background: var(--z10b-navy);
    color: #fff;
}
.z-payroll-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0 52%;
    height: 1px;
    background: rgba(255,255,255,.2);
}
.z-payroll-hero-grid {
    min-height: clamp(520px, 69vh, 720px);
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    align-items: stretch;
}
.z-payroll-hero-copy {
    align-self: center;
    max-width: 760px;
    padding: clamp(5rem, 8vw, 8rem) clamp(2rem, 5vw, 5.5rem) clamp(5rem, 8vw, 8rem) 0;
}
.z-payroll-hero .z-eyebrow { color: #72b9a2 !important; }
.z-payroll-hero h1 {
    max-width: 15ch;
    color: #fff !important;
    font-size: clamp(2.8rem, 5.2vw, 5.6rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em;
}
.z-payroll-hero .z-lead-lg {
    max-width: 62ch;
    color: #d5dee5 !important;
    font-size: clamp(1.03rem, 1.3vw, 1.2rem) !important;
}
.z-payroll-hero .wp-block-button__link,
.z-payroll-final .wp-block-button__link,
.z-consult-page .wp-block-button__link,
.z-contact-page-v2 .wp-block-button__link {
    background: var(--z10b-green) !important;
    border-radius: 4px !important;
    color: #fff !important;
    box-shadow: none !important;
}
.z-payroll-hero .wp-block-button__link:hover,
.z-payroll-hero .wp-block-button__link:focus-visible,
.z-payroll-final .wp-block-button__link:hover,
.z-payroll-final .wp-block-button__link:focus-visible,
.z-consult-page .wp-block-button__link:hover,
.z-consult-page .wp-block-button__link:focus-visible,
.z-contact-page-v2 .wp-block-button__link:hover,
.z-contact-page-v2 .wp-block-button__link:focus-visible {
    background: var(--z10b-green-hover) !important;
}
.z-payroll-type-art {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 0 clamp(5rem, 8vw, 8rem) clamp(2rem, 5vw, 5rem);
    border-left: 1px solid rgba(255,255,255,.18);
}
.z-payroll-type-art::before {
    content: "";
    position: absolute;
    top: 16%;
    left: -1px;
    width: 54%;
    height: 1px;
    background: #72b9a2;
}
.z-payroll-type-main {
    margin: 0 !important;
    color: rgba(255,255,255,.085) !important;
    font-size: clamp(5rem, 11vw, 10.5rem) !important;
    font-weight: 850 !important;
    letter-spacing: -.085em;
    line-height: .74 !important;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    user-select: none;
}
.z-payroll-type-sub {
    max-width: 26ch;
    margin: 2.2rem 0 0 !important;
    color: #9fb4c3 !important;
    font-size: .74rem !important;
    font-weight: 800 !important;
    letter-spacing: .14em;
    line-height: 1.7 !important;
}

.z-payroll-intro,
.z-payroll-scope,
.z-payroll-process,
.z-payroll-audience {
    padding: clamp(4.8rem, 8vw, 8rem) 0;
    background: #fff;
}
.z-payroll-intro-grid {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
}
.z-payroll-intro-title {
    position: sticky;
    top: 120px;
}
.z-payroll-intro-title h2,
.z-payroll-section-head h2,
.z-payroll-process > .z-shell > h2,
.z-payroll-audience > .z-shell > h2,
.z-payroll-faq-title h2,
.z-payroll-consult-title h2 {
    font-size: clamp(2rem, 3.6vw, 3.65rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em;
}
.z-payroll-intro-copy {
    padding-top: .4rem;
    border-top: 2px solid var(--z10b-navy);
}
.z-payroll-intro-copy p {
    max-width: 72ch;
    font-size: 1.05rem;
}
.z-payroll-intro-copy p:first-child {
    color: var(--z10b-navy);
    font-size: clamp(1.18rem, 1.5vw, 1.42rem);
    line-height: 1.55;
}

.z-payroll-scope { background: var(--z10b-bg); }
.z-payroll-section-head {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: clamp(3rem, 8vw, 8rem);
    align-items: end;
    margin-bottom: 2rem;
}
.z-payroll-section-head .z-eyebrow { align-self: start; }
.z-payroll-ledger {
    border-top: 2px solid var(--z10b-navy);
}
.z-payroll-ledger-row {
    display: grid;
    grid-template-columns: 74px minmax(230px, .72fr) minmax(0, 1fr);
    gap: 1.4rem;
    align-items: baseline;
    padding: 1.35rem 0;
    border-bottom: 1px solid #cfd7dd;
}
.z-payroll-ledger-row > * { margin: 0 !important; }
.z-payroll-ledger-no {
    color: var(--z10b-green) !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    letter-spacing: .08em;
}
.z-payroll-ledger-row h3 {
    color: var(--z10b-navy) !important;
    font-size: 1.05rem !important;
    line-height: 1.35 !important;
}
.z-payroll-ledger-row > p:last-child {
    color: var(--z10b-muted) !important;
    max-width: 62ch;
}

.z-payroll-outsourcing {
    padding: clamp(4.5rem, 7vw, 7rem) 0;
    background: var(--z10b-green-soft);
}
.z-payroll-outsourcing-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
    gap: clamp(3rem, 8vw, 8rem);
}
.z-payroll-outsourcing-copy h2 {
    max-width: 14ch;
    font-size: clamp(2.1rem, 4vw, 4rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.05em;
}
.z-payroll-outsourcing-copy p:last-child { max-width: 66ch; }
.z-payroll-outsourcing-list {
    align-self: end;
    padding: 0 0 .2rem clamp(1.5rem, 4vw, 4rem);
    border-left: 1px solid #a8c6ba;
}
.z-payroll-list-label {
    color: var(--z10b-navy) !important;
    font-weight: 780;
}
.z-payroll-outsourcing-list ul {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}
.z-payroll-outsourcing-list li {
    position: relative;
    margin: 0;
    padding: .75rem 0 .75rem 1.6rem;
    border-top: 1px solid rgba(23,107,82,.2);
}
.z-payroll-outsourcing-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.2rem;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--z10b-green);
}

.z-payroll-process > .z-shell > .z-eyebrow,
.z-payroll-process > .z-shell > h2 { max-width: 800px; }
.z-payroll-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin-top: 3.2rem;
    border-top: 1px solid var(--z10b-navy);
}
.z-payroll-step {
    position: relative;
    padding: 2rem 1.4rem 0 0;
}
.z-payroll-step::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--z10b-green);
    box-shadow: 0 0 0 6px #fff;
}
.z-payroll-step-no {
    color: var(--z10b-green) !important;
    font-size: .74rem !important;
    font-weight: 850 !important;
    letter-spacing: .08em;
}
.z-payroll-step h3 {
    margin: .65rem 0 .55rem !important;
    color: var(--z10b-navy) !important;
    font-size: 1rem !important;
}
.z-payroll-step p:last-child {
    color: var(--z10b-muted) !important;
    font-size: .9rem;
}

.z-payroll-consult {
    padding: clamp(4.6rem, 7vw, 7rem) 0;
    background: var(--z10b-navy);
    color: #fff;
}
.z-payroll-consult-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: clamp(3rem, 8vw, 8rem);
}
.z-payroll-consult .z-eyebrow { color: #72b9a2 !important; }
.z-payroll-consult h2 { color: #fff !important; }
.z-payroll-consult-copy {
    padding-left: clamp(1.5rem, 4vw, 4rem);
    border-left: 1px solid rgba(255,255,255,.22);
}
.z-payroll-consult-copy p { color: #d5dee5 !important; }

.z-payroll-audience { background: #fff; }
.z-payroll-audience-lead {
    max-width: 75ch;
    margin: 1.2rem 0 3rem !important;
    font-size: 1.06rem;
}
.z-payroll-audience-lines {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--z10b-navy);
    border-bottom: 1px solid var(--z10b-navy);
}
.z-payroll-audience-line {
    padding: 1.8rem 2rem 1.8rem 0;
}
.z-payroll-audience-line + .z-payroll-audience-line {
    padding-left: 2rem;
    border-left: 1px solid var(--z10b-line);
}
.z-payroll-audience-line h3 {
    color: var(--z10b-navy) !important;
    font-size: 1.03rem !important;
}
.z-payroll-audience-line p { color: var(--z10b-muted) !important; }

.z-payroll-faq {
    padding: clamp(4.8rem, 8vw, 7rem) 0;
    background: var(--z10b-bg);
}
.z-payroll-faq-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(3rem, 8vw, 8rem);
}
.z-payroll-faq-list details {
    margin: 0 !important;
    padding: 1.2rem 0 !important;
    border: 0 !important;
    border-top: 1px solid #cbd4db !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.z-payroll-faq-list details:last-child { border-bottom: 1px solid #cbd4db !important; }
.z-payroll-faq-list summary {
    color: var(--z10b-navy);
    font-weight: 760;
    cursor: pointer;
}
.z-payroll-faq-list details p { color: var(--z10b-muted) !important; }

.z-payroll-final {
    padding: clamp(4.3rem, 6vw, 6rem) 0;
    background: #fff;
}
.z-payroll-final-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3rem;
    align-items: end;
    padding-top: 2rem;
    border-top: 2px solid var(--z10b-navy);
}
.z-payroll-final-copy h2 {
    max-width: 18ch;
    font-size: clamp(2rem, 3.8vw, 3.8rem) !important;
    letter-spacing: -.045em;
}
.z-payroll-final-copy p { max-width: 64ch; }

/* ========================================================================
   CONSULTATION — real CF7 form, visually booking-like without fake slots.
   ===================================================================== */
.z-consult-hero {
    padding: clamp(5rem, 8vw, 8rem) 0;
    background: var(--z10b-navy);
    color: #fff;
}
.z-consult-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(360px, .97fr);
    gap: clamp(3.5rem, 8vw, 8rem);
}
.z-consult-hero-copy { align-self: center; }
.z-consult-hero .z-eyebrow { color: #72b9a2 !important; }
.z-consult-hero h1 {
    max-width: 13ch;
    color: #fff !important;
    font-size: clamp(2.7rem, 5vw, 5rem) !important;
    line-height: 1 !important;
    letter-spacing: -.05em;
}
.z-consult-hero .z-lead-lg {
    max-width: 60ch;
    color: #d5dee5 !important;
}
.z-consult-agenda { border-top: 1px solid rgba(255,255,255,.32); }
.z-consult-agenda-row {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 1rem;
    padding: 1.15rem 0;
    border-bottom: 1px solid rgba(255,255,255,.18);
}
.z-consult-agenda-no {
    margin: .2rem 0 0 !important;
    color: #72b9a2 !important;
    font-size: .75rem !important;
    font-weight: 800 !important;
}
.z-consult-agenda-copy h3 {
    margin: 0 0 .25rem !important;
    color: #fff !important;
    font-size: 1rem !important;
}
.z-consult-agenda-copy p {
    margin: 0 !important;
    color: #bac7d1 !important;
    font-size: .9rem;
}

.z-consult-form-section {
    padding: clamp(4.8rem, 8vw, 8rem) 0;
    background: #f2f5f6;
}
.z-consult-form-grid {
    display: grid;
    grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
}
.z-consult-form-copy {
    position: sticky;
    top: 120px;
}
.z-consult-form-copy h2 {
    font-size: clamp(2.1rem, 3.8vw, 3.8rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em;
}
.z-consult-direct {
    margin-top: 2rem !important;
    padding-top: 1.2rem;
    border-top: 1px solid #c7d1d7;
    color: var(--z10b-muted) !important;
}
.z-consult-direct a {
    color: var(--z10b-navy) !important;
    font-size: 1.08rem;
    font-weight: 760;
    text-decoration: none;
}
.z-consult-booking-shell .wpcf7 {
    padding: clamp(1.4rem, 3vw, 2.4rem) !important;
    border: 1px solid #cad4da !important;
    border-top: 4px solid var(--z10b-green) !important;
    border-radius: 3px !important;
    background: #fff !important;
    box-shadow: 0 18px 45px rgba(11,31,51,.07) !important;
}
.z-booking-form-head {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .15rem 1rem;
    align-items: baseline;
    margin-bottom: 1.6rem;
    padding-bottom: 1.15rem;
    border-bottom: 1px solid var(--z10b-line);
}
.z-booking-step {
    grid-row: 1 / span 2;
    margin: 0 !important;
    color: var(--z10b-green) !important;
    font-size: .72rem !important;
    font-weight: 850 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.z-booking-form-head h3 {
    margin: 0 !important;
    color: var(--z10b-navy) !important;
    font-size: 1.35rem !important;
}
.z-booking-form-head p:last-child {
    margin: .25rem 0 0 !important;
    color: var(--z10b-muted) !important;
    font-size: .84rem;
}
.z-consult-booking-shell .z-form-grid,
.z-consult-booking-shell .z-booking-time-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}
.z-consult-booking-shell .z-booking-time-grid {
    margin-top: 1rem;
    padding: 1.15rem 0 0;
    border-top: 1px solid var(--z10b-line);
}
.z-consult-booking-shell .z-form-field label,
.z-consult-booking-shell .z-form-label,
.z-contact-v2-form .z-form-field label {
    display: block !important;
    margin: 0 !important;
    color: var(--z10b-navy) !important;
    font-size: .82rem !important;
    font-weight: 760 !important;
    line-height: 1.35 !important;
}
.z-consult-booking-shell .wpcf7-form-control-wrap,
.z-contact-v2-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: .35rem;
}
.z-consult-booking-shell input[type="text"],
.z-consult-booking-shell input[type="email"],
.z-consult-booking-shell input[type="tel"],
.z-consult-booking-shell input[type="date"],
.z-consult-booking-shell select,
.z-consult-booking-shell textarea,
.z-contact-v2-form input[type="text"],
.z-contact-v2-form input[type="email"],
.z-contact-v2-form input[type="tel"],
.z-contact-v2-form select,
.z-contact-v2-form textarea {
    width: 100%;
    min-height: 44px !important;
    padding: .62rem .7rem !important;
    border: 1px solid #bdc9d1 !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: var(--z10b-text) !important;
    font-size: .94rem !important;
    box-shadow: none !important;
}
.z-consult-booking-shell textarea { min-height: 100px !important; max-height: 170px; }
.z-booking-method { margin-top: 1.2rem; }
.z-booking-method .wpcf7-form-control-wrap { margin-top: .55rem; }
.z-booking-method .wpcf7-radio {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
}
.z-booking-method .wpcf7-list-item { margin: 0 !important; }
.z-booking-method .wpcf7-list-item label {
    position: relative;
    display: block !important;
    cursor: pointer;
}
.z-booking-method .wpcf7-list-item input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.z-booking-method .wpcf7-list-item-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .55rem .65rem;
    border: 1px solid #bdc9d1;
    border-radius: 3px;
    background: #fff;
    color: var(--z10b-navy);
    font-size: .84rem;
    font-weight: 720;
    text-align: center;
    transition: border-color .15s ease, background .15s ease;
}
.z-booking-method input:checked + .wpcf7-list-item-label {
    border-color: var(--z10b-green);
    background: var(--z10b-green-soft);
    box-shadow: inset 0 0 0 1px var(--z10b-green);
}
.z-booking-method input:focus-visible + .wpcf7-list-item-label {
    outline: 3px solid #2c8d70;
    outline-offset: 2px;
}
.z-consult-booking-shell .z-form-field--message { margin-top: 1rem; }
.z-consult-booking-shell .z-form-note,
.z-contact-v2-form .z-form-note {
    margin: .8rem 0 1rem !important;
    color: #65727d !important;
    font-size: .78rem !important;
    line-height: 1.45 !important;
}
.z-consult-booking-shell .z-form-submit,
.z-contact-v2-form .z-form-submit {
    min-height: 44px !important;
    padding: .68rem 1rem !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: var(--z10b-green) !important;
    color: #fff !important;
    font-size: .9rem !important;
    font-weight: 760 !important;
}
.z-consult-booking-shell .z-form-submit:hover,
.z-consult-booking-shell .z-form-submit:focus-visible,
.z-contact-v2-form .z-form-submit:hover,
.z-contact-v2-form .z-form-submit:focus-visible { background: var(--z10b-green-hover) !important; }
.z-consult-booking-shell .wpcf7-not-valid-tip,
.z-contact-v2-form .wpcf7-not-valid-tip { margin-top: .2rem; font-size: .76rem; }
.z-consult-booking-shell .wpcf7-response-output,
.z-contact-v2-form .wpcf7-response-output { margin: .9rem 0 0 !important; font-size: .84rem; }

.z-consult-note {
    padding: clamp(3.4rem, 5vw, 5rem) 0;
    background: #fff;
}
.z-consult-note-inner {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(2rem, 7vw, 7rem);
    padding-top: 1.5rem;
    border-top: 2px solid var(--z10b-navy);
}
.z-consult-note h2 { font-size: clamp(1.7rem, 2.8vw, 2.8rem) !important; }

/* ========================================================================
   CONTACT — direct data in first view, compact general form.
   ===================================================================== */
.z-contact-v2-hero {
    padding: clamp(4.4rem, 7vw, 7rem) 0;
    background: #fff;
}
.z-contact-v2-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: clamp(3rem, 8vw, 8rem);
}
.z-contact-v2-copy h1 {
    max-width: 13ch;
    color: var(--z10b-navy) !important;
    font-size: clamp(2.8rem, 5vw, 5.1rem) !important;
    line-height: 1 !important;
    letter-spacing: -.05em;
}
.z-contact-v2-copy .z-lead-lg { max-width: 60ch; }
.z-contact-v2-details {
    align-self: stretch;
    border-top: 2px solid var(--z10b-navy);
}
.z-contact-v2-line {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 1rem;
    align-items: baseline;
    margin: 0 !important;
    padding: .82rem 0;
    border-bottom: 1px solid var(--z10b-line);
}
.z-contact-v2-line span {
    color: #687683;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.z-contact-v2-line a,
.z-contact-v2-line strong {
    color: var(--z10b-navy) !important;
    font-size: 1rem;
    font-weight: 760;
    line-height: 1.35;
    text-decoration: none;
}
.z-contact-v2-line a:hover,
.z-contact-v2-line a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.z-contact-v2-area {
    margin: 1rem 0 0 !important;
    color: var(--z10b-green) !important;
    font-size: .8rem !important;
    font-weight: 800 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.z-contact-v2-form-section {
    padding: clamp(4.4rem, 7vw, 6rem) 0;
    background: var(--z10b-bg);
}
.z-contact-v2-form-grid {
    display: grid;
    grid-template-columns: minmax(220px, .68fr) minmax(0, 1.32fr);
    gap: clamp(3rem, 8vw, 8rem);
}
.z-contact-v2-form-copy h2 {
    font-size: clamp(2rem, 3.4vw, 3.4rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.04em;
}
.z-contact-v2-guide { margin-top: 1.3rem !important; padding-left: 1.1rem !important; }
.z-contact-v2-guide li { margin: .25rem 0 !important; }
.z-contact-v2-form .wpcf7 {
    padding: 1.35rem 1.45rem !important;
    border: 1px solid #cbd4da !important;
    border-top: 3px solid var(--z10b-green) !important;
    border-radius: 3px !important;
    background: #fff !important;
    box-shadow: none !important;
}
.z-contact-v2-form .z-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem .85rem;
}
.z-contact-v2-form textarea { min-height: 105px !important; max-height: 170px; }
.z-contact-v2-form .z-form-field--message { margin-top: .75rem; }

/* Footer legal/contact line. */
.z-site-footer--real .z-footer-contact-phone {
    display: block !important;
    margin-top: .28rem !important;
    color: #fff !important;
    font-weight: 760 !important;
    text-decoration: none;
}
.z-site-footer--real .z-footer-contact-phone:hover,
.z-site-footer--real .z-footer-contact-phone:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.z-footer-company {
    border-top: 1px solid rgba(255,255,255,.13);
    background: rgba(0,0,0,.06);
}
.z-footer-company-inner {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1.35rem;
    padding-top: .85rem;
    padding-bottom: .85rem;
    color: #bfcbd4;
    font-size: .76rem;
    line-height: 1.4;
}
.z-footer-company-inner span + span::before {
    content: " ";
    margin-right: 1.35rem;
    color: #72b9a2;
}

/* Draft legal page only. */
.z-legal-hero { padding: 4.5rem 0; background: var(--z10b-navy); color: #fff; }
.z-legal-hero h1 { color: #fff !important; }
.z-legal-hero .z-eyebrow { color: #72b9a2 !important; }
.z-legal-hero .z-lead-lg { color: #d5dee5 !important; }
.z-legal-copy { max-width: 820px; }

@media (max-width: 980px) {
    .z-payroll-hero-grid,
    .z-consult-hero-grid,
    .z-contact-v2-grid {
        grid-template-columns: 1fr;
    }
    .z-payroll-hero-copy { padding-right: 0; padding-bottom: 3rem; }
    .z-payroll-type-art {
        min-height: 180px;
        padding: 2.5rem 0 3.5rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.18);
    }
    .z-payroll-type-main {
        writing-mode: horizontal-tb;
        transform: none;
        line-height: .8 !important;
    }
    .z-payroll-type-art::before { top: -1px; left: 0; width: 38%; }
    .z-payroll-intro-grid,
    .z-payroll-section-head,
    .z-payroll-outsourcing-grid,
    .z-payroll-consult-grid,
    .z-payroll-faq-grid,
    .z-consult-form-grid,
    .z-consult-note-inner,
    .z-contact-v2-form-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .z-payroll-intro-title,
    .z-consult-form-copy { position: static; }
    .z-payroll-outsourcing-list,
    .z-payroll-consult-copy { padding-left: 0; border-left: 0; padding-top: 1.5rem; border-top: 1px solid rgba(23,107,82,.25); }
    .z-payroll-timeline { grid-template-columns: 1fr; border-top: 0; margin-top: 2rem; }
    .z-payroll-step { padding: .25rem 0 1.4rem 2.2rem; border-left: 1px solid #bcc8cf; }
    .z-payroll-step::before { top: .45rem; left: -5px; box-shadow: 0 0 0 5px #fff; }
    .z-payroll-audience-lines { grid-template-columns: 1fr; }
    .z-payroll-audience-line,
    .z-payroll-audience-line + .z-payroll-audience-line { padding: 1.4rem 0; border-left: 0; border-top: 1px solid var(--z10b-line); }
    .z-payroll-audience-line:first-child { border-top: 0; }
}

@media (max-width: 680px) {
    .z-payroll-page .z-shell,
    .z-consult-page .z-shell,
    .z-contact-page-v2 .z-shell,
    .z-legal-page .z-shell,
    .z-payroll-page .z-shell--wide,
    .z-consult-page .z-shell--wide,
    .z-contact-page-v2 .z-shell--wide {
        width: min(100% - 32px, 1240px);
    }
    .z-payroll-hero-grid { min-height: 0; }
    .z-payroll-hero-copy { padding-top: 4rem; }
    .z-payroll-hero h1,
    .z-consult-hero h1,
    .z-contact-v2-copy h1 { font-size: clamp(2.35rem, 11vw, 3.5rem) !important; }
    .z-payroll-ledger-row {
        grid-template-columns: 44px 1fr;
        gap: .55rem 1rem;
    }
    .z-payroll-ledger-row > p:last-child { grid-column: 2; }
    .z-payroll-final-inner { grid-template-columns: 1fr; gap: 1.5rem; }
    .z-consult-booking-shell .z-form-grid,
    .z-consult-booking-shell .z-booking-time-grid,
    .z-contact-v2-form .z-form-grid { grid-template-columns: 1fr; }
    .z-booking-method .wpcf7-radio { grid-template-columns: 1fr; }
    .z-booking-form-head { grid-template-columns: 1fr; }
    .z-booking-step { grid-row: auto; }
    .z-contact-v2-line { grid-template-columns: 88px 1fr; }
    .z-footer-company-inner { display: grid; gap: .3rem; }
    .z-footer-company-inner span + span::before { content: none; }
}

@media (max-width: 520px) {
    .z-header-contactbar--real .z-header-contactbar-inner {
        gap: .55rem;
        padding-inline: .6rem;
    }
    .z-header-contactbar--real a { font-size: .74rem !important; }
    .z-header-contactbar--real .z-s10b-area,
    .z-header-contactbar--real .z-s10b-area-sep { display: none !important; }
    .z-header-contactbar--real .z-header-contactbar-sep { margin-inline: .05rem !important; }
}

@media (prefers-reduced-motion: reduce) {
    .z-booking-method .wpcf7-list-item-label { transition: none; }
}

/* ---- Source: assets/zarela-step9c.css ---- */
/* Zarela Step 9C — hierarchy, compact contact form, editorial services */

/* ========================================================================== 
   HEADER CONTACT BAR — utility information should be immediately scannable
   ========================================================================== */
.z-header-contactbar {
    border-bottom: 0 !important;
    background: #2b5b78 !important;
    color: #dce5eb !important;
    font-size: .88rem !important;
}

.z-header-contactbar-inner {
    min-height: 38px !important;
    gap: 1rem !important;
}

.z-header-contactbar-label {
    color: #72b9a2 !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.z-header-contactbar a {
    position: relative;
    padding-left: .9rem;
    color: #ffffff !important;
    font-size: .92rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.z-header-contactbar a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: .38rem;
    height: .38rem;
    border-radius: 50%;
    background: #72b9a2;
    transform: translateY(-50%);
}

.z-header-contactbar a:hover,
.z-header-contactbar a:focus-visible {
    color: #b8e5d5 !important;
    text-decoration: underline !important;
}

.z-header-contactbar-sep {
    height: 16px !important;
    background: rgba(255,255,255,.23) !important;
}

.z-header-contactbar-placeholder {
    color: #ffffff !important;
    font-size: .88rem !important;
    font-weight: 720 !important;
}

/* ========================================================================== 
   FOOTER CONTACTS — increase hierarchy inside the footer, not its height
   ========================================================================== */
.z-site-footer.z-site-footer--integrated .z-footer-contact-col {
    padding-left: 1.45rem !important;
    border-left: 3px solid #2c8d70 !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-contact-lead {
    margin-bottom: .75rem !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-contact-email {
    display: inline-block !important;
    margin: .12rem 0 .6rem !important;
    padding-bottom: .18rem;
    border-bottom: 1px solid rgba(112,196,166,.48);
    color: #ffffff !important;
    font-size: clamp(1.18rem, 1.45vw, 1.38rem) !important;
    font-weight: 820 !important;
    letter-spacing: -.015em;
}

.z-site-footer.z-site-footer--integrated .z-footer-contact-placeholder {
    display: block !important;
    margin: 0 0 .75rem !important;
    color: #eef3f6 !important;
    font-size: 1rem !important;
    font-weight: 720 !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-contact-note {
    margin: .65rem 0 .9rem !important;
    color: rgba(255,255,255,.78) !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-small-cta {
    min-width: 190px;
    min-height: 46px !important;
    padding: .72rem 1.05rem !important;
    border-color: #3a7f6b !important;
    background: #3a7f6b !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-small-cta:hover,
.z-site-footer.z-site-footer--integrated .z-footer-small-cta:focus-visible {
    border-color: #2f6e5c !important;
    background: #2f6e5c !important;
    color: #ffffff !important;
}

/* ========================================================================== 
   CONTACT PAGE — smaller, information-first, less card-heavy
   ========================================================================== */
body.z-contact-page .z-service-hero .z-shell--wide {
    padding-top: clamp(3rem, 4.8vw, 4.4rem) !important;
    padding-bottom: clamp(3rem, 4.8vw, 4.4rem) !important;
}

body.z-contact-page .z-service-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr) !important;
    gap: clamp(2rem, 4.5vw, 4.2rem) !important;
    align-items: center !important;
}

body.z-contact-page .z-service-hero h1,
body.z-contact-page .z-service-hero .z-display {
    max-width: 13ch !important;
    margin-bottom: 1rem !important;
    font-size: clamp(2.55rem, 4.2vw, 4rem) !important;
}

body.z-contact-page .z-service-hero .z-lead-lg {
    max-width: 56ch !important;
    font-size: clamp(1.02rem, 1.25vw, 1.14rem) !important;
    line-height: 1.58 !important;
}

body.z-contact-page .z-contact-identity-panel {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: .65rem 1.4rem;
    padding: 1.25rem 1.35rem !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 28px rgba(11,31,51,.06) !important;
}

body.z-contact-page .z-contact-identity-panel > .z-eyebrow,
body.z-contact-page .z-contact-identity-panel > .z-contact-panel-title,
body.z-contact-page .z-contact-identity-panel > .z-contact-divider,
body.z-contact-page .z-contact-identity-panel > .z-contact-company-label,
body.z-contact-page .z-contact-identity-panel > .z-contact-company-row {
    grid-column: 1 / -1;
}

body.z-contact-page .z-contact-identity-panel .z-eyebrow {
    margin: 0 0 -.15rem !important;
}

body.z-contact-page .z-contact-panel-title {
    margin: 0 0 .35rem !important;
    font-size: clamp(1.35rem, 1.8vw, 1.7rem) !important;
}

body.z-contact-page .z-contact-primary {
    margin: 0 !important;
    padding: .15rem 0 .35rem;
}

body.z-contact-page .z-contact-primary strong {
    margin: 0 0 .12rem !important;
    font-size: .7rem !important;
}

body.z-contact-page .z-contact-primary a,
body.z-contact-page .z-contact-placeholder {
    font-size: 1.08rem !important;
    font-weight: 800 !important;
}

body.z-contact-page .z-contact-divider {
    margin: .55rem 0 .35rem !important;
}

body.z-contact-page .z-contact-company-label {
    margin: 0 !important;
    font-size: .82rem !important;
}

body.z-contact-page .z-contact-company-row {
    grid-template-columns: minmax(105px, .65fr) 1.35fr !important;
    gap: .6rem !important;
    padding: .3rem 0 !important;
    font-size: .84rem !important;
}

/* Make only the form section more compact. */
body.z-contact-page .z-premium-section:has(.z-s8-contact-grid) {
    padding-top: clamp(3.2rem, 5vw, 4.6rem) !important;
    padding-bottom: clamp(3.2rem, 5vw, 4.6rem) !important;
}

body.z-contact-page .z-s8-contact-grid {
    grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr) !important;
    gap: clamp(2rem, 4vw, 3.8rem) !important;
}

body.z-contact-page .z-s8-contact-grid h2 {
    margin-bottom: .8rem !important;
    font-size: clamp(1.8rem, 2.6vw, 2.4rem) !important;
}

body.z-contact-page .z-contact-form-guide-title {
    margin: .85rem 0 .35rem !important;
    font-size: .9rem;
}

body.z-contact-page .z-contact-form-guide {
    margin-bottom: 0 !important;
    padding-left: 1.05rem !important;
    font-size: .88rem;
}

body.z-contact-page .z-contact-form-guide li {
    margin: .18rem 0 !important;
}

/* CF7: deliberately compact and plain, not a giant card. */
body.z-contact-page .z-s8-form-wrap .wpcf7,
body.z-contact-page .z-s8-contact-grid .wpcf7 {
    padding: 1.25rem 1.3rem !important;
    border: 1px solid #d9e0e6 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.z-contact-page .z-s8-form-wrap .wpcf7::before,
body.z-contact-page .z-s8-contact-grid .wpcf7::before {
    height: 3px !important;
    background: #3a7f6b !important;
}

body.z-contact-page .wpcf7 .z-form-grid {
    gap: .75rem .85rem !important;
}

body.z-contact-page .wpcf7 .z-form-field {
    gap: 0 !important;
}

/* CF7 puts the required asterisk inside label; block/grid label made it fall on its own line. */
body.z-contact-page .wpcf7 .z-form-field label {
    display: block !important;
    margin: 0 !important;
    color: #356884 !important;
    font-size: .82rem !important;
    font-weight: 760 !important;
    line-height: 1.35 !important;
}

body.z-contact-page .wpcf7 .wpcf7-form-control-wrap {
    display: block;
    margin-top: .32rem;
}

body.z-contact-page .wpcf7 .z-form-field input,
body.z-contact-page .wpcf7 .z-form-field select,
body.z-contact-page .wpcf7 .z-form-field textarea {
    min-height: 44px !important;
    padding: .58rem .68rem !important;
    border-radius: 6px !important;
    font-size: .94rem !important;
}

body.z-contact-page .wpcf7 .z-form-field textarea {
    min-height: 108px !important;
    max-height: 180px;
}

body.z-contact-page .wpcf7 .z-form-field--message {
    margin-top: .75rem !important;
}

body.z-contact-page .wpcf7 .z-form-note {
    margin: .72rem 0 .85rem !important;
    max-width: 74ch;
    font-size: .78rem !important;
    line-height: 1.45 !important;
}

body.z-contact-page .wpcf7 .z-form-submit,
body.z-contact-page .wpcf7 input[type="submit"].z-form-submit {
    min-width: 0 !important;
    min-height: 44px !important;
    padding: .65rem 1rem !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-size: .9rem !important;
}

body.z-contact-page .wpcf7 .wpcf7-not-valid-tip {
    margin-top: .22rem !important;
    font-size: .78rem !important;
}

body.z-contact-page .wpcf7 form .wpcf7-response-output {
    margin: .85rem 0 0 !important;
    padding: .7rem .8rem !important;
    border-radius: 6px !important;
    font-size: .84rem;
}

/* ========================================================================== 
   SERVICES OVERVIEW — asymmetric editorial composition rather than 6 clones
   ========================================================================== */
body.z-services-overview-page .z-s8-service-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 1rem !important;
}

body.z-services-overview-page .z-s8-service-card {
    position: relative;
    display: flex !important;
    flex-direction: column;
    min-height: 188px !important;
    padding: 1.55rem 1.6rem 1.35rem !important;
    overflow: hidden;
    border: 1px solid #d9e0e6 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body.z-services-overview-page .z-s8-service-card:nth-child(1),
body.z-services-overview-page .z-s8-service-card:nth-child(4),
body.z-services-overview-page .z-s8-service-card:nth-child(5) {
    grid-column: span 7;
}

body.z-services-overview-page .z-s8-service-card:nth-child(2),
body.z-services-overview-page .z-s8-service-card:nth-child(3),
body.z-services-overview-page .z-s8-service-card:nth-child(6) {
    grid-column: span 5;
}

body.z-services-overview-page .z-s8-service-card:nth-child(1) {
    background: #edf6f2 !important;
    border-color: #cbded6 !important;
}

body.z-services-overview-page .z-s8-service-card:nth-child(4) {
    background: #f6f7f8 !important;
}

body.z-services-overview-page .z-s8-service-card:nth-child(6) {
    border-color: #2b5b78 !important;
    background: #2b5b78 !important;
}

body.z-services-overview-page .z-s8-service-card::before {
    position: absolute;
    right: 1.2rem;
    top: 1.1rem;
    color: #7a8995;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .12em;
}

body.z-services-overview-page .z-s8-service-card:nth-child(1)::before { content: "01"; }
body.z-services-overview-page .z-s8-service-card:nth-child(2)::before { content: "02"; }
body.z-services-overview-page .z-s8-service-card:nth-child(3)::before { content: "03"; }
body.z-services-overview-page .z-s8-service-card:nth-child(4)::before { content: "04"; }
body.z-services-overview-page .z-s8-service-card:nth-child(5)::before { content: "05"; }
body.z-services-overview-page .z-s8-service-card:nth-child(6)::before { content: "06"; color: #72b9a2; }

body.z-services-overview-page .z-s8-service-card::after {
    content: "";
    position: absolute;
    left: 1.6rem;
    top: 0;
    width: 42px;
    height: 3px;
    background: #2c8d70;
}

body.z-services-overview-page .z-s8-service-card h3 {
    max-width: 19ch;
    margin: .2rem 2.5rem .55rem 0 !important;
    color: #2b5b78 !important;
    font-size: clamp(1.3rem, 1.8vw, 1.65rem) !important;
    line-height: 1.16 !important;
    letter-spacing: -.02em;
}

body.z-services-overview-page .z-s8-service-card > p:not(.z-s8-card-link) {
    max-width: 48ch;
    margin: 0 0 1rem !important;
    color: #526270 !important;
    font-size: .94rem;
    line-height: 1.55;
}

body.z-services-overview-page .z-s8-service-card .z-s8-card-link {
    margin: auto 0 0 !important;
}

body.z-services-overview-page .z-s8-service-card .z-s8-card-link a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #3a7f6b !important;
    font-weight: 800;
    text-decoration: none !important;
}

body.z-services-overview-page .z-s8-service-card .z-s8-card-link a:hover,
body.z-services-overview-page .z-s8-service-card .z-s8-card-link a:focus-visible {
    color: #2f6e5c !important;
    text-decoration: underline !important;
}

body.z-services-overview-page .z-s8-service-card:nth-child(6) h3 {
    color: #ffffff !important;
}

body.z-services-overview-page .z-s8-service-card:nth-child(6) > p:not(.z-s8-card-link) {
    color: #d4dde4 !important;
}

body.z-services-overview-page .z-s8-service-card:nth-child(6) .z-s8-card-link a {
    color: #8fd0b8 !important;
}

body.z-services-overview-page .z-s8-service-card:hover {
    z-index: 1;
    transform: translateY(-3px) !important;
    border-color: #2c8d70 !important;
    box-shadow: 0 14px 30px rgba(11,31,51,.08) !important;
}

body.z-services-overview-page .z-s8-service-card:nth-child(6):hover {
    border-color: #70c4a6 !important;
}

@media (max-width: 921px) {
    .z-header-contactbar-inner {
        min-height: 36px !important;
    }

    body.z-contact-page .z-service-hero-grid,
    body.z-contact-page .z-s8-contact-grid {
        grid-template-columns: 1fr !important;
    }

    body.z-contact-page .z-contact-identity-panel {
        max-width: 640px;
    }

    body.z-services-overview-page .z-s8-service-card:nth-child(n) {
        grid-column: span 6;
    }
}

@media (max-width: 600px) {
    .z-header-contactbar-inner {
        justify-content: space-between !important;
        gap: .55rem !important;
        padding-block: 5px !important;
    }

    .z-header-contactbar-label,
    .z-header-contactbar-sep {
        display: none !important;
    }

    .z-header-contactbar a,
    .z-header-contactbar-placeholder {
        font-size: .78rem !important;
    }

    body.z-contact-page .z-service-hero .z-shell--wide {
        padding-top: 2.6rem !important;
        padding-bottom: 2.8rem !important;
    }

    body.z-contact-page .z-contact-identity-panel {
        grid-template-columns: 1fr !important;
        gap: .45rem;
        padding: 1.1rem !important;
    }

    body.z-contact-page .z-contact-identity-panel > * {
        grid-column: 1 !important;
    }

    body.z-contact-page .z-contact-company-row {
        grid-template-columns: 1fr 1.2fr !important;
    }

    body.z-contact-page .wpcf7 .z-form-grid {
        grid-template-columns: 1fr !important;
    }

    body.z-services-overview-page .z-s8-service-grid {
        grid-template-columns: 1fr !important;
    }

    body.z-services-overview-page .z-s8-service-card:nth-child(n) {
        grid-column: 1 !important;
        min-height: 170px !important;
    }
}

/* ---- Source: assets/zarela-step9d.css ---- */
/* Zarela Step 9D — system typography + layout cleanup */

:root {
    --zarela-system-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   SYSTEM TYPOGRAPHY
   Plus Jakarta Sans is a web font, not a system font. Keep icon/pseudo fonts
   untouched while forcing all visible text components back to the agreed stack.
   -------------------------------------------------------------------------- */
html,
body,
body .site,
body .site-content,
body .z-page,
body .z-header-contactbar,
body .z-site-footer,
body .main-header-menu,
body .ast-builder-menu,
body input,
body textarea,
body select,
body button,
body .wp-block-button__link {
    font-family: var(--zarela-system-font) !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body li,
body label,
body summary,
body .z-eyebrow,
body .z-lead-lg,
body .z-display,
body .z-footer-heading,
body .z-footer-contact-lead,
body .z-footer-contact-detail,
body .z-footer-contact-email,
body .z-footer-contact-placeholder,
body .z-header-contactbar a,
body .z-header-contactbar-placeholder,
body .main-header-menu a,
body .ast-builder-menu a {
    font-family: var(--zarela-system-font) !important;
    font-synthesis: none;
}

/* Avoid awkward synthetic shaping/mark positioning in large Slovak headings. */
body.zarela-designed-page h1,
body.zarela-designed-page h2,
body.zarela-designed-page h3,
body.zarela-designed-page .z-display,
body.zarela-designed-page .z-service-hero h1 {
    font-kerning: normal;
    font-variant-ligatures: common-ligatures;
    text-rendering: optimizeLegibility;
}

/* --------------------------------------------------------------------------
   TOP CONTACT BAR — centered, uniform, no floating uppercase label
   -------------------------------------------------------------------------- */
.z-header-contactbar {
    font-family: var(--zarela-system-font) !important;
}

.z-header-contactbar-inner {
    justify-content: center !important;
    align-items: center !important;
    min-height: 35px !important;
    gap: .9rem !important;
    padding-block: 0 !important;
}

.z-header-contactbar-label {
    display: none !important;
}

.z-header-contactbar a,
.z-header-contactbar-placeholder {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 35px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap;
}

.z-header-contactbar a {
    color: #ffffff !important;
}

.z-header-contactbar a::before {
    display: none !important;
}

.z-header-contactbar-placeholder {
    color: #dce5eb !important;
}

.z-header-contactbar-sep {
    display: block !important;
    flex: 0 0 auto;
    width: 4px !important;
    height: 4px !important;
    margin: 0 .15rem !important;
    border-radius: 50% !important;
    background: #72b9a2 !important;
}

/* --------------------------------------------------------------------------
   FOOTER CONTACT LEAD — it was visually dominating the whole contact column
   -------------------------------------------------------------------------- */
.z-site-footer.z-site-footer--integrated .z-footer-contact-lead {
    display: inline-flex !important;
    align-items: center !important;
    gap: .3rem !important;
    margin: 0 0 .55rem !important;
    font-size: 1.12rem !important;
    font-weight: 760 !important;
    line-height: 1.22 !important;
    letter-spacing: -.01em !important;
}

.z-site-footer.z-site-footer--integrated .z-footer-contact-lead span {
    line-height: 1 !important;
}

/* --------------------------------------------------------------------------
   PAGE END — full-width final bands should meet the footer cleanly
   -------------------------------------------------------------------------- */
body.zarela-designed-page .z-page,
body.zarela-designed-page .entry-content > .z-page {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.zarela-designed-page .z-page > :last-child,
body.zarela-designed-page .z-page > .z-bleed:last-child,
body.zarela-designed-page .entry-content > :last-child {
    margin-bottom: 0 !important;
}

body.zarela-designed-page article.ast-article-single,
body.zarela-designed-page .entry-content,
body.zarela-designed-page .site-main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 520px) {
    .z-header-contactbar-inner {
        flex-wrap: nowrap !important;
        gap: .55rem !important;
        padding-inline: .75rem !important;
    }

    .z-header-contactbar a,
    .z-header-contactbar-placeholder {
        font-size: .76rem !important;
    }

    .z-header-contactbar-sep {
        width: 3px !important;
        height: 3px !important;
        margin-inline: .05rem !important;
    }

    .z-site-footer.z-site-footer--integrated .z-footer-contact-lead {
        font-size: 1.04rem !important;
        line-height: 1.2 !important;
    }
}

/* ---- Source: assets/zarela-step10c.css ---- */
/* Zarela Step 10C — pure HTML page compositions + compact desktop heroes */

:root {
    --z10c-navy: #2b5b78;
    --z10c-navy-2: #356884;
    --z10c-green: #3a7f6b;
    --z10c-green-hover: #2f6e5c;
    --z10c-green-soft: #edf6f2;
    --z10c-text: #1c2733;
    --z10c-muted: #52616f;
    --z10c-line: #d9e0e6;
    --z10c-bg: #f6f7f8;
    --z10c-white: #fff;
}

/* -------------------------------------------------------------------------
   Astra / Gutenberg shell reset for the three HTML-managed pages.
   Fixes the residual gap above Consultation and block-gap spacing.
   ---------------------------------------------------------------------- */
body.z-s10c-html-page,
body.z-s10c-html-page .site-content,
body.z-s10c-html-page .site-content > .ast-container,
body.z-s10c-html-page #primary,
body.z-s10c-html-page .site-main,
body.z-s10c-html-page article.ast-article-single,
body.z-s10c-html-page .entry-content {
    --wp--custom--ast-default-block-top-padding: 0px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.z-s10c-html-page .site-content > .ast-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.z-s10c-html-page #primary {
    width: 100% !important;
}

body.z-s10c-html-page .entry-header,
body.z-s10c-html-page .ast-single-post-order,
body.z-s10c-html-page .post-thumb {
    display: none !important;
}

body.z-s10c-html-page .entry-content > .z-page,
body.z-s10c-html-page .entry-content > *:first-child,
.z-s10c-page,
.z-s10c-page > section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.z-s10c-page {
    width: 100%;
    padding: 0 !important;
}

.z-s10c-page > .z-bleed {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.z-s10c-page .z-shell {
    width: min(1240px, calc(100% - 48px));
    margin-inline: auto;
}

.z-s10c-page .z-shell--wide {
    width: min(1380px, calc(100% - 48px));
}

.z-s10c-page h1,
.z-s10c-page h2,
.z-s10c-page h3,
.z-s10c-page p {
    margin-top: 0;
}

.z-s10c-page h2 {
    color: var(--z10c-navy);
    font-size: clamp(2rem, 3.5vw, 3.55rem);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.z-s10c-page h3 {
    color: var(--z10c-navy);
}

.z-s10c-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    margin-top: 1.35rem;
    padding: .72rem 1.05rem;
    border: 0;
    border-radius: 4px;
    background: var(--z10c-green);
    color: #fff !important;
    font-weight: 760;
    line-height: 1.2;
    text-decoration: none !important;
}

.z-s10c-btn:hover,
.z-s10c-btn:focus-visible {
    background: var(--z10c-green-hover);
}

.z-s10c-section {
    padding: clamp(3.6rem, 6vw, 6rem) 0;
}

.z-s10c-section-lead {
    max-width: 76ch;
    color: var(--z10c-muted);
    font-size: 1.04rem;
}

/* -------------------------------------------------------------------------
   SITEWIDE DESKTOP HERO COMPACTION
   Existing homepage/service heroes keep their design; only excessive height
   is reduced so the hero fits the first desktop view much more reliably.
   ---------------------------------------------------------------------- */
@media (min-width: 1025px) {
    .z-premium-hero .z-shell--wide,
    .z-service-hero .z-shell--wide {
        padding-top: clamp(2.5rem, 5vh, 3.6rem) !important;
        padding-bottom: clamp(2.5rem, 5vh, 3.6rem) !important;
    }

    .z-premium-hero-grid,
    .z-service-hero-grid {
        gap: clamp(2.5rem, 5vw, 5rem) !important;
    }

    .z-premium-hero h1,
    .z-service-hero h1 {
        margin-bottom: 1rem !important;
        font-size: clamp(2.65rem, 4.25vw, 4.35rem) !important;
        line-height: 1.01 !important;
    }

    .z-premium-hero .z-lead-lg,
    .z-service-hero .z-lead-lg {
        font-size: clamp(1rem, 1.2vw, 1.13rem) !important;
        line-height: 1.55 !important;
    }

    .z-premium-hero .z-actions,
    .z-premium-hero .z-hero-meta {
        margin-top: 1.25rem !important;
    }

    .z-premium-hero .z-hero-meta {
        padding-top: 1rem !important;
    }

    .z-s8-art {
        min-height: clamp(300px, 38vh, 360px) !important;
    }

    .z-s8-art--online-large {
        min-height: clamp(320px, 42vh, 390px) !important;
    }

    .z-premium-hero .z-hero-art img {
        max-height: min(410px, 48vh);
        object-fit: contain;
    }
}

/* -------------------------------------------------------------------------
   MZDY — varied editorial composition; deliberately avoids numeric repetition.
   ---------------------------------------------------------------------- */
.z-s10c-payroll-hero {
    overflow: hidden;
    background: var(--z10c-navy);
    color: #fff;
}

.z-s10c-payroll-hero-grid {
    min-height: 460px;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
    align-items: stretch;
}

.z-s10c-payroll-hero-copy {
    align-self: center;
    max-width: 790px;
    padding: 3.2rem clamp(2rem, 5vw, 5rem) 3.35rem 0;
}

.z-s10c-payroll-hero .z-eyebrow { color: #72b9a2 !important; }

.z-s10c-payroll-hero h1 {
    max-width: 15ch;
    margin-bottom: 1rem !important;
    color: #fff !important;
    font-size: clamp(2.6rem, 4.45vw, 4.6rem) !important;
    line-height: 1 !important;
    letter-spacing: -.052em;
}

.z-s10c-payroll-hero .z-lead-lg {
    max-width: 66ch;
    margin-bottom: 0;
    color: #d5dee5 !important;
    font-size: 1.07rem !important;
    line-height: 1.58 !important;
}

.z-s10c-payroll-mark {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 3rem 0 3.2rem clamp(2rem, 5vw, 4.8rem);
    border-left: 1px solid rgba(255,255,255,.16);
}

.z-s10c-payroll-mark::before {
    content: "";
    position: absolute;
    left: -1px;
    top: 23%;
    width: 52%;
    height: 1px;
    background: #72b9a2;
}

.z-s10c-payroll-word {
    color: rgba(255,255,255,.09);
    font-size: clamp(5rem, 9vw, 9rem);
    font-weight: 850;
    letter-spacing: -.08em;
    line-height: .8;
}

.z-s10c-payroll-mark-lines {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    max-width: 360px;
    margin-top: 1.7rem;
    color: #aebfcb;
    font-size: .76rem;
    font-weight: 760;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.z-s10c-payroll-mark-lines span + span::before {
    content: "/";
    margin-right: 1rem;
    color: #72b9a2;
}

.z-s10c-payroll-intro { background: #fff; }

.z-s10c-intro-grid {
    display: grid;
    grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
}

.z-s10c-intro-grid > div:first-child {
    padding-top: .25rem;
}

.z-s10c-copy-column {
    padding-top: .9rem;
    border-top: 2px solid var(--z10c-navy);
}

.z-s10c-copy-column p {
    max-width: 74ch;
    color: var(--z10c-muted);
}

.z-s10c-copy-column .z-s10c-copy-lead {
    color: var(--z10c-text);
    font-size: 1.14rem;
    line-height: 1.62;
}

.z-s10c-payroll-scope {
    background: var(--z10c-bg);
}

.z-s10c-section-title-split {
    display: grid;
    grid-template-columns: .55fr 1.45fr;
    gap: 3rem;
    align-items: end;
    margin-bottom: 2.1rem;
}

.z-s10c-section-title-split > * { margin-bottom: 0 !important; }

.z-s10c-scope-index {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(3rem, 8vw, 8rem);
    border-top: 2px solid var(--z10c-navy);
}

.z-s10c-scope-index article {
    position: relative;
    padding: 1.45rem 0 1.55rem 1.35rem;
    border-bottom: 1px solid #cdd6dc;
}

.z-s10c-scope-index article::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.8rem;
    width: 7px;
    height: 7px;
    background: var(--z10c-green);
}

.z-s10c-scope-index h3 {
    margin: 0 0 .42rem !important;
    font-size: 1.06rem !important;
    line-height: 1.3 !important;
}

.z-s10c-scope-index p {
    max-width: 58ch;
    margin-bottom: 0;
    color: var(--z10c-muted);
    font-size: .94rem;
}

.z-s10c-outsourcing {
    background: var(--z10c-green-soft);
}

.z-s10c-outsourcing-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(300px, .96fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: end;
}

.z-s10c-outsourcing-grid h2 { max-width: 14ch; }
.z-s10c-outsourcing-grid > div:first-child > p:last-child { max-width: 67ch; }

.z-s10c-reason-lines {
    border-top: 2px solid var(--z10c-green);
}

.z-s10c-reason-lines p {
    position: relative;
    margin: 0 !important;
    padding: 1rem 0 1rem 1.65rem;
    border-bottom: 1px solid rgba(23,107,82,.22);
    color: var(--z10c-navy);
    font-weight: 680;
}

.z-s10c-reason-lines p::before {
    content: "—";
    position: absolute;
    left: 0;
    color: var(--z10c-green);
}

.z-s10c-process-section {
    background: #fff;
}

.z-s10c-process-section > .z-shell > h2 { max-width: 22ch; }

.z-s10c-process-flow {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 2.5rem;
    border-top: 2px solid var(--z10c-navy);
    border-bottom: 1px solid var(--z10c-line);
}

.z-s10c-process-flow article {
    position: relative;
    padding: 1.7rem 1.6rem 1.7rem 0;
}

.z-s10c-process-flow article + article {
    padding-left: 1.6rem;
    border-left: 1px solid var(--z10c-line);
}

.z-s10c-process-flow article:not(:last-child)::after {
    content: " ";
    position: absolute;
    z-index: 2;
    right: -12px;
    top: -18px;
    width: 24px;
    background: #fff;
    color: var(--z10c-green);
    font-size: 1.45rem;
    font-weight: 800;
    text-align: center;
    line-height: 1;
}

.z-s10c-process-flow h3 {
    margin: 0 0 .55rem !important;
    font-size: 1rem !important;
    line-height: 1.28 !important;
}

.z-s10c-process-flow p {
    margin-bottom: 0;
    color: var(--z10c-muted);
    font-size: .88rem;
    line-height: 1.55;
}

.z-s10c-payroll-consult {
    background: var(--z10c-navy);
    color: #fff;
}

.z-s10c-consult-band {
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    gap: clamp(3rem, 8vw, 8rem);
}

.z-s10c-payroll-consult .z-eyebrow { color: #72b9a2 !important; }
.z-s10c-payroll-consult h2 { color: #fff !important; }
.z-s10c-payroll-consult p { color: #d5dee5; }

.z-s10c-consult-band > div:last-child {
    padding-left: clamp(1.5rem, 4vw, 4rem);
    border-left: 1px solid rgba(255,255,255,.2);
}

.z-s10c-audience { background: #fff; }
.z-s10c-audience > .z-shell > h2 { max-width: 22ch; }
.z-s10c-audience > .z-shell > .z-s10c-section-lead { margin-bottom: 2.5rem; }

.z-s10c-audience-rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--z10c-navy);
    border-bottom: 1px solid var(--z10c-navy);
}

.z-s10c-audience-rail article {
    padding: 1.55rem 1.7rem 1.55rem 0;
}

.z-s10c-audience-rail article + article {
    padding-left: 1.7rem;
    border-left: 1px solid var(--z10c-line);
}

.z-s10c-audience-rail h3 {
    margin: 0 0 .5rem !important;
    font-size: 1.02rem !important;
}

.z-s10c-audience-rail p {
    margin: 0;
    color: var(--z10c-muted);
}

.z-s10c-faq { background: var(--z10c-bg); }

.z-s10c-faq-grid {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: clamp(3rem, 8vw, 8rem);
}

.z-s10c-faq-list details {
    margin: 0;
    padding: 1.1rem 0;
    border-top: 1px solid #cbd4da;
}

.z-s10c-faq-list details:last-child { border-bottom: 1px solid #cbd4da; }

.z-s10c-faq-list summary {
    color: var(--z10c-navy);
    font-weight: 760;
    cursor: pointer;
}

.z-s10c-faq-list details p {
    margin: .75rem 0 0;
    color: var(--z10c-muted);
}

.z-s10c-payroll-final {
    padding: 3.4rem 0;
    background: var(--z10c-green);
    color: #fff;
}

.z-s10c-final-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3rem;
    align-items: center;
}

.z-s10c-payroll-final h2 {
    margin: 0 0 .5rem;
    color: #fff;
    font-size: clamp(1.9rem, 3vw, 3rem);
}

.z-s10c-payroll-final p {
    max-width: 70ch;
    margin: 0;
    color: rgba(255,255,255,.86);
}

.z-s10c-btn--light {
    margin-top: 0;
    background: #fff;
    color: var(--z10c-green-hover) !important;
}

.z-s10c-btn--light:hover,
.z-s10c-btn--light:focus-visible {
    background: #f0f5f2;
}

/* -------------------------------------------------------------------------
   CONSULTATION — compact hero + real CF7 styled like appointment selection.
   No fake availability and no duplicated numbered agenda.
   ---------------------------------------------------------------------- */
.z-s10c-consult-hero {
    padding: 3.1rem 0 3.25rem;
    background: var(--z10c-navy);
    color: #fff;
}

.z-s10c-consult-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: center;
}

.z-s10c-consult .z-eyebrow { color: #72b9a2 !important; }

.z-s10c-consult-hero h1 {
    max-width: 13ch;
    margin-bottom: 1rem !important;
    color: #fff !important;
    font-size: clamp(2.6rem, 4.35vw, 4.55rem) !important;
    line-height: 1 !important;
    letter-spacing: -.05em;
}

.z-s10c-consult-hero .z-lead-lg {
    max-width: 62ch;
    margin-bottom: 0;
    color: #d5dee5 !important;
    font-size: 1.06rem !important;
    line-height: 1.58 !important;
}

.z-s10c-consult-direct {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin-top: 1.35rem;
}

.z-s10c-consult-direct a {
    color: #fff !important;
    font-weight: 760;
    text-decoration: none;
}

.z-s10c-consult-direct span {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #72b9a2;
}

.z-s10c-consult-map {
    border-top: 2px solid #72b9a2;
    border-bottom: 1px solid rgba(255,255,255,.2);
}

.z-s10c-map-label {
    margin: 0 !important;
    padding: .8rem 0;
    color: #72b9a2 !important;
    font-size: .76rem !important;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.z-s10c-consult-map > div {
    display: grid;
    grid-template-columns: minmax(150px, .8fr) minmax(0, 1.2fr);
    gap: 1rem;
    padding: .78rem 0;
    border-top: 1px solid rgba(255,255,255,.14);
}

.z-s10c-consult-map strong {
    color: #fff;
    font-size: .91rem;
}

.z-s10c-consult-map span {
    color: #b8c6d0;
    font-size: .86rem;
    line-height: 1.45;
}

.z-s10c-consult-form-section {
    padding: 3.5rem 0 4.25rem;
    background: #f2f5f6;
}

.z-s10c-consult-form-grid {
    display: grid;
    grid-template-columns: minmax(230px, .65fr) minmax(0, 1.35fr);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: start;
}

.z-s10c-consult-form-copy h2 {
    max-width: 13ch;
    font-size: clamp(2rem, 3.25vw, 3.25rem);
}

.z-s10c-consult-form-copy > p:not(.z-eyebrow) {
    max-width: 46ch;
    color: var(--z10c-muted);
}

.z-s10c-consult-note {
    margin-top: 1.35rem !important;
    padding-top: 1rem;
    border-top: 1px solid #cbd4da;
    font-size: .9rem;
}

/* Use the user's existing CF7 form; Step 10C does not rewrite its markup. */
.z-s10c-booking-shell .wpcf7 {
    padding: 1.35rem 1.45rem 1.45rem !important;
    border: 1px solid #c6d1d8 !important;
    border-top: 4px solid var(--z10c-green) !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(11,31,51,.06) !important;
}

.z-s10c-booking-shell .z-booking-form-head {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .1rem .9rem;
    align-items: baseline;
    margin-bottom: 1.2rem;
    padding-bottom: .9rem;
    border-bottom: 1px solid var(--z10c-line);
}

.z-s10c-booking-shell .z-booking-step {
    grid-row: 1 / span 2;
    margin: 0 !important;
    color: var(--z10c-green) !important;
    font-size: .7rem !important;
    font-weight: 820 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.z-s10c-booking-shell .z-booking-form-head h3 {
    margin: 0 !important;
    color: var(--z10c-navy) !important;
    font-size: 1.22rem !important;
}

.z-s10c-booking-shell .z-booking-form-head p:last-child {
    margin: .15rem 0 0 !important;
    color: var(--z10c-muted) !important;
    font-size: .82rem;
}

.z-s10c-booking-shell .z-form-grid,
.z-s10c-booking-shell .z-booking-time-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .72rem .82rem;
}

.z-s10c-booking-shell .z-booking-time-grid {
    margin-top: 1rem;
    padding: .9rem;
    border: 1px solid #d8e0e5;
    background: #f7f9fa;
}

.z-s10c-booking-shell .z-booking-time-grid .z-form-field label {
    color: var(--z10c-navy) !important;
}

.z-s10c-booking-shell .z-form-field label,
.z-s10c-booking-shell .z-form-label {
    display: block !important;
    margin: 0 !important;
    color: var(--z10c-navy) !important;
    font-size: .8rem !important;
    font-weight: 760 !important;
    line-height: 1.35 !important;
}

.z-s10c-booking-shell .wpcf7-form-control-wrap {
    display: block;
    margin-top: .3rem;
}

.z-s10c-booking-shell input[type="text"],
.z-s10c-booking-shell input[type="email"],
.z-s10c-booking-shell input[type="tel"],
.z-s10c-booking-shell input[type="date"],
.z-s10c-booking-shell select,
.z-s10c-booking-shell textarea {
    width: 100%;
    min-height: 42px !important;
    padding: .55rem .65rem !important;
    border: 1px solid #bfcbd3 !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: var(--z10c-text) !important;
    font-size: .91rem !important;
    box-shadow: none !important;
}

.z-s10c-booking-shell textarea {
    min-height: 84px !important;
    max-height: 140px;
}

.z-s10c-booking-shell .z-booking-method {
    margin-top: .9rem;
}

.z-s10c-booking-shell .z-booking-method .wpcf7-form-control-wrap {
    margin-top: .45rem;
}

.z-s10c-booking-shell .z-booking-method .wpcf7-radio {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.z-s10c-booking-shell .z-booking-method .wpcf7-list-item {
    margin: 0 !important;
}

.z-s10c-booking-shell .z-booking-method .wpcf7-list-item label {
    position: relative;
    display: block !important;
    cursor: pointer;
}

.z-s10c-booking-shell .z-booking-method .wpcf7-list-item input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.z-s10c-booking-shell .z-booking-method .wpcf7-list-item-label {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: .55rem .6rem;
    border: 1px solid #c4cfd6;
    border-radius: 3px;
    background: #fff;
    color: var(--z10c-navy);
    font-size: .84rem;
    font-weight: 720;
    text-align: center;
}

.z-s10c-booking-shell .z-booking-method input:checked + .wpcf7-list-item-label {
    border-color: var(--z10c-green);
    background: var(--z10c-green-soft);
    box-shadow: inset 0 0 0 1px var(--z10c-green);
}

.z-s10c-booking-shell .z-form-field--message { margin-top: .85rem; }

.z-s10c-booking-shell .z-form-note {
    margin: .75rem 0 .85rem !important;
    color: var(--z10c-muted) !important;
    font-size: .8rem;
}

.z-s10c-booking-shell .z-form-submit {
    min-height: 44px !important;
    padding: .65rem .95rem !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: var(--z10c-green) !important;
    color: #fff !important;
    font-weight: 760 !important;
}

.z-s10c-booking-shell .z-form-submit:hover,
.z-s10c-booking-shell .z-form-submit:focus-visible {
    background: var(--z10c-green-hover) !important;
}

.z-s10c-booking-shell .wpcf7-response-output {
    margin: .8rem 0 0 !important;
    font-size: .82rem;
}

/* -------------------------------------------------------------------------
   CONTACT — one HTML block, compact first view, direct details remain obvious.
   ---------------------------------------------------------------------- */
.z-s10c-contact-hero {
    padding: 3rem 0 3.25rem;
    background: #fff;
}

.z-s10c-contact-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(350px, .94fr);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: center;
}

.z-s10c-contact-hero h1 {
    max-width: 13ch;
    margin-bottom: 1rem !important;
    color: var(--z10c-navy) !important;
    font-size: clamp(2.65rem, 4.35vw, 4.5rem) !important;
    line-height: 1 !important;
    letter-spacing: -.05em;
}

.z-s10c-contact-hero .z-lead-lg {
    max-width: 62ch;
    margin-bottom: 0;
    font-size: 1.05rem !important;
    line-height: 1.58 !important;
}

.z-s10c-contact-data {
    border-top: 2px solid var(--z10c-navy);
}

.z-s10c-contact-data > div {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 1rem;
    padding: .72rem 0;
    border-bottom: 1px solid var(--z10c-line);
}

.z-s10c-contact-data span {
    color: #687683;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.z-s10c-contact-data a,
.z-s10c-contact-data strong {
    color: var(--z10c-navy) !important;
    font-size: .98rem;
    font-weight: 760;
    line-height: 1.35;
    text-decoration: none;
}

.z-s10c-contact-data > p {
    margin: .8rem 0 0 !important;
    color: var(--z10c-green) !important;
    font-size: .78rem !important;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.z-s10c-contact-form-section {
    padding: 3.5rem 0 4rem;
    background: var(--z10c-bg);
}

.z-s10c-contact-form-grid {
    display: grid;
    grid-template-columns: minmax(230px, .65fr) minmax(0, 1.35fr);
    gap: clamp(3rem, 7vw, 7rem);
}

.z-s10c-contact-form-grid h2 {
    max-width: 12ch;
}

.z-s10c-contact-form .wpcf7 {
    padding: 1.25rem 1.35rem !important;
    border: 1px solid #cbd4da !important;
    border-top: 3px solid var(--z10c-green) !important;
    border-radius: 3px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.z-s10c-contact-form .z-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem .8rem;
}

.z-s10c-contact-form .z-form-field label {
    display: block !important;
    margin: 0 !important;
    color: var(--z10c-navy) !important;
    font-size: .8rem !important;
    font-weight: 760 !important;
}

.z-s10c-contact-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: .3rem;
}

.z-s10c-contact-form input[type="text"],
.z-s10c-contact-form input[type="email"],
.z-s10c-contact-form input[type="tel"],
.z-s10c-contact-form select,
.z-s10c-contact-form textarea {
    width: 100%;
    min-height: 42px !important;
    padding: .55rem .65rem !important;
    border: 1px solid #bfcbd3 !important;
    border-radius: 3px !important;
    background: #fff !important;
    font-size: .91rem !important;
    box-shadow: none !important;
}

.z-s10c-contact-form textarea {
    min-height: 88px !important;
    max-height: 145px;
}

.z-s10c-contact-form .z-form-field--message { margin-top: .75rem; }
.z-s10c-contact-form .z-form-note { margin: .7rem 0 .8rem !important; font-size: .8rem; }
.z-s10c-contact-form .z-form-submit { min-height: 44px !important; padding: .65rem .95rem !important; }

/* -------------------------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------------------- */
@media (max-width: 1024px) {
    .z-s10c-payroll-hero-grid,
    .z-s10c-intro-grid,
    .z-s10c-section-title-split,
    .z-s10c-outsourcing-grid,
    .z-s10c-consult-band,
    .z-s10c-faq-grid,
    .z-s10c-consult-hero-grid,
    .z-s10c-consult-form-grid,
    .z-s10c-contact-hero-grid,
    .z-s10c-contact-form-grid {
        grid-template-columns: 1fr;
        gap: 2.4rem;
    }

    .z-s10c-payroll-hero-grid { min-height: 0; }
    .z-s10c-payroll-mark {
        min-height: 190px;
        padding: 2rem 0 2.6rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.16);
    }
    .z-s10c-payroll-mark::before { top: -1px; left: 0; width: 35%; }
    .z-s10c-consult-band > div:last-child { padding-left: 0; padding-top: 1.5rem; border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
    .z-s10c-process-flow { grid-template-columns: 1fr 1fr; }
    .z-s10c-process-flow article + article { border-left: 0; }
    .z-s10c-process-flow article:not(:last-child)::after { display: none; }
}

@media (max-width: 767px) {
    .z-s10c-page .z-shell,
    .z-s10c-page .z-shell--wide {
        width: min(100% - 32px, 1240px);
    }

    .z-s10c-section { padding: 3.4rem 0; }

    .z-s10c-payroll-hero-copy,
    .z-s10c-consult-hero,
    .z-s10c-contact-hero {
        padding-top: 3.2rem;
        padding-bottom: 3.4rem;
    }

    .z-s10c-payroll-hero h1,
    .z-s10c-consult-hero h1,
    .z-s10c-contact-hero h1 {
        max-width: none;
        font-size: clamp(2.35rem, 11vw, 3.7rem) !important;
    }

    .z-s10c-payroll-mark { display: none; }
    .z-s10c-scope-index { grid-template-columns: 1fr; }
    .z-s10c-process-flow { grid-template-columns: 1fr; border-top: 1px solid var(--z10c-line); }
    .z-s10c-process-flow article,
    .z-s10c-process-flow article + article { padding: 1.2rem 0; border-left: 0; border-bottom: 1px solid var(--z10c-line); }
    .z-s10c-audience-rail { grid-template-columns: 1fr; }
    .z-s10c-audience-rail article,
    .z-s10c-audience-rail article + article { padding: 1.25rem 0; border-left: 0; border-top: 1px solid var(--z10c-line); }
    .z-s10c-audience-rail article:first-child { border-top: 0; }
    .z-s10c-final-row { grid-template-columns: 1fr; gap: 1.3rem; }
    .z-s10c-btn--light { justify-self: start; }

    .z-s10c-consult-map > div { grid-template-columns: 1fr; gap: .25rem; }
    .z-s10c-consult-form-section,
    .z-s10c-contact-form-section { padding: 3.2rem 0; }
    .z-s10c-booking-shell .z-form-grid,
    .z-s10c-booking-shell .z-booking-time-grid,
    .z-s10c-contact-form .z-form-grid { grid-template-columns: 1fr; }
    .z-s10c-booking-shell .z-booking-method .wpcf7-radio { grid-template-columns: 1fr; }
    .z-s10c-booking-shell .z-booking-form-head { grid-template-columns: 1fr; }
    .z-s10c-booking-shell .z-booking-step { grid-row: auto; }
    .z-s10c-contact-data > div { grid-template-columns: 88px minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .z-s10c-page *,
    .z-s10c-page *::before,
    .z-s10c-page *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}

/* ---- Source: assets/zarela-step10d.css ---- */
/* Zarela Step 10D — premium spacing, CTA and hero refinement */

:root {
    --z10d-navy: #2b5b78;
    --z10d-navy-2: #356884;
    --z10d-green: #3a7f6b;
    --z10d-green-hover: #2f6e5c;
    --z10d-green-soft: #edf6f2;
    --z10d-text: #1c2733;
    --z10d-muted: #52616f;
    --z10d-line: #d9e0e6;
    --z10d-bg: #f6f7f8;
    --z10d-white: #fff;
}

/* -------------------------------------------------------------------------
   PRIMARY CTA LANGUAGE — same compact green treatment throughout the site.
   Secondary text links remain text links; only actual primary CTAs are unified.
   ---------------------------------------------------------------------- */
body .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
body .wp-block-button:not(.is-style-outline) > .wp-element-button,
body .z-s10c-btn,
body .z-site-footer .z-footer-small-cta,
body .z-header-cta > a,
body .z-s10c-booking-shell .z-form-submit,
body .z-s10c-contact-form .z-form-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: .72rem 1.12rem !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: var(--z10d-green) !important;
    color: #fff !important;
    font-weight: 760 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
body .wp-block-button:not(.is-style-outline) > .wp-element-button:hover,
body .z-s10c-btn:hover,
body .z-site-footer .z-footer-small-cta:hover,
body .z-header-cta > a:hover,
body .z-s10c-booking-shell .z-form-submit:hover,
body .z-s10c-contact-form .z-form-submit:hover,
body .wp-block-button:not(.is-style-outline) > .wp-block-button__link:focus-visible,
body .z-s10c-btn:focus-visible,
body .z-site-footer .z-footer-small-cta:focus-visible,
body .z-header-cta > a:focus-visible {
    background: var(--z10d-green-hover) !important;
    color: #fff !important;
}

/* Mzdy's previous white-on-green variant now follows the same primary CTA. */
body .z-s10c-btn--light,
body .z-s10c-btn--light:hover,
body .z-s10c-btn--light:focus-visible {
    background: var(--z10d-green) !important;
    color: #fff !important;
}
body .z-s10c-btn--light:hover,
body .z-s10c-btn--light:focus-visible {
    background: var(--z10d-green-hover) !important;
}

/* -------------------------------------------------------------------------
   DESKTOP HERO HEIGHT — principal message stays within the first desktop view.
   ---------------------------------------------------------------------- */
@media (min-width: 1025px) {
    body .z-premium-hero .z-shell--wide,
    body .z-service-hero .z-shell--wide {
        padding-top: clamp(1.65rem, 3vh, 2.35rem) !important;
        padding-bottom: clamp(1.65rem, 3vh, 2.35rem) !important;
    }

    body .z-premium-hero-grid,
    body .z-service-hero-grid {
        min-height: 0 !important;
        gap: clamp(2rem, 4vw, 4.2rem) !important;
    }

    body .z-premium-hero h1,
    body .z-service-hero h1 {
        margin-bottom: .85rem !important;
        font-size: clamp(2.4rem, 3.55vw, 3.75rem) !important;
        line-height: 1.015 !important;
    }

    body .z-premium-hero .z-lead-lg,
    body .z-service-hero .z-lead-lg {
        margin-bottom: 0 !important;
        font-size: clamp(.98rem, 1.05vw, 1.08rem) !important;
        line-height: 1.5 !important;
    }

    body .z-premium-hero .z-actions,
    body .z-service-hero .z-actions {
        margin-top: 1rem !important;
    }

    body .z-premium-hero .z-hero-meta {
        gap: .55rem 1.2rem !important;
        margin-top: .85rem !important;
        padding-top: .75rem !important;
        font-size: .84rem !important;
    }

    body .z-premium-hero .z-hero-art img {
        width: auto !important;
        max-width: 100% !important;
        max-height: min(315px, 37vh) !important;
        margin-inline: auto !important;
        object-fit: contain !important;
    }

    body .z-premium-hero .z-hero-art::before {
        inset: -.7rem 1rem .75rem -.7rem !important;
        border-radius: 18px !important;
    }

    body .z-s8-art {
        min-height: clamp(240px, 31vh, 300px) !important;
    }

    body .z-s8-art--online-large {
        min-height: clamp(250px, 33vh, 315px) !important;
    }

    body .z-s10c-payroll-hero-grid {
        min-height: 390px !important;
    }

    body .z-s10c-payroll-hero-copy {
        padding-top: 2.4rem !important;
        padding-bottom: 2.55rem !important;
    }

    body .z-s10c-consult-hero,
    body .z-s10c-contact-hero {
        padding-top: 2.35rem !important;
        padding-bottom: 2.55rem !important;
    }

    body .z-s10c-payroll-hero h1,
    body .z-s10c-consult-hero h1,
    body .z-s10c-contact-hero h1 {
        font-size: clamp(2.45rem, 3.8vw, 3.95rem) !important;
    }
}

/* Extra compaction for the very common short desktop/laptop viewport. */
@media (min-width: 1025px) and (max-height: 820px) {
    body .z-premium-hero .z-shell--wide,
    body .z-service-hero .z-shell--wide {
        padding-top: 1.25rem !important;
        padding-bottom: 1.35rem !important;
    }

    body .z-premium-hero h1,
    body .z-service-hero h1 {
        font-size: clamp(2.25rem, 3.15vw, 3.25rem) !important;
    }

    body .z-premium-hero .z-hero-art img {
        max-height: 265px !important;
    }

    body .z-premium-hero .z-hero-meta {
        margin-top: .7rem !important;
        padding-top: .65rem !important;
    }

    body .z-s10c-payroll-hero-grid {
        min-height: 350px !important;
    }

    body .z-s10c-payroll-hero-copy,
    body .z-s10c-consult-hero,
    body .z-s10c-contact-hero {
        padding-top: 1.9rem !important;
        padding-bottom: 2rem !important;
    }
}

/* -------------------------------------------------------------------------
   HOMEPAGE SERVICE ART — remove the chaotic SVG and use a calm editorial motif.
   ---------------------------------------------------------------------- */
body .z-service-primary-art {
    position: relative !important;
    overflow: hidden !important;
    min-height: 100% !important;
    background-color: var(--z10d-navy) !important;
    background-image:
        linear-gradient(90deg, transparent 0 17%, rgba(114,185,162,.14) 17% 17.35%, transparent 17.35%),
        linear-gradient(180deg, transparent 0 21%, rgba(255,255,255,.065) 21% 21.3%, transparent 21.3% 43%, rgba(255,255,255,.065) 43% 43.3%, transparent 43.3% 65%, rgba(255,255,255,.065) 65% 65.3%, transparent 65.3%) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

body .z-service-primary-art::before {
    content: "" !important;
    position: absolute !important;
    left: 21% !important;
    top: 20% !important;
    width: 53% !important;
    height: 58% !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-left: 4px solid #72b9a2 !important;
    background: rgba(255,255,255,.025) !important;
}

body .z-service-primary-art::after {
    content: "";
    position: absolute;
    left: 28%;
    top: 33%;
    width: 34%;
    height: 4px;
    background: #72b9a2;
    box-shadow:
        0 52px 0 rgba(255,255,255,.28),
        0 104px 0 rgba(255,255,255,.16);
}

/* -------------------------------------------------------------------------
   OLD FINAL CONSULTATION BLOCKS — full-width navy instead of a card on white.
   ---------------------------------------------------------------------- */
body .z-premium-section:has(.z-final-premium) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: var(--z10d-navy) !important;
}

body .z-premium-section:has(.z-final-premium) > .z-shell {
    width: min(1240px, calc(100% - 48px)) !important;
}

body .z-final-premium {
    padding: clamp(3rem, 5vw, 4.4rem) 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body .z-final-premium .wp-block-button__link,
body .z-final-premium .wp-element-button {
    background: var(--z10d-green) !important;
}

/* Mzdy final band follows the same navy + green CTA language. */
body .z-s10c-payroll-final {
    padding: clamp(3rem, 5vw, 4.35rem) 0 !important;
    background: var(--z10d-navy) !important;
}

/* -------------------------------------------------------------------------
   STEP 10 PAGE SPACING — no text glued to borders/rules.
   ---------------------------------------------------------------------- */
body .z-s10c-page .z-shell {
    box-sizing: border-box;
}

body .z-s10c-section {
    padding-top: clamp(4.5rem, 6.5vw, 6.4rem) !important;
    padding-bottom: clamp(4.5rem, 6.5vw, 6.4rem) !important;
}

body .z-s10c-section-title-split {
    margin-bottom: clamp(2.4rem, 4vw, 3.4rem) !important;
}

body .z-s10c-copy-column {
    position: relative;
    padding: 1.75rem 0 0 1.8rem !important;
    border-top: 0 !important;
    border-left: 1px solid var(--z10d-line);
}

body .z-s10c-copy-column::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1.8rem;
    width: 74px;
    height: 4px;
    background: var(--z10d-green);
}

body .z-s10c-copy-column p + p {
    margin-top: 1.15rem !important;
}

/* -------------------------------------------------------------------------
   MZDY — premium asymmetry instead of repeated equal cards/lists/numbers.
   ---------------------------------------------------------------------- */
body .z-s10c-payroll-scope {
    position: relative;
    overflow: hidden;
    background: #f1f4f5 !important;
}

body .z-s10c-payroll-scope::after {
    content: "";
    position: absolute;
    right: max(24px, calc((100vw - 1240px) / 2));
    top: 0;
    width: 1px;
    height: 92px;
    background: var(--z10d-green);
    opacity: .5;
}

body .z-s10c-scope-index {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 1px !important;
    overflow: hidden;
    border: 1px solid #d4dde2 !important;
    border-radius: 8px;
    background: #d4dde2 !important;
    box-shadow: 0 20px 48px rgba(11,31,51,.055);
}

body .z-s10c-scope-index article {
    min-width: 0;
    padding: 1.7rem 1.85rem !important;
    border: 0 !important;
    background: #fff;
}

body .z-s10c-scope-index article::before {
    display: none !important;
}

body .z-s10c-scope-index article:nth-child(1) {
    grid-column: 1 / 7;
    grid-row: 1 / 3;
    display: flex;
    min-height: 250px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2.25rem 2.45rem !important;
    background: var(--z10d-navy);
}

body .z-s10c-scope-index article:nth-child(2) { grid-column: 7 / 13; grid-row: 1; background: #fff; }
body .z-s10c-scope-index article:nth-child(3) { grid-column: 7 / 13; grid-row: 2; background: var(--z10d-green-soft); }
body .z-s10c-scope-index article:nth-child(4) { grid-column: 1 / 5; grid-row: 3; }
body .z-s10c-scope-index article:nth-child(5) { grid-column: 5 / 9; grid-row: 3; }
body .z-s10c-scope-index article:nth-child(6) { grid-column: 9 / 13; grid-row: 3; }

body .z-s10c-scope-index article:nth-child(1) h3 {
    max-width: 15ch;
    margin-bottom: .75rem !important;
    color: #fff !important;
    font-size: clamp(1.45rem, 2.2vw, 2.15rem) !important;
    line-height: 1.08 !important;
}

body .z-s10c-scope-index article:nth-child(1) p {
    max-width: 50ch;
    color: #d5dee5 !important;
    font-size: .98rem !important;
}

body .z-s10c-scope-index article:not(:first-child) h3 {
    margin-bottom: .55rem !important;
    font-size: 1.03rem !important;
}

body .z-s10c-outsourcing {
    background: var(--z10d-green-soft) !important;
}

body .z-s10c-outsourcing-grid {
    align-items: center !important;
}

body .z-s10c-outsourcing-grid > div:first-child {
    position: relative;
    padding: .5rem 1.5rem .5rem 1.75rem;
}

body .z-s10c-outsourcing-grid > div:first-child::before {
    content: "";
    position: absolute;
    left: 0;
    top: .7rem;
    bottom: .7rem;
    width: 4px;
    background: var(--z10d-green);
}

body .z-s10c-reason-lines {
    padding: 1.45rem 1.8rem !important;
    border-top: 0 !important;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(11,31,51,.06);
}

body .z-s10c-reason-lines p {
    padding: 1rem .25rem 1rem 1.65rem !important;
}

body .z-s10c-reason-lines p:first-child {
    padding-top: .45rem !important;
}
body .z-s10c-reason-lines p:last-child {
    padding-bottom: .45rem !important;
    border-bottom: 0 !important;
}

/* Process becomes a dark runway: no numbers, no boxes, no arrows. */
body .z-s10c-process-section {
    background: var(--z10d-navy) !important;
    color: #fff;
}

body .z-s10c-process-section .z-eyebrow {
    color: #72b9a2 !important;
}

body .z-s10c-process-section h2 {
    color: #fff !important;
}

body .z-s10c-process-section .z-s10c-section-lead {
    color: #bcc9d2 !important;
}

body .z-s10c-process-flow {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: clamp(1.4rem, 2.4vw, 2.5rem) !important;
    margin-top: 3rem !important;
    padding-top: 2.6rem;
    border: 0 !important;
}

body .z-s10c-process-flow::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 8px;
    height: 1px;
    background: rgba(255,255,255,.22);
}

body .z-s10c-process-flow article,
body .z-s10c-process-flow article + article {
    position: relative;
    padding: 0 !important;
    border: 0 !important;
}

body .z-s10c-process-flow article::before {
    content: "";
    position: absolute;
    top: -2.95rem;
    left: 0;
    width: 17px;
    height: 17px;
    border: 5px solid var(--z10d-navy);
    border-radius: 50%;
    background: #72b9a2;
    box-shadow: 0 0 0 1px rgba(114,185,162,.6);
}

body .z-s10c-process-flow article:not(:last-child)::after {
    display: none !important;
}

body .z-s10c-process-flow h3 {
    margin-bottom: .7rem !important;
    color: #fff !important;
    font-size: 1.02rem !important;
}

body .z-s10c-process-flow p {
    color: #bdcad3 !important;
    font-size: .91rem !important;
    line-height: 1.58 !important;
}

/* Mid-page consultation: light editorial break instead of another dark/card block. */
body .z-s10c-payroll-consult {
    background: #fff !important;
    color: var(--z10d-text) !important;
}

body .z-s10c-payroll-consult .z-eyebrow {
    color: var(--z10d-green) !important;
}

body .z-s10c-payroll-consult h2 {
    color: var(--z10d-navy) !important;
}

body .z-s10c-payroll-consult p {
    color: var(--z10d-muted) !important;
}

body .z-s10c-consult-band {
    align-items: center;
}

body .z-s10c-consult-band > div:last-child {
    padding: 1.8rem 2rem 1.95rem 2.25rem !important;
    border: 0 !important;
    border-left: 4px solid var(--z10d-green) !important;
    border-radius: 0 6px 6px 0;
    background: var(--z10d-green-soft);
}

body .z-s10c-audience {
    background: #f8f9f9 !important;
}

body .z-s10c-audience > .z-shell > .z-s10c-section-lead {
    max-width: 76ch;
    margin-bottom: 3rem !important;
}

body .z-s10c-audience-rail {
    grid-template-columns: 1.2fr .9fr .9fr !important;
    gap: clamp(2rem, 4vw, 4rem);
    border: 0 !important;
}

body .z-s10c-audience-rail article,
body .z-s10c-audience-rail article + article {
    padding: 1.35rem 0 0 !important;
    border: 0 !important;
    border-top: 3px solid var(--z10d-line) !important;
}

body .z-s10c-audience-rail article:first-child {
    border-top-color: var(--z10d-green) !important;
}

body .z-s10c-audience-rail h3 {
    margin-bottom: .65rem !important;
    font-size: 1.08rem !important;
}

body .z-s10c-faq {
    background: #fff !important;
}

body .z-s10c-faq-list {
    padding: .25rem 0;
}

body .z-s10c-faq-list details {
    padding: 1.35rem .2rem !important;
}

body .z-s10c-faq-list summary {
    padding-right: 2.4rem;
}

/* -------------------------------------------------------------------------
   CONSULTATION — premium panel spacing + genuinely equal-height controls.
   ---------------------------------------------------------------------- */
body .z-s10c-consult-map {
    padding: 1.25rem 1.55rem 1.35rem !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-top: 3px solid #72b9a2 !important;
    border-radius: 7px;
    background: rgba(255,255,255,.035);
}

body .z-s10c-consult-map > div {
    padding: .9rem .15rem !important;
}

body .z-s10c-consult-form-section,
body .z-s10c-contact-form-section {
    padding-top: clamp(4.2rem, 6vw, 5.7rem) !important;
    padding-bottom: clamp(4.4rem, 6vw, 6rem) !important;
}

body .z-s10c-booking-shell .wpcf7 {
    padding: 1.9rem 2rem 2rem !important;
    border: 1px solid #d0d9df !important;
    border-top: 4px solid var(--z10d-green) !important;
    border-radius: 7px !important;
    box-shadow: 0 20px 48px rgba(11,31,51,.07) !important;
}

body .z-s10c-booking-shell .z-form-grid,
body .z-s10c-booking-shell .z-booking-time-grid {
    gap: .95rem 1rem !important;
}

body .z-s10c-booking-shell .z-booking-time-grid {
    margin-top: 1.15rem !important;
    padding: 1.2rem !important;
    border-radius: 5px;
}

body .z-s10c-booking-shell input[type="text"],
body .z-s10c-booking-shell input[type="email"],
body .z-s10c-booking-shell input[type="tel"],
body .z-s10c-booking-shell input[type="date"],
body .z-s10c-booking-shell input[type="time"],
body .z-s10c-booking-shell select {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 .72rem !important;
    border: 1px solid #bfcbd3 !important;
    border-radius: 3px !important;
    background-color: #fff !important;
    color: var(--z10d-text) !important;
    font: inherit !important;
    font-size: .91rem !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}

body .z-s10c-booking-shell select {
    padding-right: 2rem !important;
}

body .z-s10c-booking-shell textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 92px !important;
    height: 92px !important;
    padding: .7rem .72rem !important;
    line-height: 1.45 !important;
}

body .z-s10c-booking-shell .z-booking-method .wpcf7-list-item-label {
    min-height: 44px !important;
    padding: .55rem .7rem !important;
}

/* Kontakt gets the same more deliberate inset treatment. */
body .z-s10c-contact-data {
    padding: 1.15rem 1.45rem 1.35rem !important;
    border-top: 3px solid var(--z10d-green) !important;
    border-radius: 6px;
    background: var(--z10d-green-soft);
}

body .z-s10c-contact-data > div {
    padding: .82rem .15rem !important;
}

body .z-s10c-contact-form .wpcf7 {
    padding: 1.7rem 1.8rem !important;
    border-radius: 6px !important;
    box-shadow: 0 16px 38px rgba(11,31,51,.055) !important;
}

body .z-s10c-contact-form input[type="text"],
body .z-s10c-contact-form input[type="email"],
body .z-s10c-contact-form input[type="tel"],
body .z-s10c-contact-form select {
    box-sizing: border-box !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 .72rem !important;
    line-height: 1.2 !important;
}

/* -------------------------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------------------- */
@media (max-width: 1024px) {
    body .z-s10c-scope-index {
        grid-template-columns: 1fr 1fr !important;
    }

    body .z-s10c-scope-index article:nth-child(n) {
        grid-column: auto !important;
        grid-row: auto !important;
        min-height: 0;
    }

    body .z-s10c-scope-index article:nth-child(1) {
        grid-column: 1 / -1 !important;
        min-height: 220px;
    }

    body .z-s10c-process-flow {
        grid-template-columns: 1fr 1fr !important;
        gap: 2rem 2.5rem !important;
        padding-top: 0;
    }

    body .z-s10c-process-flow::before {
        display: none;
    }

    body .z-s10c-process-flow article::before {
        top: 0;
        left: 0;
        width: 8px;
        height: 8px;
        border: 0;
    }

    body .z-s10c-process-flow article,
    body .z-s10c-process-flow article + article {
        padding: 1.3rem 0 0 1.25rem !important;
        border-top: 1px solid rgba(255,255,255,.18) !important;
    }

    body .z-s10c-consult-band > div:last-child {
        padding: 1.65rem 1.8rem !important;
        border-left: 4px solid var(--z10d-green) !important;
        border-top: 0 !important;
    }
}

@media (max-width: 767px) {
    body .z-s10c-section {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }

    body .z-s10c-copy-column {
        padding: 1.5rem 0 0 !important;
        border-left: 0;
    }

    body .z-s10c-copy-column::before {
        left: 0;
    }

    body .z-s10c-scope-index {
        grid-template-columns: 1fr !important;
        border-radius: 5px;
    }

    body .z-s10c-scope-index article:nth-child(1) {
        grid-column: auto !important;
        min-height: 200px;
        padding: 1.8rem !important;
    }

    body .z-s10c-scope-index article {
        padding: 1.45rem 1.5rem !important;
    }

    body .z-s10c-outsourcing-grid > div:first-child {
        padding-right: 0;
    }

    body .z-s10c-reason-lines {
        padding: 1.15rem 1.3rem !important;
    }

    body .z-s10c-process-flow {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    body .z-s10c-process-flow article,
    body .z-s10c-process-flow article + article {
        padding: 1.25rem 0 1.4rem 1.25rem !important;
        border-top: 1px solid rgba(255,255,255,.16) !important;
    }

    body .z-s10c-audience-rail {
        grid-template-columns: 1fr !important;
        gap: 2rem;
    }

    body .z-s10c-consult-map {
        padding: 1.1rem 1.15rem 1.2rem !important;
    }

    body .z-s10c-booking-shell .wpcf7,
    body .z-s10c-contact-form .wpcf7 {
        padding: 1.35rem 1.2rem 1.45rem !important;
    }

    body .z-premium-section:has(.z-final-premium) > .z-shell {
        width: min(100% - 32px, 1240px) !important;
    }

    body .z-final-premium {
        padding: 3rem 0 !important;
    }
}

/* ---- Source: assets/zarela-step10e.css ---- */
/* Zarela Step 10E — targeted corrections after Step 10D */

:root {
    --z10e-navy: #2b5b78;
    --z10e-green: #3a7f6b;
    --z10e-green-dark: #2f6e5c;
    --z10e-green-light: #72b9a2;
    --z10e-line-light: rgba(255,255,255,.18);
}

/* -------------------------------------------------------------------------
   FINAL CTA BANDS — green, consistently, across the existing site.
   ---------------------------------------------------------------------- */
body .z-premium-section:has(.z-final-premium) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: var(--z10e-green) !important;
}

body .z-premium-section:has(.z-final-premium) > .z-shell {
    width: min(1240px, calc(100% - 48px)) !important;
}

body .z-final-premium {
    padding: clamp(2.8rem, 4.5vw, 4rem) 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
}

body .z-final-premium h2,
body .z-final-premium p {
    color: #fff !important;
}

body .z-final-premium p {
    opacity: .88;
}

body .z-final-premium .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
body .z-final-premium .wp-block-button:not(.is-style-outline) > .wp-element-button {
    background: #fff !important;
    color: var(--z10e-green-dark) !important;
}

body .z-final-premium .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
body .z-final-premium .wp-block-button:not(.is-style-outline) > .wp-element-button:hover {
    background: #f1f5f3 !important;
    color: var(--z10e-green-dark) !important;
}

body .z-s10c-payroll-final {
    background: var(--z10e-green) !important;
    color: #fff !important;
}

body .z-s10c-payroll-final h2,
body .z-s10c-payroll-final p {
    color: #fff !important;
}

body .z-s10c-payroll-final .z-s10c-btn,
body .z-s10c-payroll-final .z-s10c-btn--light {
    background: #fff !important;
    color: var(--z10e-green-dark) !important;
}

body .z-s10c-payroll-final .z-s10c-btn:hover,
body .z-s10c-payroll-final .z-s10c-btn--light:hover,
body .z-s10c-payroll-final .z-s10c-btn:focus-visible,
body .z-s10c-payroll-final .z-s10c-btn--light:focus-visible {
    background: #f1f5f3 !important;
    color: var(--z10e-green-dark) !important;
}

/* -------------------------------------------------------------------------
   MZDY HERO — keep the large word, but make the right side deliberate/centred.
   ---------------------------------------------------------------------- */
@media (min-width: 901px) {
    body .z-s10c-payroll-mark {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 1.55rem !important;
        padding: 2.6rem clamp(2rem, 4vw, 4rem) !important;
        border-left: 1px solid rgba(255,255,255,.14) !important;
        text-align: center !important;
    }

    body .z-s10c-payroll-mark::before {
        content: "" !important;
        position: absolute !important;
        inset: 17% 11% !important;
        width: auto !important;
        height: auto !important;
        border-top: 1px solid var(--z10e-line-light) !important;
        border-bottom: 1px solid var(--z10e-line-light) !important;
        background: none !important;
        pointer-events: none !important;
    }

    body .z-s10c-payroll-word {
        position: relative !important;
        z-index: 1 !important;
        display: inline-block !important;
        margin: 0 !important;
        color: rgba(255,255,255,.14) !important;
        font-size: clamp(5.3rem, 8.6vw, 8.8rem) !important;
        font-weight: 850 !important;
        letter-spacing: -.075em !important;
        line-height: .82 !important;
        transform: translateX(-.025em);
    }

    body .z-s10c-payroll-word::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -.72rem;
        width: 72px;
        height: 4px;
        transform: translateX(-50%);
        background: var(--z10e-green-light);
    }

    body .z-s10c-payroll-mark-lines {
        position: relative !important;
        z-index: 1 !important;
        display: flex !important;
        justify-content: center !important;
        gap: .45rem .85rem !important;
        max-width: 430px !important;
        margin: .55rem auto 0 !important;
        color: #b9c7d1 !important;
        font-size: .72rem !important;
        font-weight: 760 !important;
        letter-spacing: .09em !important;
        line-height: 1.45 !important;
        text-align: center !important;
    }

    body .z-s10c-payroll-mark-lines span + span::before {
        margin-right: .85rem !important;
        color: var(--z10e-green-light) !important;
    }
}

@media (max-width: 900px) {
    body .z-s10c-payroll-mark {
        min-height: 210px !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 2.25rem 1.5rem !important;
        text-align: center !important;
    }

    body .z-s10c-payroll-mark::before {
        display: none !important;
    }

    body .z-s10c-payroll-word {
        font-size: clamp(4.4rem, 20vw, 6.5rem) !important;
    }

    body .z-s10c-payroll-mark-lines {
        justify-content: center !important;
        margin-inline: auto !important;
        text-align: center !important;
    }
}

/* -------------------------------------------------------------------------
   CONSULTATION CF7 — neutralize native/theme select sizing.
   All single-line controls are exactly 40px high.
   ---------------------------------------------------------------------- */
html body.z-s10c-html-page .z-s10c-booking-shell input.wpcf7-form-control[type="text"],
html body.z-s10c-html-page .z-s10c-booking-shell input.wpcf7-form-control[type="email"],
html body.z-s10c-html-page .z-s10c-booking-shell input.wpcf7-form-control[type="tel"],
html body.z-s10c-html-page .z-s10c-booking-shell input.wpcf7-form-control[type="date"],
html body.z-s10c-html-page .z-s10c-booking-shell input.wpcf7-form-control[type="time"],
html body.z-s10c-html-page .z-s10c-booking-shell select.wpcf7-form-control {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    block-size: 40px !important;
    height: 40px !important;
    min-block-size: 40px !important;
    min-height: 40px !important;
    max-block-size: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 11px !important;
    border: 1px solid #bfcbd3 !important;
    border-radius: 3px !important;
    background-color: #fff !important;
    color: #1c2733 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 38px !important;
    box-shadow: none !important;
    vertical-align: middle !important;
}

html body.z-s10c-html-page .z-s10c-booking-shell select.wpcf7-form-control {
    -webkit-appearance: none !important;
    appearance: none !important;
    padding-right: 34px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%2314314B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 11px center !important;
    background-size: 12px 8px !important;
}

html body.z-s10c-html-page .z-s10c-booking-shell textarea.wpcf7-form-control {
    height: 88px !important;
    min-height: 88px !important;
    max-height: 130px !important;
}

/* Keep the pseudo-booking time panel compact after the smaller controls. */
body .z-s10c-booking-shell .z-booking-time-grid {
    padding: 1rem !important;
}

/* -------------------------------------------------------------------------
   HOMEPAGE HERO ART — the new SVG itself is dark; keep its container clean.
   ---------------------------------------------------------------------- */
body .z-premium-hero .z-hero-art {
    border-radius: 18px !important;
    background: var(--z10e-navy) !important;
}

body .z-premium-hero .z-hero-art img[src*="hero-ledger-dark.svg"] {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 18px !important;
    background: var(--z10e-navy) !important;
}

/* ---- Source: assets/zarela-step10g.css ---- */
/* Zarela Step 10G - final artwork + encoding-safe decorative details */

:root {
    --z10g-navy: #2b5b78;
    --z10g-green: #3a7f6b;
    --z10g-green-soft: #72b9a2;
}

/* Homepage hero: make the new asset unambiguously visible. */
body .z-premium-hero .z-hero-art {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border-radius: 0 !important;
}

body .z-premium-hero .z-hero-art img[src*="hero-ledger-premium.svg"] {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: min(100%, 620px) !important;
    height: auto !important;
    max-height: min(330px, 39vh) !important;
    object-fit: contain !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 64px rgba(0,0,0,.22) !important;
}

body .z-premium-hero .z-hero-art::before {
    z-index: 0 !important;
    pointer-events: none !important;
}

@media (min-width: 1025px) and (max-height: 820px) {
    body .z-premium-hero .z-hero-art img[src*="hero-ledger-premium.svg"] {
        max-height: 270px !important;
    }
}

/* Homepage Služby artwork: exact portrait-safe visual, no crop. */
body.zarela-designed-page .z-service-primary-art,
body .z-service-stage .z-service-primary .z-service-primary-art {
    position: relative !important;
    overflow: hidden !important;
    min-height: 100% !important;
    background-color: var(--z10g-navy) !important;
    background-image: url("zarela-step10g/service-company-premium.svg") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

body.zarela-designed-page .z-service-primary-art::before,
body.zarela-designed-page .z-service-primary-art::after,
body .z-service-stage .z-service-primary .z-service-primary-art::before,
body .z-service-stage .z-service-primary .z-service-primary-art::after {
    content: none !important;
    display: none !important;
}

/* Avoid text glyphs in pseudo-elements entirely. This prevents mojibake like a-circumflex em-dash output. */
body .z-s10c-reason-lines p::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 1.55em !important;
    width: 13px !important;
    height: 2px !important;
    background: var(--z10g-green) !important;
    border-radius: 2px !important;
}

body .z-s10c-process-flow article:not(:last-child)::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 2 !important;
    right: -5px !important;
    top: -5px !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: var(--z10g-green) !important;
}

/* The final CTA accent also uses geometry, not a font glyph. */
@media (min-width: 1180px) {
    body .z-premium-section:has(.z-final-premium)::after,
    body .z-s10c-payroll-final::after {
        content: "" !important;
        position: absolute !important;
        right: clamp(30px, 4vw, 72px) !important;
        top: 50% !important;
        width: 46px !important;
        height: 24px !important;
        border-left: 8px solid rgba(255,255,255,.15) !important;
        border-bottom: 8px solid rgba(255,255,255,.15) !important;
        transform: translateY(-65%) rotate(-45deg) !important;
        pointer-events: none !important;
    }
}

@media (max-width: 767px) {
    body .z-service-stage .z-service-primary .z-service-primary-art,
    body.zarela-designed-page .z-service-primary-art {
        min-height: 320px !important;
        background-size: contain !important;
    }
}

/* ---- Source: assets/zarela-step10f.css ---- */
/* Zarela Step 10F — correct artwork placement + uniform final CTA bands */

:root {
    --z10f-navy: #2b5b78;
    --z10f-green: #3a7f6b;
    --z10f-green-dark: #2f6e5c;
}

/* -------------------------------------------------------------------------
   TOP HOMEPAGE HERO — restore the earlier artwork presentation.
   Step 10E's dark container belonged to the wrong visual.
   ---------------------------------------------------------------------- */
body .z-premium-hero .z-hero-art {
    background: transparent !important;
    border-radius: 0 !important;
}

/* -------------------------------------------------------------------------
   HOMEPAGE SLUŽBY FEATURE — THIS is where the dark ledger belongs.
   Higher specificity intentionally beats the old Step 7G hero-ledger.svg rule.
   ---------------------------------------------------------------------- */
body.zarela-designed-page .z-service-primary-art,
body .z-service-stage .z-service-primary .z-service-primary-art {
    position: relative !important;
    overflow: hidden !important;
    min-height: 100% !important;
    background-color: var(--z10f-navy) !important;
    background-image: url("zarela-step7c/service-ledger-dark.svg") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

/* Remove older overlay constructions so the new asset stays calm and clean. */
body.zarela-designed-page .z-service-primary-art::before,
body.zarela-designed-page .z-service-primary-art::after,
body .z-service-stage .z-service-primary .z-service-primary-art::before,
body .z-service-stage .z-service-primary .z-service-primary-art::after {
    content: none !important;
    display: none !important;
}

/* -------------------------------------------------------------------------
   FINAL CONSULTATION BANDS — use one full-width green, same physical rhythm
   as the Mzdy final band. No second green rectangle inside the content width.
   ---------------------------------------------------------------------- */
body .z-premium-section:has(.z-final-premium),
body .z-s10c-payroll-final {
    position: relative !important;
    overflow: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: var(--z10f-green) !important;
    color: #fff !important;
}

body .z-premium-section:has(.z-final-premium) > .z-shell,
body .z-s10c-payroll-final > .z-shell {
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .z-final-premium,
body .z-s10c-payroll-final {
    min-height: 0 !important;
}

body .z-final-premium {
    padding: 3.4rem 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
}

body .z-s10c-payroll-final {
    padding: 3.4rem 0 !important;
}

body .z-final-premium h2,
body .z-final-premium p,
body .z-s10c-payroll-final h2,
body .z-s10c-payroll-final p {
    color: #fff !important;
}

body .z-final-premium p,
body .z-s10c-payroll-final p {
    opacity: .88 !important;
}

/* Same white action button inside every green final band. */
body .z-final-premium .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
body .z-final-premium .wp-block-button:not(.is-style-outline) > .wp-element-button,
body .z-s10c-payroll-final .z-s10c-btn,
body .z-s10c-payroll-final .z-s10c-btn--light {
    background: #fff !important;
    color: var(--z10f-green-dark) !important;
}

/* Very restrained brand/check accent near the desktop edge, outside the text. */
@media (min-width: 1180px) {
    body .z-premium-section:has(.z-final-premium)::after,
    body .z-s10c-payroll-final::after {
        content: " " !important;
        position: absolute !important;
        right: clamp(24px, 3.4vw, 64px) !important;
        top: 50% !important;
        transform: translateY(-52%) rotate(-7deg) !important;
        color: rgba(255,255,255,.13) !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
        font-size: clamp(4.2rem, 5.7vw, 6.2rem) !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        pointer-events: none !important;
        z-index: 0 !important;
    }
}

@media (max-width: 767px) {
    body .z-final-premium,
    body .z-s10c-payroll-final {
        padding-top: 2.65rem !important;
        padding-bottom: 2.65rem !important;
    }
}

/* ZARELA STEP 13 CLIENT PAGES START */
.z-s13-page { --s13-ink:#2b5b78; --s13-text:#425767; --s13-soft:#f5f8f7; --s13-line:#dce6e3; --s13-green:var(--z-client-green,#3a7f6b); --s13-mint:var(--z-client-mint,#edf6f2); --s13-orange:var(--z-client-orange,#e8623d); color:var(--s13-text); }
.z-s13-page .z-shell{width:min(1180px,calc(100% - 2.5rem));margin-inline:auto}.z-s13-page .z-shell--wide{width:min(1240px,calc(100% - 2.5rem))}
.z-s13-page h1,.z-s13-page h2,.z-s13-page h3{color:var(--s13-ink);margin-top:0}.z-s13-page h1{font-size:clamp(2.55rem,5vw,4.9rem);line-height:.99;letter-spacing:-.045em;margin-bottom:1.35rem}.z-s13-page h2{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.05;letter-spacing:-.035em;margin-bottom:1rem}.z-s13-page h3{font-size:1.12rem;line-height:1.3;margin-bottom:.45rem}.z-s13-page p{line-height:1.7}.z-s13-page .z-eyebrow{margin:0 0 .9rem;color:var(--s13-green);font-weight:700;font-size:.86rem;letter-spacing:.03em;text-transform:none}
.z-s13-section{padding-block:clamp(3.8rem,6vw,6.5rem);background:#fff}.z-s13-section--soft{background:var(--s13-soft)}.z-s13-heading-wide{max-width:850px;margin-bottom:clamp(2.2rem,4vw,3.6rem)}.z-s13-heading-wide>p:last-child{max-width:72ch;font-size:1.04rem;margin-bottom:0}.z-s13-lead{max-width:59ch;font-size:clamp(1.02rem,1.45vw,1.16rem);color:#526879}
.z-s13-button{display:inline-flex;align-items:center;justify-content:center;margin-top:1rem;padding:.82rem 1.15rem;border-radius:4px;background:var(--s13-green);color:#fff!important;text-decoration:none!important;font-weight:700;line-height:1.2;border:1px solid var(--s13-green)}.z-s13-button:hover,.z-s13-button:focus-visible{filter:brightness(.92)}
.z-s13-online-hero{padding-block:clamp(3.8rem,6vw,6.2rem);background:linear-gradient(135deg,#f8fafb 0%,#eef4f5 100%)}.z-s13-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(390px,1.05fr);gap:clamp(3rem,7vw,7rem);align-items:center}.z-s13-hero-copy{max-width:650px}
.z-s13-office{background:#2b5b78;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1.2rem;box-shadow:0 18px 42px rgba(23,58,85,.16)}.z-s13-office-tabs{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.85rem}.z-s13-office-tabs span{padding:.5rem .7rem;border-radius:5px;color:#9fb5c5;font-size:.78rem}.z-s13-office-tabs .is-active{background:#21516f;color:#dff3ea}.z-s13-office-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;margin-top:.58rem;padding:.75rem .85rem;background:#1d4866;border-radius:8px;color:#eaf1f5;font-size:.83rem}.z-s13-office-row b{font-size:.68rem;color:#bce3d3;background:#24634f;padding:.22rem .36rem;border-radius:4px}.z-s13-office-row em{font-style:normal;color:#bce3d3;background:#24634f;padding:.24rem .46rem;border-radius:4px;font-size:.68rem;white-space:nowrap}.z-s13-office-row em.is-waiting{color:#ffd7c9;background:#704838}
.z-s13-process{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem}.z-s13-process:before{content:"";position:absolute;left:1.2rem;right:1.2rem;top:1.1rem;height:1px;background:#cbded7}.z-s13-process article{position:relative;padding-top:3rem}.z-s13-process article>span{position:absolute;top:.45rem;left:0;z-index:1;display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--s13-green);color:#fff;font-size:.7rem;font-weight:700;box-shadow:0 0 0 7px var(--s13-soft)}.z-s13-process article p{margin:0;color:#61727f}
.z-s13-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.z-s13-methods article{padding:1.7rem 1.5rem;border:1px solid var(--s13-line);border-radius:10px;background:#fff}.z-s13-icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;margin-bottom:1rem;border-radius:8px;background:#fff2ed;color:var(--s13-orange)}.z-s13-icon svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.z-s13-methods p{margin:0;color:#61727f}
.z-s13-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.z-s13-capabilities article{padding:1.55rem 1.6rem;background:#fff;border:1px solid var(--s13-line);border-radius:10px}.z-s13-capabilities article>span{display:inline-block;margin-bottom:.65rem;color:var(--s13-green);font-size:.75rem;font-weight:700}.z-s13-capabilities p{margin:0;color:#61727f}
.z-s13-benefits-band{padding-block:2.2rem;background:var(--s13-mint)}.z-s13-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.z-s13-benefits div{position:relative;padding-left:1.2rem;border-left:3px solid var(--s13-orange)}.z-s13-benefits strong{display:block;color:var(--s13-ink);margin-bottom:.35rem}.z-s13-benefits p{margin:0;color:#5c707c}
.z-s13-audience,.z-s13-nationwide,.z-s13-why{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(2rem,7vw,6rem);align-items:start}.z-s13-audience p,.z-s13-nationwide>p,.z-s13-why>p{margin:0;font-size:1.04rem}
.z-s13-final{padding-block:clamp(2.8rem,4vw,4rem);background:var(--s13-green);color:#fff}.z-s13-final h2,.z-s13-final .z-eyebrow{color:#fff}.z-s13-final p{color:rgba(255,255,255,.9);margin-bottom:0}.z-s13-final-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}.z-s13-button--light{margin-top:0;background:#fff;color:var(--s13-green)!important;border-color:#fff}
.z-s13-about-intro{padding-block:clamp(3.7rem,6vw,6rem);background:linear-gradient(135deg,#fff 0%,#f5f8f7 100%)}.z-s13-about-intro h1{font-size:clamp(2.7rem,4.4vw,4.2rem)}.z-s13-about-lead{max-width:900px;margin:0;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.65;color:#536777}.z-s13-story{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:clamp(2.5rem,7vw,7rem)}.z-s13-prose p:first-child{margin-top:0}.z-s13-prose p:last-child{margin-bottom:0}
.z-s13-expertise-list{border-top:1px solid var(--s13-line)}.z-s13-expertise-list div{position:relative;padding:1.05rem 1rem 1.05rem 2.35rem;border-bottom:1px solid var(--s13-line);color:var(--s13-ink);font-weight:650}.z-s13-expertise-list div:before{content:"";position:absolute;left:.45rem;top:50%;width:.72rem;height:.72rem;border-radius:50%;background:var(--s13-green);transform:translateY(-50%)}.z-s13-expertise-list div:after{content:"";position:absolute;left:.69rem;top:50%;width:.28rem;height:.14rem;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-65%) rotate(-45deg)}
.z-s13-about-digital{padding-block:clamp(3.5rem,5vw,5rem);background:#2b5b78}.z-s13-about-digital h2,.z-s13-about-digital .z-eyebrow{color:#fff}.z-s13-about-digital p{color:#d9e5ec}.z-s13-about-digital-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,7vw,6rem);align-items:center}.z-s13-about-digital-inner p{margin-bottom:0}
.z-s13-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.z-s13-values article{padding:1.45rem 1.5rem;border:1px solid var(--s13-line);border-radius:10px;background:#fff}.z-s13-values p{margin:0;color:#61727f}
@media(max-width:900px){.z-s13-hero-grid,.z-s13-story,.z-s13-about-digital-inner,.z-s13-audience,.z-s13-nationwide,.z-s13-why{grid-template-columns:1fr}.z-s13-hero-grid{gap:2.3rem}.z-s13-office{max-width:660px}.z-s13-process{grid-template-columns:repeat(2,1fr);row-gap:2.5rem}.z-s13-process:before{display:none}.z-s13-methods,.z-s13-benefits{grid-template-columns:1fr}.z-s13-process article{padding-top:1.8rem}.z-s13-process article>span{top:0;box-shadow:none}.z-s13-final-inner{grid-template-columns:1fr}.z-s13-button--light{justify-self:start}}
@media(max-width:640px){.z-s13-page .z-shell,.z-s13-page .z-shell--wide{width:min(100% - 2rem,1180px)}.z-s13-section{padding-block:3.4rem}.z-s13-online-hero{padding-block:3rem}.z-s13-office{padding:.85rem;border-radius:12px}.z-s13-office-row{grid-template-columns:auto 1fr;font-size:.75rem;padding:.65rem}.z-s13-office-row em{grid-column:2;justify-self:start}.z-s13-methods,.z-s13-capabilities,.z-s13-values,.z-s13-process{grid-template-columns:1fr}.z-s13-process article{padding-left:2.1rem;padding-top:0}.z-s13-process article>span{top:.18rem}.z-s13-final{padding-block:2.8rem}.z-s13-about-intro{padding-block:3.2rem}.z-s13-about-lead{font-size:1.08rem}}
/* ZARELA STEP 13 CLIENT PAGES END */

/* ZARELA STEP 14 FINAL VISUAL QA START */
:root{
  --z14-blue:#2b5b78;
  --z14-blue-2:#356884;
  --z14-blue-soft:#eef4f7;
  --z14-green:#3a7f6b;
  --z14-green-hover:#2f6e5c;
  --z14-mint:#edf6f2;
  --z14-orange:#e8623d;
  --z14-ink:#1c2733;
  --z14-muted:#526675;
  --z14-line:#d8e2e7;
  --z10c-navy:var(--z14-blue);
  --z10c-navy-2:var(--z14-blue-2);
  --z10c-green:var(--z14-green);
  --z10c-green-hover:var(--z14-green-hover);
  --z10c-green-soft:var(--z14-mint);
  --z-client-green:var(--z14-green);
  --z-client-green-hover:var(--z14-green-hover);
  --z-client-mint:var(--z14-mint);
  --z-client-blue:var(--z14-blue-2);
  --z-client-blue-deep:var(--z14-blue);
  --z-client-blue-soft:var(--z14-blue-soft);
  --z-client-orange:var(--z14-orange);
}

/* One lighter blue system across the remaining dark surfaces. */
html body .z-header-contactbar,
html body .z-site-footer.z-site-footer--integrated,
html body .z-site-footer.z-site-footer--integrated .z-footer-bottom,
html body .z-site-footer.z-site-footer--integrated .z-footer-bottom-inner,
html body .z-premium-section--navy,
html body .z-s10c-payroll-hero,
html body .z-s10c-process-section,
html body .z-s10c-consult-hero,
html body .z-s13-about-digital{
  background:var(--z14-blue)!important;
  background-color:var(--z14-blue)!important;
}
html body .z-header-contactbar{border-bottom-color:rgba(255,255,255,.16)!important;color:#fff!important}
html body .z-header-contactbar a,
html body .z-header-contactbar-label,
html body .z-header-contactbar-placeholder{color:#fff!important}
html body .z-header-contactbar-sep{background:rgba(255,255,255,.45)!important}
html body .z-site-footer.z-site-footer--integrated{border-top-color:rgba(255,255,255,.14)!important}

/* Homepage hero stays deliberately light so blue is not the dominant first impression. */
html body.home .z-premium-hero{
  background:linear-gradient(135deg,#fff 0%,var(--z14-blue-soft) 100%)!important;
  color:var(--z14-ink)!important;
}
html body.home .z-premium-hero h1,
html body.home .z-premium-hero h2,
html body.home .z-premium-hero h3{color:var(--z14-blue)!important}
html body.home .z-premium-hero .z-lead-lg,
html body.home .z-premium-hero .z-hero-meta{color:#536777!important}

/* Orange is an accent only; never body text or a primary button colour. */
html body .z-eyebrow::before{background:var(--z14-orange)!important}
html body .z-s10c-process-section .z-s10c-process-flow article::before{background:var(--z14-orange)!important}

/* Compact homepage 'send documents' section; intentionally different from the mint section below. */
html body.home .z-easy-accounting{
  padding-block:clamp(2.7rem,4.2vw,4rem)!important;
  background:#fffaf7!important;
  overflow:hidden;
}
html body.home .z-easy-head.z-easy-head--simple{
  display:block!important;
  max-width:760px!important;
  margin-bottom:1.65rem!important;
}
html body.home .z-easy-head h2{
  max-width:18ch!important;
  margin:0!important;
  color:var(--z14-blue)!important;
  font-size:clamp(1.9rem,3vw,2.85rem)!important;
  line-height:1.05!important;
}
html body.home .z-easy-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.9rem;
}
html body.home .z-easy-card{
  min-width:0;
  padding:1.15rem 1.05rem 1.2rem;
  border:1px solid #f3d9cf;
  border-top:3px solid var(--z14-orange);
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(43,91,120,.05);
}
html body.home .z-easy-icon{
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  margin-bottom:.75rem;
  border-radius:7px;
  background:#fff1eb;
  color:var(--z14-orange);
}
html body.home .z-easy-icon svg{width:1.12rem;height:1.12rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html body.home .z-easy-card strong{display:block;margin-bottom:.38rem;color:var(--z14-blue);font-size:1.03rem;line-height:1.25}
html body.home .z-easy-card p{margin:0;color:#5c6d79;font-size:.9rem;line-height:1.5}
html body.home .z-easy-accounting + .z-premium-section--green{background:var(--z14-mint)!important}

/* Homepage headings: these are site copy, not the client's supplied page texts. Keep them literal and keyword-led. */
html body.home .z-heading-split h2,
html body.home .z-online-grid h2,
html body.home .z-consult-grid h2,
html body.home .z-price-premium h2,
html body.home .z-faq h2,
html body.home .z-home-final-wrap h2{letter-spacing:-.025em}

/* One full-width green CTA, no second content-width background. */
html body.home .z-home-final-wrap{
  position:relative;
  padding:0!important;
  background:var(--z14-green)!important;
  overflow:hidden;
}
html body.home .z-home-final-wrap .z-shell{width:min(1240px,calc(100% - 48px));margin-inline:auto}
html body.home .z-home-final-wrap .z-final-premium{
  margin:0!important;
  padding:clamp(2rem,3.5vw,3rem) 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body.home .z-home-final-wrap .z-final-premium::after{
  content:"";
  position:absolute;
  right:clamp(1.5rem,5vw,5rem);
  top:50%;
  width:3.5rem;
  height:3.5rem;
  border:2px solid rgba(232,98,61,.85);
  border-radius:50%;
  transform:translateY(-50%);
  opacity:.65;
  pointer-events:none;
}
html body.home .z-home-final-wrap h2,
html body.home .z-home-final-wrap p{color:#fff!important}

/* Online page: smaller H1 and functional KROS-inspired demo tabs. */
html body .z-s13-online h1{
  max-width:16ch!important;
  font-size:clamp(2.25rem,3.75vw,3.75rem)!important;
  line-height:1.02!important;
}
html body .z-s13-office{background:var(--z14-blue)!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 18px 42px rgba(43,91,120,.18)!important}
html body .z-s14-office-topline{display:flex;justify-content:flex-end;margin:-.1rem 0 .5rem;color:rgba(255,255,255,.62);font-size:.68rem;letter-spacing:.04em}
html body .z-s14-office-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin-bottom:.85rem}
html body .z-s14-office-tab{
  appearance:none;
  min-height:38px;
  padding:.48rem .55rem;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:#c8d8e2;
  font:inherit;
  font-size:.78rem;
  cursor:pointer;
}
html body .z-s14-office-tab:hover,
html body .z-s14-office-tab:focus-visible{background:rgba(255,255,255,.08);color:#fff;outline:none;border-color:rgba(255,255,255,.14)}
html body .z-s14-office-tab.is-active{background:var(--z14-blue-2);color:#fff;border-color:rgba(255,255,255,.12);box-shadow:inset 0 -2px 0 var(--z14-orange)}
html body .z-s14-office-panel[hidden]{display:none!important}
html body .z-s14-office-panel{min-height:250px}
html body .z-s13-office-row{background:var(--z14-blue-2)!important;color:#f4f8fa!important}
html body .z-s13-office-row b,
html body .z-s13-office-row em{background:#2f6e5c!important;color:#eaf8f2!important}
html body .z-s13-office-row em.is-waiting{background:#7a4d3d!important;color:#ffe0d5!important}

/* Contact: Step 12 accidentally made this dark while the text remained dark. Restore a deliberate light hero. */
html body .z-s10c-contact-hero{
  background:linear-gradient(135deg,#fff 0%,var(--z14-blue-soft) 100%)!important;
  color:var(--z14-ink)!important;
}
html body .z-s10c-contact-hero h1,
html body .z-s10c-contact-hero .z-s10c-contact-data a,
html body .z-s10c-contact-hero .z-s10c-contact-data strong{color:var(--z14-blue)!important}
html body .z-s10c-contact-hero .z-lead-lg{color:#536777!important}
html body .z-s10c-contact-data{padding:1.1rem 1.25rem;border-top:3px solid var(--z14-green)!important;border-radius:10px;background:var(--z14-mint)!important}
html body .z-s10c-contact-data>div:last-of-type{border-bottom:0}

/* Dark-section contrast after the lighter blue change. */
html body .z-premium-section--navy h1,
html body .z-premium-section--navy h2,
html body .z-premium-section--navy h3,
html body .z-s10c-payroll-hero h1,
html body .z-s10c-payroll-hero h2,
html body .z-s10c-process-section h2,
html body .z-s10c-consult-hero h1,
html body .z-s13-about-digital h2{color:#fff!important}
html body .z-premium-section--navy p,
html body .z-premium-section--navy li,
html body .z-s10c-payroll-hero p,
html body .z-s10c-process-section p,
html body .z-s10c-consult-hero p,
html body .z-s13-about-digital p{color:rgba(255,255,255,.88)!important}

@media(max-width:900px){
  html body.home .z-easy-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .z-s14-office-panel{min-height:0}
}
@media(max-width:640px){
  html body.home .z-easy-accounting{padding-block:2.4rem!important}
  html body.home .z-easy-cards{grid-template-columns:1fr;gap:.7rem}
  html body.home .z-easy-card{padding:1rem}
  html body.home .z-home-final-wrap .z-shell{width:min(100% - 2rem,1240px)}
  html body.home .z-home-final-wrap .z-final-premium::after{display:none}
  html body .z-s13-online h1{font-size:clamp(2.05rem,10vw,2.85rem)!important}
  html body .z-s14-office-tabs{grid-template-columns:repeat(2,1fr)}
}
/* ZARELA STEP 14 FINAL VISUAL QA END */

/* ZARELA STEP 14B FINAL POLISH START */
:root{
  --z14b-blue:#2b5b78;
  --z14b-blue-2:#356884;
  --z14b-green:#3a7f6b;
  --z14b-mint:#edf6f2;
  --z14b-orange:#e8623d;
  --z14b-orange-soft:#f7d6c9;
  --z14b-orange-line:#e9a58d;
  --z14b-hero:#e8eef1;
  --z14b-hero-2:#f0f4f5;
  --z14b-ink:#1c2733;
  --z14b-muted:#536777;
  --z14b-line:#d2dde2;
}

/* Make light heroes visibly separate from the white content that follows. */
html body.home .z-premium-hero,
html body .z-service-hero,
html body .z-s13-online-hero,
html body .z-s13-about-intro,
html body .z-s10c-contact-hero{
  background:linear-gradient(135deg,var(--z14b-hero) 0%,var(--z14b-hero-2) 100%)!important;
  background-color:var(--z14b-hero)!important;
  border-bottom:1px solid var(--z14b-line)!important;
  color:var(--z14b-ink)!important;
}
html body.home .z-premium-hero h1,
html body.home .z-premium-hero h2,
html body .z-service-hero h1,
html body .z-service-hero h2,
html body .z-s13-online-hero h1,
html body .z-s13-online-hero h2,
html body .z-s13-about-intro h1,
html body .z-s13-about-intro h2,
html body .z-s10c-contact-hero h1,
html body .z-s10c-contact-hero h2{
  color:var(--z14b-blue)!important;
}
html body.home .z-premium-hero p,
html body .z-service-hero p,
html body .z-s13-online-hero p,
html body .z-s13-about-intro p,
html body .z-s10c-contact-hero p{
  color:var(--z14b-muted)!important;
}

/* Consultation remains a coloured hero; make every text element clearly white. */
html body .z-s10c-consult-hero{
  background:var(--z14b-blue)!important;
  background-color:var(--z14b-blue)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}
html body .z-s10c-consult-hero h1,
html body .z-s10c-consult-hero h2,
html body .z-s10c-consult-hero h3,
html body .z-s10c-consult-hero p,
html body .z-s10c-consult-hero strong,
html body .z-s10c-consult-hero span,
html body .z-s10c-consult-hero .z-eyebrow,
html body .z-s10c-consult-hero a:not(.wp-block-button__link){
  color:#fff!important;
  opacity:1!important;
}

/* Footer: lighter blue background, full white copy. No low-opacity secondary text. */
html body .z-site-footer.z-site-footer--integrated,
html body .z-site-footer.z-site-footer--integrated .z-footer-bottom,
html body .z-site-footer.z-site-footer--integrated .z-footer-company{
  background:var(--z14b-blue)!important;
  background-color:var(--z14b-blue)!important;
}
html body .z-site-footer.z-site-footer--integrated .z-footer-copy,
html body .z-site-footer.z-site-footer--integrated .z-footer-proof-lines span,
html body .z-site-footer.z-site-footer--integrated .z-footer-heading,
html body .z-site-footer.z-site-footer--integrated .z-footer-contact-note,
html body .z-site-footer.z-site-footer--integrated .z-footer-bottom-inner,
html body .z-site-footer.z-site-footer--integrated .z-footer-bottom-links a,
html body .z-site-footer.z-site-footer--integrated .z-footer-links a,
html body .z-site-footer.z-site-footer--integrated .z-footer-contact-detail,
html body .z-site-footer.z-site-footer--integrated .z-footer-contact-lead,
html body .z-site-footer.z-site-footer--integrated .z-footer-company-inner,
html body .z-site-footer.z-site-footer--integrated .z-footer-company-inner span,
html body .z-site-footer.z-site-footer--integrated .z-footer-brand a{
  color:#fff!important;
  opacity:1!important;
}
html body .z-site-footer.z-site-footer--integrated .z-footer-company{
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}
/* Never render middle-dot separators in the company line. */
html body .z-footer-company-inner span + span::before{
  content:none!important;
  display:none!important;
}

/* Homepage easy-accounting: shorter and visibly orange, while still restrained. */
html body.home .z-easy-accounting{
  padding-block:clamp(1.9rem,3vw,2.6rem)!important;
  background:#f7f3f1!important;
  border-top:1px solid #eaded9!important;
  border-bottom:1px solid #eaded9!important;
}
html body.home .z-easy-head.z-easy-head--simple{
  margin-bottom:1rem!important;
  max-width:760px!important;
}
html body.home .z-easy-head h2{
  font-size:clamp(1.75rem,2.55vw,2.45rem)!important;
  line-height:1.08!important;
}
html body.home .z-easy-cards{
  gap:.72rem!important;
}
html body.home .z-easy-card{
  padding:.9rem .9rem .95rem!important;
  border:1px solid var(--z14b-orange-line)!important;
  border-top:3px solid var(--z14b-orange)!important;
  border-radius:9px!important;
  background:var(--z14b-orange-soft)!important;
  box-shadow:0 5px 14px rgba(43,91,120,.055)!important;
}
html body.home .z-easy-icon{
  width:1.9rem!important;
  height:1.9rem!important;
  margin-bottom:.62rem!important;
  background:var(--z14b-orange)!important;
  color:#fff!important;
  border-radius:6px!important;
}
html body.home .z-easy-card strong{
  margin-bottom:.28rem!important;
  color:var(--z14b-blue)!important;
  font-size:.98rem!important;
}
html body.home .z-easy-card p{
  color:#4f626e!important;
  font-size:.86rem!important;
  line-height:1.42!important;
}
html body.home .z-easy-accounting + .z-premium-section--green{
  background:var(--z14b-mint)!important;
}

/* Remove the decorative orange ring from the homepage final consultation CTA. */
html body.home .z-home-final-wrap .z-final-premium::after{
  content:none!important;
  display:none!important;
}

/* Online office stays interactive; remove the label and keep only the tabs themselves. */
html body .z-s14-office-topline{display:none!important}

/* Online methods: give the orange icons breathing room and stronger visual presence. */
html body .z-s13-methods article{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  padding:1.75rem 1.45rem 1.5rem!important;
}
html body .z-s13-methods .z-s13-icon{
  flex:0 0 auto!important;
  width:2.55rem!important;
  height:2.55rem!important;
  margin:.05rem 0 1rem!important;
  border:1px solid var(--z14b-orange)!important;
  background:#f5cbbd!important;
  color:#c84f2e!important;
  box-shadow:0 4px 10px rgba(232,98,61,.10)!important;
}
html body .z-s13-methods .z-s13-icon svg{
  width:1.28rem!important;
  height:1.28rem!important;
}

/* Keep coloured dark sections readable after the lighter-blue palette change. */
html body .z-s10c-payroll-hero,
html body .z-s10c-process-section,
html body .z-s13-about-digital,
html body .z-premium-section--navy,
html body .z-legal-hero{
  background:var(--z14b-blue)!important;
  background-color:var(--z14b-blue)!important;
}
html body .z-s10c-payroll-hero h1,
html body .z-s10c-payroll-hero h2,
html body .z-s10c-payroll-hero h3,
html body .z-s10c-payroll-hero p,
html body .z-s10c-process-section h1,
html body .z-s10c-process-section h2,
html body .z-s10c-process-section h3,
html body .z-s10c-process-section p,
html body .z-s13-about-digital h1,
html body .z-s13-about-digital h2,
html body .z-s13-about-digital h3,
html body .z-s13-about-digital p,
html body .z-premium-section--navy h1,
html body .z-premium-section--navy h2,
html body .z-premium-section--navy h3,
html body .z-premium-section--navy p,
html body .z-legal-hero h1,
html body .z-legal-hero h2,
html body .z-legal-hero p{
  color:#fff!important;
  opacity:1!important;
}

@media(max-width:900px){
  html body.home .z-easy-accounting{padding-block:2rem!important}
}
@media(max-width:640px){
  html body.home .z-easy-accounting{padding-block:1.75rem!important}
  html body.home .z-easy-card{padding:.82rem!important}
  html body .z-s13-methods article{padding:1.45rem 1.15rem 1.25rem!important}
}
/* ZARELA STEP 14B FINAL POLISH END */

/* ZARELA STEP 14C LAYOUT POLISH START */
:root{
  --z14c-blue:#356884;
  --z14c-blue-deep:#2b5b78;
  --z14c-orange:#e8623d;
  --z14c-orange-bg:#f2bba4;
  --z14c-orange-border:#e7a085;
  --z14c-ink:#1c2733;
  --z14c-line:#d2dde2;
}

/* 1) FAQ rows: compact, vertically centered, consistent sitewide. */
html body .z-page .z-faq details,
html body .z-page [class*="faq"] details{
  margin:0!important;
  padding:.68rem .2rem!important;
  border-radius:0!important;
  box-shadow:none!important;
}

html body .z-page .z-faq summary,
html body .z-page [class*="faq"] summary{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:2.2rem!important;
  padding:0 2.35rem 0 0!important;
  line-height:1.32!important;
}

html body .z-page .z-faq summary::after,
html body .z-page [class*="faq"] summary::after{
  top:50%!important;
  transform:translateY(-50%)!important;
}

html body .z-page .z-faq details > p,
html body .z-page [class*="faq"] details > p{
  margin:.5rem 0 .1rem!important;
  line-height:1.58!important;
}

/* 2) Homepage easy-accounting section: orange belongs to the SECTION,
      while cards return to a clean neutral surface. */
html body.home .z-easy-accounting{
  padding-block:clamp(1.65rem,2.5vw,2.25rem)!important;
  background:var(--z14c-orange-bg)!important;
  background-color:var(--z14c-orange-bg)!important;
  border-top:1px solid var(--z14c-orange-border)!important;
  border-bottom:1px solid var(--z14c-orange-border)!important;
}

html body.home .z-easy-head.z-easy-head--simple{
  margin-bottom:.9rem!important;
}

html body.home .z-easy-accounting .z-eyebrow,
html body.home .z-easy-accounting h2{
  color:var(--z14c-ink)!important;
}

html body.home .z-easy-cards{
  gap:.7rem!important;
}

html body.home .z-easy-card{
  padding:.9rem .92rem!important;
  background:#fffaf8!important;
  border:1px solid rgba(28,39,51,.13)!important;
  border-top:1px solid rgba(28,39,51,.13)!important;
  border-radius:9px!important;
  box-shadow:0 5px 14px rgba(43,91,120,.055)!important;
}

html body.home .z-easy-icon{
  width:1.9rem!important;
  height:1.9rem!important;
  margin-bottom:.6rem!important;
  background:var(--z14c-orange)!important;
  color:#fff!important;
  border-radius:6px!important;
}

html body.home .z-easy-card strong{
  color:var(--z14c-blue-deep)!important;
}

html body.home .z-easy-card p{
  color:#53636e!important;
}

/* 3) Contact: retain the light hero, but give the information panel
      a deliberate blue surface with proper white contrast. */
html body .z-s10c-contact-data{
  padding:1.15rem 1.25rem!important;
  border:0!important;
  border-top:4px solid var(--z14c-orange)!important;
  border-radius:10px!important;
  background:var(--z14c-blue)!important;
  box-shadow:0 12px 28px rgba(43,91,120,.12)!important;
}

html body .z-s10c-contact-data > div{
  border-bottom:1px solid rgba(255,255,255,.2)!important;
}

html body .z-s10c-contact-data span{
  color:rgba(255,255,255,.76)!important;
}

html body .z-s10c-contact-data a,
html body .z-s10c-contact-data strong,
html body .z-s10c-contact-data > p{
  color:#fff!important;
}

html body .z-s10c-contact-data a:hover,
html body .z-s10c-contact-data a:focus-visible{
  color:#fff!important;
  text-decoration:underline!important;
}

/* 4) Online accounting hero: compact by construction on desktop.
      No forced minimum height, tighter vertical padding and a smaller demo. */
@media (min-width:1025px){
  html body .z-s13-online-hero{
    min-height:0!important;
    height:auto!important;
    padding-block:clamp(1.8rem,3.5vh,2.8rem)!important;
  }

  html body .z-s13-online-hero .z-s13-hero-grid{
    min-height:0!important;
    gap:clamp(2rem,4vw,4rem)!important;
    align-items:center!important;
  }

  html body .z-s13-online-hero h1{
    max-width:18ch!important;
    font-size:clamp(2.15rem,3vw,3.25rem)!important;
    line-height:1.02!important;
    margin-bottom:.8rem!important;
  }

  html body .z-s13-online-hero .z-s13-office{
    padding:.9rem!important;
    border-radius:12px!important;
  }

  html body .z-s13-online-hero .z-s14-office-tabs{
    margin-bottom:.55rem!important;
  }

  html body .z-s13-online-hero .z-s14-office-panel{
    min-height:190px!important;
  }

  html body .z-s13-online-hero .z-s13-office-row{
    margin-top:.42rem!important;
    padding:.58rem .7rem!important;
  }
}

@media(max-width:640px){
  html body.home .z-easy-accounting{padding-block:1.55rem!important}
  html body.home .z-easy-card{padding:.82rem!important}
}
/* ZARELA STEP 14C LAYOUT POLISH END */

/* ZARELA STEP 14D INTERACTIVE CLEANUP START */
:root{
  --z14d-blue:#356884;
  --z14d-blue-deep:#2b5b78;
  --z14d-blue-soft:#eef4f7;
  --z14d-green:#3a7f6b;
  --z14d-orange:#e8623d;
  --z14d-ink:#1c2733;
  --z14d-muted:#526675;
  --z14d-line:#d4dfe4;
}

/* FAQ reset: equal vertical padding is more reliable than trying to center
   anonymous text nodes inside a fixed-height summary. Also remove every
   competing pseudo/marker that could create the curved scratch-like line. */
html body .z-page .z-faq details,
html body .z-page .z-s10c-faq-list details,
html body .z-page .z-payroll-faq-list details,
html body .z-page [class*="faq"] details{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid var(--z14d-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body .z-page .z-faq details:last-child,
html body .z-page .z-s10c-faq-list details:last-child,
html body .z-page .z-payroll-faq-list details:last-child,
html body .z-page [class*="faq"] details:last-child{
  border-bottom:1px solid var(--z14d-line)!important;
}
html body .z-page .z-faq details::before,
html body .z-page .z-faq details::after,
html body .z-page .z-s10c-faq-list details::before,
html body .z-page .z-s10c-faq-list details::after,
html body .z-page .z-payroll-faq-list details::before,
html body .z-page .z-payroll-faq-list details::after{
  content:none!important;
  display:none!important;
}
html body .z-page .z-faq summary,
html body .z-page .z-s10c-faq-list summary,
html body .z-page .z-payroll-faq-list summary,
html body .z-page [class*="faq"] summary{
  position:relative!important;
  display:block!important;
  min-height:0!important;
  margin:0!important;
  padding:.72rem 2.7rem .72rem 0!important;
  color:var(--z14d-blue-deep)!important;
  font-weight:760!important;
  line-height:1.35!important;
  cursor:pointer!important;
  list-style:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html body .z-page .z-faq summary::-webkit-details-marker,
html body .z-page .z-s10c-faq-list summary::-webkit-details-marker,
html body .z-page .z-payroll-faq-list summary::-webkit-details-marker,
html body .z-page [class*="faq"] summary::-webkit-details-marker{display:none!important}
html body .z-page .z-faq summary::marker,
html body .z-page .z-s10c-faq-list summary::marker,
html body .z-page .z-payroll-faq-list summary::marker,
html body .z-page [class*="faq"] summary::marker{content:""!important}
html body .z-page .z-faq summary::before,
html body .z-page .z-s10c-faq-list summary::before,
html body .z-page .z-payroll-faq-list summary::before,
html body .z-page [class*="faq"] summary::before{
  content:none!important;
  display:none!important;
}
html body .z-page .z-faq summary::after,
html body .z-page .z-s10c-faq-list summary::after,
html body .z-page .z-payroll-faq-list summary::after,
html body .z-page [class*="faq"] summary::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  right:.2rem!important;
  top:50%!important;
  width:18px!important;
  height:18px!important;
  transform:translateY(-50%)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background-color:transparent!important;
  background-image:linear-gradient(var(--z14d-blue-deep),var(--z14d-blue-deep)),linear-gradient(var(--z14d-blue-deep),var(--z14d-blue-deep))!important;
  background-position:center,center!important;
  background-repeat:no-repeat!important;
  background-size:16px 2px,2px 16px!important;
  opacity:.72!important;
}
html body .z-page .z-faq details[open] summary::after,
html body .z-page .z-s10c-faq-list details[open] summary::after,
html body .z-page .z-payroll-faq-list details[open] summary::after,
html body .z-page [class*="faq"] details[open] summary::after{
  background-size:16px 2px,0 0!important;
}
html body .z-page .z-faq details>p,
html body .z-page .z-s10c-faq-list details>p,
html body .z-page .z-payroll-faq-list details>p,
html body .z-page [class*="faq"] details>p{
  margin:0!important;
  padding:0 2.7rem .85rem 0!important;
  max-width:72ch!important;
  color:var(--z14d-muted)!important;
  line-height:1.58!important;
}

/* Zalozenie s.r.o.: separate the important first band from the next white band. */
html body .z-sro-important{
  background:#eef3f5!important;
  border-top:1px solid #d9e3e8!important;
  border-bottom:1px solid #d9e3e8!important;
}
html body .z-sro-important h2{color:var(--z14d-blue-deep)!important}

/* Contact: Step 14C correctly chose the blue panel, but an older, more-specific
   selector was still winning for links. Match that specificity and force contrast. */
html body .z-s10c-contact-hero .z-s10c-contact-data{
  background:var(--z14d-blue)!important;
  background-color:var(--z14d-blue)!important;
  border-top:4px solid var(--z14d-orange)!important;
  color:#fff!important;
}
html body .z-s10c-contact-hero .z-s10c-contact-data a,
html body .z-s10c-contact-hero .z-s10c-contact-data strong,
html body .z-s10c-contact-hero .z-s10c-contact-data>p{
  color:#fff!important;
  opacity:1!important;
}
html body .z-s10c-contact-hero .z-s10c-contact-data span{
  color:rgba(255,255,255,.76)!important;
  opacity:1!important;
}
html body .z-s10c-contact-hero .z-s10c-contact-data>div{
  border-bottom-color:rgba(255,255,255,.2)!important;
}
html body .z-s10c-contact-hero .z-s10c-contact-data a:hover,
html body .z-s10c-contact-hero .z-s10c-contact-data a:focus-visible{
  color:#fff!important;
  text-decoration:underline!important;
}

/* Consultation hero: keep the hero blue, but make the right-hand information
   table a deliberate light panel for clearer hierarchy and readability. */
html body .z-s10c-consult-hero .z-s10c-consult-map{
  padding:.9rem 1.1rem 1rem!important;
  border:0!important;
  border-top:4px solid var(--z14d-orange)!important;
  border-radius:10px!important;
  background:#f7fafb!important;
  box-shadow:0 12px 28px rgba(22,52,71,.15)!important;
}
html body .z-s10c-consult-hero .z-s10c-map-label{
  color:var(--z14d-green)!important;
}
html body .z-s10c-consult-hero .z-s10c-consult-map>div{
  border-top:1px solid #d8e3e8!important;
}
html body .z-s10c-consult-hero .z-s10c-consult-map strong{
  color:var(--z14d-blue-deep)!important;
}
html body .z-s10c-consult-hero .z-s10c-consult-map span{
  color:var(--z14d-muted)!important;
}

/* Same geometric check accent on every final CTA band. No Unicode glyphs. */
html body .z-premium-section:has(.z-final-premium),
html body .z-s10c-payroll-final,
html body .z-s13-final,
html body.home .z-home-final-wrap{
  position:relative!important;
  overflow:hidden!important;
}
html body .z-final-premium,
html body .z-s10c-payroll-final>.z-shell,
html body .z-s13-final>.z-shell,
html body.home .z-home-final-wrap>.z-shell{
  position:relative!important;
  z-index:1!important;
}
@media(min-width:1180px){
  html body .z-premium-section:has(.z-final-premium)::after,
  html body .z-s10c-payroll-final::after,
  html body .z-s13-final::after,
  html body.home .z-home-final-wrap::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    right:clamp(28px,3.8vw,68px)!important;
    top:50%!important;
    width:48px!important;
    height:26px!important;
    border:0!important;
    border-left:8px solid rgba(255,255,255,.16)!important;
    border-bottom:8px solid rgba(255,255,255,.16)!important;
    border-radius:0!important;
    transform:translateY(-68%) rotate(-45deg)!important;
    background:transparent!important;
    box-shadow:none!important;
    pointer-events:none!important;
    z-index:0!important;
  }
}

/* Homepage: replace the static ledger illustration with the same useful,
   interactive office idea as the Online page, only more compact. */
html body.home .z-home-office-wrap{
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
html body.home .z-home-office-wrap::before,
html body.home .z-home-office-wrap::after{content:none!important;display:none!important}
html body.home .z-home-office{
  width:min(100%,560px)!important;
  padding:.9rem!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px!important;
  background:var(--z14d-blue-deep)!important;
  box-shadow:0 18px 42px rgba(43,91,120,.18)!important;
}
html body.home .z-home-office-tabs{
  margin-bottom:.55rem!important;
}
html body.home .z-home-office .z-s14-office-panel{
  min-height:178px!important;
}
html body.home .z-home-office .z-s13-office-row{
  margin-top:.42rem!important;
  padding:.58rem .65rem!important;
  font-size:.76rem!important;
}
html body.home .z-home-office .z-s13-office-row b{
  min-width:38px!important;
}
html body.home .z-home-office .z-s14-office-tab{
  min-height:36px!important;
  font-size:.74rem!important;
}

@media(max-width:900px){
  html body.home .z-home-office-wrap{justify-content:center!important}
  html body.home .z-home-office{width:100%!important}
  html body.home .z-home-office .z-s14-office-panel{min-height:0!important}
}
@media(max-width:640px){
  html body.home .z-home-office-tabs{grid-template-columns:repeat(2,1fr)!important}
  html body .z-s10c-consult-hero .z-s10c-consult-map{padding:.8rem .9rem .9rem!important}
}
/* ZARELA STEP 14D INTERACTIVE CLEANUP END */

/* ZARELA STEP 14E FINAL TIDY START */
:root{
  --z14e-blue:#356884;
  --z14e-blue-soft:#e5eef2;
  --z14e-blue-soft-2:#edf4f6;
  --z14e-green:#3a7f6b;
  --z14e-green-soft:#e6f0ec;
  --z14e-ink:#1c2733;
  --z14e-muted:#526675;
}

/* 1) Zalozenie s.r.o.: the "Dolezite" band must be visibly separate. */
html body .z-sro-important{
  background:#e8f0f3!important;
  background-color:#e8f0f3!important;
  border-top:1px solid #cfdee5!important;
  border-bottom:1px solid #cfdee5!important;
}
html body .z-sro-important .z-shell{
  position:relative!important;
}
html body .z-sro-important h2,
html body .z-sro-important h3{
  color:#2b5b78!important;
}

/* 2) Homepage hero: keep only the interactive office.
      Kill every old ledger background/pseudo that may survive from older CSS. */
html body.home .z-premium-hero .z-home-office-wrap,
html body.home .z-premium-hero .z-home-office-wrap::before,
html body.home .z-premium-hero .z-home-office-wrap::after,
html body.home .z-premium-hero .z-home-office,
html body.home .z-premium-hero .z-home-office::before,
html body.home .z-premium-hero .z-home-office::after{
  background-image:none!important;
}

html body.home .z-premium-hero .z-home-office-wrap img[src*="hero-ledger"],
html body.home .z-premium-hero img[src*="hero-ledger"],
html body.home .z-premium-hero [style*="hero-ledger"]{
  display:none!important;
  visibility:hidden!important;
}

/* Simple geometric check accents behind the interactive panel.
   Pure CSS only - no Unicode characters. */
html body.home .z-premium-hero .z-home-office-wrap{
  position:relative!important;
  isolation:isolate!important;
}

html body.home .z-premium-hero .z-home-office-wrap::before,
html body.home .z-premium-hero .z-home-office-wrap::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  width:42px!important;
  height:22px!important;
  border-left:7px solid rgba(58,127,107,.16)!important;
  border-bottom:7px solid rgba(58,127,107,.16)!important;
  background:none!important;
  pointer-events:none!important;
  z-index:-1!important;
}

html body.home .z-premium-hero .z-home-office-wrap::before{
  right:3%!important;
  top:-8%!important;
  transform:rotate(-45deg)!important;
}

html body.home .z-premium-hero .z-home-office-wrap::after{
  left:5%!important;
  bottom:-8%!important;
  transform:rotate(-45deg) scale(.72)!important;
  opacity:.7!important;
}

html body.home .z-premium-hero .z-home-office{
  position:relative!important;
  z-index:1!important;
}

/* 3) Homepage easy-accounting section:
      no orange field. Use a distinct light blue-grey band so it stands apart
      from both white and the mint/green section below. Cards stay clean. */
html body.home .z-easy-accounting{
  background:var(--z14e-blue-soft)!important;
  background-color:var(--z14e-blue-soft)!important;
  border-top:1px solid #cbdbe2!important;
  border-bottom:1px solid #cbdbe2!important;
}

html body.home .z-easy-accounting::before,
html body.home .z-easy-accounting::after{
  content:none!important;
  display:none!important;
}

html body.home .z-easy-accounting .z-easy-card{
  background:#fff!important;
  border:1px solid #d2dfe5!important;
  border-top:1px solid #d2dfe5!important;
  box-shadow:0 5px 14px rgba(43,91,120,.05)!important;
}

html body.home .z-easy-accounting .z-easy-icon{
  background:var(--z14e-green)!important;
  color:#fff!important;
}

html body.home .z-easy-accounting .z-easy-card strong{
  color:#2b5b78!important;
}

html body.home .z-easy-accounting .z-easy-card p{
  color:var(--z14e-muted)!important;
}

html body.home .z-easy-accounting .z-eyebrow{
  color:var(--z14e-green)!important;
}

@media(max-width:900px){
  html body.home .z-premium-hero .z-home-office-wrap::before,
  html body.home .z-premium-hero .z-home-office-wrap::after{
    display:none!important;
  }
}
/* ZARELA STEP 14E FINAL TIDY END */

/* ---- Consolidated final layer: former Step 10H ---- */
/* Zarela Step 10H - final UI correction. ASCII-only pseudo-element content. */

:root {
    --z10h-navy: #0b1f33;
    --z10h-green: #176b52;
    --z10h-muted: #5e6b78;
    --z10h-line: #cbd4da;
}

/* 1. Homepage top hero: restore the original Step 7C artwork, not the later dark/premium replacement. */
html body.home .z-premium-hero .z-hero-art {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

html body.home .z-premium-hero .z-hero-art img[src*="hero-ledger.svg"] {
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
    width: min(100%, 590px) !important;
    height: auto !important;
    max-height: 330px !important;
    object-fit: contain !important;
    border-radius: 22px !important;
    background: transparent !important;
    box-shadow: 0 24px 68px rgba(0,0,0,.24) !important;
}

@media (min-width: 1025px) and (max-height: 820px) {
    html body.home .z-premium-hero .z-hero-art img[src*="hero-ledger.svg"] {
        max-height: 270px !important;
    }
}

/* 2. Homepage Služby feature: use an actual image element so old background-image rules cannot win. */
html body.home .z-service-stage .z-service-primary .z-service-primary-art.z-service-primary-art--final {
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    min-height: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #0b1f33 !important;
    background-image: none !important;
    border: 0 !important;
}

html body.home .z-service-primary-art--final::before,
html body.home .z-service-primary-art--final::after {
    content: none !important;
    display: none !important;
}

html body.home .z-service-primary-art--final .z-service-primary-art-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #0b1f33 !important;
}

@media (max-width: 767px) {
    html body.home .z-service-primary-art--final {
        min-height: 330px !important;
    }
    html body.home .z-service-primary-art--final .z-service-primary-art-img {
        min-height: 330px !important;
    }
}

/* 3. Never use text glyphs as decorative check icons. */
html body .z-premium-list .z-icon {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    overflow: hidden !important;
}

html body .z-premium-list .z-icon::before {
    content: "" !important;
    display: block !important;
    width: 19px !important;
    height: 19px !important;
    border-radius: 50% !important;
    background-color: var(--z10h-green) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19'%3E%3Cpath d='M5 9.5l3 3 6-7' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 19px 19px !important;
}

html body .z-check-premium li::before {
    content: "" !important;
    top: 1.3rem !important;
    width: 12px !important;
    height: 7px !important;
    border: 0 !important;
    border-left: 3px solid var(--z10h-green) !important;
    border-bottom: 3px solid var(--z10h-green) !important;
    transform: rotate(-45deg) !important;
    background: transparent !important;
}

/* Existing reason-list dash glyph becomes a simple geometric line. */
html body .z-s10c-reason-lines p::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 1.6em !important;
    width: 13px !important;
    height: 2px !important;
    background: var(--z10h-green) !important;
    border: 0 !important;
    border-radius: 2px !important;
}

/* Final CTA edge accent: geometric check, never a Unicode glyph. */
@media (min-width: 1180px) {
    html body .z-premium-section:has(.z-final-premium)::after,
    html body .z-s10c-payroll-final::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        right: clamp(28px, 3.8vw, 68px) !important;
        top: 50% !important;
        width: 48px !important;
        height: 26px !important;
        border: 0 !important;
        border-left: 8px solid rgba(255,255,255,.14) !important;
        border-bottom: 8px solid rgba(255,255,255,.14) !important;
        transform: translateY(-68%) rotate(-45deg) !important;
        background: transparent !important;
        pointer-events: none !important;
    }
}

/* 4. Mzdy process: remove all decorative dots/arrows; keep only restrained structural rules. */
html body .z-s10c-process-flow::before,
html body .z-s10c-process-flow article::before,
html body .z-s10c-process-flow article::after,
html body .z-s10c-process-flow article:not(:last-child)::after {
    content: none !important;
    display: none !important;
}

html body .z-s10c-process-flow {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0,1fr)) !important;
    gap: 0 !important;
    margin-top: 2.4rem !important;
    padding-top: 0 !important;
    border-top: 1px solid rgba(255,255,255,.22) !important;
    border-bottom: 1px solid rgba(255,255,255,.15) !important;
}

html body .z-s10c-process-flow article,
html body .z-s10c-process-flow article + article {
    position: relative !important;
    padding: 1.5rem 1.45rem !important;
    border: 0 !important;
}

html body .z-s10c-process-flow article:first-child {
    padding-left: 0 !important;
}

html body .z-s10c-process-flow article + article {
    border-left: 1px solid rgba(255,255,255,.15) !important;
}

html body .z-s10c-process-flow h3 {
    margin: 0 0 .7rem !important;
}

@media (max-width: 900px) {
    html body .z-s10c-process-flow {
        grid-template-columns: 1fr 1fr !important;
        border-bottom: 0 !important;
    }
    html body .z-s10c-process-flow article,
    html body .z-s10c-process-flow article:first-child,
    html body .z-s10c-process-flow article + article {
        padding: 1.25rem 1rem 1.25rem 0 !important;
        border-left: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.15) !important;
    }
}

@media (max-width: 600px) {
    html body .z-s10c-process-flow {
        grid-template-columns: 1fr !important;
    }
}

/* 5. FAQ: one restrained Mzdy-style treatment sitewide. */
html body .z-page .z-faq details.wp-block-details,
html body .z-page .z-s10c-faq-list details,
html body .z-page .z-payroll-faq-list details {
    margin: 0 !important;
    padding: 1.25rem .2rem !important;
    border: 0 !important;
    border-top: 1px solid var(--z10h-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body .z-page .z-faq details.wp-block-details:last-child,
html body .z-page .z-s10c-faq-list details:last-child,
html body .z-page .z-payroll-faq-list details:last-child {
    border-bottom: 1px solid var(--z10h-line) !important;
}

html body .z-page .z-faq summary,
html body .z-page .z-s10c-faq-list summary,
html body .z-page .z-payroll-faq-list summary {
    position: relative !important;
    display: block !important;
    padding: 0 2.4rem 0 0 !important;
    color: var(--z10h-navy) !important;
    font-weight: 760 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    list-style: none !important;
}

html body .z-page .z-faq summary::-webkit-details-marker,
html body .z-page .z-s10c-faq-list summary::-webkit-details-marker,
html body .z-page .z-payroll-faq-list summary::-webkit-details-marker {
    display: none !important;
}

html body .z-page .z-faq summary::marker,
html body .z-page .z-s10c-faq-list summary::marker,
html body .z-page .z-payroll-faq-list summary::marker {
    content: "" !important;
}

html body .z-page .z-faq summary::after,
html body .z-page .z-s10c-faq-list summary::after,
html body .z-page .z-payroll-faq-list summary::after {
    content: "" !important;
    position: absolute !important;
    right: .2rem !important;
    top: 50% !important;
    width: 16px !important;
    height: 16px !important;
    transform: translateY(-50%) !important;
    background-image:
        linear-gradient(var(--z10h-navy),var(--z10h-navy)),
        linear-gradient(var(--z10h-navy),var(--z10h-navy)) !important;
    background-position: center, center !important;
    background-repeat: no-repeat !important;
    background-size: 16px 2px, 2px 16px !important;
    opacity: .72 !important;
}

html body .z-page .z-faq details[open] summary::after,
html body .z-page .z-s10c-faq-list details[open] summary::after,
html body .z-page .z-payroll-faq-list details[open] summary::after {
    background-size: 16px 2px, 0 0 !important;
}

html body .z-page .z-faq details > p,
html body .z-page .z-s10c-faq-list details > p,
html body .z-page .z-payroll-faq-list details > p {
    margin: .8rem 0 0 !important;
    max-width: 72ch !important;
    color: var(--z10h-muted) !important;
    line-height: 1.65 !important;
}

/* ---- Consolidated final layer: former Step 14F+ ---- */
/* ZARELA STEP 14F ROOT FIX */
:root{
  --z14f-blue:#356884;
  --z14f-blue-deep:#2b5b78;
  --z14f-green:#3a7f6b;
  --z14f-mint:#72b9a2;
}

/* HOME HERO
   Root fix for the old Step 10I data-URI background. */
html body.home .z-premium-hero .z-hero-art.z-home-office-wrap{
  display:flex!important;
  position:relative!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  isolation:isolate!important;
}

html body.home .z-premium-hero .z-hero-art.z-home-office-wrap::before,
html body.home .z-premium-hero .z-hero-art.z-home-office-wrap::after{
  content:none!important;
  display:none!important;
  background:none!important;
  background-image:none!important;
}

html body.home .z-premium-hero .z-hero-art.z-home-office-wrap > img,
html body.home .z-premium-hero .z-hero-art.z-home-office-wrap > picture,
html body.home .z-premium-hero .z-hero-art.z-home-office-wrap [src*="hero-ledger"]{
  display:none!important;
  visibility:hidden!important;
}

html body.home .z-home-office{
  position:relative!important;
  z-index:3!important;
}

/* Real decorative shapes, not text glyphs. */
html body.home .z-home-decor{
  position:absolute!important;
  inset:-12% -10% -12% -10%!important;
  z-index:1!important;
  pointer-events:none!important;
  overflow:visible!important;
}

html body.home .z-home-check{
  position:absolute!important;
  display:block!important;
  width:22px!important;
  height:42px!important;
  border-right:6px solid rgba(58,127,107,.19)!important;
  border-bottom:6px solid rgba(58,127,107,.19)!important;
  border-radius:2px!important;
  transform-origin:center!important;
}

html body.home .z-home-check-1{
  top:2%!important; right:5%!important;
  transform:rotate(38deg) scale(1.35)!important;
}
html body.home .z-home-check-2{
  top:15%!important; left:1%!important;
  transform:rotate(48deg) scale(.62)!important;
  opacity:.85!important;
}
html body.home .z-home-check-3{
  top:46%!important; right:-1%!important;
  transform:rotate(30deg) scale(.78)!important;
  opacity:.72!important;
}
html body.home .z-home-check-4{
  bottom:1%!important; left:8%!important;
  transform:rotate(54deg) scale(.95)!important;
  opacity:.66!important;
}
html body.home .z-home-check-5{
  bottom:8%!important; right:13%!important;
  transform:rotate(42deg) scale(.5)!important;
  opacity:.58!important;
}
html body.home .z-home-check-6{
  top:1%!important; left:34%!important;
  transform:rotate(60deg) scale(.38)!important;
  opacity:.48!important;
}

/* ZALOZENIE S.R.O. */
html body .z-sro-important{
  background:#e8f0f3!important;
  background-color:#e8f0f3!important;
  border-top:1px solid #cfdee5!important;
  border-bottom:1px solid #cfdee5!important;
}
html body .z-sro-important h2{
  color:var(--z14f-blue-deep)!important;
}

/* Preserve only the useful Step 10I Mzdy process treatment.
   The obsolete Step 10I homepage artwork and FAQ overrides are intentionally gone. */
@media (min-width:1025px){
  html body .z-s10c-process-section .z-s10c-process-flow{
    position:relative!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:clamp(1.4rem,2.4vw,2.5rem)!important;
    margin-top:3rem!important;
    padding-top:2.6rem!important;
    border:0!important;
  }

  html body .z-s10c-process-section .z-s10c-process-flow::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:8px!important;
    height:1px!important;
    background:rgba(255,255,255,.22)!important;
  }

  html body .z-s10c-process-section .z-s10c-process-flow article,
  html body .z-s10c-process-section .z-s10c-process-flow article + article{
    position:relative!important;
    padding:0!important;
    border:0!important;
  }

  html body .z-s10c-process-section .z-s10c-process-flow article::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    top:-2.95rem!important;
    left:0!important;
    width:17px!important;
    height:17px!important;
    border:5px solid var(--z14f-blue-deep)!important;
    border-radius:50%!important;
    background:var(--z14f-mint)!important;
    box-shadow:0 0 0 1px rgba(114,185,162,.6)!important;
  }

  html body .z-s10c-process-section .z-s10c-process-flow article::after{
    content:none!important;
    display:none!important;
  }
}

html body .z-s10c-process-section .z-s10c-process-flow h3::before,
html body .z-s10c-process-section .z-s10c-process-flow h3::after{
  content:none!important;
  display:none!important;
}

@media(max-width:900px){
  html body.home .z-home-decor{
    inset:-5% -2%!important;
  }
  html body.home .z-home-check-2,
  html body.home .z-home-check-3,
  html body.home .z-home-check-5,
  html body.home .z-home-check-6{
    display:none!important;
  }
}

@media(max-width:640px){
  html body.home .z-home-decor{
    display:none!important;
  }
}

/* ZARELA STEP 14I VISIBLE DECOR + NOTICE START */

/* Homepage hero: exact Online component stays unchanged.
   Only its placement inside the homepage hero is centered. */
html body.home .z-premium-hero-grid{
  position:relative!important;
  align-items:center!important;
}

html body.home .z-home-office-wrap{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  align-self:center!important;
  justify-content:center!important;
  justify-self:stretch!important;
  min-height:0!important;
  height:100%!important;
  width:100%!important;
  overflow:visible!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  isolation:isolate!important;
}

html body.home .z-home-office-wrap > .z-s14-office{
  position:relative!important;
  z-index:4!important;
  width:100%!important;
  margin-block:auto!important;
}

/* The ornament layer now sits on the HERO GRID, not behind the opaque blue office box.
   This guarantees the shapes are actually visible around the component. */
html body.home .z-home-ornaments-v2{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  overflow:visible!important;
}

html body.home .z-premium-hero-grid > :not(.z-home-ornaments-v2){
  position:relative!important;
  z-index:4!important;
}

html body.home .z-home-orn-v2{
  position:absolute!important;
  display:block!important;
  box-sizing:border-box!important;
  pointer-events:none!important;
  opacity:.72!important;
}

/* Green check. */
html body.home .z-home-orn-v2--check{
  width:18px!important;
  height:34px!important;
  border-right:5px solid rgba(58,127,107,.30)!important;
  border-bottom:5px solid rgba(58,127,107,.30)!important;
  border-radius:2px!important;
}

/* Orange plus. */
html body.home .z-home-orn-v2--plus{
  width:32px!important;
  height:32px!important;
}
html body.home .z-home-orn-v2--plus::before,
html body.home .z-home-orn-v2--plus::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  border-radius:2px!important;
  background:rgba(232,98,61,.31)!important;
  transform:translate(-50%,-50%)!important;
}
html body.home .z-home-orn-v2--plus::before{width:100%!important;height:5px!important}
html body.home .z-home-orn-v2--plus::after{width:5px!important;height:100%!important}

/* Document. */
html body.home .z-home-orn-v2--doc{
  width:29px!important;
  height:37px!important;
  border:4px solid rgba(58,127,107,.24)!important;
  border-radius:4px!important;
}
html body.home .z-home-orn-v2--doc::before,
html body.home .z-home-orn-v2--doc::after{
  content:""!important;
  position:absolute!important;
  left:6px!important;
  right:6px!important;
  height:3px!important;
  background:rgba(58,127,107,.22)!important;
  border-radius:99px!important;
}
html body.home .z-home-orn-v2--doc::before{top:10px!important}
html body.home .z-home-orn-v2--doc::after{top:19px!important}

/* Orange ring. */
html body.home .z-home-orn-v2--ring{
  width:29px!important;
  height:29px!important;
  border:5px solid rgba(232,98,61,.26)!important;
  border-radius:50%!important;
}

/* Tiny chart. */
html body.home .z-home-orn-v2--chart{
  width:36px!important;
  height:33px!important;
  border-bottom:4px solid rgba(58,127,107,.22)!important;
}
html body.home .z-home-orn-v2--chart::before{
  content:""!important;
  position:absolute!important;
  left:4px!important;
  bottom:4px!important;
  width:6px!important;
  height:13px!important;
  background:rgba(58,127,107,.26)!important;
  box-shadow:11px -7px 0 rgba(58,127,107,.22),22px -15px 0 rgba(58,127,107,.19)!important;
  border-radius:2px 2px 0 0!important;
}

/* Folder. */
html body.home .z-home-orn-v2--folder{
  width:36px!important;
  height:26px!important;
  border:4px solid rgba(58,127,107,.22)!important;
  border-radius:4px!important;
}
html body.home .z-home-orn-v2--folder::before{
  content:""!important;
  position:absolute!important;
  left:2px!important;
  top:-9px!important;
  width:16px!important;
  height:7px!important;
  border:4px solid rgba(58,127,107,.22)!important;
  border-bottom:0!important;
  border-radius:4px 4px 0 0!important;
}

/* Orange spark. */
html body.home .z-home-orn-v2--spark{
  width:27px!important;
  height:27px!important;
}
html body.home .z-home-orn-v2--spark::before,
html body.home .z-home-orn-v2--spark::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:27px!important;
  height:4px!important;
  background:rgba(232,98,61,.25)!important;
  border-radius:99px!important;
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
html body.home .z-home-orn-v2--spark::after{
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}

/* Positions deliberately hug the right-hand component and hero gap.
   They are visible, irregular, rotated and various sizes. */
html body.home .z-home-orn-v2.v1{top:3%!important;left:54%!important;transform:rotate(34deg) scale(.72)!important}
html body.home .z-home-orn-v2.v2{top:8%!important;right:1%!important;transform:rotate(18deg) scale(.68)!important}
html body.home .z-home-orn-v2.v3{top:24%!important;left:50.5%!important;transform:rotate(-12deg) scale(.64)!important}
html body.home .z-home-orn-v2.v4{top:31%!important;right:-1%!important;transform:scale(.54)!important}
html body.home .z-home-orn-v2.v5{top:48%!important;left:51.5%!important;transform:rotate(-9deg) scale(.62)!important}
html body.home .z-home-orn-v2.v6{top:59%!important;right:0!important;transform:rotate(7deg) scale(.58)!important}
html body.home .z-home-orn-v2.v7{bottom:4%!important;left:57%!important;transform:rotate(22deg) scale(.58)!important}
html body.home .z-home-orn-v2.v8{bottom:0!important;right:10%!important;transform:rotate(50deg) scale(.78)!important}
html body.home .z-home-orn-v2.v9{top:1%!important;left:72%!important;transform:rotate(-13deg) scale(.44)!important}
html body.home .z-home-orn-v2.v10{bottom:23%!important;right:-1.5%!important;transform:scale(.63)!important}
html body.home .z-home-orn-v2.v11{top:69%!important;left:50%!important;transform:rotate(-17deg) scale(.48)!important}
html body.home .z-home-orn-v2.v12{top:17%!important;right:16%!important;transform:rotate(13deg) scale(.40)!important;opacity:.42!important}
html body.home .z-home-orn-v2.v13{bottom:-1%!important;left:76%!important;transform:rotate(-11deg) scale(.44)!important;opacity:.48!important}
html body.home .z-home-orn-v2.v14{top:3%!important;right:28%!important;transform:rotate(22deg) scale(.42)!important;opacity:.46!important}
html body.home .z-home-orn-v2.v15{top:39%!important;left:55%!important;transform:rotate(46deg) scale(.40)!important;opacity:.43!important}
html body.home .z-home-orn-v2.v16{bottom:4%!important;right:31%!important;transform:rotate(-20deg) scale(.38)!important;opacity:.42!important}

/* Zalozenie s.r.o.:
   full content width inside the normal site shell, still notice-like but no awkward left-only column. */
html body .z-sro-important{
  padding-block:1.35rem!important;
  background:#f3e4dc!important;
  background-color:#f3e4dc!important;
  border:0!important;
}

html body .z-sro-important .z-heading-split,
html body .z-sro-important .z-heading-split > div{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

html body .z-sro-important .z-eyebrow{
  margin:0 0 .28rem!important;
  color:#a94f33!important;
  font-size:.76rem!important;
}

html body .z-sro-important h2{
  width:100%!important;
  max-width:none!important;
  margin:0 0 .38rem!important;
  padding:0!important;
  color:#4c342d!important;
  font-size:clamp(1.2rem,1.7vw,1.45rem)!important;
  line-height:1.22!important;
}

html body .z-sro-important p,
html body .z-sro-important .z-heading-split p{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#554640!important;
  font-size:1rem!important;
  line-height:1.5!important;
}

@media(max-width:900px){
  html body.home .z-home-office-wrap{
    height:auto!important;
  }

  html body.home .z-home-ornaments-v2{
    display:none!important;
  }

  html body .z-sro-important{
    padding-block:1.15rem!important;
  }
}

/* ZARELA STEP 14I VISIBLE DECOR + NOTICE END */

/* ZARELA STEP 17 H2 TYPOGRAPHY START */

/*
 * Conservative global H2 polish:
 * - no copy changes
 * - no H1 changes
 * - no component restructuring
 * - long headings get slightly smaller and balanced instead of becoming 4–5 tall lines
 */
html body .z-page h2{
  max-width:none!important;
  font-size:clamp(1.9rem,2.7vw,2.65rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Split editorial sections are where the longest headings were most compressed.
   Give the heading side just a little more room without changing the overall layout. */
@media(min-width:1025px){
  html body .z-page .z-heading-split{
    grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)!important;
  }

  html body .z-page .z-heading-split h2{
    font-size:clamp(1.85rem,2.4vw,2.45rem)!important;
  }

  html body .z-page .z-consult-grid h2,
  html body .z-page .z-final-premium h2{
    font-size:clamp(1.9rem,2.5vw,2.5rem)!important;
  }
}

/* Tablet: avoid oversized 3–4 line headings in stacked layouts. */
@media(max-width:1024px){
  html body .z-page h2{
    font-size:clamp(1.75rem,4vw,2.2rem)!important;
    line-height:1.1!important;
  }
}

/* Mobile: preserve readability while preventing unnecessarily tall heading blocks. */
@media(max-width:640px){
  html body .z-page h2{
    font-size:clamp(1.65rem,7vw,1.95rem)!important;
    line-height:1.1!important;
    text-wrap:pretty!important;
  }
}

/* ZARELA STEP 17 H2 TYPOGRAPHY END */

/* ZARELA BLOG — FINAL */
body.blog .site-content,
body.single-post .site-content{
  background:#fff!important;
}

body.blog .site-content .ast-container,
body.single-post .site-content .ast-container{
  display:block!important;
  max-width:1160px!important;
  padding-inline:clamp(1rem,3vw,2rem)!important;
}

body.blog #primary,
body.single-post #primary{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

body.blog #secondary,
body.single-post #secondary{
  display:none!important;
}

body.blog .site-main,
body.single-post .site-main{
  padding-block:clamp(2.5rem,5vw,5rem)!important;
  color:#293b44!important;
}

body.blog .ast-archive-description{
  max-width:900px!important;
  margin:0 auto 2rem!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}

body.blog .ast-archive-description .page-title{
  margin:0!important;
  color:#173b52!important;
  font-size:clamp(2.4rem,5vw,4.5rem)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}

body.blog .site-main article.post{
  max-width:900px!important;
  margin:0 auto 1.25rem!important;
  padding:clamp(1.1rem,2.5vw,1.6rem)!important;
  border:1px solid #d8e2e7!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(43,91,120,.06)!important;
}

body.blog article.post .post-thumb{
  margin:0 0 1.15rem!important;
}

body.blog article.post .post-thumb img{
  display:block!important;
  width:100%!important;
  border-radius:9px!important;
}

body.blog article.post .entry-title{
  margin:.15rem 0 .65rem!important;
  font-size:clamp(1.65rem,3vw,2.15rem)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}

body.blog article.post .entry-title a{
  color:#173b52!important;
  text-decoration:none!important;
}

body.blog article.post .entry-content,
body.blog article.post .entry-summary{
  color:#344954!important;
  font-size:1rem!important;
  line-height:1.65!important;
}

body.blog article.post .entry-meta,
body.single-post article.post .entry-meta{
  display:none!important;
}

body.single-post article.post{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#293b44!important;
}

body.single-post article.post .entry-header{
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.single-post article.post .entry-content{
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  color:#293b44!important;
}

body.single-post article.post .post-thumb-img-content{
  max-width:880px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:clamp(1.75rem,4vw,3rem)!important;
}

body.single-post article.post .post-thumb-img-content img{
  display:block!important;
  width:100%!important;
  border-radius:12px!important;
}

body.single-post article.post .entry-title{
  margin:0 0 1.3rem!important;
  color:#173b52!important;
  font-size:clamp(2.25rem,4.5vw,3.85rem)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  text-wrap:balance!important;
}

body.single-post .z-blog-inline-hero{
  width:100%!important;
  max-width:720px!important;
  margin:0 auto clamp(2rem,4vw,3rem)!important;
}

body.single-post .z-blog-inline-hero img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  border-radius:12px!important;
}

body.single-post .z-blog-article{
  color:#293b44!important;
  font-size:1.08rem!important;
  line-height:1.78!important;
}

body.single-post .z-blog-article > p{
  margin:0 0 1.2rem!important;
}

body.single-post .z-blog-article h2{
  margin:2.5rem 0 .8rem!important;
  color:#173b52!important;
  font-size:clamp(1.65rem,3vw,2.25rem)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  text-wrap:balance!important;
}

body.single-post .z-blog-article a{
  color:#246451!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}

body.single-post .entry-content ul:not(.wp-block-navigation__container){
  margin:.8rem 0 1.5rem!important;
  padding:0 0 0 1.45rem!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#293b44!important;
}

body.single-post .entry-content ul:not(.wp-block-navigation__container) li{
  margin:.42rem 0!important;
  padding-left:.08rem!important;
}

body.single-post .entry-content ol{
  margin:1rem 0 1.65rem!important;
  padding:1rem 1.2rem 1rem 2.65rem!important;
  border:1px solid #dbe9e4!important;
  border-left:4px solid #5e9c87!important;
  border-radius:10px!important;
  background:#f1f7f4!important;
  color:#293b44!important;
}

body.single-post .entry-content ol li{
  margin:.45rem 0!important;
  padding-left:.15rem!important;
}

body.single-post .z-blog-cta{
  margin-top:3rem!important;
  padding:clamp(1.5rem,3.4vw,2.35rem)!important;
  border:0!important;
  border-radius:12px!important;
  background:#2f6b59!important;
  color:#fff!important;
}

body.single-post .z-blog-cta h2,
body.single-post .z-blog-cta p,
body.single-post .z-blog-cta a:not(.wp-block-button__link){
  color:#fff!important;
}

body.single-post .z-blog-cta h2{
  margin-top:0!important;
}

body.single-post .z-blog-cta .wp-block-buttons{
  margin-top:1rem!important;
}

body.single-post .z-blog-cta .wp-block-button__link{
  background:#e8623d!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  font-weight:700!important;
}

body.single-post .z-blog-cta .wp-block-button__link:hover,
body.single-post .z-blog-cta .wp-block-button__link:focus-visible{
  background:#f07855!important;
  color:#fff!important;
}

@media(max-width:640px){
  body.blog .site-main,
  body.single-post .site-main{
    padding-block:2rem!important;
  }

  body.blog .site-main article.post{
    padding:1rem!important;
  }

  body.single-post article.post .entry-header,
  body.single-post article.post .entry-content{
    max-width:100%!important;
  }

  body.single-post article.post .entry-title{
    font-size:clamp(2rem,9.5vw,2.7rem)!important;
  }

  body.single-post .z-blog-inline-hero{
    max-width:88%!important;
  }

  body.single-post .entry-content ol{
    padding:.9rem .85rem .9rem 2.25rem!important;
  }
}

/* ZARELA STEP 21A CARD POLISH START */

/* O NAS — values: more breathing room, vertically balanced content,
   restrained accent instead of headings sitting against the card edge. */
body .z-s13-values{
  gap:1.15rem!important;
}

body .z-s13-values article{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:180px!important;
  padding:1.75rem 1.7rem 1.65rem!important;
  border:1px solid #d7e2de!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(43,91,120,.055)!important;
}

body .z-s13-values article::before{
  content:""!important;
  display:block!important;
  width:34px!important;
  height:4px!important;
  margin:0 0 .85rem!important;
  border-radius:99px!important;
  background:#e8623d!important;
}

body .z-s13-values article h3{
  margin:0 0 .65rem!important;
  color:#2b5b78!important;
  line-height:1.22!important;
}

body .z-s13-values article p{
  margin:0!important;
  line-height:1.58!important;
  color:#566b77!important;
}

/* DANOVE PRIZNANIA — convert the existing OL into a proper 4-card process.
   Scoped to this page only so no other historic .z-s8-process component moves. */
body .z-s21-tax-page .z-s8-process{
  counter-reset:z-tax-step!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:1rem!important;
  margin:1.4rem 0 0!important;
  padding:0!important;
  border:0!important;
  list-style:none!important;
}

body .z-s21-tax-page .z-s8-process > li{
  counter-increment:z-tax-step!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:190px!important;
  padding:1.45rem 1.35rem 1.4rem!important;
  border:1px solid #d7e2de!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(43,91,120,.055)!important;
}

body .z-s21-tax-page .z-s8-process > li::before{
  content:counter(z-tax-step)!important;
  display:grid!important;
  place-items:center!important;
  width:2rem!important;
  height:2rem!important;
  margin:0 0 .9rem!important;
  border-radius:8px!important;
  background:#fff0ea!important;
  color:#c84f2c!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1!important;
}

body .z-s21-tax-page .z-s8-process > li strong{
  display:block!important;
  margin:0 0 .6rem!important;
  color:#2b5b78!important;
  font-size:1.08rem!important;
  line-height:1.25!important;
}

body .z-s21-tax-page .z-s8-process > li span{
  display:block!important;
  margin:0!important;
  color:#566b77!important;
  line-height:1.55!important;
}

@media(max-width:1024px){
  body .z-s21-tax-page .z-s8-process{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:640px){
  body .z-s13-values article{
    min-height:0!important;
    padding:1.45rem 1.35rem!important;
  }

  body .z-s21-tax-page .z-s8-process{
    grid-template-columns:1fr!important;
  }

  body .z-s21-tax-page .z-s8-process > li{
    min-height:0!important;
    padding:1.3rem 1.25rem!important;
  }
}

/* ZARELA STEP 21A CARD POLISH END */

/* ZARELA STEP 22A MINOR CSS START */
.z-s22-advice-page .z-s8-service-grid{gap:1rem!important}
.z-s22-advice-page .z-s8-service-card{padding:1.45rem 1.35rem!important;border:1px solid #d7e2de!important;border-radius:12px!important;background:#fff!important;box-shadow:0 8px 24px rgba(43,91,120,.055)!important}
.z-s22-advice-page .z-s8-service-card strong{display:block!important;margin:0 0 .6rem!important;color:#2b5b78!important;line-height:1.25!important}
.z-s22-advice-page .z-s8-service-card span{display:block!important;color:#566b77!important;line-height:1.55!important}
.z-heading-split>div:last-child p{color:#465e6b!important;line-height:1.62!important}
.z-heading-split>div:last-child p+p{margin-top:.85rem!important}
/* ZARELA STEP 22A MINOR CSS END */

/* ZARELA STEP 23 ONLINE PROCESS FIX START */
@media(min-width:901px){
  .z-s13-process{align-items:start!important}
  .z-s13-process article{position:relative!important;padding:3rem .35rem 0 0!important;min-width:0!important}
  .z-s13-process article>span{top:.45rem!important;left:0!important}
  .z-s13-process:before{top:1.1rem!important}
  .z-s13-process h3{margin:0 0 .5rem!important;padding:0!important;line-height:1.3!important}
  .z-s13-process article p{margin:0!important}
}
/* ZARELA STEP 23 ONLINE PROCESS FIX END */

/* ZARELA STEP 23A FACEBOOK START */
footer a[href*="facebook.com/zarelauctovnictvo/"]{display:inline-flex!important;align-items:center!important;gap:.45rem!important}
footer a[href*="facebook.com/zarelauctovnictvo/"]::before{content:""!important;width:1rem!important;height:1rem!important;flex:0 0 1rem!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M13.5 22v-9h3l.45-3H13.5V8.1c0-.87.24-1.46 1.52-1.46H17V3.96c-.34-.05-1.5-.14-2.86-.14-2.83 0-4.77 1.73-4.77 4.9V10H6.5v3h2.87v9h4.13Z'/%3E%3C/svg%3E") center/contain no-repeat!important}
/* ZARELA STEP 23A FACEBOOK END */

/* ZARELA STEP 24 MOBILE HERO START */
@media(max-width:640px){
  body.home .z-home-office-wrap,
  body .z-s13-online-hero .z-s14-office{display:none!important}
}
/* ZARELA STEP 24 MOBILE HERO END */

/* ZARELA STEP 25A BLOG CTA START */
body.single-post .z-blog-cta .wp-block-buttons{gap:1rem!important}
body.single-post .z-blog-cta .wp-block-button__link{border-radius:9px!important}
body.single-post .z-blog-cta .wp-block-button.is-style-outline .wp-block-button__link{background:#f1f7f4!important;color:#244c42!important;border-color:#f1f7f4!important}
/* ZARELA STEP 25A BLOG CTA END */

/* ZARELA STEP 25C BLOG CTA UNIFY START */
body.single-post .z-blog-cta .wp-block-buttons{display:flex!important;flex-flow:row wrap!important;align-items:stretch!important;gap:1rem!important}
body.single-post .z-blog-cta .wp-block-button{display:flex!important;margin:0!important}
body.single-post .z-blog-cta .wp-block-button__link{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:.78rem 1.15rem!important;line-height:1.2!important}
/* ZARELA STEP 25C BLOG CTA UNIFY END */
