/**
 * A&B European Motors homepage redesign v2.
 *
 * The approved Lovable composition is translated into the existing Enfold
 * child-theme architecture. All rules are opt-in and require ab-redesign.
 */

body.ab-redesign {
	--ab-background: oklch(0.958 0.012 83.5);
	--ab-foreground: oklch(0.251 0.006 240);
	--ab-card: oklch(0.985 0.006 83.5);
	--ab-primary: oklch(0.46 0.17 21.5);
	--ab-primary-foreground: oklch(0.98 0.008 83.5);
	--ab-secondary: oklch(0.43 0.07 236);
	--ab-secondary-foreground: oklch(0.98 0.008 83.5);
	--ab-muted: oklch(0.91 0.015 80);
	--ab-muted-foreground: oklch(0.46 0.02 70);
	--ab-accent: oklch(0.925 0.018 80);
	--ab-border: oklch(0.85 0.018 78);
	--ab-surface: oklch(0.935 0.014 80);
	--ab-highlight: oklch(0.79 0.09 74);
	--ab-radius: 0.375rem;
	--ab-container: 80rem;
	background: var(--ab-background);
	color: var(--ab-foreground);
	font-family: "DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 100%;
	letter-spacing: 0;
	line-height: 1.5;
}

.ab-redesign #main,
.ab-redesign .ab-home {
	background: var(--ab-background);
}

.ab-redesign .ab-home,
.ab-redesign .ab-home *,
.ab-redesign .ab-home *::before,
.ab-redesign .ab-home *::after {
	box-sizing: border-box;
}

.ab-redesign .ab-home {
	color: var(--ab-foreground);
	font-size: 1.125rem;
	line-height: 1.6;
	overflow: clip;
}

.ab-redesign .ab-home:focus {
	outline: 0;
}

.ab-redesign .ab-home h1,
.ab-redesign .ab-home h2,
.ab-redesign .ab-home h3,
.ab-redesign .ab-home p,
.ab-redesign .ab-home ul,
.ab-redesign .ab-home dl {
	margin-top: 0;
}

.ab-redesign .ab-home h1,
.ab-redesign .ab-home h2,
.ab-redesign .ab-home h3,
.ab-redesign .ab-home strong {
	font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
	letter-spacing: 0;
	text-transform: none;
}

.ab-redesign .ab-home h1 {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.05;
	margin-bottom: 0;
	max-width: 13ch;
}

.ab-redesign .ab-home h2 {
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.15;
	margin-bottom: 0;
	max-width: 24ch;
}

.ab-redesign .ab-home h3 {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.3;
}

.ab-redesign .ab-home a {
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.ab-redesign .ab-home a:focus-visible,
.ab-redesign #header a:focus-visible,
.ab-redesign .ab-v2-footer a:focus-visible,
.ab-redesign #footer a:focus-visible,
.ab-redesign #socket a:focus-visible {
	outline: 0.125rem solid var(--ab-primary);
	outline-offset: 0.125rem;
}

.ab-redesign .ab-container {
	margin-inline: auto;
	max-width: var(--ab-container);
	padding-inline: 1rem;
	width: 100%;
}

.ab-redesign .ab-section {
	padding-block: 3.5rem;
}

.ab-redesign #vehicles,
.ab-redesign #services,
.ab-redesign #shop,
.ab-redesign #visit {
	scroll-margin-top: 5rem;
}

.ab-redesign .ab-eyebrow {
	color: var(--ab-primary);
	font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.ab-redesign .ab-section-heading {
	margin-bottom: 1.75rem;
}

body#top.ab-redesign .ab-section-heading > p {
	color: var(--ab-muted-foreground);
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 0;
}

.ab-redesign .ab-section-heading--inline {
	align-items: end;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr) auto;
}

.ab-redesign .ab-icon {
	display: inline-block;
	flex: 0 0 auto;
	height: 1rem;
	vertical-align: -0.15em;
	width: 1rem;
}

.ab-redesign .ab-actions {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.ab-redesign .ab-button,
.ab-redesign .ab-home .ab-button {
	align-items: center;
	border: 0.0625rem solid transparent;
	border-radius: var(--ab-radius);
	display: inline-flex;
	font-size: 1rem;
	font-weight: 700;
	gap: 0.5rem;
	justify-content: center;
	line-height: 1.25;
	min-height: 3.25rem;
	padding: 0.75rem 1.5rem;
	text-align: center;
	text-decoration: none;
}

.ab-redesign .ab-button--primary,
.ab-redesign .ab-home .ab-button--primary {
	background: var(--ab-primary);
	border-color: var(--ab-primary);
	color: var(--ab-primary-foreground);
}

.ab-redesign .ab-button--primary:hover,
.ab-redesign .ab-home .ab-button--primary:hover {
	background: var(--ab-foreground);
	border-color: var(--ab-foreground);
	color: var(--ab-primary-foreground);
}

.ab-redesign .ab-button--secondary,
.ab-redesign .ab-home .ab-button--secondary {
	background: transparent;
	border: 0.125rem solid var(--ab-foreground);
	color: var(--ab-foreground);
}

.ab-redesign .ab-button--secondary:hover,
.ab-redesign .ab-home .ab-button--secondary:hover {
	background: var(--ab-foreground);
	color: var(--ab-background);
}

.ab-redesign .ab-button--light,
.ab-redesign .ab-home .ab-button--light {
	background: var(--ab-background);
	border-color: var(--ab-background);
	color: var(--ab-foreground);
}

.ab-redesign .ab-button--light:hover,
.ab-redesign .ab-home .ab-button--light:hover {
	background: var(--ab-card);
	border-color: var(--ab-card);
	color: var(--ab-primary);
}

.ab-redesign .ab-button--band-call,
.ab-redesign .ab-home .ab-button--band-call {
	background: transparent;
	border: 0.125rem solid var(--ab-primary-foreground);
	color: var(--ab-primary-foreground);
}

.ab-redesign .ab-button--band-call:hover,
.ab-redesign .ab-home .ab-button--band-call:hover {
	background: var(--ab-primary-foreground);
	color: var(--ab-primary);
}

.ab-redesign .ab-text-link,
.ab-redesign .ab-home .ab-text-link {
	align-items: center;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 700;
	gap: 0.5rem;
	min-height: 2.75rem;
	text-decoration: none;
}

.ab-redesign .ab-text-link:hover .ab-icon,
.ab-redesign .ab-directions-button:hover .ab-icon,
.ab-redesign .ab-visit__map a:hover .ab-icon,
.ab-redesign .ab-vehicle-card:hover .ab-vehicle-card__overlay > .ab-icon,
.ab-redesign .ab-service-path:hover .ab-service-path__arrow {
	transform: translateX(0.25rem);
}

/* The skip link is injected at wp_body_open; the stale child header stays untouched. */
.ab-redesign .ab-skip-link {
	background: var(--ab-card);
	border: 0.125rem solid var(--ab-primary);
	color: var(--ab-foreground);
	font-weight: 700;
	left: 1rem;
	padding: 0.75rem 1rem;
	position: fixed;
	top: 1rem;
	transform: translateY(-200%);
	transition: transform 180ms ease;
	z-index: 10000;
}

.ab-redesign .ab-skip-link:focus {
	transform: translateY(0);
}

/* Enfold remains the header runtime owner. */
.ab-redesign #header_main {
	backdrop-filter: blur(0.75rem);
	background: color-mix(in oklab, var(--ab-background) 95%, transparent);
	border-bottom: 0.0625rem solid var(--ab-border);
}

.ab-redesign #header_main > .container {
	height: 4.5rem;
	max-width: var(--ab-container);
}

.ab-redesign #header .logo,
.ab-redesign #header .logo a,
.ab-redesign #header .logo img {
	height: 2.5rem;
	max-height: 2.5rem;
}

.ab-redesign #header .logo {
	top: 1rem;
}

.ab-redesign #header .logo::after {
	border-left: 0.0625rem solid var(--ab-border);
	color: var(--ab-muted-foreground);
	content: "Independent European Specialists";
	display: none;
	font-size: 0.64rem;
	font-weight: 600;
	left: calc(100% + 0.75rem);
	line-height: 1.25;
	padding-left: 0.75rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
}

.ab-redesign #header .main_menu,
.ab-redesign #header .av-main-nav,
.ab-redesign #header .av-main-nav > li,
.ab-redesign #header .av-main-nav > li > a {
	height: 4.5rem;
}

.ab-redesign #header .av-main-nav {
	align-items: center;
	display: flex;
	gap: 0.5rem;
}

.ab-redesign #header .av-main-nav > li > a {
	align-items: center;
	background: transparent;
	color: var(--ab-foreground);
	display: flex;
	font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	gap: 0.5rem;
	line-height: 1.2;
	padding-inline: 0.5rem;
}

.ab-redesign #header .ab-header-utilities {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	height: 4.5rem;
	position: absolute;
	right: 3.25rem;
	top: 0;
	z-index: 2;
}

.ab-redesign #header .ab-header-utility {
	align-items: center;
	display: inline-flex;
	font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	gap: 0.5rem;
	justify-content: center;
	line-height: 1.2;
	text-decoration: none;
}

.ab-redesign #header .ab-header-utility--phone {
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	color: var(--ab-foreground);
	font-weight: 700;
	height: 2.5rem;
	padding-inline: 0.75rem;
}

.ab-redesign #header .ab-header-utility--phone:hover,
.ab-redesign #header .ab-header-utility--phone:focus-visible {
	background: var(--ab-foreground);
	border-color: var(--ab-foreground);
	color: var(--ab-background);
}

.ab-redesign #header .ab-header-utility--schedule {
	background: var(--ab-primary);
	border-radius: var(--ab-radius);
	color: var(--ab-primary-foreground);
	font-weight: 600;
	height: 2.5rem;
	padding-inline: 1rem;
}

.ab-redesign #header .ab-header-utility--schedule:hover {
	background: var(--ab-foreground);
	color: var(--ab-primary-foreground);
}

.ab-redesign #header .avia-menu-fx,
.ab-redesign #header .avia-bullet {
	display: none;
}

/* Remove Enfold's search control from the redesign header only. */
.ab-redesign #header #menu-item-search,
.ab-redesign #header .av-main-nav > li.menu-item-search {
	display: none;
}

.ab-redesign #footer {
	display: none;
}

/*
 * The legacy footer markup still runs so Enfold can close wrappers and call
 * wp_footer(); only its widget area is replaced on this template.
 */
.ab-redesign .ab-v2-footer {
	background: #f5f1e8;
	border-top: 0.0625rem solid var(--ab-border);
	color: #5f564c;
}

.ab-redesign .ab-v2-footer__inner {
	display: grid;
	gap: 1.5rem;
	padding-block: 2.25rem;
}

.ab-redesign .ab-v2-footer__logo {
	display: block;
	height: 2.5rem;
	object-fit: contain;
	object-position: left center;
	width: auto;
}

.ab-redesign .ab-v2-footer__name {
	color: #1f2224;
	display: block;
	font-size: 1.125rem;
}

.ab-redesign .ab-v2-footer__identity p {
	font-size: 0.875rem;
	margin: 0.75rem 0 0;
}

.ab-redesign .ab-v2-footer__details {
	display: grid;
	font-size: 0.875rem;
	gap: 0.5rem;
}

.ab-redesign .ab-v2-footer__details address {
	font-style: normal;
	margin: 0;
}

.ab-redesign .ab-v2-footer__details a {
	align-items: center;
	color: #1f2224;
	display: inline-flex;
	font-weight: 700;
	min-height: 2.75rem;
	width: fit-content;
}

.ab-redesign .ab-v2-footer__nav {
	border-top: 0.0625rem solid var(--ab-border);
	grid-column: 1 / -1;
	padding-top: 1rem;
}

.ab-redesign .ab-v2-footer__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ab-redesign .ab-v2-footer__menu li {
	margin: 0;
	padding: 0;
}

.ab-redesign .ab-v2-footer__menu a {
	color: #1f2224;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 700;
	min-height: 2.75rem;
	text-decoration: none;
}

.ab-redesign .ab-v2-footer__menu a:hover {
	color: var(--ab-primary);
}

/* Preserve Enfold's site-wide legal, credit, disclaimer, and social socket. */
.ab-redesign #socket {
	background: #1f2224;
	border-color: var(--ab-border);
	color: #fbf8f2;
}

.ab-redesign #socket .container,
.ab-redesign #socket .copyright,
.ab-redesign #socket a,
.ab-redesign #socket .social_bookmarks a {
	color: #fbf8f2;
}

.ab-redesign #socket a:hover,
.ab-redesign #socket a:focus-visible,
.ab-redesign #socket .social_bookmarks a:hover,
.ab-redesign #socket .social_bookmarks a:focus-visible {
	color: var(--ab-highlight);
}

.ab-redesign #socket a:focus-visible,
.ab-redesign #socket .social_bookmarks a:focus-visible {
	outline-color: var(--ab-highlight);
}

.ab-redesign #socket .social_bookmarks,
.ab-redesign #socket .social_bookmarks li,
.ab-redesign #socket .social_bookmarks a {
	visibility: visible;
}

/* Specialty recognition strip and chips. */
.ab-redesign .ab-specialty-strip {
	background: var(--ab-surface);
	border-bottom: 0.0625rem solid var(--ab-border);
	padding-block: 0.75rem;
}

.ab-redesign .ab-specialty-strip p,
.ab-redesign .ab-hero__specialties > p {
	color: var(--ab-muted-foreground);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.5;
	margin-bottom: 0.375rem;
	text-transform: uppercase;
}

.ab-redesign .ab-specialty-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	list-style: none;
	margin-bottom: 0;
	padding: 0;
}

.ab-redesign .ab-specialty-chips li {
	margin: 0;
	padding: 0;
}

.ab-redesign .ab-specialty-chips a {
	align-items: center;
	background: var(--ab-background);
	border: 0.0625rem solid var(--ab-border);
	border-radius: 999px;
	color: var(--ab-foreground);
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 700;
	gap: 0.25rem;
	line-height: 1.3;
	padding: 0.25rem 0.625rem;
	text-decoration: none;
}

.ab-redesign .ab-specialty-chips .ab-icon {
	color: var(--ab-secondary);
	height: 0.75rem;
	width: 0.75rem;
}

.ab-redesign .ab-specialty-chips li.is-primary a,
.ab-redesign .ab-specialty-chips li:not(.is-primary) a:hover,
.ab-redesign .ab-specialty-chips li:not(.is-primary) a:focus-visible {
	background: var(--ab-secondary);
	border-color: var(--ab-secondary);
	color: var(--ab-secondary-foreground);
}

.ab-redesign .ab-specialty-chips li.is-primary .ab-icon,
.ab-redesign .ab-specialty-chips li:not(.is-primary) a:hover .ab-icon,
.ab-redesign .ab-specialty-chips li:not(.is-primary) a:focus-visible .ab-icon {
	color: var(--ab-secondary-foreground);
}

/* Hero. */
.ab-redesign .ab-hero {
	border-bottom: 0.0625rem solid var(--ab-border);
	padding-block: 1.5rem;
}

.ab-redesign .ab-hero__grid {
	display: grid;
}

.ab-redesign .ab-hero__media {
	background: var(--ab-muted);
	border-radius: var(--ab-radius);
	min-height: 22rem;
	overflow: hidden;
	position: relative;
}

.ab-redesign .ab-hero__image,
.ab-redesign .ab-shop__image,
.ab-redesign .ab-visit__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ab-redesign .ab-hero__image {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.ab-redesign .ab-hero__caption {
	align-items: center;
	background: color-mix(in oklab, var(--ab-foreground) 90%, transparent);
	bottom: 0;
	color: var(--ab-background);
	display: flex;
	font-size: 1rem;
	font-weight: 600;
	gap: 0.5rem;
	line-height: 1.5;
	left: 0;
	margin: 0;
	padding: 0.75rem 1rem;
	position: absolute;
	right: 0;
}

.ab-redesign .ab-hero__content {
	padding-block: 2rem;
}

.ab-redesign .ab-hero__content > .ab-eyebrow {
	margin-bottom: 1rem;
}

body#top.ab-redesign .ab-hero__lede {
	color: var(--ab-muted-foreground);
	font-size: 1.25rem;
	line-height: 1.55;
	margin: 1.25rem 0 0;
	max-width: 48ch;
}

.ab-redesign .ab-hero__specialties {
	display: none;
	margin-top: 1.75rem;
}

.ab-redesign .ab-hero__actions {
	margin-top: 1.75rem;
}

.ab-redesign .ab-hero__facts {
	border-top: 0.0625rem solid var(--ab-border);
	display: grid;
	gap: 1rem;
	margin-top: 1.75rem;
	padding-top: 1.25rem;
}

.ab-redesign .ab-hero__facts > div {
	display: flex;
	font-size: 1rem;
	gap: 0.75rem;
	line-height: 1.5;
}

.ab-redesign .ab-hero__facts .ab-icon {
	color: var(--ab-secondary);
	margin-top: 0.125rem;
}

.ab-redesign .ab-hero__facts p {
	margin-bottom: 0;
}

.ab-redesign .ab-hero__facts strong,
.ab-redesign .ab-hero__facts span {
	display: block;
}

.ab-redesign .ab-hero__facts span {
	color: var(--ab-muted-foreground);
}

/* Vehicle cards. */
.ab-redesign .ab-vehicles__grid {
	display: grid;
	gap: 1rem;
}

.ab-redesign .ab-vehicle-card {
	aspect-ratio: 8 / 7;
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	color: var(--ab-background);
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.ab-redesign .ab-vehicle-card.is-primary {
	border-color: var(--ab-primary);
}

.ab-redesign .ab-vehicle-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
	width: 100%;
}

.ab-redesign .ab-vehicle-card__overlay {
	align-items: end;
	background: color-mix(in oklab, var(--ab-foreground) 90%, transparent);
	bottom: 0;
	display: flex;
	justify-content: space-between;
	left: 0;
	min-height: 5rem;
	padding: 1rem;
	position: absolute;
	right: 0;
}

.ab-redesign .ab-vehicle-card__overlay h3,
.ab-redesign .ab-vehicle-card__overlay small {
	display: block;
}

.ab-redesign .ab-vehicle-card__overlay h3 {
	color: var(--ab-background);
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0;
}

.ab-redesign .ab-vehicle-card__overlay small {
	color: color-mix(in oklab, var(--ab-background) 70%, transparent);
	font-size: 1rem;
	line-height: 1.5;
}

.ab-redesign .ab-vehicle-card__overlay > .ab-icon {
	color: color-mix(in oklab, var(--ab-background) 70%, transparent);
	transition: transform 180ms ease;
}

.ab-redesign .ab-vehicle-card:hover .ab-vehicle-card__image {
	transform: scale(1.03);
}

.ab-redesign .ab-media__fallback {
	background: var(--ab-muted);
	display: block;
	height: 100%;
	min-height: inherit;
	width: 100%;
}

/* Service pathways use a single shared grid, including internal rules. */
.ab-redesign .ab-services {
	background: var(--ab-surface);
	border-bottom: 0.0625rem solid var(--ab-border);
	border-top: 0.0625rem solid var(--ab-border);
}

body#top.ab-redesign .ab-services__intro {
	color: var(--ab-muted-foreground);
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 0.75rem 0 0;
	max-width: 42rem;
}

.ab-redesign .ab-services__grid {
	background: var(--ab-border);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	display: grid;
	gap: 0.0625rem;
	margin-top: 1.75rem;
	overflow: hidden;
}

.ab-redesign .ab-service-path {
	background: var(--ab-background);
	color: var(--ab-foreground);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 9rem;
	padding: 1.25rem;
	text-decoration: none;
}

.ab-redesign .ab-service-path:hover {
	background: var(--ab-accent);
	color: var(--ab-foreground);
}

.ab-redesign .ab-service-path__icon {
	color: var(--ab-secondary);
	height: 1.5rem;
	stroke-width: 1.7;
	width: 1.5rem;
}

.ab-redesign .ab-service-path > div {
	align-items: end;
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
}

.ab-redesign .ab-service-path h3 {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0;
	max-width: 15rem;
}

.ab-redesign .ab-service-path__arrow {
	color: var(--ab-primary);
	transition: transform 180ms ease;
}

/* Shop credibility. */
.ab-redesign .ab-shop__layout {
	display: grid;
	gap: 2rem;
}

.ab-redesign .ab-shop__media {
	aspect-ratio: 4 / 3;
	background: var(--ab-muted);
	border-radius: var(--ab-radius);
	overflow: hidden;
	position: relative;
}

.ab-redesign .ab-shop__caption {
	background: color-mix(in oklab, var(--ab-foreground) 90%, transparent);
	border-radius: 0.125rem;
	bottom: 0.75rem;
	color: var(--ab-background);
	font-size: 1rem;
	font-weight: 700;
	left: 0.75rem;
	padding: 0.5rem 0.75rem;
	position: absolute;
}

body#top.ab-redesign .ab-shop__content > p:not(.ab-eyebrow) {
	color: var(--ab-muted-foreground);
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 1rem 0 0;
}

.ab-redesign .ab-shop__content ul {
	display: grid;
	gap: 0.75rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.ab-redesign .ab-shop__content li {
	display: flex;
	font-size: 1rem;
	font-weight: 500;
	gap: 0.75rem;
	line-height: 1.5;
}

.ab-redesign .ab-shop__content li .ab-icon {
	color: var(--ab-primary);
	height: 1.25rem;
	width: 1.25rem;
}

/* Review band. */
.ab-redesign .ab-reviews {
	background: var(--ab-foreground);
	color: var(--ab-background);
}

.ab-redesign .ab-reviews__layout {
	display: grid;
	gap: 2rem;
}

.ab-redesign .ab-reviews .ab-eyebrow,
.ab-redesign .ab-reviews .ab-text-link {
	color: var(--ab-highlight);
}

body#top.ab-redesign .ab-reviews__content > p:not(.ab-eyebrow) {
	color: color-mix(in oklab, var(--ab-background) 70%, transparent);
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 1rem 0 0;
	max-width: 28rem;
}

.ab-redesign .ab-reviews__content .ab-text-link {
	margin-top: 1rem;
}

body.ab-redesign .ab-reviews__panel {
	background: var(--ab-background);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	color: var(--ab-foreground);
	margin: 0;
	min-width: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
}

body.ab-redesign .ab-reviews__rating {
	color: var(--ab-primary);
	font-size: 1.25rem;
	letter-spacing: 0.125em;
	line-height: 1.5;
	margin: 0 0 1rem;
}

body.ab-redesign .ab-reviews__quote {
	border: 0;
	color: inherit;
	font-size: 1.125rem;
	font-style: normal;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}

body#top.ab-redesign .ab-reviews__quote p {
	font-size: inherit;
	line-height: inherit;
	margin: 0;
}

body.ab-redesign .ab-reviews__attribution {
	border-top: 0.0625rem solid var(--ab-border);
	font-size: 1rem;
	line-height: 1.5;
	margin-top: 1.5rem;
	padding-top: 1rem;
}

body.ab-redesign .ab-reviews__attribution strong,
body.ab-redesign .ab-reviews__attribution span {
	display: block;
}

body.ab-redesign .ab-reviews__attribution span {
	color: var(--ab-muted-foreground);
	margin-top: 0.25rem;
}

/* Visit: operational details, real exterior, and keyless map embed. */
.ab-redesign .ab-visit__grid {
	display: grid;
	gap: 1.25rem;
}

.ab-redesign .ab-visit__details,
.ab-redesign .ab-visit__exterior,
.ab-redesign .ab-visit__map {
	border-radius: var(--ab-radius);
	min-height: 20rem;
	overflow: hidden;
}

.ab-redesign .ab-visit__details {
	background: var(--ab-secondary);
	color: var(--ab-secondary-foreground);
	padding: 1.75rem;
}

.ab-redesign .ab-visit__details .ab-eyebrow {
	color: color-mix(in oklab, var(--ab-secondary-foreground) 60%, transparent);
}

.ab-redesign .ab-visit__details dl {
	display: grid;
	gap: 1.25rem;
	margin: 1.75rem 0 0;
}

.ab-redesign .ab-visit__details dl > div {
	display: grid;
	font-size: 1rem;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr) auto;
	line-height: 1.5;
}

.ab-redesign .ab-visit__details dl > div:first-child {
	border-bottom: 0.0625rem solid color-mix(in oklab, var(--ab-secondary-foreground) 20%, transparent);
	padding-bottom: 1rem;
}

.ab-redesign .ab-visit__details dt {
	color: color-mix(in oklab, var(--ab-secondary-foreground) 70%, transparent);
}

.ab-redesign .ab-visit__details dd {
	font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
	font-weight: 700;
	margin: 0;
	text-align: right;
}

.ab-redesign .ab-visit__details address {
	font-style: normal;
}

.ab-redesign .ab-visit__details a {
	color: var(--ab-secondary-foreground);
}

.ab-redesign .ab-visit__exterior {
	background: var(--ab-muted);
	border: 0.0625rem solid var(--ab-border);
	position: relative;
}

.ab-redesign .ab-visit__image {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.ab-redesign .ab-directions-button {
	align-items: center;
	background: var(--ab-background);
	border-radius: var(--ab-radius);
	bottom: 1rem;
	box-shadow: 0 0.75rem 2rem rgba(31, 34, 36, 0.2);
	color: var(--ab-foreground);
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 700;
	gap: 0.5rem;
	min-height: 2.75rem;
	padding: 0.75rem 1rem;
	position: absolute;
	right: 1rem;
	text-decoration: none;
}

.ab-redesign .ab-visit__map {
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
}

.ab-redesign .ab-visit__map iframe {
	border: 0;
	height: 100%;
	min-height: 15rem;
	width: 100%;
}

.ab-redesign .ab-visit__map > div {
	align-items: center;
	display: flex;
	font-size: 0.8125rem;
	gap: 0.75rem;
	justify-content: space-between;
	padding: 0.75rem 1rem;
}

.ab-redesign .ab-visit__map > div > span {
	color: var(--ab-muted-foreground);
}

.ab-redesign .ab-visit__map a {
	align-items: center;
	color: var(--ab-foreground);
	display: inline-flex;
	font-weight: 700;
	gap: 0.375rem;
	min-height: 2.75rem;
	text-decoration: none;
}

/* Closing conversion band. */
.ab-redesign .ab-final-cta {
	background: var(--ab-primary);
	color: var(--ab-primary-foreground);
	padding-block: 3rem;
}

.ab-redesign .ab-final-cta .ab-eyebrow {
	color: color-mix(in oklab, var(--ab-primary-foreground) 65%, transparent);
}

.ab-redesign .ab-final-cta__inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.ab-redesign .ab-mobile-actions {
	display: none;
}

@media (min-width: 40rem) {
	.ab-redesign .ab-container {
		padding-inline: 1.5rem;
	}

	.ab-redesign .ab-home h1 {
		font-size: 3rem;
	}

	.ab-redesign #header .logo,
	.ab-redesign #header .logo a,
	.ab-redesign #header .logo img {
		height: 2.75rem;
		max-height: 2.75rem;
	}

	.ab-redesign #header .logo {
		top: 0.875rem;
	}

	.ab-redesign #header .logo::after {
		display: block;
	}

	.ab-redesign .ab-actions {
		align-items: center;
		flex-direction: row;
	}

	.ab-redesign .ab-hero__facts,
	.ab-redesign .ab-vehicles__grid,
	.ab-redesign .ab-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ab-redesign .ab-visit__details {
		padding: 2.25rem;
	}

	.ab-redesign .ab-final-cta .ab-actions {
		width: auto;
	}
}

@media (max-width: 989px) {
	/* Increase mobile reading copy without changing controls, labels or headings. */
	body#top.ab-redesign .ab-hero__lede {
		font-size: 1.25rem;
		line-height: 1.55;
	}

	body#top.ab-redesign .ab-services__intro,
	body#top.ab-redesign .ab-shop__content > p:not(.ab-eyebrow),
	body#top.ab-redesign .ab-reviews__content > p:not(.ab-eyebrow) {
		font-size: 1.25rem;
		line-height: 1.6;
	}

	/* Keep the complete mobile header visible and reserve its height plus border. */
	body#top.ab-redesign #wrap_all > #header {
		left: 0;
		position: fixed;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 501;
	}

	body#top.ab-redesign #wrap_all > #main {
		/* Override Enfold's mobile content-padding reset, not stylesheet load order. */
		padding-top: calc(4.5rem + 0.0625rem) !important;
	}

	/* Allocate logo | Schedule | native burger without changing navigation visibility. */
	body.ab-redesign #header_main .av-logo-container .inner-container {
		align-items: center;
		column-gap: 0.75rem;
		display: grid;
		grid-template-columns: minmax(0, 1fr) max-content 2.75rem;
		height: 4.5rem;
	}

	body.ab-redesign #header .logo {
		grid-column: 1;
		grid-row: 1;
		height: 2rem;
		max-height: 2rem;
		max-width: 6.5rem;
		min-width: 0;
		position: static;
		top: auto;
		width: 100%;
	}

	body.ab-redesign #header .logo a,
	body.ab-redesign #header .logo svg,
	body.ab-redesign #header .logo img {
		display: block;
		height: 2rem;
		max-height: 2rem;
		max-width: 100%;
		width: 100%;
	}

	body.ab-redesign #header .logo svg,
	body.ab-redesign #header .logo img {
		object-fit: contain;
		object-position: left center;
	}

	.ab-redesign #header .logo::after {
		display: none;
	}

	body.ab-redesign #header .ab-header-utilities {
		grid-column: 2;
		grid-row: 1;
		height: auto;
		position: static;
		right: auto;
		top: auto;
	}

	body.ab-redesign #header .ab-header-utility--phone {
		display: none;
	}

	body.ab-redesign #header .ab-header-utility--schedule {
		box-sizing: border-box;
		font-size: 0.875rem;
		height: auto;
		min-height: 2.75rem;
		padding: 0.5rem 0.625rem;
		white-space: nowrap;
	}

	.ab-redesign #header .ab-header-utility--schedule .ab-icon {
		display: none;
	}

	body.ab-redesign #header .main_menu {
		float: none;
		grid-column: 3;
		grid-row: 1;
		min-width: 0;
		position: static;
		right: auto;
		width: 2.75rem;
	}

	body.ab-redesign #header .main_menu .avia-menu,
	body.ab-redesign #header .main_menu .av-main-nav {
		margin: 0;
		padding: 0;
		width: 100%;
	}

	body.ab-redesign #header .main_menu .av-main-nav {
		gap: 0;
	}

	body.ab-redesign #header .av-burger-menu-main {
		margin: 0;
		padding: 0;
		width: 2.75rem;
	}

	body.ab-redesign #header .av-burger-menu-main > a {
		border: 0.0625rem solid var(--ab-border);
		border-radius: var(--ab-radius);
		box-sizing: border-box;
		height: 2.75rem;
		justify-content: center;
		line-height: 2.75rem;
		min-width: 2.75rem;
		padding: 0;
		width: 2.75rem;
	}
}

@media (min-width: 48rem) {
	.ab-redesign .ab-home {
		padding-bottom: 0;
	}

	.ab-redesign .ab-v2-footer__inner {
		align-items: end;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.ab-redesign .ab-v2-footer__details {
		justify-items: end;
		text-align: right;
	}
}

@media (max-width: 47.99rem) {
	body.ab-redesign {
		padding-bottom: calc(4rem + env(safe-area-inset-bottom));
	}

	.ab-redesign .ab-mobile-actions {
		background: var(--ab-background);
		border-top: 0.0625rem solid var(--ab-border);
		bottom: 0;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		left: 0;
		padding-bottom: env(safe-area-inset-bottom);
		position: fixed;
		right: 0;
		z-index: 9998;
	}

	.ab-redesign .ab-mobile-actions a {
		align-items: center;
		display: flex;
		font-size: 0.875rem;
		font-weight: 700;
		gap: 0.5rem;
		justify-content: center;
		min-height: 3.5rem;
		padding: 0.5rem;
		text-decoration: none;
	}

	.ab-redesign .ab-mobile-actions__call {
		border-right: 0.0625rem solid var(--ab-border);
		color: var(--ab-foreground);
	}

	.ab-redesign .ab-mobile-actions__schedule {
		background: var(--ab-primary);
		color: var(--ab-primary-foreground);
	}

	/* Common UserWay launchers are raised above the fixed service actions. */
	.ab-redesign .userway_p1,
	.ab-redesign .uwy,
	.ab-redesign #userwayAccessibilityIcon {
		bottom: calc(4.5rem + env(safe-area-inset-bottom)) !important;
		z-index: 9999 !important;
	}

	.ab-redesign .ab-section-heading--inline > p {
		display: none;
	}
}

@media (max-width: 39.99rem) {
	.ab-redesign #header .ab-header-utility--phone,
	.ab-redesign #header .logo::after {
		display: none;
	}
}

@media (max-width: 22.5rem) {
	.ab-redesign #header .ab-header-utility--schedule {
		font-size: 0.7rem;
		padding-inline: 0.5rem;
	}
}

@media (min-width: 990px) {
	/*
	 * Durable desktop header fit:
	 * logo | primary navigation | service utilities.
	 *
	 * Enfold remains the header and menu runtime owner. This only replaces
	 * the former fixed right-offset relationship between the Primary menu
	 * and the independently positioned utility group.
	 */
	body#top.ab-redesign #header_main > .container {
		max-width: 90rem;
		padding-inline: clamp(1.5rem, 3vw, 3rem);
	}

	body#top.ab-redesign #header_main .av-logo-container .inner-container {
		align-items: center;
		column-gap: clamp(1rem, 2vw, 2rem);
		display: grid;
		grid-template-columns: max-content minmax(0, 1fr) max-content;
		height: 4.5rem;
	}

	body#top.ab-redesign #header .logo {
		align-self: center;
		float: none;
		grid-column: 1;
		grid-row: 1;
		position: static;
		top: auto;
	}

	body#top.ab-redesign #header .main_menu {
		align-self: stretch;
		float: none;
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		min-width: 0;
		position: static;
		right: auto;
	}

	body#top.ab-redesign #header .ab-header-utilities {
		align-self: center;
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		position: static;
		right: auto;
		top: auto;
	}

	.ab-redesign .ab-section {
		padding-block: 5rem;
	}

	.ab-redesign .ab-specialty-strip {
		display: none;
	}

	.ab-redesign .ab-hero {
		padding-block: 2.5rem;
	}

	.ab-redesign .ab-hero__grid {
		grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
	}

	.ab-redesign .ab-hero__media {
		min-height: 38rem;
	}

	.ab-redesign .ab-hero__content {
		align-self: center;
		padding: 2.5rem 0 2.5rem 3rem;
	}

	.ab-redesign .ab-home h1 {
		font-size: 3.8rem;
	}

	.ab-redesign .ab-hero__specialties {
		display: block;
	}

	.ab-redesign .ab-hero__specialties > p {
		margin-bottom: 0.5rem;
	}

	.ab-redesign .ab-hero__specialties .ab-specialty-chips {
		gap: 0.5rem;
	}

	.ab-redesign .ab-hero__specialties .ab-specialty-chips a {
		font-size: 0.8rem;
		gap: 0.375rem;
		padding: 0.5rem 0.875rem;
	}

	.ab-redesign .ab-hero__specialties .ab-specialty-chips .ab-icon {
		height: 0.875rem;
		width: 0.875rem;
	}

	.ab-redesign .ab-hero__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ab-redesign .ab-vehicles__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.ab-redesign .ab-services__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ab-redesign .ab-shop__layout,
	.ab-redesign .ab-reviews__layout {
		align-items: center;
		display: grid;
		gap: 2rem;
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}

	.ab-redesign .ab-shop__media {
		grid-column: span 7;
	}

	.ab-redesign .ab-shop__content {
		grid-column: span 5;
		padding-left: 1.5rem;
	}

	.ab-redesign .ab-reviews__content {
		grid-column: span 5;
	}

	.ab-redesign .ab-reviews__panel {
		grid-column: span 7;
	}

	.ab-redesign .ab-visit__grid {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr) minmax(0, 0.95fr);
	}

	.ab-redesign .ab-visit__details,
	.ab-redesign .ab-visit__exterior,
	.ab-redesign .ab-visit__map {
		height: 22rem;
	}

	.ab-redesign .ab-final-cta__inner {
		align-items: center;
		flex-direction: row;
		justify-content: space-between;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ab-redesign *,
	.ab-redesign *::before,
	.ab-redesign *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		transition-delay: 0ms !important;
	}
}

@media print {
	body.ab-redesign {
		background: #fff;
		color: #000;
		padding-bottom: 0;
	}

	.ab-redesign .ab-mobile-actions,
	.ab-redesign .ab-actions,
	.ab-redesign .ab-directions-button,
	.ab-redesign .ab-visit__map {
		display: none !important;
	}

	.ab-redesign .ab-reviews,
	.ab-redesign .ab-final-cta {
		background: #fff;
		color: #000;
	}
}

/* Opt-in interior system. Accepted homepage declarations above remain unchanged. */
body#top.ab-redesign.ab-redesign-interior .ab-interior,
body#top.ab-redesign.ab-redesign-interior .ab-interior *,
body#top.ab-redesign.ab-redesign-interior .ab-interior *::before,
body#top.ab-redesign.ab-redesign-interior .ab-interior *::after {
	box-sizing: border-box;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior {
	background: var(--ab-background);
	color: var(--ab-foreground);
	font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 1.125rem;
	line-height: 1.6;
	overflow-wrap: break-word;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior h1,
body#top.ab-redesign.ab-redesign-interior .ab-interior h2,
body#top.ab-redesign.ab-redesign-interior .ab-interior h3 {
	color: inherit;
	font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior h1 {
	font-size: clamp(2.25rem, 4vw, 3.5rem);
	line-height: 1.1;
	margin: 0;
	max-width: 26ch;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior h2 {
	font-size: 1.875rem;
	line-height: 1.2;
	margin: 2.5rem 0 1rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior h3 {
	font-size: 1.25rem;
	line-height: 1.3;
	margin: 1.75rem 0 0.75rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__hero {
	background: var(--ab-surface);
	border-bottom: 0.0625rem solid var(--ab-border);
	padding-block: 3rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__lede {
	margin-top: 1.25rem;
	max-width: 48ch;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__lede p {
	color: var(--ab-muted-foreground);
	font-size: 1.25rem;
	line-height: 1.55;
	margin: 0 0 0.75rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__actions {
	margin-top: 1.75rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial p,
body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial ul,
body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial ol {
	color: var(--ab-foreground);
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 0 0 1.25rem;
	max-width: 65ch;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial ul,
body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial ol {
	padding-left: 1.5rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial li {
	margin-bottom: 0.5rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial > :first-child {
	margin-top: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial a:not(.ab-button) {
	color: var(--ab-secondary);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial a:not(.ab-button):hover {
	color: var(--ab-primary);
}

body#top.ab-redesign.ab-redesign-interior .ab-interior a:focus-visible {
	outline: 0.125rem solid var(--ab-primary);
	outline-offset: 0.25rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-interior-cards {
	display: grid;
	gap: 1rem;
	margin-bottom: 2rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial a.ab-interior-card {
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	display: block;
	min-width: 0;
	padding: 1.5rem;
	text-decoration: none;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial a.ab-interior-card:hover {
	border-color: var(--ab-secondary);
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-interior-card h3 {
	color: var(--ab-secondary);
	margin: 0 0 0.75rem;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-interior-card p:last-child {
	margin-bottom: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior-callout {
	background: var(--ab-accent);
	border: 0.0625rem solid var(--ab-border);
	border-left: 0.25rem solid var(--ab-secondary);
	border-radius: var(--ab-radius);
	margin-block: 2rem;
	padding: 1.5rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-interior-callout > :first-child {
	margin-top: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-interior-callout > :last-child {
	margin-bottom: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior-facts {
	border-block: 0.0625rem solid var(--ab-border);
	display: grid;
	gap: 1.5rem;
	margin: 2rem 0;
	padding-block: 1.5rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior-facts dt {
	font-weight: 700;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior-facts dd {
	margin: 0.25rem 0 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-final-cta h2 {
	margin: 0;
	max-width: 24ch;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-final-cta a:focus-visible {
	outline-color: var(--ab-primary-foreground);
}

@media (max-width: 989px) {
	body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial p,
	body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial ul,
	body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial ol {
		font-size: 1.25rem;
		line-height: 1.6;
	}
}

@media (min-width: 990px) {
	body#top.ab-redesign.ab-redesign-interior .ab-interior__hero {
		padding-block: 4rem;
	}

	body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-interior-cards,
	body#top.ab-redesign.ab-redesign-interior .ab-interior-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* BEGIN A&B interior visual QA repair v7c */

/*
 * Preserve approved redesign geometry while Enfold applies its desktop
 * shrinking/scrolled header state. Enfold remains header runtime owner.
 */
@media screen and (min-width: 990px) {
	body#top.ab-redesign #header.header-scrolled #header_main,
	body#top.ab-redesign #header.header-scrolled-full #header_main {
		min-height: 4.5rem !important;
	}

	body#top.ab-redesign #header.header-scrolled #header_main > .container,
	body#top.ab-redesign #header.header-scrolled-full #header_main > .container,
	body#top.ab-redesign #header.header-scrolled #header_main .inner-container,
	body#top.ab-redesign #header.header-scrolled-full #header_main .inner-container,
	body#top.ab-redesign #header.header-scrolled .main_menu,
	body#top.ab-redesign #header.header-scrolled-full .main_menu,
	body#top.ab-redesign #header.header-scrolled .av-main-nav,
	body#top.ab-redesign #header.header-scrolled-full .av-main-nav,
	body#top.ab-redesign #header.header-scrolled .av-main-nav > li,
	body#top.ab-redesign #header.header-scrolled-full .av-main-nav > li,
	body#top.ab-redesign #header.header-scrolled .av-main-nav > li > a,
	body#top.ab-redesign #header.header-scrolled-full .av-main-nav > li > a,
	body#top.ab-redesign #header.header-scrolled .ab-header-utilities,
	body#top.ab-redesign #header.header-scrolled-full .ab-header-utilities {
		height: 4.5rem !important;
	}

	body#top.ab-redesign #header.header-scrolled .av-main-nav > li > a,
	body#top.ab-redesign #header.header-scrolled-full .av-main-nav > li > a {
		line-height: 1.2 !important;
	}

	body#top.ab-redesign #header.header-scrolled .logo,
	body#top.ab-redesign #header.header-scrolled-full .logo {
		height: 2.75rem !important;
		max-height: 2.75rem !important;
		top: 0.875rem !important;
	}

	body#top.ab-redesign #header.header-scrolled .logo a,
	body#top.ab-redesign #header.header-scrolled-full .logo a,
	body#top.ab-redesign #header.header-scrolled .logo img,
	body#top.ab-redesign #header.header-scrolled-full .logo img {
		height: 2.75rem !important;
		max-height: 2.75rem !important;
	}
}

/*
 * Keep the fixed mobile service-action bar from obscuring Enfold's socket,
 * and place Enfold's back-to-top control above that fixed bar.
 */
@media screen and (max-width: 47.99rem) {
	body.ab-redesign {
		padding-bottom: 0;
	}

	body#top.ab-redesign #socket {
		padding-bottom: calc(4.5rem + env(safe-area-inset-bottom)) !important;
	}

	body#top.ab-redesign #scroll-top-link {
		bottom: calc(5.25rem + env(safe-area-inset-bottom)) !important;
	}
}

/* END A&B interior visual QA repair v7c */

/* A&B interior featured-image hero integration. */
body#top.ab-redesign.ab-redesign-interior .ab-interior__hero-layout--with-media {
	display: grid;
	gap: 2rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__hero-copy {
	min-width: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__hero-media {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 1rem;
	background: #e9ecef;
	box-shadow: 0 1.25rem 3rem rgba(17, 31, 47, 0.12);
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__hero-image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

@media (min-width: 990px) {
	body#top.ab-redesign.ab-redesign-interior .ab-interior__hero-layout--with-media {
		grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
		align-items: center;
		gap: clamp(2.5rem, 4vw, 4.5rem);
	}
}

@media (max-width: 989px) {
	body#top.ab-redesign.ab-redesign-interior .ab-interior__hero-layout--with-media {
		grid-template-columns: minmax(0, 1fr);
	}

	body#top.ab-redesign.ab-redesign-interior .ab-interior__hero-media {
		margin-top: 0.5rem;
	}
}


/* BEGIN A&B intermediate desktop header fit v11 */
/*
 * At compact desktop widths retain the full Primary navigation and
 * Schedule Service CTA, but remove the redundant header phone control.
 * The phone remains available in page CTAs and the mobile sticky action bar.
 */
@media (min-width: 990px) and (max-width: 1199px) {
	body#top.ab-redesign #header .ab-header-utility--phone,
	body#top.ab-redesign #header .logo::after {
		display: none;
	}
}
/* END A&B intermediate desktop header fit v11 */

/* BEGIN A&B Batch 1A internal-link + early-review treatment */
body#top.ab-redesign .ab-inline-link--stealth {
	color: inherit;
	text-decoration: none;
}

body#top.ab-redesign .ab-inline-link--stealth:hover,
body#top.ab-redesign .ab-inline-link--stealth:focus-visible {
	color: var(--ab-blue, #145979);
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

body#top.ab-redesign .ab-early-proof {
	background: var(--ab-soft-surface, #eee9df);
	border-bottom: 1px solid var(--ab-border, #d4cdc1);
	border-top: 1px solid var(--ab-border, #d4cdc1);
	padding: 1.25rem 0;
}

body#top.ab-redesign .ab-early-proof__figure {
	align-items: center;
	display: grid;
	gap: 0.35rem 1.25rem;
	grid-template-columns: max-content minmax(0, 1fr) max-content;
	margin: 0;
}

body#top.ab-redesign .ab-early-proof__stars {
	color: #ddb278;
	font-size: 0.9rem;
	letter-spacing: 0.1em;
	line-height: 1;
	margin: 0;
	white-space: nowrap;
}

body#top.ab-redesign .ab-early-proof__quote {
	margin: 0;
}

body#top.ab-redesign .ab-early-proof__quote p {
	color: var(--ab-foreground, #222426);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.45;
	margin: 0;
}

body#top.ab-redesign .ab-early-proof__attribution {
	align-items: center;
	display: flex;
	font-size: 0.78rem;
	gap: 0.75rem;
	justify-content: flex-end;
	line-height: 1.35;
	white-space: nowrap;
}

body#top.ab-redesign .ab-early-proof__attribution a {
	color: var(--ab-blue, #145979);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

@media (max-width: 989px) {
	body#top.ab-redesign .ab-early-proof {
		padding: 1rem 0;
	}

	body#top.ab-redesign .ab-early-proof__figure {
		align-items: start;
		gap: 0.5rem;
		grid-template-columns: 1fr;
	}

	body#top.ab-redesign .ab-early-proof__attribution {
		align-items: flex-start;
		flex-wrap: wrap;
		justify-content: flex-start;
		white-space: normal;
	}
}
/* END A&B Batch 1A internal-link + early-review treatment */

/* Batch 1B.1 human-QA repairs */

/*
 * Enfold still owns burger activation and menu behavior.
 * These rules only restore full-viewport geometry to the
 * generated burger overlay inside the A&B mobile state.
 */
@media only screen and (max-width: 989px) {
  body.ab-redesign .av-burger-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 100000 !important;
  }

  body.ab-redesign .av-burger-overlay-scroll {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.ab-redesign .av-burger-overlay-inner {
    width: 100% !important;
    max-width: none !important;
    min-height: 100% !important;
  }

  body.ab-redesign #av-burger-menu-ul {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Reviews feed: let the plugin own card styling. */
body.ab-redesign .ab-reviews-feed-shell {
  margin: 1.5rem 0 3rem;
}

/* Reviews page: keep the live feed close to the compact intro and hero. */
body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews .ab-interior__hero {
  padding-block: 2.25rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews .ab-interior__hero-media {
  aspect-ratio: 3 / 2;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews .ab-reviews-hero-jump {
  border-radius: inherit;
  cursor: pointer;
  display: block;
  height: 100%;
  width: 100%;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews .ab-reviews-hero-jump:focus-visible {
  outline: 0.1875rem solid var(--ab-primary);
  outline-offset: -0.3125rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews #ab-first-live-review {
  scroll-margin-top: 5.5rem;
}

@media (prefers-reduced-motion: no-preference) {
  html:has(body#top.ab-redesign .ab-interior--reviews) {
    scroll-behavior: smooth;
  }
}

body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews .ab-section {
  padding-block: 2rem 3.5rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews .ab-interior__editorial > h2:first-of-type {
  margin: 0 0 0.625rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews .ab-interior__editorial > h2:first-of-type + p {
  margin-bottom: 0;
  max-width: 78ch;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews .ab-reviews-feed-shell {
  margin: 1.25rem 0 2.5rem;
}

@media (min-width: 990px) {
  body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews .ab-interior__hero {
    padding-block: 2.75rem;
  }

  body#top.ab-redesign.ab-redesign-interior .ab-interior--reviews .ab-section {
    padding-block: 2.25rem 4rem;
  }
}

/* Contact map: one prominent map in the page body. */
body.ab-redesign .ab-contact-map-section {
  margin: 2rem 0 3rem;
}

body.ab-redesign .ab-contact-map {
  overflow: hidden;
  border: 0.0625rem solid var(--ab-border);
  border-radius: var(--ab-radius);
}

body.ab-redesign .ab-contact-map iframe {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 28rem !important;
  border: 0 !important;
}

/*
 * The Contact page now owns the map in its body.
 * Hide only the inherited footer copy on page 23.
 */
body.ab-redesign.page-id-23 #custom_html-4 {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  body.ab-redesign .ab-contact-map iframe {
    height: 22rem !important;
  }
}

/* Final service presentation polish: opt-in WordPress content modules. */
body#top.ab-redesign.ab-redesign-interior .ab-first-party-proof {
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	margin-block: 2rem;
	overflow: hidden;
}

body#top.ab-redesign.ab-redesign-interior .ab-first-party-proof__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

body#top.ab-redesign.ab-redesign-interior .ab-first-party-proof__media {
	align-items: center;
	background: var(--ab-surface);
	display: flex;
	justify-content: center;
	min-width: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-first-party-proof__media > a {
	display: block;
	width: 100%;
}

body#top.ab-redesign.ab-redesign-interior .ab-first-party-proof__media > a:focus-visible {
	outline: 0.1875rem solid var(--ab-primary);
	outline-offset: -0.1875rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-first-party-proof__image {
	border-radius: var(--ab-radius);
	display: block;
	height: auto;
	margin: 0;
	max-width: 100%;
	width: 100%;
}

body#top.ab-redesign.ab-redesign-interior .ab-first-party-proof__content {
	min-width: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
}

body#top.ab-redesign.ab-redesign-interior .ab-first-party-proof__content > :first-child {
	margin-top: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-first-party-proof__content > :last-child {
	margin-bottom: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-service-link-grid {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: minmax(0, 1fr);
	margin-block: 1.25rem 2rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial a.ab-service-link-card {
	align-items: center;
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	color: var(--ab-secondary);
	display: flex;
	font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
	font-weight: 700;
	line-height: 1.35;
	min-height: 4.5rem;
	min-width: 0;
	padding: 1rem 1.25rem;
	text-decoration: none;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial a.ab-service-link-card:hover {
	background: var(--ab-accent);
	border-color: var(--ab-secondary);
	color: var(--ab-secondary);
}

body#top.ab-redesign.ab-redesign-interior .ab-interior__editorial a.ab-service-link-card:focus-visible {
	background: var(--ab-accent);
	border-color: var(--ab-primary);
	outline: 0.1875rem solid var(--ab-primary);
	outline-offset: 0.1875rem;
}

@media (min-width: 48rem) {
	body#top.ab-redesign.ab-redesign-interior .ab-first-party-proof__grid {
		align-items: center;
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	}

	body#top.ab-redesign.ab-redesign-interior .ab-service-link-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* SEO implementation Batch 1: compact homepage trust facts. */
.ab-redesign .ab-trust {
	background: var(--ab-background);
	border-bottom: 0.0625rem solid var(--ab-border);
}

.ab-redesign .ab-trust__list {
	display: grid;
	gap: 0;
	grid-template-columns: minmax(0, 1fr);
	list-style: none;
	margin: 0;
	padding: 0.875rem 0;
}

.ab-redesign .ab-trust__list li {
	align-items: center;
	display: flex;
	justify-content: center;
	min-width: 0;
	padding: 0.625rem 1rem;
	text-align: center;
}

.ab-redesign .ab-trust__list strong {
	color: var(--ab-foreground);
	font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
	font-size: clamp(1rem, 2.4vw, 1.125rem);
	font-weight: 650;
	line-height: 1.35;
}

/* SEO implementation Batch 1: restrained first-service offer. */
.ab-redesign .ab-first-service-offer {
	background: var(--ab-background);
	padding-block: clamp(2rem, 5vw, 3.5rem);
}

.ab-redesign .ab-first-service-offer__inner {
	align-items: flex-start;
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	border-left: 0.25rem solid var(--ab-primary);
	border-radius: var(--ab-radius);
	display: grid;
	gap: 1.5rem;
	padding: clamp(1.25rem, 4vw, 2rem);
}

.ab-redesign .ab-first-service-offer__content {
	min-width: 0;
}

.ab-redesign .ab-first-service-offer h2 {
	font-size: clamp(1.625rem, 4vw, 2.25rem);
	margin: 0.25rem 0 0;
}

body#top.ab-redesign .ab-first-service-offer__content > p:not(.ab-eyebrow) {
	color: var(--ab-muted-foreground);
	font-size: 1.125rem;
	line-height: 1.55;
	margin: 0.75rem 0 0;
	max-width: 46rem;
}

body#top.ab-redesign .ab-first-service-offer__content > p.ab-first-service-offer__terms {
	font-size: 0.9375rem;
	line-height: 1.5;
}

.ab-redesign .ab-first-service-offer .ab-button {
	justify-self: start;
	white-space: normal;
}

/* SEO implementation Batch 1: crawlable About-page key facts. */
body#top.ab-redesign.ab-redesign-interior .ab-key-facts {
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	margin-block: 2rem;
	padding: clamp(1.25rem, 4vw, 2rem);
}

body#top.ab-redesign.ab-redesign-interior .ab-key-facts > :first-child {
	margin-top: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-key-facts > :last-child {
	margin-bottom: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-key-facts dl {
	display: grid;
	gap: 0;
	grid-template-columns: minmax(0, 1fr);
	margin: 1.25rem 0 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-key-facts dl > div {
	border-top: 0.0625rem solid var(--ab-border);
	display: grid;
	gap: 0.25rem;
	min-width: 0;
	padding-block: 0.875rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-key-facts dt {
	color: var(--ab-muted-foreground);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.4;
	text-transform: uppercase;
}

body#top.ab-redesign.ab-redesign-interior .ab-key-facts dd {
	color: var(--ab-foreground);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.45;
	margin: 0;
	min-width: 0;
}

@media (min-width: 48rem) {
	.ab-redesign .ab-trust__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ab-redesign .ab-trust__list li + li {
		border-left: 0.0625rem solid var(--ab-border);
	}

	.ab-redesign .ab-first-service-offer__inner {
		align-items: center;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	body#top.ab-redesign.ab-redesign-interior .ab-key-facts dl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body#top.ab-redesign.ab-redesign-interior .ab-key-facts dl > div {
		padding-inline: 1rem;
	}

	body#top.ab-redesign.ab-redesign-interior .ab-key-facts dl > div:nth-child(odd) {
		border-right: 0.0625rem solid var(--ab-border);
		padding-left: 0;
	}
}

/* SEO implementation Batch 2: Diagnostics evidence story and visible Q&A. */
body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-story {
	border-block: 0.0625rem solid var(--ab-border);
	display: grid;
	gap: 0.75rem;
	margin-block: 2rem;
	max-width: 65rem;
	padding-block: clamp(1.5rem, 4vw, 2.25rem);
}

body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-story .ab-eyebrow {
	margin: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-story__content {
	min-width: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-diagnostics-story h2 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: 0 0 0.75rem;
	max-width: 30ch;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-diagnostics-story p {
	max-width: 58ch;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-diagnostics-story > :last-child,
body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-diagnostics-story__content > :last-child {
	margin-bottom: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-faq {
	margin-block: 3rem 2rem;
	max-width: 65ch;
}

body#top.ab-redesign.ab-redesign-interior .ab-interior .ab-diagnostics-faq > h2 {
	margin-top: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-faq__list {
	margin: 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-faq__item {
	border-top: 0.0625rem solid var(--ab-border);
	padding-block: 1.25rem;
}

body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-faq__item:last-child {
	border-bottom: 0.0625rem solid var(--ab-border);
}

body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-faq dt {
	color: var(--ab-foreground);
	font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.4;
}

body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-faq dd {
	margin: 0.625rem 0 0;
}

body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-faq dd > :last-child {
	margin-bottom: 0;
}

@media (min-width: 48rem) {
	body#top.ab-redesign.ab-redesign-interior .ab-diagnostics-story {
		align-items: start;
		gap: clamp(1.5rem, 4vw, 3rem);
		grid-template-columns: minmax(10rem, 0.75fr) minmax(0, 2.25fr);
	}
}

/* A&B site-wide content presentation system. */
body#top.ab-redesign-content .title_container,
body#top.ab-redesign-content .sidebar {
	display: none;
}

body#top.ab-redesign-content .ab-content-shell,
body#top.ab-redesign-content .ab-content-shell *,
body#top.ab-redesign-content .ab-content-shell *::before,
body#top.ab-redesign-content .ab-content-shell *::after {
	box-sizing: border-box;
}

body#top.ab-redesign-content .ab-content-entry {
	margin: 0;
}

body#top.ab-redesign-content .ab-content-hero .ab-eyebrow a {
	color: inherit;
	text-decoration: none;
}

body#top.ab-redesign-content .ab-content-hero .ab-eyebrow a:hover,
body#top.ab-redesign-content .ab-content-hero .ab-eyebrow a:focus-visible {
	color: var(--ab-secondary);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

body#top.ab-redesign-content .ab-content-body {
	margin-inline: auto;
	max-width: 52rem;
	min-width: 0;
}

body#top.ab-redesign-content .ab-content-body--enfold {
	max-width: 70rem;
}

body#top.ab-redesign-content .ab-content-body img,
body#top.ab-redesign-content .ab-content-body video {
	height: auto;
	max-width: 100%;
}

body#top.ab-redesign-content .ab-content-body .avia-video,
body#top.ab-redesign-content .ab-content-body .mejs-container,
body#top.ab-redesign-content .ab-content-body iframe {
	max-width: 100%;
}

body#top.ab-redesign-content .ab-content-body > iframe[src*="youtube"],
body#top.ab-redesign-content .ab-content-body > iframe[src*="vimeo"],
body#top.ab-redesign-content .ab-content-body .wp-block-embed__wrapper iframe {
	aspect-ratio: 16 / 9;
	height: auto;
	width: 100%;
}

body#top.ab-redesign-content .ab-content-body figure,
body#top.ab-redesign-content .ab-content-body .wp-block-image {
	margin: 2rem 0;
	max-width: 100%;
}

body#top.ab-redesign-content .ab-content-body figcaption {
	color: var(--ab-muted-foreground);
	font-size: 0.875rem;
	line-height: 1.5;
	margin-top: 0.625rem;
}

body#top.ab-redesign-content .ab-content-body blockquote {
	border-left: 0.25rem solid var(--ab-secondary);
	color: var(--ab-muted-foreground);
	font-size: 1.125rem;
	margin: 2rem 0;
	padding: 0.5rem 0 0.5rem 1.5rem;
}

body#top.ab-redesign-content .ab-content-body blockquote > :last-child {
	margin-bottom: 0;
}

body#top.ab-redesign-content .ab-content-body table {
	border-collapse: collapse;
	display: block;
	margin-block: 2rem;
	max-width: 100%;
	overflow-x: auto;
	width: max-content;
}

body#top.ab-redesign-content .ab-content-body th,
body#top.ab-redesign-content .ab-content-body td {
	border: 0.0625rem solid var(--ab-border);
	padding: 0.75rem;
	text-align: left;
	vertical-align: top;
}

body#top.ab-redesign-content .ab-content-body pre,
body#top.ab-redesign-content .ab-content-body code {
	overflow-wrap: normal;
}

body#top.ab-redesign-content .ab-content-body pre {
	background: var(--ab-foreground);
	border-radius: var(--ab-radius);
	color: var(--ab-primary-foreground);
	overflow-x: auto;
	padding: 1rem;
}

body#top.ab-redesign-content .ab-content-body .alignleft {
	float: left;
	margin: 0.375rem 1.5rem 1rem 0;
}

body#top.ab-redesign-content .ab-content-body .alignright {
	float: right;
	margin: 0.375rem 0 1rem 1.5rem;
}

body#top.ab-redesign-content .ab-content-body .aligncenter {
	display: block;
	margin-inline: auto;
}

body#top.ab-redesign-content .ab-content-body::after {
	clear: both;
	content: "";
	display: table;
}

body#top.ab-redesign-content .ab-content-body--enfold > .avia-section,
body#top.ab-redesign-content .ab-content-body--enfold > .av-layout-grid-container,
body#top.ab-redesign-content .ab-content-body--enfold > .container_wrap {
	max-width: 100%;
	width: 100%;
}

body#top.ab-redesign-content .ab-interior__pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 2rem;
}

body#top.ab-redesign-content .ab-article-meta,
body#top.ab-redesign-content .ab-article-card__meta {
	align-items: center;
	color: var(--ab-muted-foreground);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.875rem;
	gap: 0.5rem 1rem;
	line-height: 1.5;
}

body#top.ab-redesign-content .ab-article-meta {
	margin-top: 1.25rem;
}

body#top.ab-redesign-content .ab-article-meta__categories,
body#top.ab-redesign-content .ab-article-card__meta span {
	align-items: center;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

body#top.ab-redesign-content .ab-article-meta a,
body#top.ab-redesign-content .ab-article-card__meta a {
	color: var(--ab-secondary);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

body#top.ab-redesign-content .ab-article-pathways {
	background: var(--ab-surface);
	border-block: 0.0625rem solid var(--ab-border);
	padding-block: 3rem;
}

body#top.ab-redesign-content .ab-article-pathways .ab-section-heading {
	margin-bottom: 1.5rem;
}

body#top.ab-redesign-content .ab-article-pathways h2 {
	margin: 0;
}

body#top.ab-redesign-content .ab-article-pathways__grid {
	display: grid;
	gap: 1rem;
}

body#top.ab-redesign-content .ab-article-pathway {
	align-items: center;
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	color: var(--ab-foreground);
	display: flex;
	font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	gap: 1rem;
	justify-content: space-between;
	min-height: 4.5rem;
	padding: 1rem 1.25rem;
	text-decoration: none;
}

body#top.ab-redesign-content .ab-article-pathway:hover,
body#top.ab-redesign-content .ab-article-pathway:focus-visible {
	border-color: var(--ab-secondary);
	color: var(--ab-secondary);
}

body#top.ab-redesign-content .ab-article-pathway:hover .ab-icon {
	transform: translateX(0.25rem);
}

body#top.ab-redesign-content .ab-article-navigation {
	padding-block: 2rem 3rem;
}

body#top.ab-redesign-content .ab-article-navigation .nav-links {
	display: grid;
	gap: 1rem;
}

body#top.ab-redesign-content .ab-article-navigation a {
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	color: var(--ab-foreground);
	display: grid;
	gap: 0.25rem;
	min-height: 100%;
	padding: 1rem;
	text-decoration: none;
}

body#top.ab-redesign-content .ab-article-navigation a:hover,
body#top.ab-redesign-content .ab-article-navigation a:focus-visible {
	border-color: var(--ab-secondary);
	color: var(--ab-secondary);
}

body#top.ab-redesign-content .ab-article-navigation__label {
	color: var(--ab-muted-foreground);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

body#top.ab-redesign-content .ab-archive-hero .ab-interior__lede {
	color: var(--ab-muted-foreground);
}

body#top.ab-redesign-content .ab-topic-nav {
	background: var(--ab-card);
	border-bottom: 0.0625rem solid var(--ab-border);
	padding-block: 0.75rem;
}

body#top.ab-redesign-content .ab-topic-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

body#top.ab-redesign-content .ab-topic-nav li {
	margin: 0;
}

body#top.ab-redesign-content .ab-topic-nav a {
	align-items: center;
	border: 0.0625rem solid var(--ab-border);
	border-radius: 999px;
	color: var(--ab-foreground);
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 700;
	min-height: 2.75rem;
	padding: 0.5rem 0.875rem;
	text-decoration: none;
}

body#top.ab-redesign-content .ab-topic-nav a:hover,
body#top.ab-redesign-content .ab-topic-nav a:focus-visible,
body#top.ab-redesign-content .ab-topic-nav .current-cat > a {
	background: var(--ab-secondary);
	border-color: var(--ab-secondary);
	color: var(--ab-secondary-foreground);
}

body#top.ab-redesign-content .ab-article-grid {
	display: grid;
	gap: 1.25rem;
}

body#top.ab-redesign-content .ab-article-card {
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	display: flex;
	flex-direction: column;
	margin: 0;
	min-width: 0;
	overflow: hidden;
	transition: border-color 180ms ease, transform 180ms ease;
}

body#top.ab-redesign-content .ab-article-card:hover {
	border-color: var(--ab-secondary);
	transform: translateY(-0.125rem);
}

body#top.ab-redesign-content .ab-article-card__media {
	background: var(--ab-muted);
	display: block;
	overflow: hidden;
	position: relative;
}

body#top.ab-redesign-content .ab-article-card__media::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

body#top.ab-redesign-content .ab-article-card__image {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transition: transform 240ms ease;
	width: 100%;
}

body#top.ab-redesign-content .ab-article-card:hover .ab-article-card__image {
	transform: scale(1.025);
}

body#top.ab-redesign-content .ab-article-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.25rem;
}

body#top.ab-redesign-content .ab-interior .ab-article-card__title {
	font-size: 1.375rem;
	line-height: 1.25;
	margin: 0.875rem 0 0.75rem;
}

body#top.ab-redesign-content .ab-article-card__title a {
	color: inherit;
	text-decoration: none;
}

body#top.ab-redesign-content .ab-article-card__title a:hover,
body#top.ab-redesign-content .ab-article-card__title a:focus-visible {
	color: var(--ab-secondary);
}

body#top.ab-redesign-content .ab-article-card__excerpt {
	color: var(--ab-muted-foreground);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 0 1rem;
}

body#top.ab-redesign-content .ab-article-card .ab-text-link {
	color: var(--ab-secondary);
	margin-top: auto;
	width: fit-content;
}

body#top.ab-redesign-content .ab-archive-content .navigation.pagination {
	margin-top: 2.5rem;
}

body#top.ab-redesign-content .ab-archive-content .nav-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

body#top.ab-redesign-content .ab-archive-content .page-numbers {
	align-items: center;
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	color: var(--ab-foreground);
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	min-height: 2.75rem;
	min-width: 2.75rem;
	padding: 0.5rem 0.75rem;
	text-decoration: none;
}

body#top.ab-redesign-content .ab-archive-content .page-numbers.current,
body#top.ab-redesign-content .ab-archive-content a.page-numbers:hover,
body#top.ab-redesign-content .ab-archive-content a.page-numbers:focus-visible {
	background: var(--ab-secondary);
	border-color: var(--ab-secondary);
	color: var(--ab-secondary-foreground);
}

body#top.ab-redesign-content .ab-archive-empty {
	background: var(--ab-card);
	border: 0.0625rem solid var(--ab-border);
	border-radius: var(--ab-radius);
	padding: 1.5rem;
}

body#top.ab-redesign-content .ab-interior .ab-archive-empty h2 {
	margin-top: 0;
}

body#top.ab-redesign-content .ab-archive-empty > :last-child {
	margin-bottom: 0;
}

@media (min-width: 48rem) {
	body#top.ab-redesign-content .ab-article-pathways__grid,
	body#top.ab-redesign-content .ab-article-navigation .nav-links,
	body#top.ab-redesign-content .ab-article-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 990px) {
	body#top.ab-redesign-content .ab-article-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body#top.ab-redesign-content .ab-article-card--featured {
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	}

	body#top.ab-redesign-content .ab-article-card--featured.ab-article-card--with-media {
		display: grid;
	}

	body#top.ab-redesign-content .ab-interior .ab-article-card--featured .ab-article-card__title {
		font-size: clamp(1.75rem, 3vw, 2.375rem);
	}

	body#top.ab-redesign-content .ab-article-card--featured .ab-article-card__body {
		padding: clamp(1.5rem, 3vw, 2.5rem);
	}
}

@media (max-width: 47.99rem) {
	body#top.ab-redesign-content .ab-content-body .alignleft,
	body#top.ab-redesign-content .ab-content-body .alignright {
		float: none;
		margin: 1.5rem 0;
	}

	body#top.ab-redesign-content .ab-topic-nav .ab-container {
		overflow-x: auto;
	}

	body#top.ab-redesign-content .ab-topic-nav ul {
		flex-wrap: nowrap;
		width: max-content;
	}
}

@media print {
	body#top.ab-redesign-content .ab-topic-nav,
	body#top.ab-redesign-content .ab-article-pathways,
	body#top.ab-redesign-content .ab-article-navigation {
		display: none !important;
	}

	body#top.ab-redesign-content .ab-article-card {
		break-inside: avoid;
	}
}

/* BEGIN A&B visual QA repair v12 */
/* Enfold floats built-in articles; coded content must remain in normal flow. */
body#top.ab-redesign-content .ab-content-entry {
	float: none;
	display: flow-root;
	width: 100%;
	min-width: 0;
}

body#top.ab-redesign-content .ab-content-shell > .ab-final-cta {
	clear: both;
}

/* Anchor the existing tagline to the logo rather than the header container. */
@media (min-width: 990px) {
	body#top.ab-redesign #header .logo {
		position: relative;
		overflow: visible;
		top: 0 !important;
	}
}

/* Retire the legacy inline yellow link highlights, preserving text and links. */
body#top.ab-redesign a[style*="background-color: yellow" i],
body#top.ab-redesign a[style*="background-color:yellow" i],
body#top.ab-redesign a[style*="background: yellow" i],
body#top.ab-redesign a[style*="background:yellow" i],
body#top.ab-redesign a[style*="background-color: #ffff00" i],
body#top.ab-redesign a[style*="background-color:#ffff00" i],
body#top.ab-redesign a[style*="background-color: #ff0;" i],
body#top.ab-redesign a[style*="background-color:#ff0;" i] {
	background-color: transparent !important;
	color: var(--ab-secondary) !important;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}
/* END A&B visual QA repair v12 */

/* BEGIN A&B article typography normalization v15 */
/* Match the approved Hunter typography without rewriting WordPress post text. */
body#top.ab-redesign-article .ab-article__content--normalized .avia_textblock,
body#top.ab-redesign-article .ab-article__content--normalized :is(p, ul, ol, li, dl, dt, dd, td, th) {
 font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif !important;
 font-size: 1.125rem !important;
 line-height: 1.6 !important;
 color: var(--ab-foreground) !important;
 text-transform: none !important;
 letter-spacing: normal !important;
}
body#top.ab-redesign-article .ab-article__content--normalized p {
 margin-top: 0 !important;
 margin-bottom: 1.25rem !important;
 text-align: left !important;
}
body#top.ab-redesign-article .ab-article__content--normalized :is(h2, h3, h4, h5, h6) {
 font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif !important;
 color: var(--ab-foreground) !important;
 font-weight: 700 !important;
 line-height: 1.2 !important;
 letter-spacing: 0 !important;
 text-transform: none !important;
 text-align: left !important;
 margin: 2.5rem 0 1rem !important;
}
body#top.ab-redesign-article .ab-article__content--normalized h2 { font-size: 1.875rem !important; }
body#top.ab-redesign-article .ab-article__content--normalized h3 { font-size: 1.25rem !important; line-height: 1.3 !important; margin: 1.75rem 0 0.75rem !important; }
body#top.ab-redesign-article .ab-article__content--normalized :is(h4, h5, h6) { font-size: 1.125rem !important; }
body#top.ab-redesign-article .ab-article__content--normalized :is(p, li, h2, h3, h4, h5, h6) :is(span, font, strong, em, b, i) {
 font-family: inherit !important;
 font-size: inherit !important;
 line-height: inherit !important;
 color: inherit !important;
 background-color: transparent !important;
}
body#top.ab-redesign-article .ab-article__content--normalized a:not(.avia-button) {
 color: var(--ab-secondary) !important;
 background-color: transparent !important;
 font-family: inherit !important;
 font-size: inherit !important;
 line-height: inherit !important;
 text-decoration: underline;
 text-underline-offset: 0.18em;
}
body#top.ab-redesign-article .ab-article__content--normalized a:not(.avia-button):is(:hover, :focus-visible) {
 color: var(--ab-primary) !important;
}
body#top.ab-redesign-article .ab-article__content--normalized a :is(span, font, strong, em) {
 color: inherit !important;
 font-size: inherit !important;
}
body#top.ab-redesign-article .ab-article__content--normalized :is(p, h2, h3, h4, h5, h6, span, font) {
 background-color: transparent !important;
}
body#top.ab-redesign-article .ab-article__content--normalized :is(.main_color, .alternate_color, .avia-section, .container_wrap) {
 color: var(--ab-foreground) !important;
 background-color: transparent !important;
 border-color: var(--ab-border) !important;
}
body#top.ab-redesign-article .ab-article__content--normalized :is(ul, ol) {
 margin-block: 1.25rem !important;
 padding-left: 1.5rem;
}
body#top.ab-redesign-article .ab-article__content--normalized li { margin-bottom: 0.375rem !important; }
body#top.ab-redesign-article .ab-article__content--normalized :is(p, li) { max-width: 65ch !important; }
body#top.ab-redesign-article .ab-article__content--normalized blockquote p { color: inherit !important; }
body#top.ab-redesign-article.postid-7713 .ab-article__content--normalized .av-special-heading-tag { text-align: inherit !important; }
/* The existing archive grid already fits a featured post plus three desktop cards. */
body#top.ab-redesign .ab-guide-map-section { clear: both; }
@media print {
 body#top.ab-redesign .ab-guide-map-section .ab-contact-map { display: none; }
}
/* END A&B article typography normalization v15 */
