/* Presentation for native WordPress block styles; shared by front end and editor. */
:where(img[src$="/client-placeholder.svg"], img[src*="/assets/images/generated/"]) {
	aspect-ratio: var(--oa-placeholder-ratio);
}

:where(img[src$="/generated/ai-justice-statue.png"]) {
	object-fit: contain;
}

:root {
	--oa-type-section-title: clamp(2.25rem, 0.0957447rem + 4.2553191vw, 3.5rem);
	--oa-space-section: clamp(4rem, -3.3244681rem + 14.4680851vw, 8.25rem);
	--oa-space-criteria: clamp(3.5rem, -4.6861702rem + 16.1702128vw, 8.25rem);
	--oa-fluid-row-gap: clamp(2rem, 1.4057143rem + 2.4380952vw, 4rem);
	--oa-fluid-row-title: clamp(1.75rem, 1.6144286rem + 0.5561905vw, 2.5rem);
	--oa-fluid-case-title: clamp(2.25rem, 1.6928571rem + 2.2857143vw, 3.75rem);
	--oa-fluid-reading-title: clamp(1.75rem, 1.6571429rem + 0.3809524vw, 2rem);
	--oa-fluid-area-title: clamp(2rem, 1.74rem + 1.0666667vw, 2.75rem);
	--oa-fluid-criteria-gap: clamp(2rem, 1.0714286rem + 3.8095238vw, 5rem);
	--oa-fluid-section-gap: clamp(2rem, 0.7371429rem + 5.1809524vw, 6rem);
	--oa-fluid-form-padding: clamp(1.25rem, 0.7857143rem + 1.9047619vw, 2.5rem);
	--oa-fluid-footer-title: clamp(2rem, 1.4428571rem + 2.2857143vw, 3.5rem);
	--oa-fluid-gallery-height: clamp(
		20rem,
		calc((100vw - 3rem) * 0.2985),
		47.5rem
	);
	--oa-fluid-legal-title: clamp(2.625rem, 1.4rem + 4.25vw, 5rem);
	--oa-fluid-legal-lead: clamp(1.25rem, 1.05rem + 1vw, 1.875rem);
	--oa-fluid-legal-heading: clamp(1.625rem, 1.35rem + 1vw, 2.25rem);
	--oa-color-blue: var(--wp--preset--color--blue-grey);
	--oa-color-action-hover: var(--wp--preset--color--accent-hover);
	--oa-color-white: var(--wp--preset--color--surface);
	--oa-color-dark: var(--wp--preset--color--ink);
	--oa-color-action: var(--wp--preset--color--accent);
	--oa-color-heading: var(--wp--preset--color--ink);
	--oa-color-body: var(--wp--preset--color--anthracite);
	--oa-color-olive: var(--wp--preset--color--accent);
	--oa-color-border: var(--wp--preset--color--line);
	--oa-color-border-subtle: var(--wp--preset--color--line);
	--oa-color-light-text: var(--wp--preset--color--surface);
	--oa-color-muted-surface: var(--wp--preset--color--accent-soft);
	--oa-color-raised-surface: var(--wp--preset--color--accent-soft);
	--oa-color-scrim: var(--wp--preset--color--anthracite);
	--oa-color-case-accent: var(--wp--preset--color--accent);
	--oa-color-editorial-accent: var(--wp--preset--color--accent);
	--oliver-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6'/%3E%3C/svg%3E");
	scrollbar-color: var(--wp--preset--color--muted)
		var(--wp--preset--color--canvas);
	scroll-padding-block-start: 2rem;
	overflow-wrap: break-word;
	--oa-space-areas: clamp(4rem, -2.0319149rem + 11.9148936vw, 7.5rem);
}
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

::selection {
	background: var(--oa-color-action);
	color: var(--oa-color-white);
}
.is-style-jurista-footer ::selection,
.is-style-jurista-criteria-section ::selection,
.has-accent-background-color ::selection,
.has-ink-background-color ::selection {
	background: var(--oa-color-white);
	color: var(--oa-color-action);
}
input,
textarea {
	caret-color: var(--wp--preset--color--accent);
}
input[type="checkbox"],
input[type="radio"] {
	accent-color: var(--wp--preset--color--accent);
}
h1,
h2,
h3 {
	text-wrap: balance;
	font-optical-sizing: auto;
}
.wp-block-query-title,
.wp-block-post-title {
	overflow-wrap: anywhere;
}
p {
	text-wrap: pretty;
}
/* Saved native text colors follow reading roles within each ivory surface. */
@scope (:root, .has-canvas-background-color, .has-surface-background-color, .has-cream-background-color, .has-accent-soft-background-color, .has-error-soft-background-color, .is-style-home-contact .wp-block-column:last-child, .is-style-contact-page-columns, .is-style-home-case-preview-back) to (.has-background, .wp-block-cover, .is-style-jurista-criteria-section, .is-style-jurista-footer, .is-style-brand-footer, .is-style-home-contact, .is-style-home-case-preview-front, .is-style-case-detail-panel) {
	p:not(.has-lead-font-size, .is-style-jurista-about-lead, .is-style-editorial-introduction, .is-style-jurista-about-label, .is-style-jurista-areas-label, .is-style-home-faq-kicker, .wp-block-site-title, .is-style-legal-meta p, .is-style-practice-profile > p, .is-style-contact-page-name p:last-child, .is-style-case-narrative > h2 + p),
	.wp-block-list,
	.wp-block-post-content :is(ul, ol):not(.wp-block-navigation ul, .wp-block-navigation ol) {
		color: var(--oa-color-body) !important;
	}
	:is(.has-lead-font-size, .is-style-jurista-about-lead, .is-style-editorial-introduction, .is-style-case-narrative > h2 + p) {
		color: var(--oa-color-heading) !important;
	}
}
@scope (.has-anthracite-background-color) to (.has-background, .wp-element-button, .wp-block-button__link) {
	:scope {
		color: var(--oa-color-blue);
	}
	:scope a:where(:not(.wp-element-button, .wp-block-button__link)) {
		color: var(--oa-color-blue);
	}
	:is(a, button, summary):focus-visible {
		outline-color: var(--oa-color-blue);
	}
	::selection {
		background: var(--oa-color-blue);
		color: var(--wp--preset--color--anthracite);
	}
}
@scope (.has-anthracite-background-color) to (.has-background) {
	:is(.wp-element-button, .wp-block-button__link):focus-visible {
		outline-color: currentColor;
	}
	:is(.wp-element-button, .wp-block-button__link)::selection {
		background: var(--oa-color-white);
		color: var(--oa-color-action);
	}
}
/* Separate the roles of introduction, collection title, and reading text. */
.has-lead-font-size {
	line-height: 1.55;
}
.wp-block-post-template .wp-block-post-title {
	font-size: var(--wp--preset--font-size--card-title);
	font-weight: 500;
	line-height: 1.22;
	letter-spacing: -0.015em;
}
.wp-block-post-terms,
.wp-block-post-date {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}
.wp-block-post-terms {
	font-weight: 500;
}
.wp-block-post-content:not(.is-style-case-summary) > :is(p, ul, ol) {
	max-inline-size: 70ch;
}
img {
	max-inline-size: 100%;
}
.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer {
	margin-block-start: 0;
}
.wp-block-group[id] {
	scroll-margin-block-start: 2rem;
}
.wp-block-button__link {
	min-block-size: 48px;
	box-sizing: border-box;
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 0;
	padding-inline: 0;
	background: var(--wp--preset--color--anthracite);
	color: var(--oa-color-white);
	text-decoration: underline;
	text-underline-offset: 0.45em;
	text-decoration-thickness: 1px;
}
@media (hover: hover) and (pointer: fine) {
	.wp-block-button.is-style-outline > .wp-block-button__link:hover {
		background: var(--oa-color-blue);
		color: var(--wp--preset--color--anthracite);
	}
}
/* One masthead for every template: the brand bar is the default, and only the
   photographic pages lift it over the image. Both share the same measures. */
/* `.wp-site-blocks` sube la especificidad a (0-2-0) para ganar a `.has-global-padding` de
   WordPress, que se imprime despues con la misma especificidad y reescribe padding-inline. */
.wp-site-blocks .is-style-brand-header {
	background: var(--oa-color-white);
	color: var(--oa-color-dark);
	border-block-end: 1px solid var(--oa-color-border);
	padding-block: 24px;
	padding-inline: 40px;
	/* La variante la decide el contenedor del header; todo lo demás se declara una sola vez. */
	--oa-header-cta-bg: var(--oa-color-action);
	--oa-header-cta-fg: var(--oa-color-white);
	--oa-header-cta-bg-hover: var(--oa-color-action-hover);
}
.is-style-brand-header .wp-block-site-title a {
	color: inherit;
	text-decoration: none;
}
/* Jurista caps the padded container at 1920px: 1840px content + 40px per side.
   `!important` imprescindible: `.is-layout-constrained > .alignwide` de WordPress empata
   en especificidad (0-2-0), así que sin esto gana la hoja que se imprima después y la
   cabecera mide 1160px en unas plantillas y 1840px en otras. La medida no puede depender
   del orden de impresión de las hojas de estilo. */
.wp-site-blocks .is-style-brand-header > .wp-block-group {
	max-inline-size: 1840px !important;
	margin-inline: auto;
	min-block-size: 53.6px;
	gap: 2rem;
}
.is-style-brand-header .wp-block-site-title {
	font-family: "OA Hero Fraunces", serif;
	font-weight: 300;
	font-size: 28px;
	letter-spacing: -0.04em;
}
:is(.is-style-brand-header, .is-style-jurista-footer) .wp-block-site-title:has(.oa-site-wordmark) {
	line-height: 0;
}
:is(.is-style-brand-header, .is-style-jurista-footer) .oa-site-wordmark {
	display: block;
	font-size: 0;
	line-height: 0;
	letter-spacing: 0;
}
:is(.is-style-brand-header, .is-style-jurista-footer) .oa-site-wordmark::before {
	content: "";
	display: block;
	inline-size: 100%;
	aspect-ratio: 813/226;
	background: currentColor;
	mask: url("../images/juanoliver.svg") center / contain no-repeat;
}
.is-style-brand-header .oa-site-wordmark {
	inline-size: 168px;
	min-block-size: 44px;
}
.is-style-jurista-footer .oa-site-wordmark {
	inline-size: 100%;
}
@media (forced-colors: active) {
	:is(.is-style-brand-header, .is-style-jurista-footer) .oa-site-wordmark::before {
		forced-color-adjust: none;
		background: CanvasText;
	}
}
.is-style-brand-header .wp-block-navigation {
	flex-grow: 1;
	color: var(--oa-color-dark);
	font-family: "OA Hero DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 500;
}
.is-style-brand-header .wp-block-navigation__container {
	gap: 24px;
}
.is-style-brand-header .wp-block-navigation-item a {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;
}
.is-style-brand-header .wp-block-navigation__responsive-container-open {
	min-inline-size: 44px;
	min-block-size: 44px;
	justify-content: center;
	align-items: center;
}
.is-style-brand-header
	.wp-block-navigation__responsive-container:not(.is-menu-open),
.is-style-brand-header
	.wp-block-navigation__responsive-container:not(.is-menu-open)
	.wp-block-navigation__container {
	inline-size: 100%;
}
.is-style-brand-header
	.wp-block-navigation__responsive-container:not(.is-menu-open)
	.wp-block-navigation__container > .wp-block-navigation-item:first-child {
	margin-inline-start: auto;
}
@media (hover: hover) and (pointer: fine) {
	.is-style-brand-header .wp-block-navigation-item:not(:last-child) a:hover {
		text-decoration: underline;
		text-underline-offset: 4px;
	}
}
.is-style-brand-header
	.wp-block-navigation__responsive-container:not(.is-menu-open)
	.wp-block-navigation-item.is-style-header-contact {
	margin-inline-start: auto;
}
.is-style-brand-header
	.wp-block-navigation__responsive-container:not(.is-menu-open)
	.wp-block-navigation-item.is-style-header-contact
	a {
	box-sizing: border-box;
	padding-block: 18px;
	padding-inline: 24px;
	min-block-size: 53.6px;
	line-height: 1.1;
	background: var(--oa-header-cta-bg);
	color: var(--oa-header-cta-fg);
	text-decoration: none;
	gap: 12px;
}
.is-style-brand-header
	.wp-block-navigation__responsive-container:not(.is-menu-open)
	.wp-block-navigation-item.is-style-header-contact
	a::after,
.is-style-home-hero .wp-block-button:not(.is-style-outline) > a::after {
	content: "";
	inline-size: 12px;
	block-size: 12px;
	flex-shrink: 0;
	background: currentColor;
	mask: url("../images/hero-arrow-diagonal.svg") center / contain no-repeat;
	/* Two clipped copies slide down-left, as in the Jurista button. */
	mask-image:
		url("../images/hero-arrow-diagonal.svg"),
		url("../images/hero-arrow-diagonal.svg");
	mask-size: 12px 12px;
	mask-position:
		0px 0px,
		16px -16px;
}
@media (prefers-reduced-motion: no-preference) {
	.is-style-brand-header
		.wp-block-navigation__responsive-container:not(.is-menu-open)
		.wp-block-navigation-item.is-style-header-contact
		a::after,
	.is-style-home-hero .wp-block-button:not(.is-style-outline) > a::after {
		transition: mask-position 400ms cubic-bezier(0.16, 1, 0.3, 1);
	}
}
.is-style-brand-header
	.wp-block-navigation__responsive-container:not(.is-menu-open)
	.wp-block-navigation-item.is-style-header-contact
	a:focus-visible {
	background: var(--oa-header-cta-bg-hover);
	color: var(--oa-header-cta-fg);
}
.is-style-brand-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--oa-color-action) !important;
	color: var(--oa-color-white) !important;
	padding-block: 24px max(24px, env(safe-area-inset-bottom));
	padding-inline: 20px;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
	display: flex;
	flex-direction: column;
	min-block-size: calc(100dvh - 48px - env(safe-area-inset-bottom));
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "";
	inline-size: 168px;
	block-size: 44px;
	flex-shrink: 0;
	background: currentColor;
	mask: url("../images/juanoliver.svg") center / contain no-repeat;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	flex: 1;
	align-items: stretch;
	margin-block-start: 16px;
	border-block-start: 1px solid currentColor;
	padding-block: clamp(48px, 10dvh, 88px) 0;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	flex: 1;
	align-items: stretch;
	inline-size: 100%;
	gap: 32px;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	align-items: stretch;
	inline-size: 100%;
	font-family: "OA Hero Fraunces", serif;
	font-size: clamp(2rem, 1.1rem + 4vw, 2.75rem);
	font-weight: 300;
	line-height: 1.2;
	text-align: start;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	inline-size: 100%;
	min-block-size: 48px;
	color: inherit;
	font: inherit;
	text-align: start;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle svg {
	display: none;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle::after {
	content: "";
	inline-size: 24px;
	block-size: 24px;
	background: currentColor;
	clip-path: polygon(0 46%, 46% 46%, 46% 0, 54% 0, 54% 46%, 100% 46%, 100% 54%, 54% 54%, 54% 100%, 46% 100%, 46% 54%, 0 54%);
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded="true"]::after {
	clip-path: inset(46% 0);
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	display: none;
	align-items: stretch;
	inline-size: 100%;
	padding-block: 12px 0;
	padding-inline: 20px 0;
	border: 0;
	background: transparent;
	color: inherit;
	gap: 4px;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	display: flex;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a {
	justify-content: flex-start;
	padding-inline: 0;
	min-block-size: 48px;
	font-family: "OA Hero DM Sans", sans-serif;
	font-size: 20px;
	color: inherit;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item {
	align-items: stretch;
	inline-size: 100%;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.is-style-header-contact {
	margin-block-start: auto;
	padding-block-start: 48px;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .is-style-header-contact a {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	box-sizing: border-box;
	min-block-size: 64px;
	padding-block: 20px;
	padding-inline: 24px;
	background: var(--oa-color-white);
	color: var(--oa-color-action);
	font-family: "OA Hero DM Sans", sans-serif;
	font-size: 20px;
	line-height: 1.2;
	text-decoration: none;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .is-style-header-contact a::after {
	content: "";
	inline-size: 20px;
	block-size: 20px;
	flex-shrink: 0;
	background: currentColor;
	mask: url("../images/hero-arrow-diagonal.svg") center / contain no-repeat;
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open :is(a, button):active {
	opacity: 0.8;
}
.is-style-brand-header
	.is-menu-open
	:is(
		.wp-block-navigation-item a,
		.wp-block-navigation__responsive-container-close
	) {
	color: var(--oa-color-white);
}
.is-style-brand-header .wp-block-navigation__responsive-container-close {
	min-inline-size: 44px;
	min-block-size: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.is-style-brand-header :is(a, button):focus-visible {
	outline-color: var(--oa-color-dark);
}
.is-style-brand-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open :is(a, button):focus-visible {
	outline-color: var(--oa-color-white);
}
.is-style-home-hero :is(a, button):focus-visible {
	outline-color: var(--wp--preset--color--cream);
}
/* The home and practice headers share the photographic first viewport. */
@font-face {
	font-family: "OA Hero Fraunces";
	src: url("../fonts/fraunces-300.woff2") format("woff2");
	font-style: normal;
	font-weight: 300;
	font-display: swap;
}
@font-face {
	font-family: "OA Hero DM Sans";
	src: url("../fonts/dm-sans-400.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}
@font-face {
	font-family: "OA Hero DM Sans";
	src: url("../fonts/dm-sans-500.woff2") format("woff2");
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}
.wp-site-blocks:has(> .home-header) {
	position: relative;
}
:is(.home-header, .practice-header) {
	position: absolute;
	inset-block: 0 auto;
	inset-inline: 0;
	z-index: 5;
}
:is(.home-header, .practice-header) .is-style-brand-header {
	background: transparent !important;
	color: var(--oa-color-white) !important;
	border-block-end: 1px solid
		var(--oa-color-white) !important;
	--oa-header-cta-bg: var(--oa-color-white);
	--oa-header-cta-fg: var(--oa-color-dark);
	--oa-header-cta-bg-hover: var(--oa-color-muted-surface);
}
:is(.home-header, .practice-header)
	.is-style-brand-header
	.wp-block-navigation {
	color: var(--oa-color-white) !important;
}
:is(.home-header, .practice-header)
	.is-style-brand-header
	:is(a, button):focus-visible {
	outline-color: var(--oa-color-white);
}
.is-style-home-hero {
	min-block-size: 100svh;
	box-sizing: border-box;
	padding-block: 172px 48px !important;
	padding-inline: 40px !important;
	color: var(--oa-color-white);
	background: var(--oa-color-dark);
	font-family: "OA Hero DM Sans", sans-serif;
}
.is-style-home-hero > .wp-block-cover__image-background, .is-style-home-hero > .oa-client-picture > .wp-block-cover__image-background {
	object-position: center;
}
.is-style-home-hero > .wp-block-cover__background {
	opacity: 1 !important;
	background:
		linear-gradient(
			90deg,
			color-mix(in oklch, var(--oa-color-scrim) 85%, transparent) 0%,
			color-mix(in oklch, var(--oa-color-scrim) 0%, transparent) 66.0174%
		),
		linear-gradient(
			color-mix(in oklch, var(--oa-color-scrim) 70%, transparent),
			color-mix(in oklch, var(--oa-color-scrim) 70%, transparent)
		) !important;
}
.is-style-home-hero > .wp-block-cover__inner-container {
	inline-size: 100%;
	max-inline-size: 1840px;
	margin-inline: auto;
}
.is-style-home-hero .is-style-home-hero-layout {
	min-block-size: calc(100svh - 220px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 64px;
}
.is-style-home-hero .is-style-home-hero-headline {
	inline-size: 648px;
	max-inline-size: 100%;
	margin-block: auto;
}
.is-style-home-hero .is-style-home-hero-headline > * {
	margin-block: 0;
}
.is-style-home-hero h1 {
	max-inline-size: none;
	font-family: "OA Hero Fraunces", serif;
	font-weight: 300;
	--oa-type-fluid: clamp(3rem, -1.3085106rem + 8.5106383vw, 5.5rem);
	font-size: var(--oa-type-fluid);
	line-height: 1.1;
	letter-spacing: -0.06em;
	text-wrap: initial;
	color: var(--oa-color-white);
}
.is-style-home-hero .has-lead-font-size {
	max-inline-size: none;
	margin-block-start: 16px;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 400;
	color: var(--oa-color-light-text);
	text-wrap: initial;
}
.is-style-home-hero .wp-block-buttons {
	gap: 20px;
	margin-block-start: 32px;
}
/* The home hero owns its button spacing; every other hero keeps the shared separation. */
.is-style-home-hero-layout .wp-block-buttons {
	margin-block: 0 24px;
}
.is-style-home-hero .wp-element-button {
	padding-block: 18px;
	padding-inline: 24px;
	min-block-size: 53.6px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.1;
	border: 0;
	color: var(--oa-color-dark);
	background: var(--oa-color-white);
}
.is-style-home-hero .wp-block-button:not(.is-style-outline) > a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}
.is-style-home-hero .wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--anthracite);
	padding-block: 18px;
	padding-inline: 24px;
	color: var(--oa-color-white);
	background: var(--wp--preset--color--anthracite);
	text-decoration: none;
}
.is-style-home-hero .wp-element-button:focus-visible {
	color: var(--oa-color-dark);
	background: var(--oa-color-muted-surface);
}
.is-style-home-hero
	.wp-block-button.is-style-outline
	> .wp-block-button__link:focus-visible {
	color: var(--oa-color-white);
	background: var(--wp--preset--color--anthracite);
}
.is-style-home-hero :is(a, button):focus-visible {
	outline: 2px solid var(--oa-color-white);
	outline-offset: 4px;
}
.is-style-home-hero .is-style-home-hero-footer {
	inline-size: 100%;
	margin-block: 0;
}
.is-style-home-hero .is-style-home-hero-footer > * {
	margin-block-start: 0;
}
.is-style-home-hero .is-style-home-hero-bottom {
	border-block-start: 1px solid
		var(--oa-color-white);
	padding-block-start: 24px;
	display: grid;
	grid-template-columns: calc(50% - 24px) 320px 1fr;
	gap: 24px;
	align-items: start;
}
.is-style-home-hero .is-style-home-hero-bottom > * {
	margin-block: 0;
	margin-inline: 0;
}
.is-style-home-hero .is-style-home-hero-areas {
	font-size: 16px;
	font-weight: 500;
}
.is-style-home-hero .is-style-home-hero-areas .wp-block-navigation__container {
	gap: 24px;
}
.is-style-home-hero .is-style-home-hero-areas a {
	position: relative;
	display: inline-flex;
	gap: 8px;
	align-items: center;
	min-block-size: 44px;
	color: var(--oa-color-white);
	text-decoration: none;
}
.is-style-home-hero .is-style-home-hero-areas a::before {
	content: "";
	position: absolute;
	inset-block: auto 6px;
	inset-inline: 0;
	block-size: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
}
@media (prefers-reduced-motion: no-preference) {
	.is-style-home-hero .is-style-home-hero-areas a::before {
		transition: transform 400ms cubic-bezier(0.16, 1, 0.3, 1);
	}
}
.is-style-home-hero .is-style-home-hero-areas a::after {
	content: "";
	inline-size: 18px;
	block-size: 18px;
	flex-shrink: 0;
	background: currentColor;
	mask: var(--oliver-arrow) center / contain no-repeat;
}
@media (prefers-reduced-motion: no-preference) {
	.is-style-home-hero .is-style-home-hero-areas a::after {
		transition: transform 400ms cubic-bezier(0.16, 1, 0.3, 1);
	}
}
.is-style-home-hero .is-style-home-hero-note {
	font-size: 16px;
	line-height: 1.3;
	color: var(--oa-color-light-text);
}
.is-style-home-hero .is-style-home-hero-scroll {
	justify-self: end;
}
.is-style-home-hero .is-style-home-hero-scroll a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-block-size: 44px;
	color: var(--oa-color-white);
	font-size: 14px;
	text-transform: uppercase;
	text-decoration: none;
}
.is-style-home-hero .is-style-home-hero-scroll a::after {
	content: "";
	inline-size: 24px;
	block-size: 24px;
	flex-shrink: 0;
	background: currentColor;
	mask: url("../images/hero-arrow-down.svg") center / contain no-repeat;
	mask-image:
		url("../images/hero-arrow-down.svg"), url("../images/hero-arrow-down.svg");
	mask-size: 24px 24px;
	mask-position:
		0px 0px,
		0px -28px;
}
@media (prefers-reduced-motion: no-preference) {
	.is-style-home-hero .is-style-home-hero-scroll a::after {
		transition: mask-position 400ms cubic-bezier(0.16, 1, 0.3, 1);
	}
}
.is-style-brand-header
	.wp-block-navigation__responsive-container:not(.is-menu-open)
	.wp-block-navigation-item.is-style-header-contact
	a:focus-visible::after,
.is-style-home-hero
	.wp-block-button:not(.is-style-outline)
	> a:focus-visible::after {
	mask-position:
		-16px 16px,
		0px 0px;
}
.is-style-home-hero .is-style-home-hero-areas a:focus-visible::before {
	transform: scaleX(1);
}
.is-style-home-hero .is-style-home-hero-areas a:focus-visible::after {
	transform: rotate(-45deg);
}
.is-style-home-hero .is-style-home-hero-scroll a:focus-visible::after {
	mask-position:
		0px 28px,
		0px 0px;
}
@media (hover: hover) and (pointer: fine) {
	.is-style-brand-header
		.wp-block-navigation__responsive-container:not(.is-menu-open)
		.wp-block-navigation-item.is-style-header-contact
		a:hover {
		background: var(--oa-header-cta-bg-hover);
		color: var(--oa-header-cta-fg);
	}
	.is-style-home-hero .wp-element-button:hover {
		background: var(--oa-color-muted-surface);
		color: var(--oa-color-dark);
	}
	.is-style-home-hero
		.wp-block-button.is-style-outline
		> .wp-block-button__link:hover {
		background: var(--oa-color-blue);
		color: var(--wp--preset--color--anthracite);
	}
	.is-style-brand-header
		.wp-block-navigation__responsive-container:not(.is-menu-open)
		.wp-block-navigation-item.is-style-header-contact
		a:hover::after,
	.is-style-home-hero .wp-block-button:not(.is-style-outline) > a:hover::after {
		mask-position:
			-16px 16px,
			0px 0px;
	}
	.is-style-home-hero .is-style-home-hero-areas a:hover::before {
		transform: scaleX(1);
	}
	.is-style-home-hero .is-style-home-hero-areas a:hover::after {
		transform: rotate(-45deg);
	}
	.is-style-home-hero .is-style-home-hero-scroll a:hover::after {
		mask-position:
			0px 28px,
			0px 0px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.is-style-brand-header
		.wp-block-navigation__responsive-container:not(.is-menu-open)
		.wp-block-navigation-item.is-style-header-contact
		a,
	.is-style-home-hero .wp-element-button {
		transition-duration: 100ms;
	}
	.is-style-brand-header
		.wp-block-navigation__responsive-container:not(.is-menu-open)
		.wp-block-navigation-item.is-style-header-contact
		a::after,
	.is-style-home-hero .wp-block-button:not(.is-style-outline) > a::after,
	.is-style-home-hero .is-style-home-hero-scroll a::after {
		mask-position:
			0px 0px,
			0px -28px !important;
		transition: none;
	}
	.is-style-home-hero .is-style-home-hero-areas a::before,
	.is-style-home-hero .is-style-home-hero-areas a::after {
		transition: none;
	}
	.is-style-home-hero .is-style-home-hero-areas a::after {
		transform: none !important;
	}
}
/*
 * Jurista appear, measured from the reference's Framer appear config:
 * the photograph settles from 1.2, the title and paragraph rise 40px after
 * 400ms, and the lower rows rise 20px at 200-400ms. Each hero runs this
 * once on page entry.
 */
@keyframes oa-appear-rise {
	from {
		opacity: 0;
		transform: translateY(var(--oa-appear-y, 20px));
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes oa-appear-settle {
	from {
		transform: scale(1.2);
	}
	to {
		transform: scale(1);
	}
}
@media (prefers-reduced-motion: no-preference) {
	.wp-site-blocks
		:is(.is-style-home-hero, .is-style-practice-hero)
		> .wp-block-cover__image-background, .wp-site-blocks
		:is(.is-style-home-hero, .is-style-practice-hero)
		> .oa-client-picture > .wp-block-cover__image-background {
		transform-origin: 50% 50%;
		animation: oa-appear-settle 1200ms cubic-bezier(0.44, 0, 0.11, 1) both;
	}
	.wp-site-blocks
		:is(
			.is-style-home-hero h1,
			.is-style-practice-hero h1,
			.is-style-contact-page-heading h1
		) {
		--oa-appear-y: 40px;
		animation: oa-appear-rise 1200ms 400ms cubic-bezier(0.12, 0.23, 0, 0.99)
			both;
	}
	.wp-site-blocks .is-style-home-hero .has-lead-font-size {
		--oa-appear-y: 40px;
		animation: oa-appear-rise 1200ms 400ms cubic-bezier(0.12, 0.23, 0, 0.99)
			both;
	}
	.wp-site-blocks .is-style-home-hero .is-style-case-hero-subtitle {
		--oa-appear-y: 40px;
		animation: oa-appear-rise 1200ms 400ms cubic-bezier(0.12, 0.23, 0, 0.99)
			both;
	}
	.wp-site-blocks .is-style-home-hero .wp-block-buttons {
		--oa-appear-y: 20px;
		animation: oa-appear-rise 1400ms 400ms cubic-bezier(0.12, 0.23, 0, 0.99)
			both;
	}
	.wp-site-blocks .is-style-home-hero .is-style-home-hero-bottom {
		--oa-appear-y: 20px;
		animation: oa-appear-rise 1200ms 200ms cubic-bezier(0.12, 0.23, 0, 0.99)
			both;
	}
}
.wp-block-group.is-style-home-cases {
	padding-block: var(--oa-space-section) !important;
	padding-inline: 0;
}
.is-style-home-cases > .alignwide {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: 1440px;
	padding-inline: 40px;
}
.is-style-home-cases > .alignwide > h2 {
	font-family: "OA Hero Fraunces", serif;
	font-size: var(--oa-type-section-title);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.06em;
}
@media (min-width: 810px) and (max-width: 1279px) {
	.is-style-home-cases > .alignwide {
		padding-inline: 32px;
	}
}
@media (max-width: 809px) {
	.is-style-home-cases > .alignwide {
		padding-inline: 20px;
	}
}
.is-style-home-cases h2,
.is-style-home-editorial h2,
.is-style-home-reviews h2 {
	margin-block-start: 0;
}
.is-style-home-cases .has-lead-font-size,
.is-style-home-editorial .has-lead-font-size {
	max-inline-size: 680px;
	color: var(--wp--preset--color--muted);
}
.is-style-home-cases .wp-block-query,
.is-style-home-editorial .wp-block-query {
	margin-block-start: 3rem;
}
.is-style-home-cases .wp-block-post-template,
.is-style-home-editorial .wp-block-post-template {
	gap: var(--wp--preset--spacing--medium);
}
.is-style-home-cases .wp-block-query-no-results,
.is-style-home-editorial .wp-block-query-no-results {
	border-block-start: 1px solid var(--wp--preset--color--line);
	padding-block-start: 1.5rem;
	color: var(--wp--preset--color--muted);
}
.is-style-home-cases > .alignwide > p:last-child {
	margin-block-start: 2rem;
	text-align: end;
}
.is-style-case-card {
	block-size: 100%;
	box-sizing: border-box;
	border: 0 !important;
	border-block-start: 1px solid var(--wp--preset--color--ink) !important;
}
.is-style-home-cases .is-style-case-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.is-style-home-cases .is-style-case-card > * {
	margin-block: 0;
	margin-inline: 0 !important;
	max-inline-size: none;
}
.is-style-home-cases .is-style-case-card .wp-block-post-content {
	flex-grow: 1;
}
.is-style-home-cases .is-style-case-card .wp-block-read-more {
	align-self: flex-start;
	margin-block-start: 0.5rem;
	padding-block: 0.5rem;
	min-block-size: 44px;
	box-sizing: border-box;
}
.is-style-case-card .wp-block-post-title {
	font-size: var(--wp--preset--font-size--card-title);
}
.is-style-case-card .wp-block-post-terms {
	font-size: 0.875rem;
}
.is-style-case-card .wp-block-read-more {
	margin-block-start: 1.5rem;
	font-size: 0.875rem;
}
.is-style-home-about .wp-block-columns {
	align-items: stretch;
	gap: 0;
	margin-block: 0;
	min-block-size: 36rem;
}
.is-style-home-about .wp-block-column {
	box-sizing: border-box;
	min-inline-size: 0;
}
.is-style-home-about .wp-block-column:first-child > h2 {
	margin-block-start: 0;
}
.is-style-home-about .wp-block-column:first-child > p {
	max-inline-size: 440px;
	color: var(--wp--preset--color--muted);
}
.is-style-home-about .wp-block-column:last-child {
	position: relative;
}
.is-style-home-about figure {
	position: absolute;
	inset-block: 0;
	inset-inline: 0;
	margin-block: 0;
	margin-inline: 0;
}
.is-style-home-about img {
	inline-size: 100%;
	block-size: 100%;
	display: block;
	object-fit: cover;
}
.is-style-home-about img[src$="portrait-placeholder.png"] {
	filter: grayscale(1);
	mix-blend-mode: multiply;
}
.is-style-home-about figcaption {
	position: absolute;
	inset-block-end: 0;
	inset-inline-start: 0;
	margin-block: 0;
	margin-inline: 0;
	padding-block: var(--wp--preset--spacing--small);
	padding-inline: var(--wp--preset--spacing--medium);
	font-size: 0.875rem;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--canvas);
	text-align: start;
}
.is-style-home-areas .has-lead-font-size {
	max-inline-size: 680px;
	color: var(--wp--preset--color--accent-soft);
	margin-block-end: 3rem;
}
.is-style-home-areas > .alignwide > .wp-block-group {
	border-block-end-color: var(--wp--preset--color--accent) !important;
}
.is-style-home-areas .wp-block-column:nth-child(3) {
	color: var(--wp--preset--color--accent-soft);
}
.is-style-home-areas a {
	color: var(--wp--preset--color--cream);
}
.is-style-home-areas a:is(:focus-visible) {
	color: var(--wp--preset--color--surface);
	text-decoration: underline;
	text-decoration-thickness: 2px;
}
@media (hover: hover) and (pointer: fine) {
	.is-style-home-areas a:is(:hover) {
		color: var(--wp--preset--color--surface);
		text-decoration: underline;
		text-decoration-thickness: 2px;
	}
}
.is-style-home-areas :is(a, button):focus-visible {
	outline-color: var(--wp--preset--color--cream);
}
.is-style-home-areas .wp-block-columns {
	align-items: center;
	margin-block: 0;
	gap: 2rem;
}
.is-style-home-areas .wp-block-columns h3 {
	font-size: var(--oa-fluid-area-title);
	margin-block: 0;
	margin-inline: 0;
}
.is-style-home-areas .wp-block-columns p {
	margin-block: 0;
}
.is-style-home-areas .wp-block-column:first-child p {
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--cream);
}
.is-style-home-areas .wp-block-column:nth-child(2) p {
	margin-block-start: 0.75rem;
	font-size: 0.875rem;
}
.is-style-home-areas a {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-block-size: 44px;
}
.is-style-home-areas a::after {
	content: "";
	inline-size: 22px;
	block-size: 22px;
	flex-shrink: 0;
	background: currentColor;
	mask: var(--oliver-arrow) center / contain no-repeat;
}
@media (prefers-reduced-motion: no-preference) {
	.is-style-home-areas a::after {
		transition: transform 180ms ease-out;
	}
}
.is-style-home-areas a:is(:focus-visible)::after {
	transform: translateX(4px);
}
@media (hover: hover) and (pointer: fine) {
	.is-style-home-areas a:is(:hover)::after {
		transform: translateX(4px);
	}
}
.is-style-home-method .is-style-home-criteria-layout {
	align-items: center;
	gap: var(--oa-fluid-criteria-gap);
	margin-block: 0;
}
.is-style-home-method h2 {
	max-inline-size: 13ch;
	margin-block: 0;
	text-wrap: wrap;
}
.is-style-home-method .is-style-home-criteria {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5rem var(--wp--preset--spacing--large);
}
.is-style-home-criterion {
	min-inline-size: 0;
}
.is-style-home-criterion h3 {
	margin-block: 0;
}
.is-style-home-criterion p {
	margin-block-start: var(--wp--preset--spacing--small);
	margin-block-end: 0;
	font-size: var(--wp--preset--font-size--body);
}
.is-style-home-reviews h2 {
	margin-block-end: var(--wp--preset--spacing--small);
}
.is-style-home-reviews > .alignwide > .has-lead-font-size {
	color: var(--wp--preset--color--muted);
	max-inline-size: 680px;
	margin-block: 0;
}
.is-style-home-reviews > .alignwide > p:not(.has-lead-font-size) {
	font-size: 0.875rem;
	color: var(--wp--preset--color--muted);
	margin-block-start: var(--wp--preset--spacing--small);
}
.is-style-home-reviews .wp-block-columns {
	margin-block: var(--wp--preset--spacing--large) 0;
	gap: 1.5rem;
}
.is-style-home-reviews .wp-block-column {
	min-inline-size: 0;
}
.is-style-home-reviews .wp-block-column > .wp-block-group {
	block-size: 100%;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--line);
	padding-block: 2rem !important;
	padding-inline: 2rem !important;
	color: var(--wp--preset--color--ink);
}
.is-style-home-reviews blockquote {
	border: 0;
	padding-block: 0;
	padding-inline: 0;
	margin-block: 0;
	margin-inline: 0;
	font-family: var(--wp--preset--font-family--system-serif);
	font-size: 1.5rem;
	line-height: 1.5;
}
.is-style-home-reviews blockquote::before {
	content: "";
	display: block;
	inline-size: 40px;
	block-size: 32px;
	margin-block-end: 1.5rem;
	background: var(--wp--preset--color--accent);
	mask: url("../images/review-quote.svg") center / contain no-repeat;
}
.is-style-home-reviews blockquote p {
	margin-block: 0 2rem;
	overflow-wrap: anywhere;
}
.is-style-home-reviews cite {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-family: var(--wp--preset--font-family--system-sans);
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
.is-style-home-reviews cite::before {
	content: "";
	display: block;
	inline-size: 40px;
	block-size: 40px;
	flex-shrink: 0;
	background: var(--wp--preset--color--muted);
	mask: url("../images/review-author.svg") center / contain no-repeat;
}
/* RichText sets display:block inline on citations; preserve their public layout. */
.editor-styles-wrapper .is-style-home-reviews .wp-block-quote__citation {
	display: flex !important;
}
.is-style-home-reviews .is-style-review-pending blockquote {
	font-family: var(--wp--preset--font-family--system-sans);
	font-size: 1.125rem;
	line-height: 1.65;
}
.is-style-home-reviews .is-style-review-pending > p {
	margin-block-start: 0.75rem;
	margin-block-end: 0;
	font-size: 0.75rem;
	line-height: 1.6;
}
.is-style-home-reviews :is(a, button):focus-visible {
	outline-color: var(--wp--preset--color--accent);
}
.is-style-home-contact .wp-block-columns {
	gap: var(--oa-fluid-section-gap);
}
.is-style-home-contact .wp-block-column:first-child > p {
	max-inline-size: 390px;
}
.is-style-home-contact .wp-block-column:last-child {
	background: var(--wp--preset--color--surface);
	padding-block: var(--oa-fluid-form-padding);
	padding-inline: var(--oa-fluid-form-padding);
	box-sizing: border-box;
}
.is-style-home-contact .is-style-contact-channels {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-block-start: 2.5rem;
}
.is-style-contact-channels > .wp-block-group {
	position: relative;
	min-block-size: 44px;
	padding-inline-start: 3.75rem;
	margin-block: 0;
}
.is-style-contact-channels > .wp-block-group > p {
	margin-block: 0;
	line-height: 1.6;
}
.is-style-contact-channels > .wp-block-group > p:last-child {
	margin-block-start: 0.125rem;
	color: var(--wp--preset--color--muted);
	overflow-wrap: anywhere;
}
.is-style-contact-channels > .wp-block-group::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 0;
	inline-size: 44px;
	block-size: 44px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 50%;
	box-sizing: border-box;
}
.is-style-contact-channels > .wp-block-group::after {
	content: "";
	position: absolute;
	inset-inline-start: 12px;
	inset-block-start: 12px;
	inline-size: 20px;
	block-size: 20px;
	background: var(--wp--preset--color--ink);
	mask: var(--oa-contact-icon) center / contain no-repeat;
}
.is-style-contact-email {
	--oa-contact-icon: url("../images/contact-email.svg");
}
.is-style-contact-location {
	--oa-contact-icon: url("../images/contact-location.svg");
}
.is-style-contact-phone {
	--oa-contact-icon: url("../images/contact-phone.svg");
}
.is-style-home-editorial .wp-block-post-template > li > .wp-block-group {
	padding-block: 0 !important;
	padding-inline: 0 !important;
	border: 0 !important;
	border-block-start: 1px solid var(--wp--preset--color--line) !important;
	padding-block-start: 1.5rem !important;
}
.is-style-home-editorial .wp-block-post-template > li > .wp-block-group {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--x-small);
}
.is-style-home-editorial .wp-block-post-template > li > .wp-block-group > * {
	margin-block: 0;
	margin-inline: 0 !important;
	max-inline-size: none;
}
.is-style-home-editorial .wp-block-post-featured-image {
	margin-block-end: var(--wp--preset--spacing--small) !important;
}
.is-style-home-editorial .wp-block-post-excerpt {
	margin-block-start: var(--wp--preset--spacing--small) !important;
}
.is-style-home-editorial .wp-block-post-excerpt__excerpt {
	margin-block: 0;
}
.is-style-home-editorial .wp-block-post-terms {
	font-size: var(--wp--preset--font-size--small);
}
.is-style-home-editorial .wp-block-post-title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
	.is-style-home-editorial .wp-block-post-title a:hover {
		text-decoration: underline;
	}
}
.is-style-home-editorial .wp-block-post-excerpt {
	font-size: var(--wp--preset--font-size--body);
	color: var(--wp--preset--color--muted);
}
/* Native radio controls select one pre-rendered Query Loop without navigation. */
.is-style-editorial-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	border: 0;
	padding-block: 0;
	padding-inline: 0;
	margin-inline: 0;
	min-inline-size: 0;
}
.is-style-editorial-filter {
	position: relative;
	cursor: pointer;
}
.is-style-editorial-filter-input {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	padding-block: 0;
	padding-inline: 0;
	margin-block: -1px;
	margin-inline: -1px;
	overflow: clip;
	clip-path: inset(50%);
	white-space: nowrap;
}
.is-style-editorial-filter > span {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;
	padding-block: 0.5rem;
	padding-inline: 1rem;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	font-size: var(--wp--preset--font-size--small);
}
@media (hover: hover) and (pointer: fine) {
	.is-style-editorial-filter:hover > span {
		border-color: var(--wp--preset--color--ink);
	}
}
.is-style-editorial-filter-input:checked + span {
	color: var(--wp--preset--color--surface);
	background: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
}
.is-style-editorial-filter-input:focus-visible + span {
	outline: 2px solid var(--wp--preset--color--ink);
	outline-offset: 4px;
}
.is-style-editorial-results {
	display: none;
}
.is-style-editorial-collection:has(
		.is-style-editorial-filter-input[value="all"]:checked
	)
	> .is-style-editorial-results--all,
.is-style-editorial-collection:has(
		.is-style-editorial-filter-input[value="articulo"]:checked
	)
	> .is-style-editorial-results--articulo,
.is-style-editorial-collection:has(
		.is-style-editorial-filter-input[value="video"]:checked
	)
	> .is-style-editorial-results--video {
	display: block;
}
/* Keep all three native queries available for editing in the Site Editor. */
.editor-styles-wrapper .is-style-editorial-results {
	display: block;
}
@supports not selector(:has(*)) {
	.is-style-editorial-filters {
		display: none;
	}
	.is-style-editorial-results--all {
		display: block;
	}
}
@media (forced-colors: active) {
	.is-style-editorial-filter-input:checked + span {
		outline: 2px solid Highlight;
		outline-offset: -3px;
	}
}
.is-style-brand-footer {
	padding-block: 4rem !important;
}
.is-style-brand-footer .oa-footer-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 0.85fr);
	gap: var(--wp--preset--spacing--large);
	align-items: start;
}
.is-style-brand-footer .oa-footer-layout > * {
	min-inline-size: 0;
	margin-block: 0;
}
.is-style-brand-footer .oa-footer-brand > p + p {
	margin-block-start: var(--wp--preset--spacing--small);
}
.is-style-brand-footer .oa-footer-profiles > p + p {
	margin-block-start: var(--wp--preset--spacing--small);
}
.is-style-brand-footer .wp-block-site-title {
	font-size: var(--oa-fluid-footer-title);
	line-height: 1.1;
}
.is-style-brand-footer .wp-block-site-title a {
	text-decoration: none;
}
.is-style-brand-footer .wp-block-social-links {
	min-block-size: 0;
}
.is-style-brand-footer p {
	max-inline-size: 34ch;
	overflow-wrap: anywhere;
}
.is-style-brand-footer .wp-block-site-title {
	max-inline-size: 10ch;
}
.is-style-brand-footer .wp-block-navigation-item a {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;
}
.is-style-brand-footer .wp-block-navigation-item__label {
	overflow-wrap: anywhere;
}
.is-style-brand-footer .wp-block-navigation__container {
	gap: 0.25rem;
}
.is-style-brand-footer
	> .wp-block-group
	> .wp-block-group:last-child
	> p:first-child {
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.forminator-ui.forminator-custom-form {
	margin-block: 0 !important;
	font-family: var(--wp--preset--font-family--system-sans) !important;
}
.forminator-ui.forminator-custom-form
	:is(.forminator-input, .forminator-textarea, select, .select2-selection) {
	border-radius: 0 !important;
	background: var(--wp--preset--color--surface) !important;
	border: 1px solid var(--wp--preset--color--muted) !important;
	color: var(--wp--preset--color--ink) !important;
	padding-block: 0.875rem !important;
	padding-inline: 0.875rem !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	min-block-size: 52px;
	box-sizing: border-box;
}
.forminator-ui.forminator-custom-form .forminator-textarea {
	min-block-size: 144px;
}
.forminator-ui.forminator-custom-form .select2-selection {
	block-size: auto !important;
	min-block-size: 3.375rem !important;
	align-items: center !important;
}
.forminator-ui.forminator-custom-form .select2-selection__rendered {
	padding-block: 0 !important;
	padding-inline: 0 !important;
	line-height: 1.5 !important;
	color: var(--wp--preset--color--ink) !important;
	flex: 1;
	min-inline-size: 0;
}
.forminator-ui.forminator-custom-form select {
	inline-size: 100%;
}
.forminator-ui.forminator-custom-form .select2-selection__arrow {
	position: static !important;
	inset-block-start: auto !important;
	transform: none;
	inline-size: 24px !important;
	block-size: 24px !important;
	flex: 0 0 24px;
	align-items: center;
	justify-content: center;
}
.forminator-ui.forminator-custom-form
	:is(
		.forminator-label,
		.forminator-checkbox__label,
		.forminator-consent__label
	) {
	color: var(--wp--preset--color--ink) !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
}
.forminator-ui.forminator-custom-form .forminator-description {
	color: var(--wp--preset--color--muted) !important;
	font-size: 0.875rem !important;
	line-height: 1.6 !important;
	margin-block: 0.5rem !important;
}
.forminator-ui.forminator-custom-form :is(input, textarea)::placeholder {
	color: var(--wp--preset--color--muted) !important;
	opacity: 1;
}
.forminator-ui.forminator-custom-form
	:is(input, textarea, select, .select2-selection):focus-visible {
	outline: 2px solid var(--wp--preset--color--ink) !important;
	outline-offset: 3px !important;
	border-color: var(--wp--preset--color--accent) !important;
}
.forminator-ui.forminator-custom-form .forminator-checkbox {
	min-block-size: 44px;
	align-items: flex-start;
}
.forminator-ui.forminator-custom-form .forminator-checkbox__wrapper {
	padding-block: 0.5rem;
}
.forminator-ui.forminator-custom-form .forminator-checkbox-box {
	border-color: var(--wp--preset--color--muted) !important;
	border-radius: 0 !important;
	inline-size: 20px !important;
	block-size: 20px !important;
	margin-block-start: 1px;
}
.forminator-ui.forminator-custom-form
	.forminator-checkbox
	input:checked
	+ .forminator-checkbox-box {
	border-color: var(--wp--preset--color--accent) !important;
	background: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--cream) !important;
}
.forminator-ui.forminator-custom-form
	.forminator-checkbox
	input:focus-visible
	+ .forminator-checkbox-box {
	outline: 2px solid var(--wp--preset--color--ink);
	outline-offset: 3px;
}
.forminator-ui.forminator-custom-form
	:is(.forminator-error-message, .forminator-response-message) {
	font-size: 0.875rem !important;
	line-height: 1.6 !important;
	border-radius: 0 !important;
}
/* Keep Forminator's written validation and status cues; color supports them. */
.forminator-ui.forminator-custom-form .forminator-required {
	color: var(--wp--preset--color--error) !important;
}
.forminator-ui.forminator-custom-form .forminator-error-message,
.forminator-ui.forminator-custom-form
	.forminator-response-message.forminator-error {
	background: var(--wp--preset--color--error-soft) !important;
	color: var(--wp--preset--color--error) !important;
	border-color: var(--wp--preset--color--error) !important;
	box-shadow: none !important;
}
.forminator-ui.forminator-custom-form
	:is(
		.forminator-has_error .forminator-input,
		.forminator-has_error .forminator-textarea,
		.forminator-has_error .select2-selection,
		[aria-invalid="true"]
	) {
	border-color: var(--wp--preset--color--error) !important;
}
.forminator-ui.forminator-custom-form
	.forminator-field.forminator-has_error
	:is(
		.forminator-input,
		.forminator-textarea,
		.select2-selection,
		.forminator-checkbox-box
	) {
	border-color: var(--wp--preset--color--error) !important;
}
.forminator-ui.forminator-custom-form
	.forminator-response-message.forminator-success {
	background: var(--wp--preset--color--accent-soft) !important;
	color: var(--wp--preset--color--ink) !important;
	border-color: var(--wp--preset--color--accent) !important;
	box-shadow: none !important;
}
.forminator-ui.forminator-custom-form .forminator-row {
	margin-block-end: 1.5rem !important;
}
.forminator-ui.forminator-custom-form .forminator-button-submit {
	border-radius: 0 !important;
	background: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--surface) !important;
	min-block-size: 48px;
	padding-block: 1rem !important;
	padding-inline: 1.5rem !important;
}
@media (hover: hover) and (pointer: fine) {
	.forminator-ui.forminator-custom-form .forminator-button-submit:hover {
		background: var(--wp--preset--color--ink) !important;
	}
}
.forminator-ui.forminator-custom-form .forminator-button-submit:disabled {
	cursor: wait;
	opacity: 1;
}

/* Browser validation bubbles do not participate in the form layout. */
.forminator-ui.forminator-custom-form.oa-native-validation {
	position: relative;
}
.forminator-ui.forminator-custom-form.oa-native-validation
	.forminator-error-message {
	position: absolute !important;
	inline-size: 1px !important;
	block-size: 1px !important;
	padding-block: 0 !important;
	padding-inline: 0 !important;
	margin-block: -1px !important;
	margin-inline: -1px !important;
	overflow: clip !important;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0 !important;
}
.forminator-ui.forminator-custom-form.oa-native-validation
	.forminator-response-message.forminator-error {
	position: absolute !important;
	inset-inline: 0;
	inset-block-end: 100%;
	z-index: 2;
}
.forminator-ui.forminator-custom-form.oa-native-validation select {
	position: static !important;
	inline-size: 100% !important;
	block-size: 50px !important;
	clip: auto !important;
	clip-path: none !important;
	overflow: visible !important;
	margin-block: 0 !important;
	margin-inline: 0 !important;
	opacity: 1 !important;
	color: var(--oa-color-heading) !important;
}
.forminator-ui.forminator-custom-form.oa-native-validation .select2-container {
	display: none !important;
}
.forminator-ui.forminator-custom-form.oa-native-validation .forminator-checkbox {
	pointer-events: auto;
}
.forminator-ui.forminator-custom-form.oa-native-validation
	.forminator-field:has(.forminator-consent) > .forminator-label {
	display: none !important;
}
.forminator-ui.forminator-custom-form.oa-native-validation
	.forminator-checkbox
	input[type="checkbox"] {
	position: static !important;
	opacity: 1 !important;
	inline-size: 16px !important;
	block-size: 16px !important;
	clip: auto !important;
	clip-path: none !important;
	margin-block: 0 !important;
	margin-inline: 0 !important;
	flex-shrink: 0;
	appearance: auto;
	accent-color: var(--oa-color-heading);
}
.forminator-ui.forminator-custom-form.oa-native-validation
	.forminator-checkbox-box {
	display: none !important;
}
@media (min-width: 600px) and (max-width: 959px) {
	.is-style-brand-header
		.wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}
	.is-style-brand-header .wp-block-navigation__responsive-container-open {
		display: flex;
	}
}
@media (max-width: 1023px) {
	.is-style-home-method .is-style-home-criteria-layout {
		flex-direction: column;
		align-items: stretch;
		gap: var(--wp--preset--spacing--large);
	}
	.is-style-home-method .is-style-home-criteria-layout > .wp-block-column {
		flex-basis: auto !important;
		inline-size: 100%;
	}
	.is-style-home-method h2 {
		max-inline-size: 20ch;
	}
	.is-style-home-method .is-style-home-criteria {
		row-gap: var(--wp--preset--spacing--large);
	}
}
@media (min-width: 600px) and (max-width: 959px) {
	.is-style-home-reviews .wp-block-columns {
		flex-direction: column;
	}
	.is-style-home-reviews .wp-block-column > .wp-block-group {
		block-size: auto;
	}
	/* Collections need a reading measure, not three narrow text strips. */
	.is-style-home-editorial .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}
	.is-style-home-editorial
		.wp-block-post-template
		> li
		> .wp-block-group:has(> .wp-block-post-featured-image) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		column-gap: var(--wp--preset--spacing--medium);
		align-content: start;
	}
	.is-style-home-editorial
		.wp-block-post-template
		> li
		> .wp-block-group:has(> .wp-block-post-featured-image)
		> * {
		grid-column: 2;
		min-inline-size: 0;
	}
	.is-style-home-editorial
		.wp-block-post-template
		> li
		> .wp-block-group
		> .wp-block-post-featured-image {
		grid-column: 1;
		grid-row: 1 / span 5;
		align-self: start;
		margin-block-end: 0 !important;
	}
}
@media (max-width: 959px) {
	.is-style-brand-footer .oa-footer-layout {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.is-style-brand-footer .oa-footer-brand {
		grid-column: 1 / -1;
	}
}
@media (max-width: 809px) {
	.wp-site-blocks .is-style-brand-header {
		padding-block: 14px !important;
		padding-inline: 20px !important;
	}
	.wp-site-blocks .is-style-brand-header > .wp-block-group {
		min-block-size: 48px;
	}
	.is-style-home-hero {
		padding-block: 140px 24px !important;
		padding-inline: 20px !important;
	}
	.is-style-home-hero .is-style-home-hero-layout {
		min-block-size: calc(100svh - 164px);
		gap: 64px;
	}
	.is-style-home-hero .is-style-home-hero-bottom {
		grid-template-columns: 1fr auto;
	}
	.is-style-home-hero .is-style-home-hero-areas {
		display: none;
	}
	.is-style-home-hero .wp-block-buttons {
		gap: 12px;
	}
	.is-style-home-hero .wp-element-button,
	.is-style-home-hero
		.wp-block-button.is-style-outline
		> .wp-block-button__link {
		padding-block: 14px;
		padding-inline: 16px;
		min-block-size: 46px;
		font-size: 14px;
	}
}
@media (max-width: 781px) {
	.is-style-home-about .wp-block-columns {
		gap: 0;
		min-block-size: 0;
	}
	.is-style-home-about .wp-block-column:first-child {
		padding-block: var(--wp--preset--spacing--large) !important;
		padding-inline: var(--wp--preset--spacing--medium) !important;
	}
	.is-style-home-about figure {
		position: relative;
	}
	.is-style-home-about img {
		block-size: auto;
		aspect-ratio: 4/3;
		object-position: center;
	}
	.is-style-home-areas .wp-block-columns {
		display: grid;
		grid-template-columns: 2rem minmax(0, 1fr);
		gap: 0 1rem;
	}
	.is-style-home-areas .wp-block-column:first-child {
		padding-block-start: 0.625rem;
	}
	.is-style-home-areas .wp-block-column:nth-child(3) {
		grid-column: 2;
		margin-block-start: 0.5rem;
	}
	.is-style-home-areas .wp-block-column:nth-child(2) p {
		margin-block-start: 0.25rem;
	}
	.is-style-home-reviews .wp-block-columns {
		gap: 1.5rem;
	}
	.is-style-home-contact .wp-block-column:first-child > p {
		max-inline-size: 65ch;
	}
}
@media (max-width: 599px) {
	.wp-site-blocks .is-style-brand-header > .wp-block-group {
		min-block-size: 48px;
	}
	.is-style-brand-header .wp-block-site-title {
		font-size: 1.5rem;
	}
	.is-style-home-hero-layout .wp-block-buttons {
		margin-block-end: 16px;
	}
	.is-style-home-hero .is-style-home-hero-bottom {
		grid-template-columns: 1fr;
		gap: 16px;
		padding-block-start: 16px;
	}
	.is-style-home-hero .is-style-home-hero-scroll {
		display: none;
	}
	:is(
		.is-style-home-cases,
		.is-style-home-areas,
		.is-style-home-method,
		.is-style-home-reviews,
		.is-style-home-contact,
		.is-style-home-editorial
	) {
		padding-block: 3.25rem !important;
	}
	:is(.is-style-home-cases, .is-style-home-editorial) .wp-block-query {
		margin-block-start: 2rem;
	}
	.is-style-home-areas .has-lead-font-size {
		margin-block-end: 2rem;
	}
	.is-style-home-reviews .wp-block-columns {
		margin-block-start: 2rem;
	}
	.is-style-home-method .is-style-home-criteria {
		grid-template-columns: minmax(0, 1fr);
	}
	.is-style-home-contact .wp-block-column:last-child {
		padding-block: 1.5rem;
		padding-inline: 1.5rem;
	}
	.is-style-home-cases .wp-block-post-template,
	.is-style-home-editorial .wp-block-post-template {
		grid-template-columns: 1fr;
	}
	.is-style-home-cases > .alignwide > p:last-child {
		text-align: start;
	}
}
@media (prefers-reduced-motion: reduce) {
	.is-style-home-areas a::after {
		transition: none;
		transform: none !important;
	}
}

/* Shared footer: navigation grouped by purpose. */
.is-style-brand-footer .oa-footer-links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	align-items: start;
}
.is-style-brand-footer .oa-footer-links > .oa-footer-section {
	min-inline-size: 0;
	margin-block: 0;
}
.is-style-brand-footer .oa-footer-section h2 {
	margin-block: 0 0.75rem;
	margin-inline: 0;
	font-family: var(--wp--preset--font-family--system-sans);
	font-weight: 600;
	line-height: 1.5;
}
.is-style-brand-footer .oa-footer-section nav {
	margin-block-start: 0;
}
@media (max-width: 959px) {
	.is-style-brand-footer .oa-footer-links {
		grid-column: 1 / -1;
	}
}
@media (max-width: 599px) {
	.is-style-brand-footer .oa-footer-layout {
		gap: 1.5rem;
	}
	.is-style-brand-footer .oa-footer-links {
		display: contents;
	}
}
:where(
	a[href],
	button:not(:disabled),
	summary,
	input:is([type="submit"], [type="button"], [type="reset"]),
	label:has(input:is([type="radio"], [type="checkbox"]))
):active {
	opacity: 1;
}
.is-style-home-case-preview-faces:has(> .is-style-home-case-link:active) {
	filter: none;
}
:where(a[href], button, summary, input, select, textarea):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}
.forminator-ui.forminator-custom-form .forminator-textarea {
	field-sizing: content;
	block-size: auto !important;
	max-block-size: 20lh;
	overflow-y: auto;
	resize: vertical;
}

/* Servicios: el submenú nativo se convierte en un panel a sangre completa.
   La referencia es el desplegable de Northridge: tres columnas (índice, servicios
   y tarjeta de imagen) sobre verde de marca, con entrada elástica y relevo. */
@media (min-width: 960px) {
	.is-style-brand-header .oa-site-wordmark::before {
		transition: filter 180ms ease;
	}
	.is-style-brand-header:is(:has(.is-style-services-mega > .wp-block-navigation-submenu__toggle[aria-expanded="true"]), .is-services-menu-closing) .oa-site-wordmark::before {
		filter: brightness(0) invert(1);
	}
	@media (prefers-reduced-motion: reduce) {
		.is-style-brand-header .oa-site-wordmark::before { transition: none; }
	}
	@media (forced-colors: active) {
		.is-style-brand-header .oa-site-wordmark::before { filter: none !important; }
	}
	/* El panel se ancla al header completo, no al <li> de 82px. En las plantillas
	   fotográficas el header sigue flotando sobre el hero. */
	.wp-block-template-part:has(> .is-style-brand-header) {
		position: relative;
		z-index: 5;
	}
	.wp-block-template-part:is(.home-header, .practice-header) {
		position: absolute;
	}

	/* Al abrir, la cabecera entera se vuelve verde: el panel y la barra forman
	   una sola superficie, sin la franja del hero entre ambos. El cambio de
	   color es directo. La clase de cierre la mantiene verde mientras el panel
	   se recoge, para que la superficie no se parta. */
	.wp-block-template-part:has(> .is-style-brand-header)
		.is-style-brand-header:is(
			:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"]),
			.is-services-menu-closing
		) {
		background: var(--oa-color-action) !important;
		color: var(--oa-color-white) !important;
		border-block-end-color: var(--oa-color-action) !important;
		--oa-header-cta-bg: var(--oa-color-white);
		--oa-header-cta-fg: var(--oa-color-dark);
		--oa-header-cta-bg-hover: var(--oa-color-muted-surface);
	}
	.wp-block-template-part:has(> .is-style-brand-header)
		.is-style-brand-header:is(
			:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"]),
			.is-services-menu-closing
		)
		.wp-block-navigation {
		color: var(--oa-color-white) !important;
	}

	.wp-site-blocks .is-style-brand-header,
	.is-style-brand-header .wp-block-navigation,
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__responsive-container,
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__responsive-container
		.wp-block-navigation__responsive-dialog,
	.is-style-brand-header .wp-block-navigation__container,
	.is-style-brand-header
		.wp-block-navigation__container
		> .has-child.is-style-services-mega {
		position: static;
	}

	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container {
		/* Medidas de la referencia a 1920px: 1520px de contenido, columnas
		   221.3 / 553.3 / 553.3 y 96px de calle. La fórmula se mantiene a 1280. */
		--oa-mega-gutter: max(40px, calc((100% - 1520px) / 2));
		--oa-mega-row: 72px;

		display: block;
		position: absolute;
		inset-block-start: 100%;
		inset-inline: 0;
		z-index: 3;
		inline-size: auto;
		min-inline-size: 0;
		block-size: auto;
		padding-block: 40px 60px;
		padding-inline: var(--oa-mega-gutter);
		overflow: clip;
		border: 0;
		background: var(--oa-color-action);
		color: var(--oa-color-white);
		/* El núcleo oculta el submenú con opacidad; el panel debe seguir opaco
		   para que el clip de entrada y salida sea visible. */
		opacity: 1;
		/* La entrada es un descubrimiento vertical desde la cabecera, como en
		   la referencia; el contenido conserva su posición final mientras el
		   panel se abre por encima de él. */
		clip-path: inset(0 0 100% 0);
		visibility: hidden;
		pointer-events: none;
	}

	/* Índice del panel: el mismo rótulo del botón que lo abre, en versalitas. */
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container::before {
		content: "Servicios";
		position: absolute;
		inset-block-start: 40px;
		inset-inline-start: var(--oa-mega-gutter);
		font-family: "OA Hero DM Sans", sans-serif;
		font-size: 12px;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		opacity: 0;
		transform: translateY(8px);
	}

	/* Las tres áreas se colocan a mano para que la tarjeta de imagen marque
	   la altura del panel sin estirar las filas. */
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:not(.is-style-menu-overview) {
		position: absolute;
		inset-inline-start: calc(
			var(--oa-mega-gutter) + (100% - 2 * var(--oa-mega-gutter) - 192px) / 6 +
				96px
		);
		inline-size: calc(
			(100% - 2 * var(--oa-mega-gutter) - 192px) / 2.4
		);
		min-block-size: 64px;
		list-style: none;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:nth-child(1) {
		inset-block-start: 40px;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:nth-child(2) {
		inset-block-start: calc(40px + var(--oa-mega-row));
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:nth-child(3) {
		inset-block-start: calc(40px + var(--oa-mega-row) * 2);
	}

	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:not(.is-style-menu-overview)
		> a {
		box-sizing: border-box;
		position: relative;
		display: flex;
		align-items: flex-start;
		inline-size: 100%;
		min-block-size: 64px;
		padding-block: 0 20px;
		padding-inline: 0;
		color: inherit;
		font-family: "OA Hero Fraunces", serif;
		font-size: 24px;
		font-weight: 300;
		line-height: 1.3;
		text-decoration: none;
	}
	/* La línea queda 20px por debajo del texto, como en la referencia. */
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:not(.is-style-menu-overview)
		> a::after {
		content: "";
		position: absolute;
		inset-inline: 0;
		inset-block-end: 0;
		block-size: 1px;
		background: currentColor;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		.wp-block-navigation-item__label {
		display: inline-block;
	}

	/* Cuarta entrada: tarjeta de imagen que ocupa la columna derecha. */
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .is-style-menu-overview {
		inline-size: calc((100% - 192px) / 2.4);
		margin-inline-start: auto;
		list-style: none;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .is-style-menu-overview
		> a {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		inline-size: 100%;
		min-block-size: 0;
		padding-block: 0;
		padding-inline: 0;
		color: inherit;
		text-decoration: none;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .is-style-menu-overview
		.wp-block-navigation-item__label {
		margin-block-start: 18px;
		font-family: "OA Hero DM Sans", sans-serif;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0;
	}
	.is-style-menu-overview .wp-block-template-part { display: contents; }
	.is-style-menu-overview .is-style-menu-card-image { order: -1; margin-block: 0; margin-inline: 0; inline-size: 100%; aspect-ratio: 16 / 9; overflow: clip; }
	.is-style-menu-overview .is-style-menu-card-image img { inline-size: 100%; block-size: 100%; object-fit: cover; }
	.is-style-brand-header .is-style-menu-overview .is-style-menu-card-description { color: var(--oa-color-white) !important; order: 1; margin-block: 10px 0; margin-inline: 0; font: 400 14px / 1.5 "OA Hero DM Sans", sans-serif; }

	/* Estado abierto. La visibilidad se retrasa al cerrar para que la salida
	   alcance a verse, pero se retira al instante al abrir. */
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container {
		clip-path: inset(0 0 0 0);
		visibility: visible;
		pointer-events: auto;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container::before {
		opacity: 1;
		transform: none;
		transition-delay: 80ms;
	}

	/* Relevo del contenido, con la misma cadencia que el panel. */
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item {
		opacity: 0;
		transform: translateY(14px);
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container
		> .wp-block-navigation-item {
		opacity: 1;
		transform: none;
	}

	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:nth-child(1) {
		transition-delay: 70ms;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:nth-child(2) {
		transition-delay: 110ms;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:nth-child(3) {
		transition-delay: 150ms;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container
		> .is-style-menu-overview {
		transition-delay: 190ms;
	}

	/* En el verde del panel el anillo de foco debe ser crema, no tinta. */
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		:is(a, button):focus-visible {
		outline-color: var(--oa-color-white);
	}
}

@media (min-width: 960px) and (prefers-reduced-motion: no-preference) {
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container {
		transition:
			clip-path 260ms cubic-bezier(0.4, 0, 1, 1),
			visibility 0s linear 260ms;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container {
		transition:
			clip-path 560ms cubic-bezier(0.16, 1, 0.3, 1),
			visibility 0s linear 0s;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container::before {
		transition:
			opacity 140ms linear,
			transform 200ms cubic-bezier(0.4, 0, 1, 1);
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container::before {
		transition:
			opacity 220ms linear,
			transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .wp-block-navigation-item {
		transition:
			opacity 140ms linear,
			transform 200ms cubic-bezier(0.4, 0, 1, 1);
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container
		> .wp-block-navigation-item {
		transition:
			opacity 320ms linear,
			transform 500ms cubic-bezier(0.22, 1.2, 0.36, 1);
	}
	@media (hover: hover) and (pointer: fine) {
		.is-style-brand-header
			.wp-block-navigation
			.wp-block-navigation__container
			> .has-child.is-style-services-mega
			> .wp-block-navigation__submenu-container
			> .wp-block-navigation-item:not(.is-style-menu-overview)
			> a
			.wp-block-navigation-item__label {
			transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
		}
		.is-style-brand-header
			.wp-block-navigation
			.wp-block-navigation__container
			> .has-child.is-style-services-mega
			> .wp-block-navigation__submenu-container
			> .wp-block-navigation-item:not(.is-style-menu-overview)
			> a:hover
			.wp-block-navigation-item__label {
			transform: translateX(6px);
		}
		.is-style-brand-header
			.wp-block-navigation
			.wp-block-navigation__container
			> .has-child.is-style-services-mega
			> .wp-block-navigation__submenu-container
			> .is-style-menu-overview
			> a .is-style-menu-card-image img {
			transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
		}
		.is-style-brand-header
			.wp-block-navigation
			.wp-block-navigation__container
			> .has-child.is-style-services-mega
			> .wp-block-navigation__submenu-container
			> .is-style-menu-overview
			> a:hover .is-style-menu-card-image img {
			transform: scale(1.03);
		}
	}
}

/* El subrayado no es movimiento: se conserva también con movimiento reducido. */
@media (min-width: 960px) and (hover: hover) and (pointer: fine) {
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__container
		> .has-child.is-style-services-mega
		> .wp-block-navigation__submenu-container
		> .is-style-menu-overview
		> a:hover
		.wp-block-navigation-item__label {
		text-decoration: underline;
		text-underline-offset: 4px;
	}
}

@media (max-width: 959px) {
	/* En el menú móvil la tarjeta no tiene sentido y las áreas necesitan
	   separadores finos entre sí. */
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__submenu-container.is-style-services-mega
		> .wp-block-navigation-item.is-style-menu-overview {
		display: none;
	}
	.is-style-brand-header
		.wp-block-navigation
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__submenu-container.is-style-services-mega
		> .wp-block-navigation-item
		+ .wp-block-navigation-item {
		border-block-start: 1px solid currentColor;
	}
}

.is-style-brand-header .wp-block-navigation-submenu__toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.oa-not-found {
	position: relative;
	min-block-size: 70vh;
	padding-block: clamp(5rem, 2rem + 8vw, 10rem);
	padding-inline: 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	isolation: isolate;
	overflow: clip;
}

.oa-not-found::before {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline: 0;
	z-index: -1;
	background: url("../images/generated/ai-criteria-marble-pawn.png") no-repeat right bottom / auto 90%;
	opacity: 0.1;
	pointer-events: none;
}

.oa-not-found h1 {
	max-inline-size: 12ch;
	font-size: clamp(3.5rem, 2rem + 5vw, 6rem);
	line-height: 1;
}

.oa-not-found .wp-block-search {
	inline-size: min(100%, 24rem);
	margin-block-start: 2rem;
}



.oa-client-picture { display: contents; }
