/*
 * Section styles for the animalcenter/* patterns.
 * Values come from the old Elementor CSS: home 20332, services 19612, clinic 8946,
 * expertise 16825, contact 11850, thank-you 15768, post loop 17768.
 * Breakpoints as Elementor: ≤ 1400px (its "laptop" overrides), tablet ≤ 1024px, mobile ≤ 767px.
 */

.ac-section {
	position: relative;
}

/* Sections are full-bleed or width-capped by their own rules, not by the constrained layout. */
.wp-block-post-content > .ac-section {
	margin-block: 0;
}

.ac-section p {
	margin: 0;
}

/* Big bold section headings (home "בית חולים וטרינרי באשדוד", "שאלות? יש גם תשובות!"). */
.ac-display {
	margin: 0 0 30px;
	font-family: var(--ac-arbel);
	font-size: 120px;
	font-weight: 700;
	line-height: 80px;
	letter-spacing: -1px;
	color: var(--wp--preset--color--primary);
}

.ac-pill--mint .wp-block-button__link {
	background: var(--wp--preset--color--mint);
	color: var(--wp--preset--color--primary);
	font-weight: 500;
}

@media (max-width: 1400px) {
	.ac-display {
		font-size: 100px;
	}
}

@media (max-width: 767px) {
	.ac-display {
		font-size: 60px;
		line-height: 1.1em;
	}

	.ac-pill .wp-block-button__link {
		font-size: 17px;
	}
}

/* ------------------------------------------------------------ hero-arch */

.ac-hero-arch {
	display: grid;
	grid-template-columns: 25.898% 48.121% 1fr;
}

.ac-hero-arch__title {
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	z-index: 9;
	/* Live box at 1440: 28.5vw wide, 7.85vw from the right edge, overflowing into the arch. */
	justify-self: start;
	width: 31vw;
	margin: 0;
	margin-inline-start: 7.85vw;
	font-family: var(--ac-handwriting);
	/* 76px with 131.5px lines at 1440 (live); capped on wide screens, lines in proportion so the
	   handwriting never collides. */
	font-size: min(5.3vw, 84px);
	font-weight: 400;
	line-height: 1.72;
	letter-spacing: 6px;
	color: var(--wp--preset--color--primary);
	text-align: start;
}

.ac-hero-arch__image {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin: 0;
	/* The arch is as tall as its content: the dog sits 36px under the menu at every width (a 55vw height
	   left a gap that grew with the screen). */
	padding-top: calc(var(--ac-header-h) + 36px);
	background: var(--wp--preset--color--peach);
	border-radius: 0 0 100% 100%;
}

/* The photo has ~550px of real detail: never shown bigger than 460px. */
.ac-hero-arch__image img {
	width: min(60%, 460px);
	margin-bottom: 45px;
}

@media (max-width: 1400px) {
	.ac-hero-arch {
		min-height: 0;
	}

	.ac-hero-arch__title {
		width: auto;
		margin: 30px 27px 0 -110px;
		line-height: 1.5em;
	}

	.ac-hero-arch__image {
		padding-top: 150px;
	}

	.ac-hero-arch__image img {
		margin: 20px 0 0;
	}
}

@media (max-width: 1024px) {
	.ac-hero-arch__title {
		letter-spacing: 0;
	}
}

@media (max-width: 767px) {
	.ac-hero-arch {
		grid-template-columns: 1fr;
		margin-bottom: 6%;
		/* Below the phone header (26px + the 57px row + 12px), as tall at the top as when it sticks. */
		padding-top: 96px;
	}

	/* Phones: the arch comes first, the title under it. */
	.ac-hero-arch__title {
		grid-column: 1;
		grid-row: 2;
		width: auto;
		margin: 0;
		padding: 10px;
		font-size: 9.9vw;
		text-align: center;
	}

	.ac-hero-arch__image {
		grid-column: 1;
		grid-row: 1;
		padding-top: 40px;
	}

	.ac-hero-arch__image img {
		margin: 0;
	}
}

/* ------------------------------------------------------------ counters */

.ac-section.ac-counters {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	max-width: 1200px;
	margin: 150px auto 0 !important;
	padding-inline: 10px;
}

.ac-counter {
	margin: 0;
	padding: 40px;
	border: 3px solid #046E4F;
	text-align: start;
}

.ac-counter:first-child {
	border-left-width: 0;
	border-radius: 0 7px 7px 0;
}

.ac-counter:last-child {
	border-right-width: 0;
	border-radius: 7px 0 0 7px;
}

.ac-counter--mint {
	background: var(--wp--preset--color--mint);
}

.ac-counter__number {
	font-size: 66.73px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--wp--preset--color--ink);
}

.ac-counter__label {
	font-size: 24px;
	line-height: 38.18px;
	color: var(--wp--preset--color--ink);
}

@media (max-width: 1400px) {
	.ac-section.ac-counters {
		margin-top: 25px !important;
		margin-bottom: 25px !important;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-counters {
		grid-template-columns: 1fr;
		margin-block: 0 !important;
		padding-inline: 7px;
	}

	.ac-counter:first-child {
		border-width: 3px 3px 0;
		border-radius: 7px 7px 0 0;
	}

	.ac-counter:last-child {
		border-width: 0 3px 3px;
		border-radius: 0 0 7px 7px;
	}
}

/* ------------------------------------------------------------ about-split */

.ac-section.ac-about-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	max-width: 1200px;
	margin: 150px auto 0 !important;
	padding-inline: 10px;
}

.ac-about-split__text .wp-block-heading {
	margin-bottom: 20px;
}

.ac-lead {
	font-size: 24px;
	line-height: 33.6px;
	color: var(--wp--preset--color--ink);
}

.ac-about-split__text .wp-block-buttons {
	margin-top: 30px;
}

.ac-about-split .ac-pill .wp-block-button__link {
	font-size: 26px;
	padding: 10px 25px;
}

.ac-about-split__image {
	margin: 0 -100px 0 0;
}

@media (max-width: 1400px) {
	.ac-section.ac-about-split {
		grid-template-columns: 1fr;
	}

	.ac-about-split__image {
		margin: -40px 30px 0 0;
		text-align: start;
	}

	.ac-about-split__image img {
		width: 60%;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-about-split {
		margin: 50px auto !important;
	}

	/* Live shrinks this image to 5% on phones; it is effectively hidden. */
	.ac-about-split__image {
		display: none;
	}

	.ac-about-split .ac-pill .wp-block-button__link {
		font-size: 17px;
	}
}

/* ------------------------------------------------------------ animal-grid (flip boxes + colour tiles) */

.ac-animal-grid {
	margin-top: 150px !important;
}

.ac-animal-grid__row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)); /* equal columns even when a card grows to fit its text */
	margin: 0 !important;
	--ac-wave-color: var(--wp--preset--color--linen);
}

.ac-animal-grid__row + .ac-animal-grid__row {
	margin-bottom: 100px !important;
}

.ac-tile,
.ac-flip {
	height: 110vh;
	margin: 0 !important;
}

.ac-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.ac-tile--salmon { background: var(--wp--preset--color--salmon); }
.ac-tile--green { background: var(--wp--preset--color--green); }
.ac-tile--mint { background: var(--wp--preset--color--mint); padding-left: 35px; }

/* "Dogs" is set larger than the other English words on live. */
.ac-animal-grid__row:first-child .ac-tile:last-child .ac-tile__en { font-size: 100px; }

.ac-tile__en {
	font-family: var(--wp--preset--font-family--serif-display);
	font-size: 79px;
	font-weight: 600;
	line-height: 84.5px;
	text-transform: capitalize;
	color: var(--wp--preset--color--cream);
}

.ac-tile__he {
	font-family: var(--wp--preset--font-family--handwriting-2);
	font-size: 250px;
	font-weight: 100;
	line-height: 0.4;
	color: #000000C2;
}

.ac-flip {
	position: relative;
	/* Live uses Elementor's "slide" effect: the back slides in over the photo inside a clipped box. `clip`,
	   not `hidden`: a hidden box with an aspect ratio would no longer grow to fit its text. */
	overflow: clip;
}

.ac-flip__front,
.ac-flip__back {
	position: absolute !important;
	inset: 0;
	margin: 0 !important;
	transition: transform 0.6s ease-in-out;
}

.ac-flip__front img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ac-flip--salmon .ac-flip__front img { object-position: center; }
.ac-flip--green:nth-child(3) .ac-flip__front img { object-position: 20% top; }
.ac-flip--green .ac-flip__front img { object-position: bottom center; }
.ac-flip--mint .ac-flip__front img { object-position: bottom right; }

.ac-flip__back {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 35px;
	text-align: start;
	color: #fff;
}

.ac-flip--salmon .ac-flip__back { background: var(--wp--preset--color--salmon); color: #023022C9; }
.ac-flip--green .ac-flip__back { background: var(--wp--preset--color--green); }
.ac-flip--mint .ac-flip__back { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--green); }

/* Desktop only: tablets and phones show the back as a plain block (below). First row slides in from the
   left, second from the right, as live's direction-right / direction-left boxes. */
@media (width > 1024px) {
	/* Cards take the photos' shape (432×492) instead of the screen height, so the photos aren't blown up
	   past their resolution (110vh stretched them 2–3×). The back's text scales with the card. */
	.ac-tile,
	.ac-flip {
		height: auto;
		aspect-ratio: 432 / 492;
	}

	/* Photo and text share one grid cell, so the photo's shape is a minimum: a card whose text needs more
	   room grows (and its row with it) instead of cutting the text off. */
	.ac-flip {
		display: grid;
		container-type: inline-size;
	}

	.ac-flip__front,
	.ac-flip__back {
		grid-area: 1 / 1;
		position: relative !important;
		inset: auto;
	}

	.ac-animal-grid .ac-flip__back {
		padding: 7cqi;
	}

	/* Four columns down to tablets (two columns blew the photos up 1.3–1.6× on laptops): the tile words
	   scale with the tile, at most their designed sizes. */
	.ac-tile {
		container-type: inline-size;
	}

	.ac-animal-grid .ac-tile__en {
		font-size: min(79px, 22cqi);
		line-height: 1.07;
	}

	.ac-animal-grid .ac-animal-grid__row:first-child .ac-tile:last-child .ac-tile__en {
		font-size: min(100px, 27.8cqi);
	}

	.ac-animal-grid .ac-tile__he {
		font-size: min(250px, 69cqi);
	}

	.ac-animal-grid .ac-flip__title {
		margin-bottom: 4cqi;
		font-size: clamp(24px, 10cqi, 56px);
	}

	.ac-animal-grid .ac-flip__text {
		margin-bottom: 5cqi !important;
		font-size: clamp(14px, 4.5cqi, 22px);
		line-height: 1.4;
	}

	.ac-animal-grid .ac-flip__button .wp-block-button__link {
		font-size: clamp(16px, 6cqi, 26px);
		line-height: 1.2;
	}

	.ac-animal-grid__row:first-child .ac-flip__back {
		transform: translateX(-100%);
	}

	.ac-animal-grid__row + .ac-animal-grid__row .ac-flip__back {
		transform: translateX(100%);
	}

	.ac-animal-grid__row .ac-flip:hover .ac-flip__back,
	.ac-animal-grid__row .ac-flip:focus-within .ac-flip__back {
		transform: none;
	}
}

.ac-flip__title {
	margin: 0 0 20px;
	font-size: 66.7px;
	font-weight: 700;
	line-height: 1.1;
	color: inherit;
}

.ac-flip__text {
	margin-bottom: 25px !important;
	font-size: 24px;
	line-height: 33.6px;
}

.ac-flip__button .wp-block-button__link {
	font-size: 26px;
	line-height: 31.5px;
}

.ac-flip--mint .ac-flip__button .wp-block-button__link {
	background: var(--wp--preset--color--green);
	color: var(--wp--preset--color--mint);
}

@media (prefers-reduced-motion: reduce) {
	.ac-flip__front,
	.ac-flip__back {
		transition: none;
	}
}

/* Tablets and phones (no hover): live shows each card's back — the service text — and hides the photo. */
@media (max-width: 1024px) {
	.ac-tile,
	.ac-flip {
		height: auto;
		min-height: 100vw;
	}

	.ac-flip__front {
		display: none;
	}

	.ac-flip__back,
	.ac-flip:hover .ac-flip__back,
	.ac-flip:focus-within .ac-flip__back {
		position: static !important;
		height: 100%;
		padding: 35px 20px 50px;
		transform: none;
	}

	/* Two cards a row: four columns (laptops and up) leave 192–256px, too narrow for the back's text. */
	.ac-animal-grid__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1400px) {
	.ac-animal-grid {
		margin-top: 45px !important;
	}

	.ac-animal-grid__row {
		--ac-wave-height: 70px;
	}
}

@media (max-width: 767px) {
	.ac-animal-grid__row {
		grid-template-columns: 1fr;
	}

	.ac-tile {
		height: auto;
		min-height: 0;
		padding: 40% 0 50%;
	}

	.ac-tile--mint {
		padding-left: 0;
	}

	.ac-tile__en {
		font-size: 80px;
	}

	/* Phones: one column; row 1 runs Dogs first, as live. */
	.ac-animal-grid__row {
		display: flex;
		flex-direction: column;
	}

	.ac-animal-grid__row:first-child {
		flex-direction: column-reverse;
	}

	.ac-flip {
		min-height: 0;
	}
}

/* ------------------------------------------------------------ services (blobs) */

.ac-section.ac-services {
	max-width: 1140px;
	margin: 0 auto 20px !important;
	padding-inline: 10px;
}

.ac-services__title {
	margin: 0 0 20px;
	font-size: 80px;
	font-weight: 700;
	line-height: 80px;
	letter-spacing: -1px;
	color: var(--wp--preset--color--primary);
}

.ac-services__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 20px;
}

.ac-service,
.ac-animal-tile {
	flex: 0 0 25%;
	display: flex;
	justify-content: center;
	margin: 0 !important;
}

.ac-service a,
.ac-service__box,
.ac-animal-tile a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	/* The blob shapes are irregular: their visual centre isn't the box centre. The shape is stretched
	   to the box, so its visual centre sits at known fractions (--ac-blob-dx/dy, from .ac-blob-N), and uneven padding
	   moves the content onto it (in px of the blob's own width, --ac-blob-w: % padding would be of the parent). */
	--ac-pad: 30px;
	--ac-shift-x: calc(var(--ac-blob-dx, 0) * var(--ac-blob-w, 0px));
	--ac-shift-y: calc(var(--ac-blob-dy, 0) / var(--ac-blob-aspect, 1) * var(--ac-blob-w, 0px));
	padding:
		calc(var(--ac-pad) + max(0px, var(--ac-shift-y)))
		calc(var(--ac-pad) + max(0px, -1 * var(--ac-shift-x)))
		calc(var(--ac-pad) + max(0px, -1 * var(--ac-shift-y)))
		calc(var(--ac-pad) + max(0px, var(--ac-shift-x)));
	color: #000;
	text-align: center;
	text-decoration: none;
	background: var(--wp--preset--color--peach);
	-webkit-mask: var(--ac-blob) center / 100% 100% no-repeat;
	mask: var(--ac-blob) center / 100% 100% no-repeat;
}

.ac-service a,
.ac-service__box {
	--ac-blob-aspect: 1.1;
	--ac-blob-w: 210px;
	width: var(--ac-blob-w);
	aspect-ratio: 1.1;
	font-size: 24px;
	line-height: 0.9em;
}

.ac-service__icon {
	width: 70px;
	height: auto;
}

/* dx/dy: twice the offset of the shape's visual centre from the box centre, as fractions of the box. The visual
   centre of an irregular shape is the centre of the largest circle that fits inside it (its "pole of
   inaccessibility", as map labels use), not its mass centroid: measured on each stretched shape. */
.ac-blob-1 { --ac-blob: url(../img/blob-1.svg); --ac-blob-dx: 0; --ac-blob-dy: 0.074; }
.ac-blob-2 { --ac-blob: url(../img/blob-2.svg); --ac-blob-dx: -0.096; --ac-blob-dy: -0.008; }
.ac-blob-3 { --ac-blob: url(../img/blob-3.svg); --ac-blob-dx: -0.200; --ac-blob-dy: -0.058; }
.ac-blob-4 { --ac-blob: url(../img/blob-4.svg); --ac-blob-dx: -0.108; --ac-blob-dy: -0.080; }
.ac-blob-5 { --ac-blob: url(../img/blob-5.svg); --ac-blob-dx: -0.106; --ac-blob-dy: 0.024; }
.ac-blob-6 { --ac-blob: url(../img/blob-6.svg); --ac-blob-dx: -0.112; --ac-blob-dy: -0.076; }
.ac-blob-7 { --ac-blob: url(../img/blob-7.svg); --ac-blob-dx: -0.086; --ac-blob-dy: -0.126; }

/* The icon files pad their artwork differently (the tooth fills its whole file): scale each so the visible
   artwork is the same size (113/140 of the box, the common case). */
.ac-service__icon[src$="/2022/09/Frame-1-1.svg"] { scale: 0.93; }
.ac-service__icon[src$="/2022/11/Frame.svg"],
.ac-service__icon[src$="/2022/09/Frame-4.svg"] { scale: 1.12; }
.ac-service__icon[src$="/2022/09/Vector-4.svg"] { scale: 0.81; }

@media (max-width: 767px) {
	.ac-services__title {
		font-size: 50px;
		line-height: 1.1em;
	}

	.ac-service {
		flex-basis: 50%;
	}

	.ac-service a,
	.ac-service__box {
		--ac-blob-w: 183px;
	}
}

/* ------------------------------------------------------------ faq (core/details, one open at a time) */

.ac-section.ac-faq {
	max-width: 1140px;
	margin: 120px auto 0 !important;
	padding-inline: 10px;
}

/* Live: 59px from the heading to the first question (heading margin + 2vw item margin). */
.ac-faq > .ac-display {
	margin-bottom: 59px;
}

.ac-faq .wp-block-details {
	margin: 2vw 0 0;
	background: #fff;
}

.ac-faq > .ac-display + .wp-block-details {
	margin-top: 0;
}

.ac-faq summary {
	position: relative;
	padding: 2% 3%;
	padding-left: calc(3% + 30px);
	list-style: none;
	font-size: 2.1vw;
	font-weight: 600;
	line-height: 1.1;
	color: var(--wp--preset--color--primary);
	cursor: pointer;
}

.ac-faq summary::-webkit-details-marker {
	display: none;
}

/* Peach chevron, top-left on the question's first line, as live (fa-chevron-down). */
.ac-faq summary::after {
	content: "";
	position: absolute;
	top: calc(2% + 0.2em);
	left: 3%;
	width: 11px;
	height: 11px;
	border: solid var(--wp--preset--color--peach);
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
	transition: transform 0.2s;
}

.ac-faq details[open] summary::after {
	transform: translate(0, 5px) rotate(-135deg);
}

.ac-faq .wp-block-details > :not(summary) {
	margin: 0;
	padding: 0 3% 3%;
	font-size: 1.6vw;
	color: #000;
}

@media (max-width: 1400px) {
	.ac-faq summary { font-size: 4vw; }
	.ac-faq .wp-block-details > :not(summary) { font-size: 2.5vw; }
}

@media (max-width: 767px) {
	.ac-faq .wp-block-details { margin-top: 2vw; }
	.ac-faq summary { padding: 5%; padding-left: calc(5% + 24px); font-size: 5vw; }
	.ac-faq summary::after { top: calc(5% + 0.25em); left: 5%; width: 9px; height: 9px; }
	.ac-faq .wp-block-details > :not(summary) { font-size: 5vw; padding: 0 5% 5%; }
}

/* ------------------------------------------------------------ reviews */

.ac-section.ac-reviews {
	max-width: 1140px;
	margin: 0 auto !important;
	padding: 26px 10px 0;
}

/* The widget's fonts and icons come from cdn.trustindex.io through its CSS: a third connection during the first
   paint cost the home page ~0.9 s of Lighthouse LCP. The widget waits, at its own height (268–291px), until the
   section comes within a screen of view and its loader script (inc/assets.php) adds is-near. */
html.js .ac-section.ac-reviews:not(.is-near) {
	min-height: 280px;
}

html.js .ac-reviews:not(.is-near) .ti-widget {
	display: none !important;
}

/* ------------------------------------------------------------ latest-articles (post loop item 17768) */

.ac-section.ac-latest-articles {
	max-width: 1140px;
	margin: 2% auto 0 !important;
	padding-inline: 10px;
}

.ac-latest-articles__title {
	margin: 0 0 20px;
	font-size: 3vw;
	font-weight: 900;
	text-align: center;
	color: var(--wp--preset--color--primary);
}

.ac-cards .wp-block-post-template {
	gap: 40px;
}

.ac-cards .wp-block-post {
	display: flex;
	flex-direction: column;
	min-height: 540px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--peach);
	border-radius: 6px;
	overflow: hidden;
}

.ac-card__image {
	margin: 0;
	background: #000;
}

/* The box has a photo's shape, so the photo scales with the card (a fixed 336px height zoomed 16:9 photos
   up to 2× on phones, past the file the browser loaded). */
.ac-card__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	opacity: 0.62;
}

/* Live: the title sits centred between the photo and the date; the date 17px above the card bottom. */
.ac-card__title {
	margin: auto 3.5%;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.2;
}

.ac-card__title a {
	color: var(--wp--preset--color--green);
	text-decoration: none;
}

.ac-card__date {
	margin: 0 3.5% 17px;
	font-size: 20px;
	line-height: 1.5em;
	color: #000;
	text-align: end;
}

/* Live loads the next articles as you scroll (load-more.js); the control stays for keyboards and no-JS. */
.ac-load-more .wp-block-query-pagination,
.ac-load-more__button:not(:focus) {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0 !important;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.ac-load-more .wp-block-query-pagination:focus-within {
	position: static !important;
	width: auto;
	height: auto;
	margin: 25px 0 0;
	clip: auto;
}

.ac-cards .wp-block-query-pagination-next {
	display: inline-block;
	padding: 10px 35px;
	font-family: var(--ac-handwriting);
	font-size: 26px;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	background: var(--wp--preset--color--mint);
	border-radius: 30px;
}

.ac-load-more__status {
	min-height: 1.5em;
	margin: 25px 0 0 !important;
	font-size: 16px;
	color: var(--wp--preset--color--muted);
	text-align: center;
}

@media (max-width: 1400px) {
	.ac-cards .wp-block-post-template {
		align-items: start;
	}

	.ac-cards .wp-block-post {
		min-height: 0;
	}

	.ac-card__title {
		margin: 20px 3.5% 0;
	}

	.ac-card__date {
		margin-top: 25px;
	}
}

@media (max-width: 767px) {
	.ac-latest-articles__title {
		font-size: 26px;
	}

	.ac-cards .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}

	.ac-card__title {
		margin-bottom: 4%;
		font-size: 20px;
	}
}

/* ------------------------------------------------------------ cta-call (expertise f7e1216 / groomer 85f833a) */

.ac-section.ac-cta-call {
	max-width: 1140px;
	margin: 100px auto 0 !important;
	padding: 0 10px 40px;
	text-align: center;
}

.ac-cta-call p {
	font-size: 26px;
	line-height: 33.6px;
	letter-spacing: 1.4px;
	color: var(--wp--preset--color--ink);
}

.ac-cta-call__title {
	margin: 20px 0 0;
	font-size: 30px;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
}

.ac-cta-call__phone {
	margin: 10px 0 0;
	font-size: 30px;
	font-weight: 600;
}

.ac-cta-call__phone a {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
}

@media (max-width: 1400px) {
	.ac-cta-call p { font-size: 20px; line-height: 1.4; }
	.ac-cta-call__title,
	.ac-cta-call__phone { font-size: 26px; }
}

@media (max-width: 767px) {
	.ac-cta-call p { font-size: 18px; }
	.ac-cta-call__title,
	.ac-cta-call__phone { font-size: 20px; }
}

/* ------------------------------------------------------------ plan-tabs (enhanced by tabs.js; stacked without JS) */

.ac-section.ac-tabs {
	max-width: 1140px;
	margin: 60px auto !important;
	padding-inline: 10px;
}

.ac-tab {
	margin: 0 0 30px !important;
}

.ac-tab__label {
	font-size: 32px;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}

/* Enhanced by tabs.js: a row of pill tabs above one visible panel. */
.ac-tabs__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 30px;
}

.ac-tabs__tab {
	padding: 10px 25px;
	font-family: var(--ac-handwriting);
	font-size: 24px;
	color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--mint);
	border: 0;
	border-radius: 50px;
	cursor: pointer;
}

.ac-tabs__tab[aria-selected="true"] {
	color: #fff;
	background: var(--wp--preset--color--primary);
}

/* ------------------------------------------------------------ staff (enhanced by staff.js; grid without JS) */

.ac-section.ac-staff {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 40px;
	max-width: 1140px;
	margin: 60px auto !important;
	padding-inline: 10px;
}

.ac-staff-member {
	margin: 0 !important;
}

.ac-staff-member__photo {
	margin: 0 0 15px;
}

.ac-staff-member__name {
	margin: 0 0 10px;
	font-size: 32px;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}

.ac-staff-member__bio {
	font-size: 20px;
	line-height: 1.5;
}

/* Enhanced by staff.js: round thumbnails column beside one text card (live 14664). */
.ac-section.ac-staff.is-enhanced {
	grid-template-columns: 140px 1fr;
	align-items: start;
}

.ac-staff.is-enhanced .ac-staff-member__photo {
	display: none;
}

.ac-staff.is-enhanced .ac-staff-member__name {
	font-size: 45px;
	color: #000;
}

.ac-staff.is-enhanced .ac-staff-member__bio {
	font-size: 25px;
	line-height: 1.4;
	color: #011a12;
}

.ac-staff__thumbs {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.ac-staff.is-enhanced > .ac-staff-member {
	grid-column: 2;
	grid-row: 1;
}

.ac-staff__thumb {
	width: 80px;
	padding: 0;
	border: 3px solid #fff;
	transition: width 0.2s;
	border-radius: 50%;
	background: none;
	overflow: hidden;
	cursor: pointer;
}

.ac-staff__thumb[aria-pressed="true"] {
	width: 140px;
}

.ac-staff__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

@media (max-width: 767px) {
	.ac-section.ac-staff.is-enhanced {
		grid-template-columns: 1fr;
	}

	.ac-staff__thumbs {
		flex-direction: row;
		overflow-x: auto;
	}

	.ac-staff__thumb {
		flex: 0 0 80px;
	}

	.ac-staff.is-enhanced > .ac-staff-member {
		grid-column: 1;
		grid-row: 2;
	}
}

/* The load-more button (load-more.js) looks like the pagination link it replaces. */
.ac-load-more__button {
	display: block;
	margin: 25px auto 0;
	padding: 10px 35px;
	font-family: var(--ac-handwriting);
	font-size: 26px;
	color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--mint);
	border: 0;
	border-radius: 30px;
	cursor: pointer;
}

/* ------------------------------------------------------------ contact-split (contact 11850) */

.ac-section.ac-contact-split {
	display: grid;
	grid-template-columns: 41% 28% 1fr;
	align-items: start;
	max-width: 1400px;
	min-height: 57vh;
	margin: 0 auto !important;
	padding: calc(var(--ac-header-h) + 50px) 20px 60px;
}

.ac-contact-split__title {
	margin: 0 0 30px;
	font-size: 120px;
	font-weight: 700;
	line-height: 80px;
	letter-spacing: -1px;
	color: var(--wp--preset--color--primary);
}

.ac-contact-split .ac-info {
	/* Fluid, but readable on tablets (1.4vw was 10.75px at 768). */
	font-size: clamp(16px, 1.4vw, 24px);
	line-height: 1.5em;
}

.ac-contact-split .ac-info li {
	margin-bottom: 10px;
}

.ac-contact-split .ac-info li img {
	margin-inline-start: 10px;
	vertical-align: middle;
}

.ac-contact-split .ac-info__hours {
	font-size: clamp(16px, 1.4vw, 24px);
	line-height: 1.5em;
}

.ac-contact-split__form {
	margin: 0 !important;
	padding: 6%;
	background: #fff;
}

.ac-contact-split .ac-form__submit {
	padding: 10px 65px;
}

@media (max-width: 767px) {
	.ac-section.ac-contact-split {
		grid-template-columns: 1fr;
		gap: 30px;
		padding-top: calc(var(--ac-header-h) + 20px);
	}

	.ac-contact-split__title {
		font-size: 60px;
		line-height: 1.1em;
	}

	.ac-contact-split .ac-info,
	.ac-contact-split .ac-info__hours {
		font-size: 5vw;
	}
}

/* ------------------------------------------------------------ animal-tiles (expertise) */

.ac-section.ac-animal-tiles {
	max-width: 1140px;
	margin: 60px auto 0 !important;
	padding-inline: 10px;
}

.ac-animal-tiles__title {
	margin: 0 0 30px;
	font-size: 60px;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}

.ac-animal-tiles__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 30px;
}

.ac-animal-tile {
	flex-basis: 33.333%;
}

.ac-animal-tile a {
	--ac-blob-w: 330px;
	width: min(var(--ac-blob-w), 100%);
	aspect-ratio: 1;
	font-size: 28px;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}

.ac-animal-tile__img {
	width: 50%;
	height: auto;
}

@media (max-width: 767px) {
	.ac-animal-tile {
		flex-basis: 100%;
	}
}

/* ------------------------------------------------------------ text-sections (clinic) */

.ac-section.ac-text-sections {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px 80px;
	max-width: 1140px;
	margin: 80px auto 0 !important;
	padding-inline: 10px;
}

.ac-text-section {
	margin: 0 !important;
}

/* English labels above Hebrew blocks (owner's pick 2026-10-24): brand green, on the same right edge as the
   text under them, capped size, slight tracking for capitals. */
.ac-eyebrow {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--serif-display);
	font-size: min(2.4vw, 44px);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--green);
	direction: ltr;
	text-align: right;
}

.ac-text-section p {
	font-size: 24px;
	line-height: 33.6px;
	color: var(--wp--preset--color--primary);
}

@media (max-width: 767px) {
	.ac-section.ac-text-sections {
		grid-template-columns: 1fr;
	}

	.ac-eyebrow {
		font-size: 30px;
	}
}

/* ------------------------------------------------------------ page-intro (green band, wave bottom)
 * Elementor geometry: boxed 1140px container, column margin 50px + 10px padding → 60px inner sides. */

.ac-page-intro {
	margin-top: 0 !important;
	padding: var(--ac-header-h) 0 0;
	background: var(--ac-sticky-green);
	--ac-wave-color: var(--wp--preset--color--cream);
	--ac-wave-width: calc(230% + 1.3px);
	--ac-wave-height: 135px;
}

.ac-page-intro__inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 111px 60px 220px;
}

.ac-page-intro__title {
	margin: 0 0 30px;
	font-size: 80px;
	font-weight: 700;
	line-height: 80px;
	letter-spacing: -1px;
	color: var(--wp--preset--color--apricot);
	text-align: start;
}

.ac-page-intro__text {
	font-size: 26px;
	line-height: 33.6px;
	color: #fff;
	text-align: start; /* not justified: even word spacing (owner's pick 2026-10-24) */
}

.ac-page-intro__text + .ac-page-intro__text {
	margin-top: 15px;
}

.ac-page-intro__text a {
	color: #fff;
}

@media (max-width: 1400px) {
	.ac-page-intro {
		--ac-wave-height: 90px;
	}

	.ac-page-intro__inner {
		padding-top: 60px;
		padding-bottom: 215px;
	}

	.ac-page-intro__title {
		line-height: 70px;
	}

	.ac-page-intro__text {
		font-size: 20px;
		line-height: 26px;
	}
}

@media (max-width: 767px) {
	.ac-page-intro {
		padding-top: 80px;
		--ac-wave-height: 40px;
	}

	.ac-page-intro__inner {
		padding: 48px 60px 125px;
	}

	.ac-page-intro__title {
		font-size: 30px;
		line-height: 1.1em;
		text-align: center;
	}

	.ac-page-intro__text {
		font-size: 19px;
		line-height: 26px;
		text-align: start;
	}
}

/* ------------------------------------------------------------ thank-you */

.ac-section.ac-thank-you {
	display: grid;
	grid-template-columns: 60% 40%;
	align-items: center;
	max-width: 1140px;
	margin: 60px auto 0 !important;
	padding: var(--ac-header-h) 10px 0;
}

.ac-thank-you__title {
	margin: 150px 0 30px;
	font-family: var(--ac-handwriting);
	font-size: 50px;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
}

.ac-thank-you .ac-pill .wp-block-button__link {
	font-size: 26px;
	padding: 10px 40px 10px 35px;
}

.ac-thank-you__image {
	margin: 0;
}

@media (max-width: 1400px) {
	.ac-thank-you__title {
		margin-top: 100px;
		font-size: 40px;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-thank-you {
		grid-template-columns: 1fr;
		margin-top: 0 !important;
	}

	.ac-thank-you__title {
		margin-top: 50px;
	}
}

/* ------------------------------------------------------------ single article (template 17807) */

.ac-single {
	margin-top: calc(var(--ac-header-h) + 60px) !important;
	padding-inline: 10px;
}

.ac-main > .ac-single:first-child {
	margin-top: calc(var(--ac-header-h) + 60px) !important;
}

.ac-back {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 500;
}

.ac-back a {
	display: inline-flex;
	align-items: center;
	gap: 25px;
	color: #000;
	text-decoration: none;
}

.ac-back a::before {
	content: "";
	width: 18px;
	height: 12px;
	background: url(../img/arrow.svg) no-repeat center / contain;
}

.ac-single__title {
	margin: 0 0 30px;
	font-size: 80px;
	font-weight: 700;
	line-height: 0.9em;
	color: var(--wp--preset--color--primary);
	text-align: start;
}

.ac-toc {
	margin: 0 0 30px;
}

.ac-toc summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #e6e6e6;
	list-style: none;
	font-size: 1.9vw;
	color: #000;
	cursor: pointer;
}

.ac-toc summary::-webkit-details-marker {
	display: none;
}

.ac-toc summary::after {
	content: "";
	width: 10px;
	height: 10px;
	margin-left: 20px;
	border: solid #000;
	border-width: 2px 2px 0 0;
	transform: rotate(135deg);
}

.ac-toc details[open] summary::after {
	transform: rotate(-45deg);
}

.ac-toc ol {
	margin: 20px 0 0;
	padding-inline-start: 25px;
	font-size: 18px;
	line-height: 1.6;
}

.ac-toc a {
	color: #000;
	text-decoration: none;
}

.ac-toc a:hover,
.ac-toc a:focus {
	text-decoration: underline;
}

.ac-single__date {
	margin: 0 1% 20px 0;
	font-size: 24px;
	line-height: 1.5em;
	color: #000;
}

.ac-single__image {
	margin: 0;
}

/* 16:9 like the photos (the block sets the ratio); a fixed 552px zoomed them on phones. */
.ac-single__image img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 6px;
}

.ac-single__content {
	margin-top: 5% !important;
	font-size: 25px;
	color: #000;
}

.ac-single__content :where(h2, h3) {
	scroll-margin-top: calc(var(--ac-header-h) + 20px);
}

.ac-single__disclaimer {
	margin: 40px 0 0;
	font-size: 16px;
	color: var(--wp--preset--color--muted);
	text-align: center;
}

.ac-section.ac-latest-articles--single {
	margin-top: 9% !important;
}

.ac-latest-articles--single .ac-cards .wp-block-post-template {
	gap: 20px;
}

.ac-latest-articles--single .ac-load-more__button,
.ac-latest-articles--single .wp-block-query-pagination-next {
	color: #fff;
	background: var(--wp--preset--color--primary);
}

@media (max-width: 1400px) {
	.ac-single__title {
		font-size: 34px;
	}

	.ac-toc summary,
	.ac-toc ol {
		font-size: 20px;
	}
}

@media (max-width: 767px) {
	.ac-single__title {
		font-size: 30px;
		line-height: 1.1em;
	}

	.ac-single__date {
		font-size: 18px;
	}

	/* 16:9 like the photos, so they aren't zoomed into a taller box. */
	.ac-single__image img {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.ac-single__content {
		font-size: 5vw;
	}
}

/* Q&A inside articles (converted Elementor accordions): bordered rows, +/– on the left. */
.ac-single__content .wp-block-details {
	margin: 0;
	border: 1px solid #d5d8dc;
}

.ac-single__content .wp-block-details + .wp-block-details {
	border-top: 0;
}

.ac-single__content .wp-block-details summary {
	display: flex;
	justify-content: flex-start; /* RTL: icon at the right, then the question (as live) */
	gap: 10px;
	padding: 15px 20px;
	list-style: none;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
	cursor: pointer;
}

.ac-single__content .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.ac-single__content .wp-block-details summary::after {
	content: "+";
	order: -1;
	flex: none;
	font-size: 1.3em;
	font-weight: 900;
	line-height: 1;
}

.ac-single__content .wp-block-details[open] summary {
	color: var(--wp--preset--color--accent);
}

.ac-single__content .wp-block-details[open] summary::after {
	content: "–";
}

.ac-single__content .wp-block-details > :not(summary) {
	margin: 0;
	padding: 15px 20px;
	border-top: 1px solid #d5d8dc;
}

/* ------------------------------------------------------------ vet landing (template 18205) */

.ac-vet-band {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	min-height: 50vw;
	padding: 120px 20px 0;
	background: var(--ac-sticky-green);
	--ac-wave-color: var(--wp--preset--color--cream);
}

.ac-vet-band__title {
	margin: 0 0 20px;
	font-size: 6vw;
	font-weight: 700;
	line-height: 1.1em;
	letter-spacing: -1px;
	color: var(--wp--preset--color--apricot);
	text-align: center;
}

/* Live draws the photo over the wave, paws hanging into the cream below the band. */
.ac-vet-band .ac-vet-hero {
	position: relative;
	z-index: 3;
	margin-bottom: -40px !important;
	width: min(1140px, 100%); /* the PNG has transparent margins; live shows it at full column width */
	margin: 0;
}

.ac-vet-band .ac-vet-hero img {
	display: block;
	width: 100%;
}

.ac-vet-content {
	margin-top: 30px !important;
	padding-inline: 20px;
	font-size: 28px;
	color: #000;
}

.ac-vet-content a,
.ac-vet-content h2 {
	color: var(--wp--preset--color--primary);
}

.ac-vet-cta,
.ac-vet-bottom {
	margin-top: 50px;
	font-size: 28px;
	line-height: 40px;
	color: #000;
	text-align: center;
}

.ac-vet-cta a,
.ac-vet-bottom__phone a {
	font-size: 40px;
}

.ac-vet-bottom p {
	margin: 0 0 10px;
}

.ac-vet-faq-title {
	margin-top: 100px;
}

.ac-vet .ac-faq .wp-block-details {
	margin: 0 0 20px;
}

.ac-vet .ac-faq summary {
	padding: 1% 3%;
	padding-left: calc(3% + 30px);
	font-size: 32px;
}

.ac-vet .ac-faq .wp-block-details > :not(summary) {
	padding: 0 35px 15px;
	font-size: 27.28px;
}

.ac-vet-plan {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 40px;
}

.ac-vet-plan__title {
	margin: 0;
	font-size: 32px;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
}

.ac-vet-plan .ac-pill .wp-block-button__link {
	padding: 10px 45px 10px 35px;
	font-size: 26px;
}

@media (max-width: 1400px) {
	.ac-vet-band {
		--ac-wave-height: 70px;
	}
}

@media (max-width: 767px) {
	.ac-vet-band {
		min-height: 60vw;
		--ac-wave-height: 40px;
	}

	.ac-vet-band__title {
		font-size: 60px;
	}

	.ac-vet-band .ac-vet-hero img {
		width: 100%;
	}

	.ac-vet-content {
		font-size: 22px;
	}

	.ac-vet .ac-faq summary {
		font-size: 6vw;
	}

	.ac-vet .ac-faq .wp-block-details > :not(summary) {
		padding: 10px 11px 15px 15px;
		font-size: 5vw;
	}

	.ac-vet-plan__title {
		text-align: center;
	}
}

/* ------------------------------------------------------------ category archive (template 17902) */

.ac-archive-band {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 42vw;
	padding: var(--ac-header-h) max(20px, calc((100% - 1140px) / 2)) 80px;
	background: var(--ac-sticky-green);
	--ac-wave-color: var(--wp--preset--color--cream);
}

.ac-archive-band__title {
	margin: 0;
	font-size: 7.3vw;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -1px;
	color: var(--wp--preset--color--apricot);
	text-align: start;
}

.ac-archive-band__text {
	font-size: 24px;
	line-height: 33.6px;
	color: #fff;
}

.ac-section.ac-latest-articles--archive {
	margin-top: 9% !important;
}

@media (max-width: 1400px) {
	.ac-archive-band {
		--ac-wave-height: 70px;
	}
}

@media (max-width: 767px) {
	.ac-archive-band {
		min-height: 60vw;
		--ac-wave-height: 40px;
	}

	.ac-archive-band__title {
		font-size: 60px;
	}
}

/* ------------------------------------------------------------ 404 (template 18923) */

body.error404 {
	background: var(--wp--preset--color--apricot);
}

.ac-404 {
	min-height: 100vh;
	max-width: 1300px;
	margin: 0 auto;
	padding: var(--ac-header-h) 20px 40px;
	background: url(/wp-content/uploads/2022/11/Group-72.png) no-repeat left top / 45% auto;
}

.ac-404__text {
	width: 62%;
	padding-top: 10vh;
}

.ac-404__code {
	font-family: var(--ac-handwriting);
	font-size: 231px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
}

.ac-404__title {
	margin: 0 0 30px;
	font-size: 120px;
	font-weight: 600;
	line-height: 1.1;
	color: #000;
}

.ac-404 .ac-pill .wp-block-button__link {
	padding: 10px 40px 10px 35px;
	font-size: 26px;
}

@media (max-width: 1400px) {
	.ac-404 {
		min-height: 80vw;
		background-position: -174px -17px;
		background-size: 601px auto;
	}

	.ac-404__text {
		width: 59%;
	}

	.ac-404__code {
		font-size: 150px;
	}

	.ac-404__title {
		font-size: 65px;
	}
}

@media (max-width: 767px) {
	.ac-404 {
		min-height: 79vh;
		background-position: 83px 199px;
		background-size: 301px auto;
	}

	.ac-404__text {
		width: 100%;
	}

	.ac-404__title {
		font-size: 50px;
	}
}

/* ------------------------------------------------------------ clinic: photo collage (core/gallery) and booking button */

.ac-section.ac-collage-wrap {
	max-width: 1140px;
	margin: 0 auto !important;
	padding-inline: 10px;
}

.wp-block-gallery.ac-collage {
	display: grid !important;
	grid-template-columns: repeat(10, 1fr);
	gap: 20px;
	margin: 0;
}

.wp-block-gallery.ac-collage > .wp-block-image {
	width: auto !important;
}

.wp-block-gallery.ac-collage > .wp-block-image img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	border-radius: 6px;
}

/* Rows as live: 6/4 at 436px, 4/6 at 660px, then one full-width photo. */
.ac-collage > :nth-child(1) { grid-column: span 6; height: 436px; }
.ac-collage > :nth-child(2) { grid-column: span 4; height: 436px; }
.ac-collage > :nth-child(3) { grid-column: span 4; height: 660px; }
.ac-collage > :nth-child(4) { grid-column: span 6; height: 660px; }
.ac-collage > :nth-child(5) { grid-column: span 10; height: auto; }

.ac-section.ac-page-cta {
	margin: 60px auto 0 !important;
	text-align: center;
}

.ac-page-cta .wp-block-buttons {
	justify-content: center;
}

.ac-page-cta .ac-pill .wp-block-button__link {
	font-size: 26px;
}

@media (max-width: 767px) {
	.ac-collage > :nth-child(-n+4) { grid-column: span 10; }
	.ac-collage > :nth-child(1),
	.ac-collage > :nth-child(2) { height: 194px; }
	.ac-collage > :nth-child(3),
	.ac-collage > :nth-child(4) { height: 333px; }
}

/* ------------------------------------------------------------ articles page */


.ac-section.ac-latest-articles--page {
	margin-top: 40px !important;
}

/* Articles intro (section 12803f2): 24px text, 50px column margins, 180px space above the wave. */
.ac-page-intro--articles .ac-page-intro__text {
	font-size: 24px;
	line-height: 33.6px;
	text-align: start;
}

.ac-page-intro--articles .ac-page-intro__inner {
	padding-bottom: 230px;
}

@media (max-width: 1400px) {
	.ac-page-intro--articles .ac-page-intro__inner {
		padding-bottom: 130px;
	}
}

@media (max-width: 767px) {
	.ac-page-intro--articles .ac-page-intro__title {
		font-size: 60px;
		text-align: start;
	}

	.ac-page-intro--articles .ac-page-intro__text {
		font-size: 19px;
	}
}


/* ------------------------------------------------------------ subscription (14703 + plan templates 18519…18616) */

.ac-page-intro--subscription .ac-page-intro__title {
	font-size: 60px;
	line-height: 1.1em;
}

.ac-page-intro--subscription .ac-page-intro__inner {
	padding-bottom: 190px;
}

.ac-section.ac-plan-tabs {
	margin: 60px auto 0 !important;
}

/* Elementor tabs look: labels in a row, the active one joins the white, apricot-bordered panel. */
.ac-plan-tabs .ac-tabs__list {
	justify-content: flex-start;
	gap: 0;
	margin: 0 0 -2px;
}

.ac-plan-tabs .ac-tabs__tab {
	padding: 20px 20px;
	font-family: var(--ac-arbel);
	font-size: 26px;
	font-weight: 600;
	line-height: 36.4px;
	color: #000;
	background: none;
	border: 2px solid transparent;
	border-bottom: 0;
	border-radius: 0;
}

.ac-plan-tabs .ac-tabs__tab[aria-selected="true"] {
	position: relative;
	z-index: 1;
	color: var(--wp--preset--color--apricot);
	background: #fff;
	border-color: var(--wp--preset--color--apricot);
}

.ac-plan-tabs.is-enhanced > .ac-tab,
.ac-plan-tabs > .ac-tab {
	margin: 0 0 30px !important;
	padding: 20px;
	background: #fff;
	border: 2px solid var(--wp--preset--color--apricot);
}

.ac-plan-tabs.is-enhanced > .ac-tab {
	margin: 0 !important;
}

.ac-plan {
	display: grid;
	grid-template-columns: 1fr minmax(0, 40%);
	align-items: center;
	gap: 20px;
}

.ac-plan__title {
	margin: 0 0 20px;
	font-size: 34px;
	font-weight: 700;
	color: #000;
}

.ac-plan__image {
	margin: 0;
}

.ac-checks {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 25px;
	line-height: 1.4;
	color: #011A12;
}

.ac-checks li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 8px;
}

.ac-checks li::before {
	content: "";
	flex: 0 0 23px;
	height: 23px;
	margin-top: 7px;
	background: url(../img/check.svg) no-repeat center / contain;
}

.ac-badge {
	padding: 4px;
	color: inherit;
	background: #D9D9D9;
}

.ac-section.ac-plus {
	position: relative;
	z-index: 2;
	max-width: 1140px;
	margin: -60px auto !important;
	text-align: center;
}

.ac-plus__image {
	margin: 0;
}

.ac-plus__image img {
	width: 50%;
}

.ac-section.ac-included {
	max-width: 1140px;
	margin: 0 auto !important;
	padding: 30px 35px;
	background: #fff;
	border: 2px solid var(--wp--preset--color--apricot);
}

.ac-included__title {
	margin: 0 0 15px;
	font-size: 45px;
	font-weight: 600;
	line-height: 63px;
	color: #000;
}

.ac-included .ac-checks + .ac-included__title {
	margin-top: 30px;
}

@media (max-width: 767px) {
	.ac-page-intro--subscription .ac-page-intro__title {
		font-size: 50px;
	}

	.ac-plan {
		grid-template-columns: 1fr;
	}

	.ac-plan-tabs .ac-tabs__tab {
		padding: 10px 12px;
		font-size: 20px;
	}

	.ac-checks {
		font-size: 20px;
		line-height: 1.1em;
	}

	.ac-plus__image img {
		width: 100%;
	}

	.ac-section.ac-included {
		padding: 15px;
	}

	.ac-included__title {
		font-size: 30px;
		line-height: 1.3;
	}
}

/* ------------------------------------------------------------ pet groomer (11812) */

.ac-band--groomer {
	min-height: 800px;
}

.ac-band--groomer .ac-vet-band__title {
	font-size: 80px;
	line-height: 80px;
	margin-bottom: -2%;
}

.ac-band__image {
	position: relative;
	z-index: 3;
	margin-bottom: -40px !important;
	width: 70%;
	max-width: 1000px;
	margin: 0;
}

.ac-band__image img {
	display: block;
	width: 100%;
}

.ac-section.ac-prose {
	max-width: 1140px;
	margin: 30px auto 0 !important;
	padding-inline: 10px;
	font-size: 24px;
	line-height: 33.6px;
	color: #000;
}

.ac-prose p + p {
	margin-top: 1em;
}

.ac-section.ac-cta-line {
	max-width: 1140px;
	margin: 20px auto 0 !important;
	font-size: 26px;
	line-height: 1.5;
	color: var(--wp--preset--color--primary);
	text-align: center;
}

.ac-cta-line a {
	color: var(--wp--preset--color--primary);
}

.ac-section.ac-services--groomer {
	margin: 80px auto !important;
}

.ac-services--groomer .ac-services__title {
	font-size: 120px;
}

@media (max-width: 1400px) {
	.ac-band--groomer {
		min-height: 75vw;
	}

	.ac-services--groomer .ac-services__title {
		font-size: 100px;
	}

	/* Groomer icon boxes sit in 50% columns below 1400px (11812). */
	.ac-services--groomer .ac-service {
		flex-basis: 50%;
	}

	.ac-section.ac-prose {
		padding: 30px;
	}
}

@media (max-width: 767px) {
	.ac-band--groomer {
		min-height: 60vw;
	}

	.ac-band--groomer .ac-vet-band__title {
		font-size: 44px;
		line-height: 1.1em;
	}

	.ac-section.ac-prose {
		font-size: 19px;
		text-align: start;
	}

	.ac-section.ac-cta-line {
		font-size: 20px;
	}

	.ac-section.ac-services--groomer {
		margin: 40px auto !important;
	}

	.ac-services--groomer .ac-services__title {
		font-size: 50px;
		line-height: 1.1em;
	}
}

/* Expertise intro (0a20466): centred 70px title. */
.ac-page-intro--expertise .ac-page-intro__title {
	font-size: 70px;
	text-align: center;
}

@media (max-width: 767px) {
	.ac-page-intro--expertise .ac-page-intro__title {
		font-size: 30px;
	}

	.ac-page-intro--expertise .ac-page-intro__text {
		text-align: center;
	}
}

/* Plain intro (accessibility statement): 24px text. */
.ac-page-intro--plain .ac-page-intro__title {
	font-size: 70px;
}

.ac-prose__title {
	margin: 40px 0 15px;
	font-size: 45px;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}

/* Accessibility statement (17076): 26px text, 60px headings (80px on laptops, as live). */
.ac-section.ac-prose--statement {
	font-size: 26px;
}

.ac-prose--statement :is(h2, h3) {
	margin: 80px 0 15px;
	font-size: 60px;
	font-weight: 700;
	line-height: 80px;
	letter-spacing: -1px;
	color: var(--wp--preset--color--primary);
	scroll-margin-top: calc(var(--ac-header-h) + 20px);
}

@media (max-width: 1400px) {
	.ac-prose--statement :is(h2, h3) {
		font-size: 80px;
	}
}

@media (max-width: 767px) {
	.ac-prose--statement :is(h2, h3) {
		font-size: 60px;
		line-height: 1.1em;
	}

	.ac-section.ac-prose--statement {
		font-size: 20px;
	}
}

.ac-prose ul {
	margin: 1em 0;
	padding-inline-start: 25px;
}

/* ------------------------------------------------------------ Russian page (14731): LTR content, text on the left
   edge like any left-to-right page (live set it to the right edge, mixing alignments). */

.ac-lang-ru {
	margin-block: 0 !important;
}

.ac-lang-ru .ac-section.ac-prose {
	text-align: start;
}

.ac-lang-ru .ac-prose__title {
	margin: 80px 0 20px;
	font-size: 80px;
	line-height: 80px;
	letter-spacing: -1px;
}

.ac-lang-ru .ac-ru-form .ac-form {
	text-align: start;
}

.ac-lang-ru .ac-ru-form .ac-form__submit {
	margin-inline-start: auto;
	display: block;
}

@media (max-width: 1400px) {
	.ac-lang-ru .ac-prose__title {
		font-size: 70px;
		line-height: 1.1;
	}
}

@media (max-width: 767px) {
	.ac-lang-ru .ac-prose__title {
		margin-top: 40px;
		font-size: 30px;
	}
}

/* Contact details that are links (tel:/mailto:) look like the surrounding text, underlined as live. */
.ac-info a {
	color: inherit;
	text-decoration: underline;
}

/* ============================================================ Owner review, round 1 (measured against live)
 * Grouped per page; values in comments are live measurements at the stated width. */

/* ---- home: about block (1440: text x730–1307 above the photo; ≤1400: button beside the photo, bottom-left) */
.ac-about-split__text {
	position: relative;
	z-index: 3;
}

.ac-about-split__image {
	margin: 0;
}

.ac-about-split .wp-block-buttons {
	justify-content: flex-end;
}

@media (max-width: 1400px) {
	.ac-section.ac-about-split {
		grid-template-columns: 1fr 60%;
		align-items: end;
	}

	.ac-about-split__text {
		display: contents;
	}

	.ac-about-split__text > .wp-block-heading,
	.ac-about-split__text > p {
		grid-column: 1 / -1;
	}

	.ac-about-split__image {
		grid-column: 1;
		grid-row: 3;
		margin: 30px 0 0;
	}

	.ac-about-split__image img {
		width: 100%;
	}

	.ac-about-split__text > .wp-block-buttons {
		grid-column: 2;
		grid-row: 3;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-about-split {
		grid-template-columns: 1fr;
	}

	.ac-about-split__text > .wp-block-buttons {
		grid-column: 1;
	}
}

/* ---- home: counters (1440 box 1200 wide; phones/tablet 6–7px from the edge) */
.ac-section.ac-counters {
	max-width: 1220px;
}

.ac-counter__number {
	line-height: 1.1;
}

@media (max-width: 1024px) {
	.ac-section.ac-counters {
		padding-inline: 6px;
	}
}

/* ---- home: services (heading → blobs 55px; second row packed 224px apart at desktop; 4 per row on tablets) */
.ac-services__title {
	margin-bottom: 40px;
}

.ac-services:not(.ac-services--groomer) .ac-service:nth-child(n+5) {
	flex-basis: 224px;
}

@media (max-width: 1024px) {
	.ac-services:not(.ac-services--groomer) .ac-service:nth-child(n+5) {
		flex-basis: 25%;
	}
}

@media (max-width: 767px) {
	.ac-services:not(.ac-services--groomer) .ac-service:nth-child(n+5) {
		flex-basis: 50%;
	}
}

@media (767px < width <= 1024px) {
	.ac-services:not(.ac-services--groomer) .ac-service {
		flex-basis: 25%;
	}

	.ac-services:not(.ac-services--groomer) .ac-service a {
		--ac-blob-w: 165px;
	}
}

/* ---- home: hero on tablets (768: title box x440–728 from y72, 4 lines; arch 0–411) */
@media (767px < width <= 1024px) {
	.ac-hero-arch__title {
		align-self: start;
		margin: 72px 40px 0 -110px;
	}

	.ac-hero-arch__image {
		padding-top: 80px;
	}
}

/* ---- home: animal grid (English word overlaps the Hebrew script by ~64px; tablet rows 110vh, text top-aligned) */
.ac-tile__en {
	margin-bottom: -50px !important;
}

@media (max-width: 1024px) {
	.ac-tile,
	.ac-flip {
		min-height: 110vh;
	}

	.ac-flip__back {
		justify-content: flex-start;
		padding: 35px !important;
	}
}

@media (max-width: 767px) {
	.ac-tile {
		min-height: 0;
		padding: 30% 0 40%;
	}

	.ac-flip {
		min-height: 0;
	}
}

/* ---- thank-you and 404: buttons at the end (left) of the text, as live */
.ac-thank-you .wp-block-buttons,
.ac-404 .wp-block-buttons {
	justify-content: flex-end;
}

.ac-section.ac-thank-you {
	padding-top: calc(var(--ac-header-h) + 37px);
}

body.error404 .ac-footer__top {
	--ac-wave-color: var(--wp--preset--color--apricot);
}

@media (max-width: 767px) {
	.ac-thank-you__image {
		max-width: 310px;
	}

	.ac-404 {
		padding-bottom: 260px;
		background-position: center bottom 30px;
	}
}

/* ---- clinic: photo collage (1440: inset 30px on the left, gaps 30/40, the 24/7 photo square and 10px lower) */
.wp-block-gallery.ac-collage {
	display: flex !important;
	flex-wrap: wrap;
	gap: 28px 0;
	padding-left: 30px;
}

.ac-collage > :nth-child(1) { flex: 0 0 61.65%; height: 436px; }
.ac-collage > :nth-child(2) { flex: 0 0 35.6%; height: 436px; margin-right: 2.75% !important; }
.ac-collage > :nth-child(3) { flex: 0 0 39.3%; height: 665px; margin-top: 10px !important; }
.ac-collage > :nth-child(4) { flex: 0 0 56.1%; height: 665px; margin-right: 3.7% !important; }
.ac-collage > :nth-child(5) { flex: 0 0 100%; height: auto; }

.ac-collage > :nth-child(3) img {
	border-radius: 0;
}

@media (max-width: 1024px) {
	.wp-block-gallery.ac-collage {
		padding-inline: 30px;
	}
}

@media (max-width: 767px) {
	.wp-block-gallery.ac-collage {
		padding-inline: 0;
		gap: 20px 0;
	}

	.ac-collage > * { flex-basis: 100% !important; margin-right: 0 !important; }
	.ac-collage > :nth-child(1) { height: 194px; }
	.ac-collage > :nth-child(2) { height: 333px; }
	.ac-collage > :nth-child(3),
	.ac-collage > :nth-child(4) { height: 665px; }
}

/* ---- clinic: text sections (1080 wide, 60px gutter, 40px below the photos, 74px between rows) */
.ac-section.ac-text-sections {
	max-width: 1100px;
	gap: 74px 60px;
	margin-top: 40px !important;
}

.ac-eyebrow {
	margin-bottom: 20px;
	line-height: 1.1;
}

.ac-section.ac-page-cta {
	margin-top: 40px !important;
}

.ac-page-cta .ac-pill .wp-block-button__link {
	padding: 12px 25px;
}

/* ---- staff: peach-ringed round thumbnails (active 150, others 84, 25px apart), 20% / 80% columns */
.ac-section.ac-staff.is-enhanced {
	grid-template-columns: 20% 1fr;
	gap: 0 52px;
}

.ac-staff__thumbs {
	gap: 25px;
}

.ac-staff__thumb {
	width: 84px;
	border-color: #FFC9A7;
}

.ac-staff__thumb[aria-pressed="true"] {
	width: 150px;
}

.ac-staff.is-enhanced .ac-staff-member__name {
	line-height: 63px;
}

@media (max-width: 1400px) {
	.ac-section.ac-staff.is-enhanced {
		grid-template-columns: 20% 70%;
		gap: 0 1%;
	}

	.ac-staff.is-enhanced .ac-staff-member__name {
		font-size: 35px;
		line-height: 1.2;
	}

	.ac-staff.is-enhanced .ac-staff-member__bio {
		font-size: 15px;
		line-height: 2;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-staff.is-enhanced {
		grid-template-columns: 1fr;
	}

	.ac-staff__thumbs {
		flex-wrap: wrap;
		justify-content: center;
		overflow: visible;
	}

	.ac-staff__thumb {
		flex: 0 0 auto;
	}
}

/* ---- accessibility statement (70px title, 80 below 1400, 30 on phones; 26px / 1.5 body everywhere) */
.ac-page-intro--plain .ac-page-intro__title {
	font-size: 70px;
}

.ac-section.ac-prose--statement {
	line-height: 1.5;
}

.ac-prose--statement ul {
	margin: 14px 0;
	padding-inline-start: 40px;
}

.ac-prose--statement :is(h2, h3) {
	margin: 100px 0 20px;
}

@media (max-width: 1400px) {
	.ac-page-intro--plain .ac-page-intro__title {
		font-size: 80px;
	}

	.ac-section.ac-prose--statement {
		padding: 0 10px;
		text-align: start;
	}
}

@media (max-width: 767px) {
	.ac-page-intro--plain .ac-page-intro__title {
		font-size: 30px;
	}

	.ac-page-intro--plain .ac-page-intro__text {
		text-align: center;
	}

	.ac-section.ac-prose--statement {
		font-size: 26px;
	}
}

/* ---- subscription: badges flow inline (the list item is a block with the check absolutely placed) */
.ac-checks li {
	display: block;
	position: relative;
	padding-inline-start: 34px;
}

.ac-checks li::before {
	position: absolute;
	top: 7px;
	right: 0;
	width: 20px;
	height: 20px;
	margin: 0;
}

.ac-badge {
	line-height: normal;
}

/* Plan panel (template 18519): 45/63 title, top-aligned, 68.3% / 31.7%, the photo hangs out of the panel. */
.ac-plan {
	grid-template-columns: 68.3% 31.7%;
	align-items: start;
	gap: 0;
}

.ac-plan__text {
	padding: 20px 40px 20px 20px;
}

.ac-plan__title {
	font-size: 45px;
	line-height: 63px;
	font-weight: 600;
}

.ac-plan__image {
	position: relative;
	z-index: 2;
	margin: -80px 0 -75px -80px;
}

.ac-plan-tabs .ac-tabs__tab {
	padding: 20px 25px;
}

.ac-section.ac-included {
	max-width: 1120px;
}

.ac-included__cta {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
}

.ac-included .ac-pill .wp-block-button__link {
	padding: 10px 40px 10px 35px;
	font-size: 26px;
}

@media (max-width: 1400px) {
	.ac-page-intro--subscription .ac-page-intro__text {
		line-height: 30px;
	}

	.ac-section.ac-plus {
		margin: -40px auto !important;
	}

	.ac-plus__image {
		margin: 0 0 0 150px;
	}
}

@media (max-width: 1024px) {
	.ac-section.ac-plan-tabs,
	.ac-section.ac-included {
		max-width: calc(100% - 120px);
	}

	.ac-plan {
		grid-template-columns: 1fr minmax(0, 30%);
	}

	.ac-plan__text {
		display: contents;
	}

	.ac-plan__title {
		grid-column: 1 / -1;
	}

	.ac-plan__image {
		margin: 0;
	}
}

@media (max-width: 767px) {
	.ac-page-intro--subscription .ac-page-intro__title {
		text-align: start;
	}

	.ac-page-intro--subscription .ac-page-intro__text {
		font-size: 26px;
		line-height: 33.6px;
	}

	.ac-section.ac-plan-tabs,
	.ac-section.ac-included {
		max-width: 100%;
		margin-inline: 20px !important;
	}

	.ac-plan {
		grid-template-columns: 1fr;
	}

	.ac-plan__title {
		font-size: 30px;
		line-height: 30px;
	}

	.ac-plan .ac-checks {
		font-size: 25px;
	}

	.ac-plan__image {
		justify-self: center;
		width: 145px;
	}

	.ac-plus__image {
		margin: 0;
	}

	/* Accordion (tabs.js on phones): full-width bordered rows, the open one in apricot. */
	.ac-plan-tabs.is-accordion > .ac-tab {
		margin: 0 !important;
		border-top: 0;
	}

	.ac-tabs__acc {
		display: block;
		width: 100%;
		padding: 15px 20px;
		font-family: var(--ac-arbel);
		font-size: 22px;
		font-weight: 600;
		color: #000;
		text-align: start;
		background: #fff;
		border: 2px solid var(--wp--preset--color--apricot);
		border-bottom-width: 0;
		cursor: pointer;
	}

	.ac-tabs__acc:last-of-type {
		border-bottom-width: 2px;
	}

	.ac-tabs__acc[aria-expanded="true"] {
		color: var(--wp--preset--color--apricot);
	}
}

/* ---- contact (11850): card as tall as the map, 40px fields 25px apart, button at the end; no space under */
.ac-section.ac-contact-split {
	align-items: stretch;
	padding-bottom: 0;
	padding-top: calc(var(--ac-header-h) + 73px);
}

.ac-contact-split__form .ac-form__fields {
	gap: 25px 15px;
}

.ac-contact-split__form .ac-form input:not([type="hidden"]) {
	padding-block: 3px;
}

.ac-contact-split__form .ac-form textarea {
	min-height: 136px;
}

.ac-contact-split__form .ac-form__submit {
	display: block;
	margin: 27px 0 0;
	margin-inline-start: auto;
}

.ac-contact-split .ac-info,
.ac-contact-split .ac-info__hours {
	color: #000;
}

.ac-contact-split .ac-info li {
	margin-bottom: 15px;
}

.ac-info a {
	text-decoration-color: var(--wp--preset--color--green);
}

@media (max-width: 767px) {
	.ac-section.ac-contact-split {
		gap: 0;
		padding: calc(var(--ac-header-h) - 10px) 0 0;
	}

	.ac-contact-split__details {
		padding: 0 15px 30px;
	}

	.ac-contact-split__form {
		padding: 23px;
	}
}

/* Contact footer (19228): one #333 divider, credit in black. The accessibility link sits on the right, as on every other page (owner, 2026-10-29). */
.ac-footer__bottom > p {
	border-top-color: #333;
}

.ac-footer--contact .ac-footer__credit {
	color: #000;
}

@media (max-width: 767px) {
	.ac-footer--contact .ac-footer__statement,
	.ac-footer--contact .ac-footer__credit {
		justify-content: center;
	}
}

@media (767px < width <= 1024px) {
	.ac-footer--contact .ac-wave {
		--ac-wave-height: 40px;
	}
}

/* ---- groomer + russian bands: photo 70% wide, max ~760px */
.ac-band__image {
	max-width: 760px;
}

/* ---- groomer (11812) */
.ac-services--groomer .ac-service__icon {
	width: auto;
	height: 50px;
}

.ac-services--groomer .ac-service__box {
	gap: 15px;
	line-height: 1.2;
}

.ac-services--groomer .ac-services__grid {
	align-items: flex-start;
}

.ac-section.ac-services--groomer {
	margin-top: 117px !important;
}

.ac-services--groomer .ac-services__title {
	margin-bottom: 100px;
}

.ac-section.ac-cta-line {
	margin-top: 35px !important;
}

.ac-cta-line p + p {
	margin-top: 15px;
}

.ac-cta-line a {
	color: var(--wp--preset--color--green);
	text-decoration: none;
}

.ac-page-pet-groomer .ac-faq .wp-block-details > :not(summary) {
	/* Fluid with a readable floor: 1.3vw alone was 4.7px on phones. */
	font-size: clamp(16px, 1.3vw, 20px);
}

@media (max-width: 1400px) {
	.ac-page-pet-groomer .ac-faq .ac-display {
		font-size: 80px;
	}

	.ac-page-pet-groomer .ac-faq summary {
		font-size: 4.5vw;
	}
}

@media (max-width: 767px) {
	.ac-page-pet-groomer .ac-faq .ac-display {
		font-size: 35px;
	}

	.ac-page-pet-groomer .ac-faq summary {
		font-size: 5vw;
	}
}

/* ---- expertise (16825): 80px section titles, ~260px tiles with 22px/600 labels */
.ac-animal-tiles__title {
	margin: 80px 0 40px;
	font-size: 80px;
	line-height: 80px;
	letter-spacing: -1px;
}

.ac-animal-tile a {
	--ac-blob-w: 270px;
	font-size: 22px;
	font-weight: 600;
}

.ac-animal-tiles__grid {
	row-gap: 60px;
}

@media (max-width: 767px) {
	.ac-animal-tiles__title {
		font-size: 60px;
		line-height: 1.1;
	}
}

/* ---- vet landing (18205): text 10px from the edge, h2 3vw/900, spacing around the FAQ, 30px bottom block */
.ac-vet-content {
	padding-inline: 10px;
}

.ac-vet-content h2 {
	font-size: 3vw;
	font-weight: 900;
}

.ac-vet-faq-title {
	margin-top: 128px !important;
	margin-bottom: 22px !important;
}

.ac-vet-plan {
	margin-top: 71px;
}

.ac-vet-bottom {
	font-size: 30px;
	line-height: 46px;
}

@media (max-width: 1400px) {
	.ac-vet-bottom {
		font-size: 20px;
		line-height: 1.5;
	}
}

@media (max-width: 767px) {
	.ac-vet-content h2 {
		font-size: 26px;
	}

	.ac-vet-plan {
		gap: 7px;
	}
}

/* ---- russian (14731): big dark phones, 60px form title */
.ac-lang-ru .ac-section.ac-ru-intro {
	text-align: left;
}

.ac-lang-ru .ac-vet-band__title {
	max-width: 1000px;
}

.ac-lang-ru .ac-prose p + p {
	margin-top: 9px;
}

.ac-lang-ru .ac-prose a[href^="tel:"] {
	font-size: 30px;
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
}

/* ---- single article (17807) */
.ac-single {
	--wp--style--global--content-size: 1120px;
}

.ac-main > .ac-single:first-child {
	margin-top: calc(var(--ac-header-h) + 115px) !important;
}

.ac-single__content h2 {
	font-size: 3vw;
	font-weight: 900;
	color: var(--wp--preset--color--ink);
}

.ac-single__content h3,
.ac-single__content h4 {
	color: var(--wp--preset--color--ink);
}

.ac-single__content table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
}

.ac-single__content th,
.ac-single__content td {
	padding: 15px;
	border: 1px solid #bab9b8;
	vertical-align: top;
	text-align: start;
}

.ac-single__content thead th {
	background: #e8e6e3;
}

.ac-single__content tbody tr:nth-child(odd) td {
	background: #f2f0ee;
}

.ac-toc details {
	padding: 0 20px;
}

.ac-toc summary {
	border-bottom-color: #fff;
}

.ac-toc summary::after {
	width: 14px;
	height: 14px;
	border-width: 3px 3px 0 0;
}

.ac-toc ol {
	line-height: 2;
}

.ac-single__content .wp-block-details summary {
	line-height: 1.2;
}

.ac-single__content .wp-block-details summary::after {
	font-size: 1.6em;
}

.ac-single__content :is(h2, h3) + .wp-block-details {
	margin-top: 23px;
}

.ac-single__disclaimer {
	color: #000;
	text-align: start;
}

.ac-single .ac-te-box {
	margin-top: 50px;
}

.ac-section.ac-latest-articles--single {
	margin-top: 170px !important;
}

@media (max-width: 767px) {
	.ac-single__content h2 {
		font-size: 26px;
	}
}

/* ---- category archive (17902): phones 120vw band with the title centred */
@media (max-width: 767px) {
	.ac-archive-band {
		min-height: 120vw;
	}

	.ac-section.ac-latest-articles--archive {
		margin-top: 113px !important;
	}
}

/* ============================================================ Owner review, round 2 */

/* clinic text sections: 20px more side space below 1024 (live x30–354 / x414–738 at 768) */
@media (max-width: 1024px) {
	.ac-section.ac-text-sections {
		padding-inline: 30px;
	}
}

/* staff: thumbnails 20% / text 80% at desktop; line-heights as live */
.ac-section.ac-staff.is-enhanced {
	grid-template-columns: 20% 80%;
	gap: 0;
}

@media (max-width: 1400px) {
	.ac-staff.is-enhanced .ac-staff-member__name {
		line-height: 63px;
	}

	.ac-staff.is-enhanced .ac-staff-member__bio {
		line-height: 35px;
	}
}

@media (max-width: 767px) {
	.ac-staff__thumbs {
		margin-top: -30px;
		margin-bottom: 23px;
	}

	.ac-staff.is-enhanced .ac-staff-member__name {
		line-height: 42px;
	}

	.ac-staff.is-enhanced .ac-staff-member__bio {
		line-height: 30px;
	}
}

/* accessibility statement intro: 80px line-height and 33.6px text below 1400; phones 30px sides */
@media (max-width: 1400px) {
	.ac-page-intro--plain .ac-page-intro__title {
		line-height: 80px;
	}

	.ac-page-intro--plain .ac-page-intro__text {
		line-height: 33.6px;
	}
}

@media (max-width: 767px) {
	.ac-page-intro--plain .ac-page-intro__title {
		line-height: 1.1;
	}

	.ac-page-intro--plain .ac-page-intro__inner {
		padding-inline: 30px;
	}
}

.ac-section.ac-prose--statement {
	margin-top: 10px !important;
}

/* footer form: textarea 108px, button 11px under it */
.ac-form--footer textarea {
	height: 108px;
}

/* Page backgrounds: home, thank-you and expertise set #FCF8F2 on live; every other page #FBF9F6. */
body.home,
body.ac-page-thank-you,
body.ac-page-our-expertise-page {
	background-color: var(--wp--preset--color--linen);
}

body.ac-page-our-expertise-page .ac-page-intro {
	--ac-wave-color: var(--wp--preset--color--linen);
}

/* Home tiles: words sit ~26px lower in the tile on live. */
.ac-tile {
	padding-top: 52px;
}

/* Home about block at ≤1400: the photo column is the wide (right) one, button bottom-left. */
@media (max-width: 1400px) {
	.ac-section.ac-about-split {
		grid-template-columns: 60% 1fr;
	}
}

/* Service blobs: one per row on phones (home, groomer, expertise). */
@media (max-width: 767px) {
	.ac-services .ac-service,
	.ac-services:not(.ac-services--groomer) .ac-service:nth-child(n+5) {
		flex-basis: 100% !important;
	}

	.ac-service a,
	.ac-service__box {
		--ac-blob-w: 210px;
	}

	/* The last tile's button stays clear of the wave below the grid (live: ~100px above it). */
	.ac-animal-grid__row:last-child > :last-child .ac-flip__back,
	.ac-animal-grid__row:last-child > .ac-flip:last-child .ac-flip__back {
		padding-bottom: 130px !important;
	}
}

/* FAQ: chevron 26px from the row top (px, not % of the row height); phones back to 6.6vw with 5vw gaps. */
.ac-faq summary::after {
	top: 26px;
}

@media (max-width: 1400px) {
	.ac-faq summary::after {
		top: 22px;
	}
}

@media (max-width: 767px) {
	.ac-faq .wp-block-details {
		margin-top: 5vw;
	}

	.ac-faq summary {
		font-size: 6.6vw;
	}

	.ac-faq summary::after {
		top: 20px;
	}

	.ac-page-pet-groomer .ac-faq summary {
		font-size: 7vw;
	}
}

/* Vet pages: the FAQ chevron is centred on the row and larger; the FAQ title is the big display heading,
   and the plan line is 32px (the content h2 rule must not shrink either). */
.ac-vet .ac-faq summary::after {
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -10px;
}

.ac-vet .ac-faq details[open] summary::after {
	margin-top: -3px;
}

.ac-vet-content h2.ac-display {
	font-size: 120px;
	font-weight: 700;
}

.ac-vet-content .ac-vet-plan__title {
	font-size: 32px;
	font-weight: 600;
}

@media (max-width: 1400px) {
	.ac-vet-content h2.ac-display {
		font-size: 100px;
	}
}

@media (max-width: 767px) {
	.ac-vet-content h2.ac-display {
		font-size: 60px;
	}

	.ac-vet-content .ac-vet-plan__title {
		font-size: 25px;
	}
}

/* Groomer band: the dogs photo keeps its full size (only the Russian photo is ~760px). */
.ac-band--groomer:not(.ac-lang-ru .ac-band--groomer) .ac-band__image {
	max-width: 1000px;
}

/* Expertise: phone intro uses 37px sides; tile photos ~30% larger. */
@media (max-width: 767px) {
	.ac-page-intro--expertise .ac-page-intro__inner {
		padding-inline: 37px;
	}
}

.ac-animal-tile__img {
	width: 65%;
}

/* Cards: title line pitch 30px, 58px under the photo; 40px between cards at every width. */
.ac-card__title {
	line-height: 1.15;
}

.ac-cards .wp-block-post-template {
	gap: 40px !important;
}

/* Footer form: the button 11px under the textarea (the plugin's 12px margin comes later in the cascade). */
.ac-form textarea {
	display: block;
}

.ac-form .ac-form__submit {
	margin-top: 11px;
}

/* ============================================================ Owner review, round 2b (subscription, contact, russian) */

/* subscription phone hero: live text column x36–357 */
@media (max-width: 767px) {
	.ac-page-intro--subscription .ac-page-intro__inner {
		padding-inline: 36px;
	}
}

/* subscription plan: crown inside the panel, paws hanging 75px below; title 1px from the top; 37.5px list pitch */
.ac-plan__image {
	margin: 0 0 -75px -80px;
}

.ac-plan__text {
	padding-top: 1px;
}

.ac-checks li {
	margin-bottom: 2px;
}

.ac-included .wp-block-buttons {
	justify-content: flex-end;
}

@media (max-width: 1024px) {
	.ac-plan-tabs .ac-tabs__list {
		flex-wrap: nowrap;
	}

	.ac-plan-tabs .ac-tabs__tab {
		flex: 1 1 0;
		min-width: 0;
	}

	.ac-plan__image {
		margin: 0;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-plus {
		margin: 20px auto !important;
	}

	.ac-section.ac-plan-tabs {
		margin-inline: 20px !important;
		padding-inline: 0;
	}

	.ac-tabs__acc {
		margin: 0 !important;
		font-size: 26px;
	}
}

/* contact: title 20px lower; phone form button at the start like live; no tall empty band above the footer divider */
.ac-section.ac-contact-split {
	padding-top: calc(var(--ac-header-h) + 93px);
}

@media (max-width: 1400px) {
	.ac-footer__top--empty {
		min-height: 0;
	}
}

@media (max-width: 767px) {
	.ac-contact-split__form .ac-form__submit {
		width: auto;
		margin-inline-start: auto;
	}

	.ac-contact-split__details {
		padding-bottom: 0;
	}

	.ac-contact-split .ac-info li {
		margin-bottom: 10px;
	}
}

/* russian: hero title at y≈221 (top-aligned band), more space between sections, bigger phone links */
.ac-lang-ru .ac-vet-band {
	justify-content: flex-start;
	padding-top: 221px;
}

.ac-lang-ru .ac-prose__title {
	margin-top: 130px;
}

.ac-lang-ru .ac-prose a[href^="tel:"] {
	font-size: 38px;
}

@media (max-width: 1400px) {
	.ac-lang-ru .ac-vet-band {
		padding-top: 190px;
	}
}

@media (max-width: 767px) {
	.ac-lang-ru .ac-vet-band {
		padding-top: 110px;
	}

	.ac-lang-ru .ac-prose__title {
		margin-top: 60px;
	}
}

/* ============================================================ Owner review, round 2c (articles, single, archive) */

/* cards: Elementor heading line-height (~1), date 8px above the card bottom */
.ac-card__title {
	line-height: 1;
}

.ac-card__date {
	margin-bottom: 8px;
}

/* articles intro: title at y211 (1440) / y160 (768); phones 20px sides and a shorter band */
.ac-page-intro--articles .ac-page-intro__inner {
	padding-top: 81px;
}

@media (max-width: 1400px) {
	.ac-page-intro--articles .ac-page-intro__inner {
		padding-top: 35px;
	}
}

@media (max-width: 767px) {
	.ac-page-intro--articles .ac-page-intro__inner {
		padding: 48px 20px 85px;
	}

	.ac-section.ac-latest-articles--page {
		padding-inline: 30px;
	}
}

/* single: text column 1100 (x170–1269 at 1440); the extra top space only at desktop */
.ac-single {
	--wp--style--global--content-size: 1100px;
}

@media (max-width: 1400px) {
	.ac-main > .ac-single:first-child {
		margin-top: calc(var(--ac-header-h) + 60px) !important;
	}
}

.ac-single__content th,
.ac-single__content td {
	padding: 13px 15px;
}

@media (max-width: 1024px) {
	.ac-single__content table {
		font-size: 0.85em;
	}
}

.ac-single__content .wp-block-details summary {
	align-items: center;
	padding-block: 13px;
}

/* archive: title 12px higher and 10px further in */
.ac-archive-band {
	padding: 99px max(20px, calc((100% - 1100px) / 2)) 80px;
}

/* ============================================================ Owner review, round 3a (clinic, staff, accessibility) */

/* staff: the column split per width must come after the base 20/80 rule (round 2) */
@media (max-width: 1400px) {
	.ac-section.ac-staff.is-enhanced {
		grid-template-columns: 20% 70%;
		column-gap: 0;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-staff.is-enhanced {
		grid-template-columns: 1fr;
	}
}

.ac-staff.is-enhanced .ac-staff-member__name {
	margin-bottom: 0;
}

/* clinic collage: pixel gaps (30 row 1, 40 row 2) at every width, proportions as live */
.wp-block-gallery.ac-collage > .wp-block-image:nth-child(1) { flex-basis: calc((100% - 30px) * 0.634 - 1px); margin-right: 0 !important; }
.wp-block-gallery.ac-collage > .wp-block-image:nth-child(2) { flex-basis: calc((100% - 30px) * 0.366 - 1px); margin-right: 30px !important; }
.wp-block-gallery.ac-collage > .wp-block-image:nth-child(3) { flex-basis: calc((100% - 40px) * 0.4115 - 1px); margin-right: 0 !important; }
.wp-block-gallery.ac-collage > .wp-block-image:nth-child(4) { flex-basis: calc((100% - 40px) * 0.5885 - 1px); margin-right: 40px !important; }

@media (max-width: 767px) {
	.wp-block-gallery.ac-collage > .wp-block-image[class] {
		flex-basis: 100%;
		margin-right: 0 !important;
	}

	.ac-section.ac-collage-wrap {
		padding-top: 60px;
	}
}

/* accessibility intro: 26px line-height on phones; title 10px higher and the band shorter below 1400 */
@media (max-width: 1400px) {
	.ac-page-intro--plain .ac-page-intro__inner {
		padding-top: 50px;
		padding-bottom: 196px;
	}
}

@media (max-width: 767px) {
	.ac-page-intro--plain .ac-page-intro__text {
		line-height: 26px;
	}

	.ac-page-intro--plain .ac-page-intro__inner {
		padding-bottom: 99px;
	}
}

/* footer: the logo sits in a square box (as live's 150×150 / 250×250 icon); button 11px under the textarea */
@media (max-width: 1400px) {
	.ac-footer__icon img {
		height: 150px !important;
		object-fit: contain;
	}
}

@media (max-width: 767px) {
	.ac-footer__icon img {
		height: 250px !important;
	}

	.ac-footer__bottom {
		margin-top: -16px;
	}
}

.ac-form .ac-form__submit {
	margin-top: 6px;
}

/* ============================================================ Owner review, round 3b */

/* ---- home */
@media (767px < width <= 1024px) {
	/* core's first-child rule zeroes block margins: the 72px top offset needs !important */
	.ac-hero-arch__title {
		margin-top: 72px !important;
	}

	.ac-services:not(.ac-services--groomer) .ac-service:nth-child(n+5) {
		flex-basis: 30%;
	}

	.ac-services:not(.ac-services--groomer) .ac-service:nth-child(n+5) a {
		width: 200px;
	}

	.ac-services:not(.ac-services--groomer) .ac-services__grid {
		row-gap: 80px;
	}
}

.ac-service a {
	--ac-blob-w: 225px;
}

.ac-counter {
	padding-block: 36px;
}

@media (max-width: 767px) {
	/* the round-2 desktop padding-top must not reach phones (live: English word 133px into the tile) */
	.ac-tile {
		padding-top: 34%;
	}

	.ac-about-split .wp-block-buttons {
		justify-content: flex-end !important;
	}

	.ac-faq summary {
		font-size: 6.2vw;
	}
}

/* ---- footer: room for the logo under the wave, logo→titles gap, current-page arc beside the text, hours */
@media (max-width: 1400px) {
	.ac-footer__top {
		padding-top: 94px;
	}

	.ac-footer__brand .ac-footer__icon {
		margin-bottom: 13px;
	}
}

/* credit: right-aligned in its half on tablets (centred on the contact footer), centred on phones */
@media (max-width: 1024px) {
	.ac-footer__credit {
		justify-content: flex-end;
		text-align: right;
	}

	.ac-footer--contact .ac-footer__credit {
		justify-content: center;
		text-align: center;
	}
}

@media (max-width: 767px) {
	.ac-footer__credit {
		justify-content: center;
		text-align: center;
	}
}

@media (max-width: 767px) {
	/* live: the 250px logo box starts 40px into the footer (its transparent edge over the wave), titles 7px under it */
	.ac-footer__top {
		padding-top: 40px;
	}

	.ac-footer__brand .ac-footer__icon {
		margin-bottom: 7px;
	}
}

/* live: 2px from the top; its right end 10px past the start of the text (footer links have no padding;
   live has right: 0 plus margin-right: -10px) */
.ac-footer .ac-nav .current-menu-item > .wp-block-navigation-item__content::before {
	top: 2px;
	right: -10px;
}

.ac-info__hours {
	margin-top: -5px;
}

/* ---- thank-you: title 20px lower */
.ac-thank-you__title {
	margin-top: 170px;
}

@media (max-width: 1400px) {
	.ac-thank-you__title {
		margin-top: 120px;
	}
}

@media (max-width: 767px) {
	.ac-thank-you__title {
		margin-top: 50px;
	}
}

/* ---- header: logo ~99px of visible art, centred (live also marked "דף הבית" on every dark-header page; the
   menu now marks only the current page, see inc/navigation.php) */
@media (max-width: 1024px) {
	.ac-header--white .ac-header__bar--mobile .ac-header__logo img,
	.ac-header--groomer .ac-header__bar--mobile .ac-header__logo img {
		width: 104px;
	}
}

@media (max-width: 767px) {
	.ac-header__bar--mobile {
		grid-template-columns: 20% 50% 1fr;
	}
}


/* ---- groomer: photo 70% of the 1140 column (≈798px); band top-aligned with the title where live has it */
.ac-band--groomer:not(.ac-lang-ru .ac-band--groomer) .ac-band__image {
	width: min(70%, 798px);
	max-width: none;
}

.ac-band--groomer:not(.ac-lang-ru .ac-band--groomer) {
	justify-content: flex-start;
	padding-top: 285px;
}

.ac-page-pet-groomer .ac-section.ac-cta-call {
	margin-top: 168px !important;
	padding-bottom: 0;
}

@media (max-width: 1400px) {
	.ac-band--groomer:not(.ac-lang-ru .ac-band--groomer) {
		padding-top: 173px;
	}
}

@media (max-width: 767px) {
	.ac-band--groomer:not(.ac-lang-ru .ac-band--groomer) {
		padding-top: 144px;
		padding-bottom: 70px;
	}

	.ac-page-pet-groomer .ac-faq > .ac-display {
		margin-bottom: 37px;
	}

	.ac-page-pet-groomer .ac-faq .wp-block-details {
		margin-top: 2vw;
	}
}

/* ---- expertise: section spacing and the CTA to footer distance */
.ac-page-our-expertise-page .ac-animal-tiles__title {
	margin-top: 131px;
}

.ac-page-our-expertise-page .ac-section.ac-cta-call {
	padding-bottom: 0;
}

@media (max-width: 1400px) {
	.ac-page-intro--expertise .ac-page-intro__text {
		line-height: 33.6px;
	}
}

/* ---- vet: text 1120 wide, rows as tall as live, band a little taller */
.ac-vet-content {
	--wp--style--global--content-size: 1120px;
	padding-inline: 0;
}

.ac-vet .ac-faq summary {
	padding-block: 1.5%;
}

.ac-vet-band {
	padding-bottom: 33px;
}

@media (max-width: 1400px) {
	.ac-vet .ac-faq summary {
		padding-block: 1.8%;
	}

	.ac-vet-band {
		padding-bottom: 40px;
	}

	.ac-vet-content {
		padding-inline: 10px;
	}
}

@media (max-width: 767px) {
	.ac-vet .ac-faq summary {
		padding-block: 2%;
	}

	.ac-vet-band {
		padding-bottom: 25px;
	}

	.ac-vet-content .ac-vet-plan__title {
		font-size: 30px;
	}
}

/* ---- articles page: intro heights and phone sides; space under the cards as live (hidden button) */
.ac-page-intro--articles .ac-page-intro__inner {
	padding-bottom: 245px;
}

.ac-section.ac-latest-articles--page {
	padding-bottom: 45px;
}

@media (max-width: 1400px) {
	.ac-page-intro--articles .ac-page-intro__inner {
		padding-bottom: 150px;
	}

	.ac-card__date {
		margin-top: 17px;
	}
}

@media (max-width: 767px) {
	.ac-page-intro--articles .ac-page-intro__inner {
		padding: 28px 30px 140px;
	}
}

/* ---- single: image and boxes 1120, text 1100 (content padding 10); Q&A rows 56px with a heavy +/− */
.ac-single {
	--wp--style--global--content-size: 1120px;
}

.ac-single__content,
.ac-single__disclaimer {
	padding-inline: 10px;
}

.ac-single__content :is(h2, h3):has(+ .wp-block-details) {
	margin-bottom: 0;
}

.ac-single__content .wp-block-details summary {
	padding-block: 8px;
}

.ac-single__content .wp-block-details summary::after {
	content: "";
	width: 18px;
	height: 18px;
	background:
		linear-gradient(currentColor, currentColor) center / 18px 5px no-repeat,
		linear-gradient(currentColor, currentColor) center / 5px 18px no-repeat;
}

.ac-single__content .wp-block-details[open] summary::after {
	content: "";
	background: linear-gradient(currentColor, currentColor) center / 18px 5px no-repeat;
}

@media (max-width: 1024px) {
	.ac-single__content table {
		font-size: inherit;
	}
}

/* ---- archive: title 10px further out, phone band 112vw, cards 10px lower */
.ac-archive-band {
	padding-inline: max(20px, calc((100% - 1120px) / 2));
}

.ac-section.ac-latest-articles--archive {
	margin-top: calc(9% + 10px) !important;
}

@media (max-width: 767px) {
	.ac-archive-band {
		min-height: 112vw;
	}
}

/* ---- 404: room for the footer logo under the apricot wave */
body.error404 .ac-footer__top {
	padding-top: 180px;
}

@media (max-width: 767px) {
	body.error404 .ac-footer__top {
		padding-top: 78px;
	}
}

/* ============================================================ Owner review, round 3c (subscription, contact, russian) */

/* ---- contact: the round-2b "+93" offset is desktop only; footer starts at the card (no block gap) */
.wp-site-blocks > .ac-footer--contact {
	margin-block-start: 0;
}

.ac-footer--contact .ac-footer__top--empty {
	min-height: 0;
	padding-top: 196px;
}

/* live: card 392 wide and 12px above the title, details 10px from the right edge, info 18px under the title */
@media (width > 767px) {
	.ac-section.ac-contact-split {
		grid-template-columns: 40.4% 28.8% 1fr;
		padding-right: 10px;
	}

	.ac-contact-split__form {
		margin-top: -12px !important;
	}
}

.ac-contact-split__title {
	margin-bottom: 18px;
}

@media (max-width: 1024px) {
	.ac-section.ac-contact-split {
		padding-top: calc(var(--ac-header-h) + 42px);
	}

	.ac-footer--contact .ac-footer__top--empty {
		padding-top: 82px;
	}
}

@media (767px < width <= 1024px) {
	.ac-footer--contact .ac-footer__credit {
		padding-inline: 50px;
	}
}

/* phone: card 463 tall, map 23px under it, deep wave 154px tall, statement row 53px, credit 85px with 50px sides */
@media (max-width: 767px) {
	.ac-section.ac-contact-split {
		padding-top: calc(var(--ac-header-h) - 16px);
	}

	.ac-contact-split__details {
		padding-inline: 10px;
	}

	.ac-contact-split__form {
		margin-top: 4px !important;
		padding-bottom: 42px;
	}

	.ac-footer--contact .ac-footer__top--empty {
		--ac-wave-height: 100px;
		padding-top: 154px;
	}

	.ac-footer--contact .ac-footer__bottom {
		margin-top: 0;
	}

	.ac-footer--contact .ac-footer__statement {
		min-height: 53px;
		margin-top: 0 !important;
	}

	.ac-footer--contact .ac-footer__credit {
		min-height: 85px;
		padding-inline: 50px;
	}
}

/* ---- subscription: tablet tabs wrap between words only; phone list 1.1em + 15px; space above the footer */
@media (max-width: 1024px) {
	.ac-plan-tabs .ac-tabs__tab {
		flex: 0 1 auto;
		overflow-wrap: normal;
		word-break: keep-all;
	}
}

.ac-section.ac-included {
	margin-bottom: 120px !important;
}

/* hero: title, text and wave where live has them (title→text 28px) */
.ac-page-intro--subscription .ac-page-intro__inner {
	padding-top: 91px;
	padding-bottom: 216px;
}

.ac-page-intro--subscription .ac-page-intro__title {
	margin-bottom: 28px;
}

.ac-section.ac-plan-tabs {
	margin-top: 69px !important;
}

@media (max-width: 1024px) {
	.ac-page-intro--subscription .ac-page-intro__inner {
		padding-top: 52px;
		padding-bottom: 156px;
	}

	.ac-section.ac-plan-tabs {
		margin-top: 83px !important;
	}
}

@media (max-width: 767px) {
	.ac-page-intro--subscription .ac-page-intro__inner {
		padding: 38px 30px 99px;
	}
}

/* list: text 39px from the check, 1.5 line pitch, no item gap (live icon list) */
.ac-checks li {
	margin-bottom: 0;
	padding-inline-start: 39px;
	line-height: 1.5;
}

/* plan photo: 402px, 38px out of the panel on the left, paws 33px below it. Two classes: core's
   `:root :where(.is-layout-flow) > :last-child` zeroes margin-block-end and beat every earlier try.
   The photo hangs past its column (100%) into the panel's inset (32px) and the page gutter beside the 1140px
   section; the third term keeps it 16px inside the screen on laptops (1025–1250px went past the edge). */
.ac-plan .ac-plan__image {
	width: min(402px, 36vw, calc(100% + 16px + max(0px, (100vw - 1140px) / 2)));
	max-width: none;
	margin: 0 0 -55px -38px;
}

.ac-plan-tabs .ac-tabs__tab {
	padding-block: 21px;
}

/* "+" art: 560px, overlapping the panel and the box by 40px (20px on tablets) */
.ac-section.ac-plus {
	max-width: 1120px;
	margin: -40px auto !important;
}

@media (max-width: 1024px) {
	.ac-section.ac-plus {
		margin: -20px auto !important;
	}

	.ac-plus__image img {
		width: 32.4vw;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-plus {
		margin: 42px 20px -20px !important;
	}

	.ac-plus__image img {
		width: 100%;
	}
}

@media (max-width: 1024px) {
	.ac-section.ac-plan-tabs {
		padding-inline: 0;
	}

	/* tablet: list 60% of the 544px text box, photo 143px in the other part, 60px from its left */
	.ac-plan {
		grid-template-columns: 60% 1fr;
		padding: 0 40px 20px 20px;
	}

	.ac-plan .ac-plan__image {
		justify-self: end;
		width: 143px;
		margin: 15px 0 0 60px;
	}
}

@media (max-width: 767px) {
	.ac-plan {
		grid-template-columns: 1fr;
		padding: 0;
	}

	.ac-plan-tabs.is-accordion > .ac-tab {
		padding: 12px 30px 35px;
	}

	/* live: 1.1em lines, 7px under the text and 7px between items; check 2px from the edge */
	.ac-checks li {
		margin-bottom: 7px;
		padding-bottom: 7px;
		line-height: 1.1em;
	}

	.ac-checks li::before {
		right: 2px;
	}

	.ac-plan .ac-plan__image {
		justify-self: center;
		width: 143px;
		margin: 0;
	}

	.ac-section.ac-included {
		margin-bottom: 131px !important;
	}

	.ac-included__title {
		margin-bottom: 20px;
		line-height: 63px;
	}
}

/* ---- russian: form fields on one line (the prose `p + p` gap must not reach them) */
.ac-lang-ru .ac-prose .ac-form__field {
	margin-top: 0;
}

/* hero: title across 1120px with the photo right under it, photo 70% of the column (max 784px) */
.ac-lang-ru .ac-section.ac-vet-band {
	padding-inline: 10px;
	padding-top: 215px;
}

.ac-lang-ru .ac-vet-band__title {
	max-width: 1120px;
	margin-bottom: 0;
}

.ac-lang-ru .ac-vet-band .ac-band__image {
	width: 70%;
	max-width: 784px;
}

@media (max-width: 1400px) {
	.ac-lang-ru .ac-section.ac-vet-band {
		padding-top: 168px;
	}
}

@media (max-width: 767px) {
	.ac-lang-ru .ac-section.ac-vet-band {
		padding-top: 146px;
	}
}

/* section rhythm as live: titles 115px down on desktop (the form title has no section padding above it
   below 1400), 80px title lines, 60px form-title lines; the emergency line 28px under the phones */
.ac-lang-ru .ac-ru-body .ac-prose__title,
.ac-lang-ru .ac-ru-form .ac-prose__title {
	margin-top: 115px;
}

.ac-lang-ru .ac-ru-form .ac-prose__title {
	margin-bottom: 14px;
}

.ac-lang-ru .ac-prose p:has(> a[href^="tel:"]) + p {
	margin-top: 37px;
}

.ac-lang-ru .ac-section.ac-ru-form {
	padding-bottom: 30px;
}

@media (max-width: 1400px) {
	.ac-lang-ru .ac-prose__title {
		line-height: 80px;
	}
}

@media (max-width: 1024px) {
	.ac-lang-ru .ac-prose p + p {
		margin-top: 15px;
	}

	.ac-lang-ru .ac-section.ac-ru-intro {
		margin-top: 20px !important;
	}

	.ac-lang-ru .ac-section.ac-ru-form {
		padding-top: 0;
		padding-bottom: 30px;
	}

	.ac-lang-ru .ac-ru-body .ac-prose__title,
	.ac-lang-ru .ac-ru-form .ac-prose__title {
		margin-top: 54px;
	}

	.ac-lang-ru .ac-prose__title {
		margin-top: 45px;
	}

	/* no padding above it, so its margin collapses with the section's: 84px under the emergency line */
	.ac-lang-ru .ac-ru-form .ac-prose__title {
		margin-top: 84px;
	}
}

@media (max-width: 767px) {
	.ac-lang-ru .ac-section.ac-ru-intro {
		margin-top: 34px !important;
	}

	.ac-lang-ru .ac-section.ac-ru-form {
		padding-bottom: 50px;
	}

	/* live: 19px intro, 20px body */
	.ac-lang-ru .ac-prose:not(.ac-ru-intro) p {
		font-size: 20px;
	}

	.ac-lang-ru .ac-prose__title {
		margin-top: 4px;
		line-height: 1.1;
	}

	.ac-lang-ru .ac-ru-body .ac-prose__title,
	.ac-lang-ru .ac-ru-form .ac-prose__title {
		margin-top: 14px;
	}

	.ac-lang-ru .ac-ru-form .ac-prose__title {
		margin-top: 44px;
		line-height: 1;
	}

	.ac-lang-ru .ac-prose p:has(> a[href^="tel:"]) + p {
		margin-top: 34px;
	}
}

/* ---- phone header: columns 3px further left (logo centre x215 as live), Header Dark's logo another 8px,
   the white headers' 128px logo (the 104px tablet size must not reach phones), burger 3px right */
@media (max-width: 767px) {
	.ac-header__bar--mobile {
		padding-right: 13px;
		padding-left: 17px;
	}

	.ac-header--dark .ac-header__bar--mobile .ac-header__logo {
		margin-right: 16px;
	}

	.ac-header--white .ac-header__bar--mobile .ac-header__logo img,
	.ac-header--groomer .ac-header__bar--mobile .ac-header__logo img {
		width: 128px;
	}

	.ac-header .ac-nav--mobile {
		margin-right: -6px;
	}
}

/* ============================================================ Owner review, round 4 */

/* ---- home: phone "עוד עלינו" spans the row so it can sit at the left edge as live, 34px under the text */
@media (max-width: 767px) {
	.ac-about-split .wp-block-buttons {
		grid-column: 1 / -1;
		margin-top: 34px;
	}
}

/* ---- single article: Elementor text-editor rhythm (p 0 0 14.4px, headings 8px 0 16px, lists flush,
   margins collapsing) instead of a 20px block gap; text starts 15px (30px below 1024) further under the image */
.ac-single .ac-single__content > :where(:not(.wp-block-details)) {
	margin-block: 0;
}

.ac-single .ac-single__content > p {
	margin-bottom: 14.4px;
}

.ac-single .ac-single__content > :is(h2, h3, h4) {
	margin: 8px 0 16px;
}

.ac-single .ac-single__content > table,
.ac-single .ac-single__content > .wp-block-table {
	margin-bottom: 15px;
}

.ac-single__content h3 {
	font-size: 28px;
	line-height: 1.2;
}

.ac-single .ac-single__content {
	padding-top: 15px;
}

@media (max-width: 1024px) {
	.ac-single .ac-single__content {
		padding-top: 30px;
	}
}

/* Q&A rows as live: 15px 20px around one-line-high questions (55px rows), answers with the text-editor
   paragraph margin under them; phones 12px 15px rows and 7px 15px answers */
.ac-single__content .wp-block-details summary {
	gap: 5px;
	padding: 15px 20px;
	line-height: 1;
}

/* the Q&A heading is an Elementor heading widget on live: one-line-high lines */
.ac-single__content :is(h2, h3):has(+ .wp-block-details) {
	line-height: 1;
}

.ac-single__content .wp-block-details > p {
	margin-bottom: 14.4px;
}

@media (max-width: 767px) {
	.ac-single__content .wp-block-details summary {
		padding: 12px 15px;
	}

	.ac-single__content .wp-block-details > :not(summary) {
		padding: 7px 15px;
	}
}

/* date 16px lower on desktop; expert box across the full 1120 (out of the content's 10px padding);
   disclaimer to the column edge; related cards 9vw + 34px under it as live; room under the cards where live
   keeps its hidden "load more" link */
@media (width > 1024px) {
	.ac-single__date {
		margin-top: 16px;
	}
}

.ac-single .ac-te-box {
	margin-top: 75px;
	margin-inline: -10px;
}

.ac-latest-articles--single .ac-cards .wp-block-post-template {
	gap: 20px !important;
}

.ac-single .ac-single__disclaimer {
	padding-inline: 0;
}

.ac-section.ac-latest-articles--single {
	margin-top: calc(9vw + 34px) !important;
}

.ac-section.ac-latest-articles--single,
.ac-section.ac-latest-articles--archive {
	padding-bottom: 45px;
}

/* live table cells: 0.9em text, 15px padding all round */
.ac-single .ac-single__content :is(th, td) {
	padding: 15px;
	font-size: 0.9em;
}

/* the Q&A block is its own widget on live: 35px under the last paragraph */
.ac-single .ac-single__content > :is(h2, h3):has(+ .wp-block-details) {
	margin-top: 35px;
}

@media (max-width: 1024px) {
	.ac-single .ac-te-box {
		margin-top: 62px;
	}
}

/* ---- archive: title 10px from the edge below 1120 (as live), first phone card 27px further under the wave */
.ac-archive-band {
	padding-inline: max(10px, calc((100% - 1120px) / 2));
}

@media (max-width: 767px) {
	.ac-section.ac-latest-articles--archive {
		margin-top: calc(9% + 37px) !important;
	}
}

/* ---- groomer services: 207px-high blobs (content can grow them), 40px between rows, title gap per width,
   more room above the FAQ as live */
.ac-services--groomer .ac-service__box {
	aspect-ratio: auto;
	min-height: 207px;
}

.ac-services--groomer .ac-services__grid {
	row-gap: 40px;
}

/* live's Yorkshire box wraps its title to three lines */
.ac-services--groomer .ac-service:last-child .ac-service__box {
	min-height: 235px;
}

.ac-section.ac-services--groomer {
	padding-bottom: 20px;
}

@media (max-width: 1024px) {
	.ac-services--groomer .ac-services__title {
		margin-bottom: 110px;
	}

	.ac-section.ac-services--groomer {
		padding-bottom: 30px;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-services--groomer {
		margin-top: 82px !important;
	}

	.ac-services--groomer .ac-services__title {
		margin-bottom: 70px;
	}
}

/* ---- groomer hero as the russian one: 10px sides, title across the column, photo 70% (max 784px);
   intro text 21px closer to the band, 40px sides below 1024 */
.ac-section.ac-band--groomer:not(.ac-lang-ru .ac-band--groomer) {
	padding-inline: 10px;
}

.ac-band--groomer:not(.ac-lang-ru .ac-band--groomer) .ac-vet-band__title {
	max-width: 1120px;
}

.ac-band--groomer:not(.ac-lang-ru .ac-band--groomer) .ac-band__image {
	width: 70%;
	max-width: 784px;
}

.ac-page-pet-groomer .ac-section.ac-prose {
	margin-top: 9px !important;
}

@media (max-width: 1400px) {
	.ac-section.ac-band--groomer:not(.ac-lang-ru .ac-band--groomer) {
		min-height: 0;
		padding-top: 167px;
		padding-bottom: 51px;
	}
}

@media (max-width: 1024px) {
	.ac-page-pet-groomer .ac-section.ac-prose {
		padding-inline: 40px;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-band--groomer:not(.ac-lang-ru .ac-band--groomer) {
		padding-top: 139px;
		padding-bottom: 52px;
	}
}

/* ---- groomer FAQ and call block: rows 3px closer, title 10px (26px below 1024) closer to them;
   the call text on 34px lines at every width */
.ac-page-pet-groomer .ac-faq .wp-block-details + .wp-block-details {
	margin-top: calc(2vw - 3px);
}

.ac-page-pet-groomer .ac-faq > .ac-display {
	margin-bottom: 49px;
}

.ac-page-pet-groomer .ac-cta-call p {
	line-height: 34px;
}

@media (max-width: 1024px) {
	.ac-page-pet-groomer .ac-faq > .ac-display {
		margin-bottom: 33px;
	}
}

@media (max-width: 767px) {
	.ac-page-pet-groomer .ac-faq > .ac-display {
		margin-bottom: 37px;
	}
}

/* ---- expertise: section rhythm measured against live per width (services, the two tile groups, call block) */
.ac-page-our-expertise-page .ac-section.ac-services {
	margin-top: 23px !important;
}

.ac-page-our-expertise-page .ac-animal-tiles__title {
	margin-top: 104px;
	margin-bottom: 28px;
}

.ac-page-our-expertise-page .ac-animal-tiles + .ac-animal-tiles .ac-animal-tiles__title {
	margin-top: 108px;
}

.ac-page-our-expertise-page .ac-animal-tiles + .ac-animal-tiles .ac-animal-tiles__grid {
	row-gap: 70px;
}

.ac-page-our-expertise-page .ac-section.ac-cta-call {
	margin-top: 114px !important;
}

.wp-site-blocks > .ac-footer:is(.ac-page-our-expertise-page *) {
	margin-block-start: 7px;
}

@media (max-width: 1024px) {
	.ac-page-our-expertise-page .ac-section.ac-services {
		margin-top: 30px !important;
	}

	.ac-page-our-expertise-page .ac-animal-tiles__title {
		margin-top: 152px;
		margin-bottom: 32px;
	}

	.ac-page-our-expertise-page .ac-animal-tiles + .ac-animal-tiles .ac-animal-tiles__title {
		margin-top: 86px;
	}

	.ac-page-our-expertise-page .ac-animal-tiles + .ac-animal-tiles .ac-animal-tiles__grid {
		row-gap: 141px;
	}

	.ac-page-our-expertise-page .ac-section.ac-cta-call {
		margin-top: 190px !important;
	}
}

@media (max-width: 767px) {
	.ac-page-our-expertise-page .ac-section.ac-services {
		margin-top: 0 !important;
	}

	/* phone blobs keep the 1.1 shape, so the content can sit at the shape's centre */
	.ac-page-our-expertise-page .ac-service a {
		--ac-pad: 20px;
	}

	.ac-page-our-expertise-page .ac-animal-tiles__title {
		margin-top: 131px;
		margin-bottom: 27px;
	}

	.ac-page-our-expertise-page .ac-animal-tiles__grid {
		row-gap: 14px;
	}

	.ac-page-our-expertise-page .ac-animal-tiles + .ac-animal-tiles .ac-animal-tiles__title {
		margin-top: 130px;
	}

	.ac-page-our-expertise-page .ac-animal-tiles + .ac-animal-tiles .ac-animal-tiles__grid {
		row-gap: 60px;
	}

	.ac-page-our-expertise-page .ac-section.ac-cta-call {
		margin-top: 176px !important;
	}
}

/* ---- vet landing hero: top-aligned like live (title 174/123/106px down, the photo right under it, full
   width below 1024), text 40px under the photo's bottom edge */
.ac-section.ac-vet-band:not(.ac-band--groomer) {
	justify-content: flex-start;
	padding-top: 174px;
}

.ac-vet-band:not(.ac-band--groomer) .ac-vet-band__title {
	margin-bottom: 0;
}

.ac-vet-content {
	margin-top: 47px !important;
}

@media (max-width: 1024px) {
	.ac-section.ac-vet-band:not(.ac-band--groomer) {
		padding-top: 123px;
		padding-inline: 0;
	}

	.ac-vet-band:not(.ac-band--groomer) .ac-vet-hero {
		width: 100%;
	}

	.ac-vet-content {
		margin-top: 40px !important;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-vet-band:not(.ac-band--groomer) {
		padding-top: 106px;
	}

	.ac-vet-content {
		margin-top: 55px !important;
	}
}

/* vet content rhythm: services title 14px under the intro, call line 67px under the list, FAQ title 134px */
.ac-vet-content > p + h2 {
	margin-top: 14px;
}

.ac-vet-content > .ac-vet-cta {
	margin-top: 67px;
}

.ac-vet-faq-title {
	margin-top: 134px !important;
}

@media (max-width: 767px) {
	/* live phone rows: 1.5 lines, 1% padding */
	.ac-vet .ac-faq summary {
		padding-block: 1%;
		line-height: 1.5;
	}
}

/* bottom block 7px further from the plan line (tablet and up) and 28px more room above the footer */
.ac-vet-content > .ac-vet-bottom {
	margin-bottom: 60px;
}

@media (width > 767px) {
	.ac-vet-content > .ac-vet-bottom {
		margin-top: 57px;
	}
}

@media (max-width: 1024px) {
	.ac-vet-content > .ac-vet-bottom {
		margin-bottom: 48px;
	}
}

@media (max-width: 767px) {
	.ac-vet-content > .ac-vet-bottom {
		margin-bottom: 37px;
	}
}

/* ---- footer form: "שלח" 12px under the textarea as live */
.ac-footer .ac-form p:has(> .ac-form__submit) {
	margin-top: 12px;
}

.ac-footer .ac-form .ac-form__submit {
	margin-top: 0;
}

/* ---- white/groomer headers: the 128px logo on tablets too (live) */
@media (max-width: 1024px) {
	.ac-header--white .ac-header__bar--mobile .ac-header__logo img,
	.ac-header--groomer .ac-header__bar--mobile .ac-header__logo img {
		width: 128px;
	}
}

/* ---- clinic text sections: 60px rows plus the text-editor paragraph margin, which live lacks on
   TREATMENT (5th) and SUPPORT (7th): their text is a bare widget container there */
.ac-section.ac-text-sections {
	row-gap: 60px;
}

.ac-text-sections .ac-text-section p {
	margin-bottom: 14.4px;
}

.ac-text-sections .ac-text-section:is(:nth-child(5), :nth-child(7)) p {
	margin-bottom: 0;
}

/* ---- clinic collage: desktop row 2 ends 10px short of the right edge (live 842–1270); tablets 30px gutters
   and rows, both row-2 photos level, 10px lower start; phones photos 20px apart */
.wp-block-gallery.ac-collage > .wp-block-image:nth-child(3) { flex-basis: calc((100% - 50px) * 0.4115 - 1px); margin-right: 10px !important; }
.wp-block-gallery.ac-collage > .wp-block-image:nth-child(4) { flex-basis: calc((100% - 50px) * 0.5885 - 1px); }

@media (max-width: 1024px) {
	.wp-block-gallery.ac-collage {
		row-gap: 30px;
		margin-top: 10px !important;
	}

	.wp-block-gallery.ac-collage > .wp-block-image:nth-child(3) { flex-basis: calc((100% - 30px) * 0.4115 - 1px); margin-top: 0 !important; margin-right: 0 !important; }
	.wp-block-gallery.ac-collage > .wp-block-image:nth-child(4) { flex-basis: calc((100% - 30px) * 0.5885 - 1px); margin-right: 30px !important; }
}

@media (max-width: 767px) {
	.wp-block-gallery.ac-collage {
		row-gap: 20px;
		margin-top: 0 !important;
	}

	.wp-block-gallery.ac-collage > .wp-block-image[class] {
		flex-basis: 100%;
		margin-right: 0 !important;
	}
}

@media (max-width: 767px) {
	.wp-block-gallery.ac-collage > .wp-block-image:nth-child(3) {
		margin-top: 0 !important;
	}
}

/* ---- clinic / accessibility intros: text 35px under the title as live */
.ac-page-intro:not(.ac-page-intro--subscription, .ac-page-intro--expertise, .ac-page-intro--articles) .ac-page-intro__title {
	margin-bottom: 35px;
}

/* ---- accessibility: band bottom as live per width, phone title 6px lower; email 15px under the text */
.ac-page-intro--plain .ac-page-intro__inner {
	padding-bottom: 210px;
}

.ac-page-accessibility-statement .ac-prose p + p:has(a[href^="mailto:"]),
.ac-page-accessibility-statement p:has(> a[href^="mailto:"]) {
	margin-top: 15px;
}

@media (max-width: 1400px) {
	.ac-page-intro--plain .ac-page-intro__inner {
		padding-bottom: 210px;
	}
}

@media (max-width: 767px) {
	.ac-page-intro--plain .ac-page-intro__inner {
		padding-top: 56px;
		padding-bottom: 180px;
	}
}

/* ---- staff: until staff.js has swapped the all-members grid for thumbnails + one bio, the section stays
   invisible, so it appears in its final layout instead of shifting the page (CLS). If the script never runs,
   the animation reveals the plain grid after 3s. */
.js .ac-staff:not(.is-enhanced) {
	visibility: hidden;
	animation: ac-reveal 0s 3s forwards;
}

@keyframes ac-reveal {
	to { visibility: visible; }
}

/* ---- staff: team block 51/55/15px under the intro as live. Not tied to .is-enhanced: staff.js adds that
   class after loading, and a margin that changed with it shifted the page (Lighthouse CLS 0.079). */
.ac-section.ac-staff {
	margin-top: 51px !important;
}

@media (max-width: 1024px) {
	.ac-section.ac-staff {
		margin-top: 55px !important;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-staff {
		margin-top: 15px !important;
		margin-bottom: 25px !important;
	}
}

/* ---- thank-you: pug column 38.9% with a 20px gutter, one-line-high title lines, button 20px under the
   title; phones: the pug across the column, 20px under the button (button 65px under the title) */
.ac-section.ac-thank-you {
	grid-template-columns: 1fr 38.9%;
	column-gap: 20px;
}

.ac-thank-you .ac-thank-you__title {
	line-height: 1;
	margin-bottom: 20px;
}

@media (max-width: 767px) {
	.ac-section.ac-thank-you {
		grid-template-columns: 1fr;
		row-gap: 20px;
	}

	.ac-thank-you .ac-thank-you__title {
		margin-bottom: 65px;
	}

	.ac-thank-you__image {
		max-width: none;
	}
}

.ac-section.ac-thank-you {
	padding-top: calc(var(--ac-header-h) + 41px);
	margin-bottom: -10px !important;
}

.ac-thank-you__text {
	padding-top: 24px;
}

@media (max-width: 1024px) {
	.ac-section.ac-thank-you {
		padding-top: calc(var(--ac-header-h) - 10px);
	}

	.ac-thank-you__text {
		padding-top: 54px;
	}
}

@media (max-width: 767px) {
	.ac-section.ac-thank-you {
		padding-top: calc(var(--ac-header-h) + 32px);
	}

	.ac-thank-you__text {
		padding-top: 0;
	}
}

/* ---- home hero title: live letter-spacing 5px on tablets, 3px on phones (20px sides, 24px lower) */
@media (max-width: 1024px) {
	.ac-hero-arch__title {
		max-width: 262px;
		letter-spacing: 5px;
	}
}

@media (max-width: 767px) {
	.ac-hero-arch .ac-hero-arch__title {
		letter-spacing: 3px;
		max-width: none;
		padding-inline: 20px;
		margin-top: 14px !important;
	}
}

/* ---- russian phone links 40px; phone accordion: the open panel keeps its 2px apricot top border */
.ac-lang-ru .ac-prose a[href^="tel:"] {
	font-size: 40px;
}

@media (max-width: 767px) {
	.ac-plan-tabs.is-accordion > .ac-tab {
		border-top: 2px solid var(--wp--preset--color--apricot);
	}
}

/* ---- final pass: accessibility intro keeps Elementor's 135px wave at every width (17076 has no overrides);
   clinic phone "קבע תור" 15px higher; articles tablet cards 15px higher with live's gap under them */
.ac-page-intro.ac-page-intro--plain {
	--ac-wave-height: 135px;
}

@media (max-width: 767px) {
	.ac-page-clinic .ac-section.ac-page-cta {
		margin-top: 25px !important;
	}
}

@media (767px < width <= 1024px) {
	.ac-section.ac-latest-articles--page {
		margin-top: 25px !important;
		padding-bottom: 10px;
	}
}

/* home: phone counters 34px under the hero title; desktop FAQ 38px further from the services */
@media (max-width: 767px) {
	.ac-section.ac-counters {
		margin-top: 34px !important;
	}
}

@media (width > 1400px) {
	.ac-section.ac-faq:is(.home *) {
		margin-top: 158px !important;
	}
}

/* 404 phone: the pug starts under the heading and runs behind the button, 40px right of centre */
@media (max-width: 767px) {
	.ac-404 {
		padding-bottom: 130px;
		background-position: calc(50% + 40px) calc(100% - 100px);
	}
}

/* ============================================================ Accessibility: text contrast (owner decision 2026-10-23)
   Live's light-mint section titles (1.25:1) and apricot open-tab label (1.48:1) fail IS 5568 / WCAG AA;
   darkened just enough for 3:1 (large text). The article TOC / Q&A green is nudged from 4.34:1 to 4.6:1.
   (The section titles are brand green #066146 since the owner's 2026-10-24 pick: 7:1.) */

.ac-plan-tabs .ac-tabs__tab[aria-selected="true"],
.ac-tabs__acc[aria-expanded="true"] {
	color: #fe6200;
}

.ac-toc summary,
.ac-single__content .wp-block-details summary,
.ac-single__content .wp-block-details[open] summary {
	color: #0a815f;
}

/* ---- contact layout (owner, 2026-10-25): room between the columns (they touched); tablets get the details and
   the form side by side with a wide map below (three columns left the form 213px wide at 768). */
@media (width > 767px) {
	.ac-section.ac-contact-split {
		column-gap: 32px;
	}
}

@media (767px < width <= 1024px) {
	.ac-section.ac-contact-split {
		grid-template-columns: 1fr 1fr;
		row-gap: 40px;
	}

	.ac-contact-split .ac-map-card {
		grid-column: 1 / -1;
	}

	/* The title fits its half-width column on one line. */
	.ac-contact-split__title {
		font-size: clamp(56px, 8.5vw, 88px);
		line-height: 1;
	}

	.ac-contact-split .ac-map-card__open,
	.ac-contact-split .ac-map-card__frame {
		aspect-ratio: 16 / 9;
	}
}

/* ---- doctor profile pages (/staff/<slug>, ac-team-experts): photo and title beside the name, full bio,
   then the articles the doctor wrote or reviewed. Same column and title as an article. */
.ac-profile__intro {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0 0 30px;
}

.ac-profile__photo {
	flex: 0 0 auto;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--wp--preset--color--mint);
	line-height: 0;
}

.ac-profile__photo img,
.ac-profile__photo svg {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ac-profile__job {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	color: var(--wp--preset--color--green);
}

/* Same text size as an article's body. */
.ac-profile__bio {
	font-size: 25px;
	color: #000;
	text-align: start;
}

.ac-profile__list a {
	font-size: 20px;
}

.ac-profile__articles {
	margin-top: 50px;
	padding-top: 30px;
	border-top: 1px solid var(--wp--preset--color--mint);
}

.ac-profile__articles + .ac-profile__articles {
	margin-top: 30px;
}

.ac-profile__heading {
	margin: 0 0 20px;
	font-size: 32px;
	color: var(--wp--preset--color--primary);
	text-align: start;
}

.ac-profile__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ac-profile__list li {
	padding: 12px 0;
	border-bottom: 1px solid var(--wp--preset--color--mint);
}

.ac-profile__list li:last-child {
	border-bottom: 0;
}

.ac-profile__list a {
	display: inline-block;
	padding-block: 4px; /* tap target ≥ 24px tall */
	font-weight: 700;
	color: var(--wp--preset--color--green);
}

/* staff page: link to each doctor's own page */
.ac-staff-member__more a {
	font-weight: 700;
	color: var(--wp--preset--color--green);
}

@media (max-width: 767px) {
	.ac-profile__intro {
		flex-direction: column;
		align-items: flex-start;
	}

	.ac-profile__photo {
		width: 120px;
		height: 120px;
	}

	.ac-profile__heading {
		font-size: 26px;
	}

	.ac-profile__bio {
		font-size: max(16px, 5vw);
	}

	.ac-profile__list a {
		font-size: 18px;
	}
}

/* ---- live heading outline (SEO): the tags follow live's heading levels, the look stays the same.
   Labels that are headings for SEO (h1–h5) drop the global heading style and look as they did as text;
   labels that are not headings on live (p) keep the heading look they had. Specificity 0,0,1, so each
   element's own class rules still win. */
:is(h1, h2, h3, h4, h5):where(.ac-service, .ac-animal-tile, .ac-tile__en, .ac-tile__he, .ac-card__date, .ac-single__date, .ac-toc__title, .ac-404__code) {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
	text-wrap: wrap;
}

p:where(.ac-staff-member__name, .ac-tab__label, .ac-plan__title, .ac-vet-plan__title) {
	font-family: var(--wp--preset--font-family--arbel);
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--primary);
	text-wrap: balance;
}

:where(.ac-card__title, .ac-cta-call__title, .ac-cta-call__phone, .ac-animal-tiles__title) {
	text-wrap: balance;
}

/* As paragraphs they had `.ac-section p { margin: 0 }`; the plan subtitle had the heading's 20px below. */
.ac-section :is(h1, h2):where(.ac-tile__en, .ac-tile__he, .ac-404__code) {
	margin: 0;
}

.ac-section p.ac-plan__title {
	margin: 0 0 20px;
}

.ac-toc__title {
	margin: 0;
}
