/**
 * ADIC polish layer (2026, v1)
 *
 * Loaded last, on the front end and in the editor. It refines what the earlier layers
 * (brand.css, sections.css, clinic.css, locator.css) already do; it adds no new markup.
 * To switch it off, remove 'polish' from the include list in functions.php.
 *
 * What it does:
 *  1. Type: balanced headlines, no orphans, tighter display tracking, one scale.
 *  2. Rhythm: a slightly tighter section scale so the page reads as one story.
 *  3. Header: sticks to the top and gains a soft shadow once the page scrolls.
 *  4. Surfaces: one shadow family, consistent hover lift on everything clickable.
 *  5. Section-level refinements: hero, doctors panel, video, cards, promo, steps, CTA.
 *  6. Motion: gentle fade-up as sections enter (assets/js/reveal.js), off for reduced motion.
 */

:root {
	/* One type scale for every new page. */
	--fs-display: clamp(44px, 5.4vw, 76px);
	--fs-h1: clamp(38px, 4.4vw, 60px);
	--fs-h2: clamp(32px, 3.3vw, 46px);
	--fs-h3: clamp(19px, 1.4vw, 21px);
	--fs-lead: clamp(18px, 1.35vw, 20px);
	--fs-body: 17px;
	--fs-small: 14px;
	--fs-eyebrow: 12.5px;

	/* Slightly tighter rhythm than before (was 72-120px). */
	--s-section: clamp(72px, 8vw, 112px);

	/* One shadow family, tinted towards the ink-blue of the brand. */
	--shadow-sm: 0 1px 2px rgba(15, 35, 55, 0.05), 0 2px 6px rgba(15, 35, 55, 0.04);
	--shadow-md: 0 1px 2px rgba(15, 35, 55, 0.05), 0 10px 28px -6px rgba(15, 35, 55, 0.12);
	--shadow-lg: 0 2px 4px rgba(15, 35, 55, 0.04), 0 28px 60px -12px rgba(15, 35, 55, 0.22);
	--ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* ======================= 1. TYPE ======================= */

body {
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
}

::selection {
	background: var(--color-sunshine, #FED53B);
	color: var(--color-ink, #1A1A1A);
}

:is(.adic-section, .adic-hero, .adic-team, .adic-cp, .adic-footer) :is(h1, h2, h3) {
	text-wrap: balance;
}

:is(.adic-section, .adic-hero, .adic-team, .adic-cp) p {
	text-wrap: pretty;
}

.adic-hero__title {
	font-size: var(--fs-display) !important;
	letter-spacing: -0.028em !important;
	line-height: 1 !important;
}

.adic-hero--page .adic-hero__title {
	font-size: var(--fs-h1) !important;
}

.adic-section h2,
.adic-hero h2,
.adic-team__heading {
	font-size: var(--fs-h2) !important;
	letter-spacing: -0.022em;
	line-height: 1.06;
}

.adic-team__heading {
	line-height: 1.2 !important;
}

.adic-section h3 {
	font-size: var(--fs-h3);
	letter-spacing: -0.008em;
}

/* Narrow columns wrap normally, so compound words like "obligation-free" never split. */
.adic-form-section__text h2,
.adic-video__text h2,
.adic-split h2 {
	text-wrap: wrap;
}

/* Card titles stay at their compact size so short titles fit on one line. */
.adic-media-card h3,
.adic-card h3 {
	font-size: 20px;
}

/* Long section headlines get room to sit on two lines on desktop (balanced, not ragged). */
.adic-head {
	max-width: 940px;
}

.adic-head--row {
	max-width: none;
}

.adic-head--row .adic-head__text {
	max-width: 820px;
}

.adic-hero__lead,
.adic-split p:not(.adic-eyebrow),
.adic-video__text p:not(.adic-eyebrow),
.adic-form-section__text p:not(.adic-eyebrow):not(.adic-check),
.adic-final p {
	font-size: var(--fs-lead) !important;
	line-height: 1.6;
}

.adic-eyebrow,
.adic-section p.adic-eyebrow,
.adic-team__eyebrow {
	font-size: var(--fs-eyebrow) !important;
	letter-spacing: 0.14em !important;
}

/* Headings keep a little air under the eyebrow. */
.adic-head {
	gap: 14px;
}

/* ======================= 2. BUTTONS ======================= */

.wp-block-button__link,
.adic-btn {
	transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.25s var(--ease-out), transform 0.25s var(--ease-out) !important;
}

.adic-section .wp-block-button__link,
.adic-hero .wp-block-button__link,
.adic-btn {
	min-height: 52px;
	padding-inline: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	letter-spacing: 0.005em;
}

.adic-section .wp-block-button__link:hover,
.adic-hero .wp-block-button__link:hover,
.adic-btn:hover {
	transform: translateY(-2px);
}

/* Amber (primary) buttons glow softly on hover. */
.adic-section .wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover,
.adic-hero .wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover,
.adic-btn--primary:hover {
	box-shadow: 0 10px 24px -8px rgba(230, 150, 20, 0.6);
}

.adic-section .wp-block-button.is-style-ink .wp-block-button__link:hover,
.adic-btn--dark:hover {
	box-shadow: 0 10px 24px -8px rgba(26, 26, 26, 0.45);
}

.adic-section .wp-block-button__link:active,
.adic-btn:active {
	transform: translateY(0);
}

/* ======================= 3. HEADER ======================= */

.site-header {
	position: sticky;
	top: 0;
	z-index: 900;
	transition: box-shadow 0.3s ease;
}

.admin-bar .site-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 0;
	}
}

/* Everything else that sticks sits just below the header (height measured by reveal.js). */
:root {
	--adic-header-h: 84px;
	--adic-bar-h: 0px;
}

.admin-bar {
	--adic-bar-h: 32px;
}

@media (max-width: 782px) {
	:root {
		--adic-header-h: 78px;
	}

	.admin-bar {
		--adic-bar-h: 0px;
	}
}

html {
	scroll-padding-top: calc(var(--adic-header-h) + var(--adic-bar-h) + 16px);
}

html:has(body.adic-clinic) {
	scroll-padding-top: calc(var(--adic-header-h) + var(--adic-bar-h) + 80px);
}

.adic-cp__tabs,
.admin-bar .adic-cp__tabs {
	top: calc(var(--adic-header-h) + var(--adic-bar-h));
}

.adic-cp__aside,
.admin-bar .adic-cp__aside {
	top: calc(var(--adic-header-h) + var(--adic-bar-h) + 84px);
}

.cliloc-results__map {
	top: calc(var(--adic-header-h) + var(--adic-bar-h) + 24px);
}

.site-header.is-scrolled {
	box-shadow: 0 10px 30px -12px rgba(15, 35, 55, 0.22);
}

/* Every top-level dropdown (About, How We Help, Our Locations) is one button with the same
   arrow, the same pill highlight and the same click behaviour. */
.nav-primary .menu > li.adic-mm-item {
	flex-wrap: wrap;
	padding: 0;
	background: none;
}

.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle {
	position: relative;
	display: flex;
	align-items: center;
	gap: 4px;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 12px var(--layout-space-sm, 16px);
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--color-primary, #1A1A1A);
	font: inherit;
	font-size: 1rem;
	font-weight: 600;
	justify-content: space-between;
	cursor: pointer;
	transform: none;
}

.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle svg {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	transform: none;
	transition: rotate 0.2s;
}

.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle[aria-expanded="true"] svg:first-of-type {
	rotate: 180deg;
}

@media (min-width: 1200px) {
	.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle {
		width: auto;
		padding-inline: 14px;
		border-radius: 999px;
		transition: background 0.2s, color 0.2s;
	}

	.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle svg:last-of-type {
		display: none;
	}

	.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle:hover,
	.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle[aria-expanded="true"] {
		background: #F1F3F7;
		color: var(--color-ink, #1A1A1A);
	}
}

@media (max-width: 1199px) {
	.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle {
		padding: 12px 0;
		justify-content: flex-start;
		gap: var(--layout-space-xs, 8px);
		font-size: 1.125rem;
	}

	.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle svg:first-of-type {
		display: none;
	}

	/* Same small arrow as About and How We Help. */
	.nav-primary .menu > li.adic-mm-item > .adic-mm__toggle svg:last-of-type {
		width: 16px;
		height: 16px;
		margin-left: 0;
	}

	/* Mobile: the Locations panel slides in over the menu, with the theme's Back button,
	   exactly like the About and How We Help sub-menus. */
	.nav-primary .menu > li.adic-mm-item > .adic-mm {
		position: fixed;
		top: var(--adic-mm-top, 73px);
		left: 0;
		z-index: 100;
		width: 100%;
		height: calc(100dvh - var(--adic-mm-top, 73px));
		margin: 0;
		padding: 8px var(--layout-space-sm, 16px) 32px;
		border-radius: 0;
		background: #FFFFFF;
		overflow: auto;
		overscroll-behavior: contain;
		opacity: 0;
		transform: translateX(24px);
		transition: opacity 0.2s ease-out, transform 0.2s ease-out;
	}

	.nav-primary .menu > li.adic-mm-item > .adic-mm.is-visible {
		opacity: 1;
		transform: none;
	}

	.nav-primary .menu > li.adic-mm-item > .adic-mm .adic-mm__inner {
		border-radius: 20px;
		background: #F8FAFF;
		overflow: hidden;
	}
}

@media (min-width: 1200px) {
	.site-header .header-search .wp-block-button__link {
		transition: background-color 0.2s, box-shadow 0.25s, transform 0.25s var(--ease-out);
	}

	.site-header .header-search .wp-block-button__link:hover {
		transform: translateY(-1px);
		box-shadow: 0 10px 22px -6px rgba(230, 150, 20, 0.55);
	}
}

/* ======================= 4. HERO ======================= */

.adic-hero {
	background:
		radial-gradient(900px 520px at 88% 0%, rgba(149, 211, 248, 0.45), transparent 62%),
		radial-gradient(700px 480px at 0% 100%, rgba(176, 214, 167, 0.32), transparent 60%),
		linear-gradient(180deg, #EEF8FE 0%, #F5FAFE 100%);
}

/* The flat circles become soft light; the gradient above carries the colour. */
.adic-hero::before,
.adic-hero::after {
	opacity: 0.18;
	filter: blur(2px);
}

.adic-hero__cols > .wp-block-column {
	gap: 26px;
}

.adic-pill {
	padding: 9px 16px 9px 14px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 1px solid rgba(58, 115, 48, 0.12);
	box-shadow: 0 6px 16px -8px rgba(15, 35, 55, 0.18);
}

.adic-pill::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-green, #8CC47B);
	box-shadow: 0 0 0 4px rgba(140, 196, 123, 0.22);
}

/* Arch photo: a thinner white frame and a deeper, softer shadow. */
.wp-block-image.adic-arch img {
	border-width: 8px;
	box-shadow: 0 2px 4px rgba(15, 35, 55, 0.05), 0 40px 80px -24px rgba(10, 70, 110, 0.38);
}

.adic-float {
	padding: 18px 22px;
	border: 1px solid rgba(15, 35, 55, 0.06);
	box-shadow: 0 30px 60px -20px rgba(15, 35, 55, 0.35);
	animation: adic-float 6s ease-in-out infinite;
}

@keyframes adic-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-6px); }
}

/* Search bar: one bigger, calmer control. */
.adic-search__form,
.adic-hero .cliloc-search__field {
	padding: 8px;
	border-radius: 20px;
	border: 1px solid rgba(15, 35, 55, 0.06);
	box-shadow: 0 2px 4px rgba(15, 35, 55, 0.04), 0 24px 48px -18px rgba(10, 70, 110, 0.32);
}

.adic-search__form input {
	padding-left: 48px;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%230A6591' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") no-repeat 16px center;
}

.adic-search__form .adic-btn {
	min-height: 54px;
	border-radius: 14px;
}

/* Filter pills under the Clinic Locator search: quieter, so the search leads. */
.adic-hero .cliloc-search__pills :is(button, label, a) {
	background: rgba(255, 255, 255, 0.7);
	border-color: rgba(15, 35, 55, 0.1);
}

/* ======================= 5. TEAM WALL ======================= */

/* The wall keeps moving: no pause and no lift on hover. */
.adic-team__face {
	border-width: 2.5px;
}

.adic-team__face:hover {
	transform: none;
}

/* ======================= 6. DOCTORS PANEL ======================= */

.adic-docs__panel {
	background:
		radial-gradient(600px 360px at 100% 0%, rgba(149, 211, 248, 0.10), transparent 70%),
		radial-gradient(500px 300px at 0% 100%, rgba(254, 213, 59, 0.06), transparent 70%),
		#17191B;
	box-shadow: 0 40px 80px -30px rgba(15, 35, 55, 0.5);
}

/* The flat tinted circle read as a muddy patch on the dark panel; a soft glow replaces it. */
.adic-docs__slide::before {
	width: 520px;
	height: 520px;
	right: -220px;
	top: -280px;
	opacity: 0.16;
	filter: blur(60px);
}

.adic-docs__name {
	letter-spacing: -0.02em;
}

.adic-docs__ring {
	border-width: 3px;
}

.adic-docs__btn {
	border-width: 1.5px;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}

.adic-docs__btn:hover {
	transform: translateY(-1px);
}

.adic-docs__thumbs {
	border-top-color: rgba(255, 255, 255, 0.08);
}

/* ======================= 7. VIDEO ======================= */

/* Theatre layout and frame live in sections.css ("VIDEO: THEATRE LAYOUT"). */

/* ======================= 8. CARDS ======================= */

/* Feature cards: same tints, more air, a clearer hover. */
.adic-card,
.adic-card[class*="is-tint-"] {
	gap: 12px;
	padding: clamp(26px, 2.6vw, 34px) !important;
	background: linear-gradient(180deg, color-mix(in srgb, var(--tint) 22%, #FFFFFF) 0%, color-mix(in srgb, var(--tint) 10%, #FFFFFF) 100%);
	border: 1px solid color-mix(in srgb, var(--tint) 30%, #FFFFFF);
	transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), border-color 0.2s;
}

.adic-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 44px -20px color-mix(in srgb, var(--tint) 85%, #1A1A1A);
}

.adic-card[class*="has-icon-"]::before {
	width: 52px;
	height: 52px;
	margin-bottom: 14px;
	border-radius: 16px;
	background-size: 24px;
	box-shadow: inset 0 0 0 1px rgba(15, 35, 55, 0.06);
}

.adic-card p {
	color: #3D4650;
}

/* Image cards */
.adic-media-card {
	box-shadow: var(--shadow-md);
	transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
}

.adic-media-card:hover,
.adic-media-card:focus-within {
	transform: translateY(-6px);
	box-shadow: var(--shadow-lg);
}

.adic-media-card__img img {
	transition: transform 0.7s var(--ease-out);
}

.adic-media-card:hover .adic-media-card__img img {
	transform: scale(1.05);
}

.adic-media-card h3 {
	padding-top: 24px;
}

/* Locations */
.adic-cities a {
	transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out), border-color 0.2s;
}

.adic-cities a:hover,
.adic-cities a:focus-visible {
	transform: translateY(-2px);
	border-color: transparent;
	box-shadow: var(--shadow-md);
}

/* ======================= 9. REAL PATIENTS ======================= */

.adic-proof__panel {
	border: 1px solid color-mix(in srgb, var(--accent) 30%, #FFFFFF);
}

.adic-proof__panel::before {
	opacity: 0.22;
	filter: blur(1px);
}

.adic-disclaimer p,
.adic-fineprint {
	color: #56616C !important;
}

/* ======================= 10. FORM ======================= */

.adic-form-section__cols {
	border: 1px solid rgba(255, 181, 62, 0.25);
}

.adic-form-card {
	box-shadow: 0 2px 4px rgba(15, 35, 55, 0.04), 0 40px 80px -30px rgba(120, 72, 0, 0.35);
}

/* ======================= 11. PROMO ======================= */

.adic-promo {
	background:
		radial-gradient(520px 320px at 100% 100%, rgba(255, 181, 62, 0.55), transparent 70%),
		var(--color-sunshine, #FED53B);
	box-shadow: 0 30px 60px -32px rgba(160, 110, 0, 0.55);
}

.adic-promo::after {
	opacity: 0.22;
}

.adic-promo h2 {
	letter-spacing: -0.025em;
}

/* ======================= 12. STEPS ======================= */

.adic-dark {
	background:
		radial-gradient(800px 400px at 100% 0%, rgba(99, 195, 243, 0.08), transparent 70%),
		#17191B;
}

.adic-step__num {
	font-size: clamp(48px, 5vw, 64px);
}

.adic-step h3 {
	margin-top: 4px !important;
}

/* ======================= 13. FINAL CTA ======================= */

.adic-final {
	background:
		radial-gradient(600px 300px at 100% 100%, rgba(149, 211, 248, 0.5), transparent 70%),
		radial-gradient(500px 260px at 0% 0%, rgba(176, 214, 167, 0.28), transparent 70%),
		var(--sky-tint, #EAF6FE);
}

.adic-final::after {
	content: none;
}

.adic-final h2 {
	font-size: clamp(34px, 3.8vw, 52px) !important;
}

/* ======================= 14. MOTION ======================= */

/* Only when reveal.js has run, so nothing is ever hidden without the script. */
.adic-reveal-on .adic-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.7s var(--ease-out), transform 0.8s var(--ease-out);
	transition-delay: var(--reveal-delay, 0s);
}

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

@media (prefers-reduced-motion: reduce) {
	.adic-float {
		animation: none;
	}

	.adic-reveal-on .adic-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.adic-card:hover,
	.adic-media-card:hover,
	.adic-cities a:hover {
		transform: none;
	}
}

/* ======================= 15. SMALL SCREENS ======================= */

/* The doctors panel and the video never touch. */
.adic-section.adic-section--tight:not(.adic-band):not(.adic-dark) + .adic-section.adic-video:not(.adic-band) {
	padding-top: clamp(40px, 6vw, 64px) !important;
}

@media (max-width: 781px) {
	.adic-search__form .adic-btn {
		flex: 1 1 100%;
	}

	.adic-video__frame::before {
		inset: 14px -10px -14px 10px;
	}

	/* Communities as a compact two-column grid instead of one long list. */
	.adic-cities {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.adic-cities a {
		padding: 14px 40px 14px 18px;
	}

	.adic-cities__name {
		font-size: 16px;
		line-height: 1.25;
	}

	.adic-cities__arrow {
		right: 10px;
		width: 26px;
		height: 26px;
		padding: 5px;
	}
}

/* ======================= 16. EDITOR ======================= */

.editor-styles-wrapper .adic-float {
	animation: none;
}

.editor-styles-wrapper .site-header {
	position: static;
}

/* ======================= 17. HOMEPAGE HERO ENTRANCE ======================= */

@media (prefers-reduced-motion: no-preference) {
	.adic-home .adic-hero .adic-pill,
	.adic-home .adic-hero .adic-hero__title,
	.adic-home .adic-hero .adic-hero__lead,
	.adic-home .adic-hero .adic-search,
	.adic-home .adic-hero .cliloc-search {
		animation: adic-rise 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) both;
	}

	.adic-home .adic-hero .adic-hero__title { animation-delay: 0.08s; }
	.adic-home .adic-hero .adic-hero__lead { animation-delay: 0.16s; }
	.adic-home .adic-hero .adic-search,
	.adic-home .adic-hero .cliloc-search { animation-delay: 0.24s; }

	.adic-home .adic-hero .wp-block-image.adic-arch {
		animation: adic-arch-in 1.1s cubic-bezier(0.2, 0.8, 0.2, 1) 0.1s both;
	}

	.adic-home .adic-hero .adic-float {
		animation: adic-pop 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) 0.7s both, adic-float 6s ease-in-out 1.4s infinite;
	}

	.adic-home .adic-hero .adic-herobadge {
		animation: adic-pop 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) 0.95s both, adic-float 7s ease-in-out 1.7s infinite reverse;
	}

	/* The soft colour light in the hero drifts slowly. */
	.adic-home .adic-hero::before {
		animation: adic-drift 18s ease-in-out infinite alternate;
	}

	.adic-home .adic-hero::after {
		animation: adic-drift 22s ease-in-out infinite alternate-reverse;
	}
}

@keyframes adic-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}

@keyframes adic-arch-in {
	from { opacity: 0; transform: scale(0.94) translateY(12px); }
	to { opacity: 1; transform: none; }
}

@keyframes adic-pop {
	from { opacity: 0; transform: translateY(14px) scale(0.96); }
	to { opacity: 1; transform: none; }
}

@keyframes adic-drift {
	from { transform: translate(0, 0) scale(1); }
	to { transform: translate(-40px, 30px) scale(1.08); }
}

/* ======================= 18. CLOSING CALL TO ACTION (v3) ======================= */
/* Ink card, soft brand light, a dotted texture, a six-colour smile and floating faces.
   Markup for the smile and faces is added by decorate_final_cta() in inc/home-v3.php. */

.adic-final {
	isolation: isolate;
	gap: 18px;
	padding: clamp(64px, 8vw, 120px) clamp(24px, 5vw, 80px) !important;
	border-radius: 40px;
	background:
		radial-gradient(720px 360px at 50% 118%, rgba(255, 181, 62, 0.32), transparent 70%),
		radial-gradient(620px 420px at 0% 0%, rgba(149, 211, 248, 0.22), transparent 70%),
		radial-gradient(620px 420px at 100% 0%, rgba(176, 214, 167, 0.18), transparent 70%),
		#121416;
	color: #FFFFFF;
	box-shadow: 0 50px 100px -50px rgba(10, 41, 66, 0.7);
}

.adic-final::after {
	content: "";
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	border-radius: 0;
	opacity: 1;
	background: radial-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1.5px) 0 0 / 22px 22px;
	-webkit-mask-image: radial-gradient(ellipse at center, #000 20%, transparent 72%);
	mask-image: radial-gradient(ellipse at center, #000 20%, transparent 72%);
	z-index: -1;
	pointer-events: none;
}

.adic-section .adic-final h2,
.adic-final h2 {
	max-width: 820px;
	color: #FFFFFF;
	font-size: clamp(40px, 5.4vw, 74px) !important;
	line-height: 1.02;
	letter-spacing: -0.03em;
}

.adic-section .adic-final p,
.adic-final p {
	max-width: 560px;
	color: #C9D0D6 !important;
}

.adic-final .wp-block-buttons {
	margin-top: 18px !important;
}

.adic-final .wp-block-button.is-style-outline-ink .wp-block-button__link {
	--text-color: #FFFFFF;
	--bg-color: transparent;
	--text-color-hover: var(--color-ink, #1A1A1A);
	--bg-color-hover: #FFFFFF;
	border-color: rgba(255, 255, 255, 0.55);
}

/* The smile */
.adic-final__smile {
	display: block;
	width: 140px;
	height: 72px;
	margin-bottom: 6px !important;
}

.adic-final__smile svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.adic-final__smile path {
	stroke-dasharray: 100;
	stroke-dashoffset: 0;
}

.adic-reveal-on .adic-final__smile path {
	stroke-dashoffset: 100;
	transition: stroke-dashoffset 1.1s cubic-bezier(0.2, 0.8, 0.2, 1) var(--d, 0s);
}

.adic-reveal-on .adic-final.is-in .adic-final__smile path {
	stroke-dashoffset: 0;
}

/* Faces */
.adic-final__art {
	position: absolute;
	inset: 0;
	z-index: -1;
	margin: 0 !important;
	pointer-events: none;
}

.adic-final__face {
	position: absolute;
	box-sizing: border-box;
	width: var(--s, 72px);
	height: var(--s, 72px);
	padding: 4px;
	border-radius: 50%;
	border: 3px solid var(--tint);
	background: #121416;
	box-shadow: 0 20px 40px -16px rgba(0, 0, 0, 0.6);
	animation: adic-float 7s ease-in-out infinite;
}

.adic-final__face img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
}

.adic-final__face.is-1 { --s: 92px; left: 7%; top: 16%; animation-delay: -1s; }
.adic-final__face.is-2 { --s: 68px; left: 15%; top: 54%; animation-delay: -3s; }
.adic-final__face.is-3 { --s: 56px; left: 5%; bottom: 12%; animation-delay: -5s; }
.adic-final__face.is-4 { --s: 76px; right: 7%; top: 14%; animation-delay: -2s; }
.adic-final__face.is-5 { --s: 94px; right: 14%; top: 50%; animation-delay: -4s; }
.adic-final__face.is-6 { --s: 58px; right: 4%; bottom: 10%; animation-delay: -6s; }

@media (max-width: 1100px) {
	.adic-final__art {
		display: none;
	}
}

@media (max-width: 781px) {
	.adic-final {
		border-radius: var(--r-lg);
	}

	.adic-final__smile {
		width: 110px;
		height: 57px;
	}

	.adic-final .wp-block-buttons,
	.adic-final .wp-block-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.adic-final__face {
		animation: none;
	}

	.adic-reveal-on .adic-final__smile path {
		stroke-dashoffset: 0;
		transition: none;
	}
}

/* 19. Footer "Our locations" heading links to the Locations page */
.adic-footer__heading a { color: inherit; text-decoration: none; }
.adic-footer__heading a:hover, .adic-footer__heading a:focus-visible { color: var(--adic-amber, #FFB53E); }
.adic-footer__heading a span { display: inline-block; transition: transform .2s ease; }
.adic-footer__heading a:hover span { transform: translateX(3px); }

/* 20. Closing CTA: smiling people (illustrations or chosen photos) */
.adic-final__face svg {
	overflow: hidden;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}
