/* WordPress/Gutenberg bridge. The approved prototype remains the visual source. */

:root {
	--white: #fff;
	--warm-neutral: var(--warm, #f7f2ef);
	--color-border: var(--border, color-mix(in oklch, #9b8791 40%, transparent));
	--font-display: var(--display, Fraunces, Georgia, serif);
	--font-body: var(--body, Inter, -apple-system, system-ui, sans-serif);
	--radius-sm: 6px;
	--radius-md: 8px;
	--shadow-sm: 0 1px 2px rgb(44 15 34 / 6%), 0 1px 3px rgb(44 15 34 / 8%);
	--shadow-accent: 0 8px 20px oklch(50% .185 358 / 22%);
	--dur-fast: 150ms;
	--dur: 220ms;
	--site-content-width: 1200px;
}

html {
	scroll-padding-top: 104px;
}

body {
	--wp--style--root--padding-left: 0;
	--wp--style--root--padding-right: 0;
}

body > .wp-site-blocks {
	padding: 0;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.site-main,
.site-main > .wp-block-post-content {
	margin: 0;
}

.site-main > .wp-block-post-content > * {
	margin-block-start: 0;
}

.site-main > .wp-block-post-content > section.alignfull {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.skip-link {
	position: fixed;
	z-index: 1000;
	top: 8px;
	left: 8px;
	padding: 10px 14px;
	border-radius: var(--radius-sm);
	background: var(--plum);
	color: var(--white);
	font-weight: 600;
	transform: translateY(-150%);
}

.skip-link:focus {
	transform: none;
}

/* Shared header — one template part on every page. */
.site-header {
	position: sticky;
	z-index: 40;
	top: 0;
	border-bottom: 1px solid color-mix(in oklch, #9b8791 40%, transparent);
	background: #fff;
	color: #1e141a;
	transition: box-shadow 220ms var(--ease);
}

.site-header.is-scrolled {
	box-shadow: var(--shadow-sm);
}

.site-header__inner {
	width: min(1200px, 100%);
	min-height: 84px;
	gap: 32px;
	margin-inline: auto;
	padding: 24px var(--gutter);
	transition: padding-block 220ms var(--ease);
}

.site-header.is-scrolled .site-header__inner {
	padding-block: 12px;
}

.site-header__brand {
	flex: 0 0 auto;
	line-height: 1;
}

.site-header__logo {
	width: auto;
	height: 58px;
	display: block;
}

.site-header__nav {
	flex: 1 1 auto;
	justify-content: flex-end;
}

.site-header__nav .wp-block-navigation__container {
	gap: 32px;
}

.site-header__nav .wp-block-navigation-item__content {
	padding-block: 8px;
	color: #1e141a;
	font-size: .9375rem;
	line-height: 1.3;
	text-decoration: none;
}

.site-header__nav .wp-block-navigation-item__content:hover,
.site-header__nav .current-menu-item > .wp-block-navigation-item__content,
.site-header__nav .current-menu-ancestor > .wp-block-navigation-item__content {
	color: #8a0e4a;
}

.site-header__nav .current-menu-item > .wp-block-navigation-item__content {
	font-weight: 600;
}

.site-header__cta {
	flex: 0 0 auto;
}

.site-header__cta .wp-block-button__link {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	padding: 10px 24px;
}

.site-header__cta .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	box-shadow: var(--shadow-accent);
	transform: translateY(-1px);
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
}

.site-header__nav .mobile-menu-cta,
.site-header__nav .mobile-menu-contact {
	display: none;
}

/* Gutenberg block output keeps the prototype class contract. */
.wp-block-group.section {
	margin: 0;
}

.wp-block-group.container {
	width: 100%;
}

.wp-block-group.container,
.wp-block-columns.container {
	width: min(100%, var(--site-content-width));
	max-width: var(--site-content-width);
	margin-inline: auto;
}

.wp-block-columns.grid-2,
.wp-block-columns.footer-grid {
	margin: 0;
}

.wp-block-columns.grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, var(--space-9));
	margin-inline: auto;
}

.wp-block-columns.grid-2 > .wp-block-column {
	min-width: 0;
}

.wp-block-button .wp-block-button__link {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform var(--dur-fast) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1.5px solid var(--magenta);
	background: transparent;
	color: var(--magenta-dark);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: color-mix(in oklch, var(--magenta) 6%, transparent);
	box-shadow: none;
}

.detail-hero .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--blush);
	color: var(--blush);
}

.detail-hero .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--blush);
	color: var(--magenta-dark);
}

.laskava-contact-form {
	color: var(--ink);
}

.laskava-contact-form.formcard,
.order .laskava-contact-form,
.contact-area .laskava-contact-form {
	padding: clamp(26px, 4vw, 44px);
	border-radius: 12px;
	background: var(--white);
	box-shadow: 0 16px 38px oklch(23% .06 350 / 15%);
}

.laskava-contact-form .laskava-hp {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.laskava-contact-form .form-message {
	margin-bottom: 20px;
	padding: 14px 16px;
	border-radius: 6px;
	background: var(--warm, var(--warm-neutral));
}

.laskava-contact-form .form-message--error {
	border: 1px solid color-mix(in oklch, #9c273c 48%, transparent);
	background: color-mix(in oklch, #9c273c 8%, var(--warm, var(--warm-neutral)));
}

.laskava-contact-form .formnote {
	margin-top: 14px;
	color: var(--muted);
	font-size: .9rem;
}

.laskava-contact-form .opt {
	color: var(--muted);
}

.laskava-contact-form .consent input {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
}

.hero-cta .wp-block-buttons,
.hero-cta.wp-block-buttons {
	margin: 0;
}

.hero .hero-actions.wp-block-buttons {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3, 12px);
}

.hero .hero-actions.wp-block-buttons > .wp-block-button {
	margin: 0;
}

.hero .hero-actions .wp-block-button__link {
	padding-inline: 16px;
}

@media (max-width: 1200px) {
	.hero .hero-actions .wp-block-button__link {
		padding-inline: 8px;
		font-size: .875rem;
	}
}

@media (min-width: 901px) {
	.method .method-grid {
		align-items: start;
	}

	.method .method-grid .view {
		padding-block: var(--space-8, 48px);
	}

	.method .method-grid .method-copy {
		align-self: start;
		height: fit-content;
		position: sticky;
		top: calc(84px + var(--space-6, 32px));
	}
}

.motto-hero,
.method-lead,
.contact-lead {
	margin-top: var(--space-5);
}

.motto-hero,
.method-motto {
	max-width: 44ch;
	font-size: 1.1rem;
	line-height: 1.45;
}

.motto-hero {
	padding-bottom: 1rem;
}

.method-motto,
.section-buttons {
	margin-top: var(--space-7);
}

.section-link {
	margin-top: var(--space-6);
}

.contact-heading {
	font-size: var(--fs-h1);
}

.testimonial-person-copy {
	gap: 0;
}

.testimonial-person-copy p {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--muted-text);
}

.testimonial-person .avatar {
	flex: 0 0 48px;
	margin: 0;
	color: var(--magenta-dark);
}

.stats > .wp-block-group > p:last-child {
	margin-top: var(--space-2);
	font-size: var(--fs-small);
	color: var(--muted-text);
}

.wp-block-image.photo,
.wp-block-image.diagram-card,
.wp-block-image.services-visual {
	margin: 0;
}

.wp-block-image.photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-quote.testimonial-quote {
	padding: 0;
	border: 0;
}

.wp-block-details.faq-item {
	border-bottom: 1px solid var(--color-border);
}

.wp-block-details.faq-item:first-child {
	border-top: 1px solid var(--color-border);
}

.wp-block-details.faq-item summary {
	min-height: 72px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-5);
	padding-block: var(--space-5);
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.35;
	list-style: none;
	cursor: pointer;
}

.wp-block-details.faq-item summary::-webkit-details-marker {
	display: none;
}

.wp-block-details.faq-item summary::after {
	content: "+";
	flex: 0 0 auto;
	color: var(--magenta-dark);
	font-family: var(--font-body);
	font-size: 1.5rem;
	font-weight: 400;
}

.wp-block-details.faq-item[open] summary::after {
	content: "−";
}

.wp-block-details.faq-item > :not(summary) {
	max-width: 62ch;
	padding-bottom: var(--space-5);
	color: var(--muted-text);
}

/* Footer core blocks. */
.footer .brand-footer {
	display: inline-block;
	max-width: 100%;
}

.footer .brand-footer .brand-logo {
	width: auto;
	max-width: 100%;
	height: 3.75rem;
	filter: brightness(0) invert(1);
	opacity: .94;
}

/* Complianz: hide unused TCF/marketing chrome on this Matomo-only site. */
.cmplz-cookiebanner .cmplz-categories .cmplz-preferences,
.cmplz-cookiebanner .cmplz-categories .cmplz-marketing,
.cmplz-cookiebanner .cmplz-manage-vendors,
.cmplz-cookiebanner .cmplz-manage-third-parties,
.cmplz-cookiebanner a.cmplz-link.cmplz-external.cmplz-read-more-purposes,
.cmplz-cookiebanner .cmplz-documents,
.cmplz-cookiebanner .cmplz-btn.cmplz-manage-options.tcf {
	display: none !important;
}

.legal-page {
	padding-block: clamp(3rem, 6vw, 5rem);
}

.legal-page h1 {
	max-width: 18ch;
}

.legal-page .lead {
	margin: 1rem 0 1.75rem;
	max-width: 62ch;
	color: var(--muted);
	font-family: var(--font-body, var(--body), Inter, system-ui, sans-serif);
	font-size: 1.05rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.65;
}

.legal-page h2 {
	margin-top: 2.25rem;
}

.legal-page .wp-block-buttons {
	margin: 1.25rem 0 0;
}

.legal-page .legal-updated {
	margin-top: 2.5rem;
	opacity: .75;
	font-size: .92rem;
}

/* Complianz cookie list on privacy management page */
.legal-page .cmplz-cookies-table,
.legal-page table.cmplz-table,
.legal-page .cookies-per-purpose {
	width: 100%;
	margin: 1.25rem 0 0;
	border-collapse: collapse;
	font-size: .95rem;
}

.legal-page .cmplz-cookies-table th,
.legal-page .cmplz-cookies-table td,
.legal-page table.cmplz-table th,
.legal-page table.cmplz-table td,
.legal-page .cookies-per-purpose th,
.legal-page .cookies-per-purpose td {
	padding: .7rem .55rem;
	border-bottom: 1px solid var(--border, #e8dde3);
	text-align: left;
	vertical-align: top;
}

.legal-page .cookies-per-purpose h3,
.legal-page .cmplz-service-name,
.legal-page .cmplz-purpose {
	margin: 1.75rem 0 .6rem;
	font-family: var(--font-display, var(--display), Georgia, serif);
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: -.02em;
}

.legal-page .cmplz-blocked-content-notice,
.legal-page .cmplz-hyperlink.cookie-statement,
.legal-page .cmplz-document-noscript {
	display: none !important;
}

.footer .footer-heading {
	margin: 0 0 var(--space-4);
	color: color-mix(in oklch, var(--blush) 70%, var(--plum));
	font-size: var(--fs-eyebrow);
	font-weight: 600;
	letter-spacing: .12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.footer .footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: var(--space-8);
}

.footer .footer-grid > .wp-block-column {
	min-width: 0;
}

.footer .wp-block-list {
	margin: 0;
}

.footer .footer-bottom {
	justify-content: flex-start;
}

.footer .footer-bottom p {
	margin: 0;
}

.mobilebar.wp-block-buttons {
	display: none !important;
	margin: 0;
}

.mobilebar > .wp-block-button {
	flex: 1;
}

.mobilebar .wp-block-button__link {
	width: 100%;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-inline: var(--space-3);
}

@media (max-width: 960px) {
	body:has(.wp-block-navigation__responsive-container.is-menu-open),
	body:has(.wp-block-navigation__responsive-container.is-menu-closing) {
		overflow: hidden;
	}

	.site-header:has(.wp-block-navigation__responsive-container.is-menu-open),
	.site-header:has(.wp-block-navigation__responsive-container.is-menu-closing) {
		z-index: 1000;
	}

	body:has(.wp-block-navigation__responsive-container.is-menu-open) .mobilebar,
	body:has(.wp-block-navigation__responsive-container.is-menu-closing) .mobilebar,
	body:has(.wp-block-navigation__responsive-container.is-menu-open) .cmplz-manage-consent,
	body:has(.wp-block-navigation__responsive-container.is-menu-closing) .cmplz-manage-consent {
		opacity: 0 !important;
		pointer-events: none !important;
	}

	.mobilebar.wp-block-buttons {
		display: flex !important;
	}

	.site-header__cta {
		display: none !important;
	}

	.site-header__nav {
		flex: 0 0 auto;
	}

	.site-header__nav .wp-block-navigation__responsive-container {
		position: fixed;
		z-index: 100;
		inset: 0;
		display: flex !important;
		width: 100%;
		height: auto;
		padding: 0 !important;
		background: rgb(44 15 34 / 0);
		visibility: hidden;
		pointer-events: none;
		transition:
			background-color 260ms cubic-bezier(.25, 1, .5, 1),
			visibility 0s linear 360ms;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open,
	.site-header__nav .wp-block-navigation__responsive-container.is-menu-closing {
		visibility: visible;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open {
		background: rgb(44 15 34 / 48%);
		pointer-events: auto;
		transition-delay: 0s;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-closing {
		background: rgb(44 15 34 / 0);
	}

	.site-header__nav .wp-block-navigation__responsive-close {
		position: absolute;
		inset-block: 0;
		left: 0;
		width: min(90vw, 28rem);
		max-width: 90%;
		height: auto;
		margin: 0 auto 0 0;
		padding: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--warm-neutral, var(--warm, #f7f2ef));
		box-shadow: 18px 0 40px rgb(44 15 34 / 18%);
		transform: translateX(-100%);
		transition: transform 340ms cubic-bezier(.22, 1, .36, 1);
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
		transform: translateX(0);
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-closing .wp-block-navigation__responsive-close {
		transform: translateX(-100%);
		transition-duration: 260ms;
	}

	.site-header__nav .wp-block-navigation__responsive-dialog {
		position: relative;
		height: 100%;
		min-height: 100%;
		display: flex;
		flex-direction: column;
		padding:
			calc(1rem + env(safe-area-inset-top))
			clamp(1.25rem, 6vw, 2rem)
			calc(2rem + env(safe-area-inset-bottom));
	}

	.site-header__nav .wp-block-navigation__responsive-dialog::before {
		content: "";
		width: 9.5rem;
		height: 4.25rem;
		background: url("../images/logo_laskava_menezeris.webp") left center / contain no-repeat;
	}

	.site-header__nav .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: calc(1rem + env(safe-area-inset-top));
		right: clamp(1.25rem, 6vw, 2rem);
		z-index: 2;
		display: flex;
		border: 1px solid color-mix(in oklch, var(--magenta) 24%, transparent);
		border-radius: 50%;
		background: color-mix(in oklch, var(--blush) 78%, transparent);
		color: var(--plum);
		transition:
			background-color var(--dur-fast),
			transform var(--dur-fast);
	}

	.site-header__nav .wp-block-navigation__responsive-container-close:active {
		transform: scale(.94);
	}

	.site-header__nav .wp-block-navigation__responsive-container-close:focus-visible,
	.site-header__nav .wp-block-navigation__responsive-container-open:focus-visible {
		outline: 2px solid var(--magenta);
		outline-offset: 3px;
	}

	.site-header__nav .wp-block-navigation__responsive-container-content {
		width: 100%;
		flex: 1;
		display: flex;
		flex-direction: column;
		padding-top: clamp(2rem, 8vh, 4.25rem) !important;
	}

	.site-header__nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
		width: 100%;
		align-items: stretch;
		gap: 0;
	}

	.site-header__nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item {
		width: 100%;
		border-bottom: 1px solid var(--color-border);
	}

	.site-header__nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		width: 100%;
		min-height: 52px;
		display: flex;
		align-items: center;
		padding-block: 11px;
		font-family: var(--font-display);
		font-size: clamp(1.55rem, 7vw, 2rem);
		line-height: 1.12;
	}

	.site-header__nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
	.site-header__nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content {
		color: var(--magenta-dark);
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
		display: none;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .site-header__services {
		display: block;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		position: static;
		inset: auto;
		width: 100%;
		height: auto;
		min-width: 0;
		display: grid;
		gap: 0;
		align-self: stretch;
		align-items: stretch;
		margin: 0;
		padding: 0 0 12px 18px;
		border: 0;
		background: transparent;
		opacity: 1;
		visibility: visible;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
		width: 100%;
		display: block;
		border: 0;
	}

	.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		width: 100%;
		min-height: 44px;
		display: flex;
		align-items: center;
		padding-block: 8px;
		font-family: var(--font-body);
		font-size: 1rem;
		font-weight: 500;
		line-height: 1.35;
		color: var(--muted-text, var(--muted));
	}

	.site-header__nav .mobile-menu-cta,
	.site-header__nav .mobile-menu-contact {
		display: flex;
		border-bottom: 0 !important;
	}

	.site-header__nav .mobile-menu-cta {
		margin-top: clamp(1.5rem, 5vh, 2.5rem);
	}

	.site-header__nav .mobile-menu-cta > .wp-block-navigation-item__content {
		min-height: 52px !important;
		justify-content: center;
		padding: 12px 18px !important;
		border-radius: var(--radius-md);
		background: var(--magenta);
		color: var(--white) !important;
		font-family: var(--font-body) !important;
		font-size: 1rem !important;
		font-weight: 700;
		letter-spacing: 0;
		box-shadow: var(--shadow-accent);
	}

	.site-header__nav .mobile-menu-contact {
		justify-content: center;
	}

	.site-header__nav .mobile-menu-contact > .wp-block-navigation-item__content {
		min-height: 44px !important;
		justify-content: center;
		padding: 12px 0 0 !important;
		color: var(--magenta-dark) !important;
		font-family: var(--font-body) !important;
		font-size: .875rem !important;
		font-weight: 600;
		text-align: center;
	}

	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

.wp-block-gallery.practice-gallery-grid {
	display: grid;
	grid-template-columns: 1.22fr .78fr .98fr;
	grid-template-rows: clamp(11rem, 22vw, 17rem) clamp(8rem, 17vw, 13rem);
	gap: var(--space-3);
}

.wp-block-gallery.practice-gallery-grid > .wp-block-image {
	width: auto !important;
	max-width: none !important;
	flex: none !important;
}

@media (max-width: 800px) {
	.wp-block-gallery.practice-gallery-grid {
		grid-template-columns: 1.1fr .9fr;
		grid-template-rows: clamp(11rem, 42vw, 17rem) clamp(8rem, 31vw, 13rem);
	}
}

@media (max-width: 520px) {
	.wp-block-gallery.practice-gallery-grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 10rem 10rem 8rem;
	}
}

@media (max-width: 900px) {
	.wp-block-columns.grid-2 {
		grid-template-columns: 1fr;
	}

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

@media (max-width: 580px) {
	.site-header__inner {
		min-height: 70px;
		padding-block: 13px;
	}

	.site-header.is-scrolled .site-header__inner {
		padding-block: 10px;
	}

	.site-header__logo {
		height: 48px;
	}

	.site-header__nav .wp-block-navigation__responsive-dialog {
		padding-inline: 1.25rem;
	}

	.site-header__nav .wp-block-navigation__responsive-container-close {
		right: 1.25rem;
	}

	.footer .footer-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.footer .footer-web-column,
	.footer .footer-contact-column {
		margin-top: var(--space-7);
		padding-block: 1rem;
	}

	.footer .footer-brand-column .entity {
		margin-bottom: 0;
	}

	.footer .footer-heading {
		margin-bottom: var(--space-5);
	}

	.footer .footer-web-column > .wp-block-list,
	.footer .footer-web-column .wp-block-list ul {
		display: grid;
		gap: var(--space-3);
		margin: 0;
	}

	.footer .footer-web-column .wp-block-list li {
		display: grid;
		gap: var(--space-3);
	}

	.footer .footer-web-column .wp-block-list a {
		display: block;
	}

	.footer .footer-web-column .wp-block-list li,
	.footer .footer-web-column .wp-block-list li + li {
		margin: 0;
	}

	.footer .footer-web-column .wp-block-list ul {
		padding-left: var(--space-4);
	}
}

/* Shared entrance motion for every page pattern. */
@media (prefers-reduced-motion: no-preference) {
	.reveal {
		opacity: 0;
		transform: translateY(14px);
		transition:
			opacity 520ms cubic-bezier(.22, 1, .36, 1),
			transform 520ms cubic-bezier(.22, 1, .36, 1);
		transition-delay: var(--reveal-delay, 0ms);
	}

	.reveal-delay-1 {
		--reveal-delay: 60ms;
	}

	.reveal-delay-2 {
		--reveal-delay: 140ms;
	}

	.reveal-delay-3 {
		--reveal-delay: 220ms;
	}

	.reveal.is-in {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.site-header,
	.site-header__inner,
	.wp-block-navigation__responsive-container,
	.wp-block-navigation__responsive-close,
	.wp-block-navigation__responsive-container-close,
	.wp-block-button__link,
	.slider-track {
		transition: none !important;
	}
}

@media print {
	.site-header {
		position: static;
		box-shadow: none !important;
	}

	.mobilebar,
	.wp-block-navigation__responsive-container-open {
		display: none !important;
	}
}

/* Editor: preserve the same page canvas without sticky/fixed chrome. */
.editor-styles-wrapper .site-header,
.editor-styles-wrapper .services-intro,
.editor-styles-wrapper .faq-intro,
.editor-styles-wrapper .audit-proof {
	position: static;
}

.editor-styles-wrapper .reveal {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

.editor-styles-wrapper .mobilebar {
	position: static;
	display: flex;
}

.editor-styles-wrapper .is-root-container > .alignfull {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

/* Method page: expands the approved homepage motif without changing its language. */
.method-page-hero h1 {
	max-width: 14ch;
}

.method-page-hero .method-copy {
	max-width: 48ch;
}

.method-page-intro {
	margin-bottom: var(--space-8);
	max-width: 54rem;
}

.method-view-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-5);
}

.method-view-card {
	position: relative;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
}

.method-view-card::before {
	content: "";
	display: block;
	width: 3rem;
	height: 3px;
	margin-bottom: var(--space-6);
	background: var(--magenta);
}

.method-view-card:nth-child(2)::before {
	background: var(--plum);
}

.method-view-card:nth-child(3)::before {
	background: var(--magenta-dark);
}

.method-view-number {
	margin-bottom: var(--space-3);
	font-family: var(--font-display);
	font-size: 1.1rem;
	font-style: italic;
	color: var(--muted-text);
}

.method-view-card h2 {
	margin-bottom: var(--space-4);
	font-size: var(--fs-h3);
}

.method-view-card p:last-child {
	color: var(--muted-text);
}

.method-page-result {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: start;
}

.method-page-result .lead {
	color: var(--color-muted);
}

.method-result-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--color-border);
}

.method-result-list li {
	padding: var(--space-5) 0;
	border-bottom: 1px solid var(--color-border);
	font-size: var(--fs-lead);
}

.method-result-list strong {
	display: block;
	margin-bottom: var(--space-1);
	font-family: var(--font-display);
	font-weight: 500;
}

.method-page-cta {
	text-align: left;
}

.method-cta-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(21rem, .95fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: center;
}

.method-page-cta h2,
.method-page-cta .lead {
	max-width: 48rem;
	margin-inline: 0;
}

.method-page-cta .lead {
	margin-top: var(--space-5);
}

.method-page-cta .wp-block-buttons {
	justify-content: flex-start;
	margin-top: var(--space-6);
}

.method-cta-photo {
	margin: 0;
}

.method-cta-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: center;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
}

@media (max-width: 900px) {
	.method-view-grid,
	.method-page-result,
	.method-cta-layout {
		grid-template-columns: 1fr;
	}
}
