﻿:root {
	--shaolin-paper: #f7f4ed;
	--shaolin-porcelain: #fffdf8;
	--shaolin-ink: #191f1c;
	--shaolin-red: #7e2a25;
	--shaolin-gold: #a9824a;
	--shaolin-jade: #12352f;
	--shaolin-mist: #e8e2d7;
	--shaolin-stone: #d8d2c5;
	--shaolin-white: #ffffff;
	--shaolin-muted: rgba(25, 31, 28, 0.66);
	--shaolin-line: rgba(25, 31, 28, 0.12);
	--shaolin-shadow: 0 22px 60px rgba(18, 53, 47, 0.11);
	--shaolin-hairline: rgba(18, 53, 47, 0.18);
}

/* Promo landing page. */
.shaolin-ref-header .shaolin-nav-promo .wp-block-navigation-item__content,
.shaolin-ref-header .shaolin-nav-promo a,
.shaolin-mobile-links .shaolin-mobile-promo {
	background: linear-gradient(135deg, var(--shaolin-red), #a7352d) !important;
	border: 1px solid rgba(126, 42, 37, 0.32) !important;
	border-radius: 999px !important;
	box-shadow: 0 12px 26px rgba(126, 42, 37, 0.18);
	color: var(--shaolin-porcelain) !important;
	font-weight: 900 !important;
	letter-spacing: 0.04em !important;
	padding: 10px 16px !important;
	text-decoration: none !important;
}

.shaolin-ref-header .shaolin-nav-promo .wp-block-navigation-item__content:hover,
.shaolin-ref-header .shaolin-nav-promo a:hover,
.shaolin-mobile-links .shaolin-mobile-promo:hover {
	background: linear-gradient(135deg, #9a2c24, #c09b5d) !important;
	color: var(--shaolin-porcelain) !important;
	transform: translateY(-1px);
}

.shaolin-promo-page {
	background:
		linear-gradient(90deg, rgba(255, 253, 248, 0.9), rgba(247, 239, 222, 0.82)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / 980px auto repeat;
	color: var(--shaolin-ink);
	overflow: clip;
}

.shaolin-promo-page > .alignwide,
.shaolin-promo-hero-grid {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--shaolin-site-frame) !important;
	width: var(--shaolin-site-frame) !important;
}

.shaolin-promo-hero {
	background:
		linear-gradient(90deg, rgba(255, 253, 248, 0.96) 0%, rgba(255, 250, 240, 0.88) 46%, rgba(255, 250, 240, 0.18) 74%),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 980px auto repeat;
	border-bottom: 1px solid rgba(115, 99, 67, 0.16);
	margin: 0 !important;
	max-width: none !important;
	padding: clamp(54px, 6vw, 112px) 0 clamp(44px, 5vw, 92px) !important;
	position: relative;
	width: 100% !important;
}

.shaolin-promo-hero::before {
	background:
		linear-gradient(90deg, transparent 0, rgba(18, 53, 47, 0.055) 1px, transparent 1px),
		linear-gradient(0deg, transparent 0, rgba(18, 53, 47, 0.04) 1px, transparent 1px);
	background-size: 132px 132px;
	content: "";
	inset: 0;
	opacity: 0.48;
	pointer-events: none;
	position: absolute;
}

.shaolin-promo-hero-grid {
	align-items: center;
	display: grid;
	gap: clamp(34px, 5vw, 86px);
	grid-template-columns: minmax(0, 0.92fr) minmax(440px, 0.78fr);
	position: relative;
	z-index: 1;
}

.shaolin-promo-kicker {
	color: var(--shaolin-red) !important;
	font-size: clamp(15px, 0.88vw, 18px) !important;
	font-weight: 900 !important;
	letter-spacing: 0.08em !important;
	margin: 0 0 18px !important;
	text-transform: uppercase;
}

.shaolin-promo-hero h1 {
	color: var(--shaolin-ink) !important;
	font-size: clamp(58px, 6.4vw, 116px) !important;
	letter-spacing: 0 !important;
	line-height: 0.94 !important;
	margin: 0 0 clamp(22px, 2.6vw, 34px) !important;
	max-width: 980px;
	text-wrap: balance;
}

.shaolin-promo-hero-copy > p:not(.shaolin-promo-kicker) {
	color: rgba(25, 31, 28, 0.76);
	font-size: clamp(20px, 1.28vw, 26px);
	line-height: 1.58;
	max-width: 820px;
}

.shaolin-promo-actions,
.shaolin-promo-final-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: clamp(26px, 3vw, 42px);
}

.shaolin-promo-hero-media {
	border: 1px solid rgba(18, 53, 47, 0.14);
	box-shadow: 0 26px 70px rgba(48, 36, 22, 0.18);
	margin: 0;
	min-height: clamp(380px, 38vw, 700px);
	overflow: hidden;
	position: relative;
}

.shaolin-promo-hero-media img {
	display: block;
	height: 100% !important;
	inset: 0;
	object-fit: cover;
	object-position: 72% center;
	position: absolute;
	width: 100%;
}

.shaolin-promo-hero-media figcaption {
	background: rgba(126, 42, 37, 0.94);
	bottom: 18px;
	color: var(--shaolin-porcelain);
	display: grid;
	gap: 0;
	left: 18px;
	min-width: 210px;
	padding: 18px 22px;
	position: absolute;
}

.shaolin-promo-hero-media figcaption strong {
	font-family: "Literata", Georgia, serif;
	font-size: clamp(58px, 5.2vw, 96px);
	line-height: 0.92;
}

.shaolin-promo-hero-media figcaption span {
	font-size: 16px;
	font-weight: 850;
	line-height: 1.25;
}

.shaolin-promo-trust {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(34px, 4vw, 64px) !important;
}

.shaolin-promo-trust > div {
	background: rgba(255, 253, 248, 0.68);
	border: 1px solid rgba(115, 99, 67, 0.18);
	border-left: 0;
	display: grid;
	gap: 8px;
	min-height: 150px;
	padding: clamp(22px, 2vw, 34px);
}

.shaolin-promo-trust > div:first-child {
	border-left: 1px solid rgba(115, 99, 67, 0.18);
}

.shaolin-promo-trust strong {
	color: var(--shaolin-jade);
	font-family: "Literata", Georgia, serif;
	font-size: clamp(38px, 3vw, 64px);
	line-height: 0.96;
}

.shaolin-promo-trust span {
	color: rgba(25, 31, 28, 0.72);
	font-size: clamp(15px, 0.92vw, 18px);
	line-height: 1.45;
}

.shaolin-promo-section,
.shaolin-promo-methods,
.shaolin-promo-price,
.shaolin-promo-steps,
.shaolin-promo-reviews,
.shaolin-promo-final {
	margin-top: clamp(66px, 7vw, 128px) !important;
}

.shaolin-promo-section-head {
	max-width: 940px;
}

.shaolin-promo-section-head h2,
.shaolin-promo-methods-copy h2,
.shaolin-promo-price h2,
.shaolin-promo-reviews h2,
.shaolin-promo-final h2 {
	color: var(--shaolin-ink) !important;
	font-size: clamp(44px, 4.4vw, 86px) !important;
	letter-spacing: 0 !important;
	line-height: 0.98 !important;
	margin: 0 0 16px !important;
	text-wrap: balance;
}

.shaolin-promo-section-head p:not(.shaolin-eyebrow),
.shaolin-promo-methods-copy p:not(.shaolin-eyebrow),
.shaolin-promo-price header p,
.shaolin-promo-reviews p,
.shaolin-promo-final p {
	color: rgba(25, 31, 28, 0.72);
	font-size: clamp(18px, 1.08vw, 22px);
	line-height: 1.62;
}

.shaolin-promo-pain-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(28px, 3.4vw, 56px);
}

.shaolin-promo-pain-grid article,
.shaolin-promo-step-grid article {
	background: rgba(255, 253, 248, 0.68);
	border: 1px solid rgba(115, 99, 67, 0.16);
	min-height: 245px;
	padding: clamp(24px, 2.4vw, 40px);
	position: relative;
	transition: background 220ms ease, transform 220ms ease;
}

.shaolin-promo-pain-grid article:hover,
.shaolin-promo-step-grid article:hover {
	background: rgba(255, 253, 248, 0.92);
	transform: translateY(-4px);
}

.shaolin-promo-pain-grid span,
.shaolin-promo-step-grid span {
	color: var(--shaolin-red);
	font-weight: 900;
	letter-spacing: 0.08em;
}

.shaolin-promo-pain-grid h3,
.shaolin-promo-step-grid h3,
.shaolin-promo-method-list h3 {
	color: var(--shaolin-ink) !important;
	font-size: clamp(26px, 1.8vw, 38px) !important;
	letter-spacing: 0 !important;
	line-height: 1.04 !important;
	margin: 18px 0 12px !important;
}

.shaolin-promo-pain-grid p,
.shaolin-promo-step-grid p,
.shaolin-promo-method-list p {
	color: rgba(25, 31, 28, 0.72);
	font-size: clamp(16px, 0.96vw, 19px);
	line-height: 1.55;
}

.shaolin-promo-methods {
	align-items: start;
	display: grid;
	gap: clamp(34px, 4vw, 72px);
	grid-template-columns: minmax(300px, 0.38fr) minmax(0, 1fr);
}

.shaolin-promo-methods-copy {
	position: sticky;
	top: calc(var(--shaolin-header-offset, 96px) + 28px);
}

.shaolin-promo-method-list {
	display: grid;
	gap: 18px;
}

.shaolin-promo-method-list article {
	background: rgba(255, 253, 248, 0.78);
	border: 1px solid rgba(115, 99, 67, 0.16);
	display: grid;
	gap: clamp(20px, 2.6vw, 42px);
	grid-template-columns: clamp(190px, 18vw, 300px) minmax(0, 1fr);
	min-height: 220px;
	padding: clamp(14px, 1.4vw, 22px);
}

.shaolin-promo-method-list img {
	display: block;
	height: 100%;
	min-height: 190px;
	object-fit: cover;
	width: 100%;
}

.shaolin-promo-method-list div {
	align-self: center;
	min-width: 0;
}

.shaolin-promo-price {
	align-items: stretch;
	display: grid;
	grid-template-columns: minmax(320px, 0.38fr) minmax(0, 1fr);
}

.shaolin-promo-price-offer {
	background:
		linear-gradient(135deg, rgba(18, 53, 47, 0.96), rgba(18, 53, 47, 0.88)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 760px auto repeat;
	color: var(--shaolin-porcelain);
	display: grid;
	min-height: 520px;
	padding: clamp(34px, 4vw, 70px);
}

.shaolin-promo-price-offer p {
	align-self: start;
	color: rgba(255, 253, 248, 0.82);
	font-size: clamp(16px, 1vw, 20px);
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: 0;
	text-transform: uppercase;
}

.shaolin-promo-price-offer strong {
	align-self: center;
	color: #d8b46d;
	font-family: "Literata", Georgia, serif;
	font-size: clamp(92px, 10vw, 180px);
	line-height: 0.86;
}

.shaolin-promo-price-offer span {
	align-self: end;
	font-size: clamp(26px, 2.4vw, 46px);
	font-weight: 900;
	line-height: 1.05;
}

.shaolin-promo-price-table {
	background: rgba(255, 253, 248, 0.76);
	border: 1px solid rgba(115, 99, 67, 0.18);
	padding: clamp(28px, 3vw, 54px);
}

.shaolin-promo-price-table header {
	margin-bottom: clamp(22px, 2.6vw, 36px);
}

.shaolin-promo-price-row {
	align-items: baseline;
	border-top: 1px solid rgba(115, 99, 67, 0.18);
	display: grid;
	gap: clamp(12px, 1.8vw, 28px);
	grid-template-columns: minmax(0, 1fr) max-content max-content;
	padding: clamp(18px, 2vw, 28px) 0;
}

.shaolin-promo-price-row span {
	color: var(--shaolin-ink);
	font-family: "Literata", Georgia, serif;
	font-size: clamp(22px, 1.6vw, 34px);
	font-weight: 850;
	line-height: 1.08;
}

.shaolin-promo-price-row em {
	color: rgba(25, 31, 28, 0.46);
	font-size: clamp(17px, 1vw, 22px);
	font-style: normal;
	text-decoration: line-through;
	white-space: nowrap;
}

.shaolin-promo-price-row strong {
	color: var(--shaolin-red);
	font-size: clamp(24px, 1.8vw, 38px);
	line-height: 1;
	white-space: nowrap;
}

.shaolin-promo-step-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(28px, 3.4vw, 56px);
}

.shaolin-promo-reviews {
	align-items: center;
	background: rgba(255, 253, 248, 0.72);
	border: 1px solid rgba(115, 99, 67, 0.18);
	display: grid;
	gap: clamp(24px, 4vw, 70px);
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(32px, 4vw, 70px);
}

.shaolin-promo-final {
	background:
		linear-gradient(135deg, rgba(18, 53, 47, 0.97), rgba(18, 53, 47, 0.9)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/clinic-treatment-room-warm.jpg") center / cover no-repeat;
	color: var(--shaolin-porcelain);
	margin-bottom: clamp(54px, 6vw, 96px) !important;
	padding: clamp(42px, 5vw, 86px);
}

.shaolin-promo-final h2,
.shaolin-promo-final p,
.shaolin-promo-final .shaolin-promo-kicker {
	color: var(--shaolin-porcelain) !important;
}

.shaolin-promo-final p {
	max-width: 920px;
}

.shaolin-promo-disclaimer {
	border-top: 1px solid rgba(255, 253, 248, 0.18);
	color: rgba(255, 253, 248, 0.72) !important;
	font-size: clamp(14px, 0.86vw, 17px) !important;
	margin-top: clamp(28px, 3vw, 46px) !important;
	padding-top: 18px;
}

@media (max-width: 1180px) {
	.shaolin-promo-hero-grid,
	.shaolin-promo-methods,
	.shaolin-promo-price {
		grid-template-columns: 1fr;
	}

	.shaolin-promo-methods-copy {
		position: static;
	}

	.shaolin-promo-trust,
	.shaolin-promo-step-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.shaolin-ref-header .shaolin-nav-promo .wp-block-navigation-item__content,
	.shaolin-ref-header .shaolin-nav-promo a,
	.shaolin-mobile-links .shaolin-mobile-promo {
		padding: 8px 12px !important;
	}

	.shaolin-promo-hero {
		padding-top: 34px !important;
	}

	.shaolin-promo-hero h1 {
		font-size: clamp(44px, 13vw, 62px) !important;
	}

	.shaolin-promo-hero-copy > p:not(.shaolin-promo-kicker) {
		font-size: 18px;
	}

	.shaolin-promo-hero-media,
	.shaolin-promo-price-offer {
		min-height: 330px;
	}

	.shaolin-promo-trust,
	.shaolin-promo-pain-grid,
	.shaolin-promo-step-grid {
		grid-template-columns: 1fr;
	}

	.shaolin-promo-method-list article {
		grid-template-columns: 1fr;
	}

	.shaolin-promo-method-list img {
		aspect-ratio: 16 / 10;
		min-height: 0;
	}

	.shaolin-promo-price-row {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.shaolin-promo-reviews {
		grid-template-columns: 1fr;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	max-width: 100%;
	overflow-x: hidden;
	scroll-behavior: smooth;
}

body {
	background: var(--shaolin-paper);
	color: var(--shaolin-ink);
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-feature-settings: "kern";
	max-width: 100%;
	overflow-x: hidden;
}

a {
	text-underline-offset: 0.18em;
}

img {
	height: auto;
	max-width: 100%;
}

.wp-site-blocks {
	min-height: 100vh;
	overflow-x: hidden;
}

.shaolin-site-header {
	backdrop-filter: blur(16px);
	background: rgba(247, 244, 237, 0.94);
	border-bottom: 1px solid var(--shaolin-line);
	position: sticky;
	top: 0;
	z-index: 20;
}

.shaolin-header-inner {
	gap: 24px;
	padding-bottom: 14px;
	padding-top: 14px;
}

.shaolin-mobile-links {
	display: none;
}

.shaolin-brand {
	align-items: center;
	color: var(--shaolin-ink);
	display: inline-flex;
	gap: 14px;
	min-width: 260px;
	text-decoration: none;
}

.shaolin-brand img {
	height: 58px;
	object-fit: contain;
	object-position: left center;
	width: 236px;
}

.shaolin-brand-text {
	border-left: 1px solid var(--shaolin-line);
	display: none;
	flex-direction: column;
	line-height: 1.05;
	padding-left: 14px;
}

.shaolin-brand-text strong {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 22px;
	font-weight: 700;
}

.shaolin-brand-text small {
	color: var(--shaolin-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-top: 4px;
	text-transform: uppercase;
}

.shaolin-site-header .wp-block-site-title a {
	color: var(--shaolin-ink);
	text-decoration: none;
}

.shaolin-site-header .wp-block-navigation a {
	color: var(--shaolin-ink);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.shaolin-primary-nav .wp-block-navigation__responsive-container-open {
	align-items: center;
	background: rgba(255, 253, 248, 0.84);
	border: 1px solid rgba(18, 53, 47, 0.18);
	border-radius: 999px;
	color: var(--shaolin-jade);
	height: 44px;
	justify-content: center;
	width: 44px;
}

.shaolin-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--shaolin-paper) !important;
	color: var(--shaolin-ink) !important;
}

.shaolin-primary-nav .wp-block-navigation__responsive-container.is-menu-open a {
	font-size: 24px;
}

.shaolin-header-cta {
	background: var(--shaolin-jade);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	color: var(--shaolin-white);
	font-size: 14px;
	font-weight: 800;
	padding: 11px 18px;
	text-decoration: none;
	transition: background-color 180ms ease, transform 180ms ease;
}

.shaolin-header-cta:hover {
	background: var(--shaolin-red);
	transform: translateY(-1px);
}

.shaolin-site-header .wp-block-navigation a:hover,
.shaolin-footer .wp-block-navigation a:hover {
	color: var(--shaolin-red);
}

.shaolin-section,
.shaolin-archive-page,
.shaolin-single-page {
	padding-top: 76px;
	padding-bottom: 76px;
}

.shaolin-section + .shaolin-section {
	border-top: 1px solid rgba(25, 31, 28, 0.08);
}

.shaolin-section-heading {
	margin-bottom: 34px;
}

.shaolin-section h2.wp-block-heading {
	font-size: clamp(30px, 3vw, 42px);
	line-height: 1.12;
	max-width: 860px;
	text-wrap: balance;
}

.shaolin-hero h1,
.shaolin-page-hero h1 {
	max-width: 780px;
	text-wrap: balance;
}

.shaolin-hero p,
.shaolin-page-hero p {
	max-width: 680px;
}

.shaolin-eyebrow {
	color: var(--shaolin-red);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.shaolin-premium-hero {
	background:
		linear-gradient(115deg, rgba(247, 244, 237, 0.99), rgba(247, 244, 237, 0.94) 48%, rgba(18, 53, 47, 0.12)),
		radial-gradient(circle at 82% 24%, rgba(169, 130, 74, 0.14), transparent 30%);
	color: var(--shaolin-ink);
	min-height: min(720px, calc(100dvh - 78px));
	overflow: hidden;
	padding-bottom: 34px;
	padding-top: 52px;
	position: relative;
}

.shaolin-premium-hero::before {
	background-image:
		linear-gradient(90deg, rgba(18, 53, 47, 0.055) 1px, transparent 1px),
		linear-gradient(rgba(18, 53, 47, 0.045) 1px, transparent 1px);
	background-size: 64px 64px;
	content: "";
	inset: 0;
	opacity: 0.42;
	pointer-events: none;
	position: absolute;
}

.shaolin-premium-hero::after {
	background: rgba(126, 42, 37, 0.11);
	content: "";
	height: 1px;
	left: max(24px, calc((100vw - 1180px) / 2));
	position: absolute;
	right: max(24px, calc((100vw - 1180px) / 2));
	top: 50%;
}

.shaolin-hero-grid {
	gap: clamp(34px, 5vw, 70px);
	min-height: 500px;
	position: relative;
	z-index: 1;
}

.shaolin-hero h1 {
	font-size: clamp(42px, 5vw, 68px) !important;
	letter-spacing: 0;
	line-height: 1.02;
	margin-bottom: 20px;
}

.shaolin-hero p {
	color: rgba(25, 31, 28, 0.74);
	font-size: clamp(18px, 2vw, 23px);
	line-height: 1.65;
}

.shaolin-vertical-mark {
	align-items: center;
	background: rgba(126, 42, 37, 0.08);
	border: 1px solid rgba(126, 42, 37, 0.18);
	border-radius: 999px;
	color: var(--shaolin-red);
	display: inline-flex;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 22px;
	padding: 6px 12px;
	text-transform: uppercase;
	writing-mode: horizontal-tb;
}

.shaolin-hero-media {
	background: var(--shaolin-porcelain);
	border: 1px solid rgba(18, 53, 47, 0.16);
	border-radius: 6px 72px 6px 6px;
	box-shadow: 0 30px 70px rgba(18, 53, 47, 0.16);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.shaolin-hero-media img {
	aspect-ratio: 4 / 5;
	display: block;
	filter: contrast(1.06) saturate(0.94) brightness(0.98);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-hero-media figcaption {
	background: rgba(247, 244, 237, 0.92);
	border-top: 1px solid rgba(18, 53, 47, 0.12);
	bottom: 0;
	color: var(--shaolin-jade);
	font-size: 13px;
	font-weight: 800;
	left: 0;
	padding: 14px 18px;
	position: absolute;
	right: 0;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.shaolin-hero-facts {
	background: rgba(255, 253, 248, 0.76);
	border: 1px solid rgba(18, 53, 47, 0.14);
	border-radius: 8px;
	box-shadow: 0 18px 44px rgba(18, 53, 47, 0.08);
	display: grid;
	gap: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 26px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.shaolin-hero-facts span {
	border-left: 1px solid rgba(18, 53, 47, 0.1);
	color: var(--shaolin-muted);
	font-size: 14px;
	line-height: 1.45;
	padding: 18px 20px;
}

.shaolin-hero-facts span:first-child {
	border-left: 0;
}

.shaolin-hero-facts strong {
	color: var(--shaolin-ink);
	display: block;
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.1;
	margin-bottom: 5px;
}

.shaolin-quick-path {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
	position: relative;
	z-index: 1;
}

.shaolin-quick-path a {
	background: rgba(255, 253, 248, 0.46);
	border: 1px solid rgba(18, 53, 47, 0.14);
	border-radius: 999px;
	color: var(--shaolin-jade);
	font-size: 13px;
	font-weight: 800;
	padding: 8px 13px;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.shaolin-quick-path a:hover {
	background: var(--shaolin-porcelain);
	border-color: rgba(126, 42, 37, 0.24);
	transform: translateY(-1px);
}

.shaolin-hero-actions,
.shaolin-cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.wp-block-button__link {
	border-radius: 999px;
	padding: 14px 24px;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
}

.shaolin-button-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid rgba(18, 53, 47, 0.32);
	color: var(--shaolin-jade);
}

.shaolin-button-secondary .wp-block-button__link {
	background: transparent;
	border: 1px solid rgba(143, 31, 27, 0.42);
	color: var(--shaolin-red);
}

.shaolin-band .shaolin-button-secondary .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.52);
	color: var(--shaolin-white);
}

.shaolin-grid,
.shaolin-query-grid {
	display: grid !important;
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.shaolin-services-section .shaolin-query-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shaolin-services-section .shaolin-query-card:first-child {
	grid-row: auto;
}

.shaolin-services-section .shaolin-card-image {
	min-height: 220px;
}

.shaolin-card,
.shaolin-query-card {
	background: rgba(255, 253, 248, 0.74);
	border: 1px solid rgba(18, 53, 47, 0.12);
	border-radius: 8px;
	box-shadow: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.shaolin-card:hover,
.shaolin-query-card:hover {
	border-color: rgba(126, 42, 37, 0.26);
	box-shadow: 0 18px 44px rgba(18, 53, 47, 0.09);
	transform: translateY(-2px);
}

.shaolin-card {
	min-height: 160px;
	padding: 26px;
}

.shaolin-card h2,
.shaolin-card h3,
.shaolin-query-card h2,
.shaolin-query-card h3 {
	margin-top: 0;
}

.shaolin-card a,
.shaolin-query-card a {
	text-decoration-thickness: 1px;
}

.shaolin-query-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow: hidden;
	position: relative;
}

.shaolin-query-card::before {
	background: var(--shaolin-jade);
	content: "";
	display: block;
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.shaolin-card-image {
	background: linear-gradient(135deg, rgba(179, 138, 69, 0.18), rgba(38, 72, 62, 0.18));
	margin: 0;
	min-height: 190px;
	overflow: hidden;
}

.shaolin-card-image img,
.shaolin-featured-media img,
.shaolin-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-card-image a {
	display: block;
	height: 100%;
	width: 100%;
}

.shaolin-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px;
}

.shaolin-card-body h2,
.shaolin-card-body h3 {
	font-size: 20px;
	line-height: 1.24;
}

.shaolin-card-body .wp-block-post-excerpt {
	color: var(--shaolin-muted);
	font-size: 15px;
	line-height: 1.58;
	margin-bottom: 0;
}

.shaolin-card-body .wp-block-post-excerpt__more-link {
	color: var(--shaolin-red);
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	margin-top: 14px;
	text-decoration: none;
}

.shaolin-card-body .shaolin-note {
	margin-top: auto;
}

.shaolin-split {
	gap: 52px;
}

.shaolin-media {
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, rgba(179, 138, 69, 0.18), rgba(38, 72, 62, 0.2));
	border: 1px solid rgba(18, 53, 47, 0.14);
	border-radius: 2px 42px 2px 2px;
	box-shadow: var(--shaolin-shadow);
	margin: 0;
	overflow: hidden;
}

.shaolin-media img {
	min-height: 100%;
}

.shaolin-source-media {
	background: var(--shaolin-porcelain);
	box-shadow: 0 18px 46px rgba(18, 53, 47, 0.1);
}

.shaolin-source-media img {
	filter: contrast(1.04) saturate(0.94) brightness(0.99);
}

.shaolin-note {
	background: rgba(169, 130, 74, 0.1);
	border: 1px solid rgba(169, 130, 74, 0.28);
	border-radius: 4px;
	color: rgba(25, 31, 28, 0.78);
	font-size: 15px;
	line-height: 1.55;
	padding: 12px 14px;
}

.shaolin-warning {
	background: rgba(143, 31, 27, 0.08);
	border-color: rgba(143, 31, 27, 0.28);
	margin-top: 34px;
}

.shaolin-facts {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 26px;
}

.shaolin-facts p {
	background: rgba(255, 253, 248, 0.62);
	border: 1px solid var(--shaolin-line);
	border-radius: 8px;
	margin: 0;
	padding: 18px;
}

.shaolin-soft-band,
.shaolin-faq-section {
	background: rgba(255, 253, 248, 0.44);
}

.shaolin-route-section {
	background:
		linear-gradient(180deg, rgba(255, 253, 248, 0.52), rgba(232, 226, 215, 0.18)),
		var(--shaolin-paper);
}

.shaolin-route-layout {
	gap: clamp(34px, 5vw, 76px);
}

.shaolin-route-steps {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shaolin-route-step {
	background: rgba(255, 253, 248, 0.72);
	border: 1px solid rgba(18, 53, 47, 0.12);
	border-radius: 8px;
	min-height: 190px;
	padding: 24px;
	position: relative;
}

.shaolin-route-step::after {
	background: var(--shaolin-red);
	border-radius: 999px;
	content: "";
	height: 30px;
	position: absolute;
	right: 24px;
	top: 26px;
	width: 2px;
}

.shaolin-route-step span {
	color: var(--shaolin-gold);
	display: block;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 22px;
}

.shaolin-route-step h3 {
	font-size: 22px;
	line-height: 1.2;
	margin: 0 0 10px;
}

.shaolin-route-step p {
	color: var(--shaolin-muted);
	font-size: 15px;
	line-height: 1.58;
	margin: 0;
}

.shaolin-photo-band {
	background: var(--shaolin-jade);
	color: var(--shaolin-paper);
	overflow: hidden;
}

.shaolin-photo-band .shaolin-eyebrow {
	color: rgba(255, 220, 170, 0.9);
}

.shaolin-photo-band p {
	color: rgba(247, 244, 237, 0.74);
}

.shaolin-photo-band-head {
	gap: 48px;
	margin-bottom: 34px;
}

.shaolin-photo-mosaic {
	display: grid;
	gap: 16px;
	grid-template-columns: 1.2fr 0.8fr 0.8fr;
}

.shaolin-photo-tile {
	background: rgba(255, 253, 248, 0.06);
	border: 1px solid rgba(255, 253, 248, 0.16);
	border-radius: 8px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.16);
	margin: 0;
	min-height: 260px;
	overflow: hidden;
	position: relative;
}

.shaolin-photo-tile--large {
	grid-row: span 2;
	min-height: 536px;
}

.shaolin-photo-tile img {
	display: block;
	filter: contrast(1.04) saturate(0.92);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-photo-tile figcaption {
	background: linear-gradient(180deg, transparent, rgba(18, 31, 28, 0.82));
	bottom: 0;
	color: var(--shaolin-white);
	font-size: 13px;
	font-weight: 800;
	left: 0;
	padding: 46px 18px 16px;
	position: absolute;
	right: 0;
	text-transform: uppercase;
}

.shaolin-band {
	background: var(--shaolin-jade);
	color: var(--shaolin-white);
}

.shaolin-band a,
.shaolin-footer a {
	color: var(--shaolin-white);
}

.shaolin-prices {
	background: var(--shaolin-porcelain);
}

.shaolin-price-row {
	align-items: center;
	border-top: 1px solid rgba(32, 26, 22, 0.12);
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding: 18px 0;
}

.shaolin-price-row:first-child {
	border-top: 0;
	padding-top: 0;
}

.shaolin-price-row strong {
	color: var(--shaolin-red);
	white-space: nowrap;
}

.shaolin-price-table {
	display: grid;
	gap: 18px;
	margin: 42px auto 0;
	max-width: 920px;
}

.shaolin-price-group {
	background: rgba(255, 253, 248, 0.84);
	border: 1px solid rgba(18, 53, 47, 0.12);
	border-radius: 10px;
	box-shadow: 0 14px 34px rgba(18, 53, 47, 0.055);
	overflow: hidden;
}

.shaolin-price-group h2 {
	background:
		linear-gradient(90deg, rgba(18, 53, 47, 0.085), rgba(18, 53, 47, 0.025)),
		rgba(255, 253, 248, 0.78);
	border-bottom: 1px solid rgba(18, 53, 47, 0.1);
	color: var(--shaolin-jade);
	font-size: 22px;
	margin: 0;
	padding: 18px 24px;
}

.shaolin-price-list {
	display: grid;
}

.shaolin-price-item {
	align-items: flex-start;
	border-top: 1px solid rgba(18, 53, 47, 0.1);
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 20px 24px;
}

.shaolin-price-item:first-child {
	border-top: 0;
}

.shaolin-price-item h3 {
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.35;
	margin: 0 0 6px;
}

.shaolin-price-item p,
.shaolin-price-item small {
	color: var(--shaolin-muted);
	display: block;
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

.shaolin-price-item strong {
	color: var(--shaolin-jade);
	font-size: 18px;
	font-weight: 800;
	white-space: nowrap;
}

.shaolin-license-section {
	background:
		linear-gradient(90deg, rgba(18, 53, 47, 0.055), transparent 48%),
		var(--shaolin-paper);
}

.shaolin-license-layout {
	gap: clamp(34px, 6vw, 82px);
}

.shaolin-license-media {
	background: var(--shaolin-porcelain);
	border: 1px solid rgba(18, 53, 47, 0.14);
	border-radius: 8px 58px 8px 8px;
	box-shadow: var(--shaolin-shadow);
	margin: 0;
	overflow: hidden;
	padding: 10px;
}

.shaolin-license-media img {
	display: block;
	filter: contrast(1.03) saturate(0.95);
	width: 100%;
}

.shaolin-license-list {
	display: grid;
	gap: 12px;
	margin-top: 26px;
}

.shaolin-license-list a,
.shaolin-license-list span {
	background: rgba(255, 253, 248, 0.72);
	border: 1px solid rgba(18, 53, 47, 0.12);
	border-radius: 8px;
	color: var(--shaolin-ink);
	display: block;
	font-size: 15px;
	font-weight: 800;
	padding: 15px 18px;
	text-decoration: none;
}

.shaolin-license-list span {
	color: var(--shaolin-muted);
	font-weight: 700;
}

.shaolin-faq {
	background: rgba(255, 253, 248, 0.78);
	border: 1px solid var(--shaolin-line);
	border-radius: 8px;
	box-shadow: none;
	overflow: hidden;
}

.shaolin-faq details {
	border-top: 1px solid var(--shaolin-line);
	padding: 0;
}

.shaolin-faq details:first-child {
	border-top: 0;
}

.shaolin-faq summary {
	cursor: pointer;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 22px;
	font-weight: 700;
	list-style-position: outside;
	padding: 22px 26px;
}

.shaolin-faq details p {
	color: var(--shaolin-muted);
	margin: 0;
	padding: 0 26px 24px;
}

.shaolin-page-hero {
	background:
		linear-gradient(135deg, rgba(255, 253, 248, 0.82), rgba(232, 226, 215, 0.34)),
		radial-gradient(circle at 92% 24%, rgba(169, 130, 74, 0.13), transparent 34%);
	border: 1px solid rgba(18, 53, 47, 0.1);
	border-radius: 10px 46px 10px 10px;
	margin-bottom: 38px;
	overflow: hidden;
	padding: 54px clamp(24px, 4vw, 54px) 46px;
	position: relative;
}

.shaolin-page-hero::before {
	background: var(--shaolin-red);
	content: "";
	height: 72px;
	left: 0;
	position: absolute;
	top: 54px;
	width: 4px;
}

.shaolin-page-hero h1 {
	margin-bottom: 16px;
	margin-top: 0;
}

.shaolin-archive-page > .wp-block-query,
.shaolin-content-wrap,
.shaolin-featured-media {
	margin-top: 0;
}

.shaolin-featured-media {
	background: linear-gradient(135deg, rgba(179, 138, 69, 0.16), rgba(38, 72, 62, 0.18));
	border-radius: 8px 52px 8px 8px;
	overflow: hidden;
}

.shaolin-content-wrap {
	font-size: 18px;
	line-height: 1.78;
	margin-left: auto;
	margin-right: auto;
	max-width: min(820px, calc(100vw - 48px));
	padding-top: 34px;
}

.shaolin-content-wrap > * + * {
	margin-top: 1.15em;
}

.shaolin-content-wrap > * {
	max-width: 100%;
}

.shaolin-content-wrap h1,
.shaolin-content-wrap h2,
.shaolin-content-wrap h3,
.shaolin-content-wrap p,
.shaolin-content-wrap li {
	overflow-wrap: normal;
	word-break: normal;
}

.shaolin-content-wrap h2,
.shaolin-content-wrap h3 {
	margin-top: 1.8em;
}

.shaolin-content-wrap .wp-block-image {
	margin-bottom: 34px;
	margin-top: 34px;
}

.shaolin-content-wrap .wp-block-image img {
	border-radius: 8px 46px 8px 8px;
	box-shadow: var(--shaolin-shadow);
	display: block;
	width: 100%;
}

.shaolin-article-note {
	margin-top: 38px;
}

.shaolin-article-note p {
	margin: 0;
}

.shaolin-related-cta {
	margin-top: 42px;
}

.shaolin-pagination {
	margin-top: 34px;
}

.shaolin-meta {
	color: var(--shaolin-muted);
	font-size: 15px;
}

.shaolin-doctors-section {
	background:
		linear-gradient(180deg, rgba(18, 53, 47, 0.065), transparent 48%),
		var(--shaolin-paper);
}

.shaolin-section-intro {
	gap: 44px;
	margin-bottom: 34px;
}

.shaolin-doctors-editorial {
	gap: clamp(34px, 6vw, 84px);
	margin-bottom: 34px;
}

.shaolin-doctors-live-photo {
	background: var(--shaolin-porcelain);
	border: 1px solid rgba(18, 53, 47, 0.14);
	border-radius: 8px 58px 8px 8px;
	box-shadow: var(--shaolin-shadow);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.shaolin-doctors-live-photo img {
	display: block;
	filter: contrast(1.04) saturate(0.92);
	width: 100%;
}

.shaolin-doctors-live-photo figcaption {
	background: rgba(247, 244, 237, 0.92);
	bottom: 0;
	color: var(--shaolin-jade);
	font-size: 13px;
	font-weight: 800;
	left: 0;
	padding: 14px 18px;
	position: absolute;
	right: 0;
	text-transform: uppercase;
}

.shaolin-doctor-grid {
	display: grid !important;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shaolin-doctor-list {
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shaolin-doctor-grid-large {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shaolin-doctors-archive .shaolin-doctor-grid-large {
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shaolin-doctor-card {
	background: var(--shaolin-porcelain);
	border: 1px solid rgba(18, 53, 47, 0.12);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow: hidden;
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.shaolin-doctor-card::before {
	background: rgba(126, 42, 37, 0.92);
	border-radius: 999px;
	color: var(--shaolin-white);
	content: "Специалист";
	font-size: 11px;
	font-weight: 800;
	left: 14px;
	padding: 6px 9px;
	position: absolute;
	text-transform: uppercase;
	top: 14px;
	z-index: 1;
}

.shaolin-doctor-list .shaolin-doctor-card::before {
	display: none;
}

.shaolin-doctor-list .shaolin-doctor-card {
	align-items: center;
	display: grid;
	gap: 16px;
	grid-template-columns: 104px minmax(0, 1fr);
	padding: 14px;
}

.shaolin-doctor-card:hover {
	border-color: rgba(126, 42, 37, 0.32);
	box-shadow: 0 18px 44px rgba(18, 53, 47, 0.09);
	transform: translateY(-2px);
}

.shaolin-doctor-photo {
	background: var(--shaolin-mist);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.shaolin-doctor-list .shaolin-doctor-photo {
	border: 1px solid rgba(18, 53, 47, 0.1);
	border-radius: 999px;
	height: 104px;
	width: 104px;
}

.shaolin-doctor-photo img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-doctor-copy {
	border-top: 1px solid rgba(18, 53, 47, 0.1);
	padding: 18px;
}

.shaolin-doctor-list .shaolin-doctor-copy {
	border-top: 0;
	padding: 0;
}

.shaolin-doctor-copy h2,
.shaolin-doctor-copy h3 {
	font-size: 22px;
	line-height: 1.15;
	margin-bottom: 8px;
	margin-top: 0;
}

.shaolin-doctor-copy a {
	color: var(--shaolin-ink);
	text-decoration: none;
}

.shaolin-doctor-copy .wp-block-post-excerpt {
	color: var(--shaolin-muted);
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

.shaolin-doctor-copy .wp-block-post-excerpt p {
	margin-bottom: 0;
}

.shaolin-review-grid {
	align-items: start;
	grid-template-columns: 0.9fr 1.2fr 1fr;
}

.shaolin-review-card {
	min-height: 260px;
	position: relative;
}

.shaolin-review-mark {
	color: var(--shaolin-gold);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0 0 22px;
	text-transform: uppercase;
}

.shaolin-review-card .wp-block-post-content {
	color: rgba(25, 31, 28, 0.74);
	font-size: 17px;
	line-height: 1.65;
}

.shaolin-review-card h3 {
	color: var(--shaolin-red);
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	font-weight: 800;
	margin-top: 22px;
}

.shaolin-final-cta {
	background:
		linear-gradient(105deg, rgba(18, 53, 47, 0.96), rgba(18, 53, 47, 0.88)),
		var(--shaolin-jade);
}

.shaolin-final-cta .shaolin-eyebrow {
	color: rgba(255, 220, 170, 0.9);
}

.shaolin-final-cta h2 {
	max-width: 820px;
}

.shaolin-doctor-hero {
	gap: clamp(34px, 6vw, 78px);
	padding-bottom: 42px;
	padding-top: 58px;
}

.shaolin-doctor-photo-large {
	border: 1px solid rgba(18, 53, 47, 0.14);
	border-radius: 2px 60px 2px 2px;
	box-shadow: var(--shaolin-shadow);
	overflow: hidden;
}

.shaolin-footer {
	background: var(--shaolin-ink);
	color: var(--shaolin-paper);
	padding-top: 68px;
	padding-bottom: 58px;
}

.shaolin-footer-grid {
	gap: 42px;
}

.shaolin-footer-brand {
	display: inline-block;
	margin-bottom: 18px;
}

.shaolin-footer-brand img {
	filter: brightness(0) invert(1) sepia(0.18) saturate(0.5);
	height: auto;
	max-width: 280px;
	opacity: 0.88;
}

.shaolin-footer .wp-block-site-title a {
	color: var(--shaolin-white);
	text-decoration: none;
}

.shaolin-footer h2,
.shaolin-footer h3 {
	color: var(--shaolin-white);
	font-size: 22px;
	margin-top: 0;
}

.shaolin-footer .wp-block-navigation {
	gap: 8px;
}

.shaolin-footer .wp-block-navigation a {
	color: var(--shaolin-paper);
	text-decoration: none;
}

.shaolin-footer-small {
	color: rgba(246, 241, 231, 0.66);
	font-size: 14px;
}

.shaolin-reveal {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 420ms cubic-bezier(0.16, 1, 0.3, 1), transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

.shaolin-has-js .shaolin-reveal {
	opacity: 1;
	transform: translateY(10px);
}

.shaolin-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.shaolin-doctors-archive .shaolin-doctor-grid-large {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shaolin-doctors-archive .shaolin-doctor-card {
	display: grid;
	gap: 18px;
	grid-template-columns: 150px minmax(0, 1fr);
	padding: 16px;
}

.shaolin-doctors-archive .shaolin-doctor-card::before {
	display: none;
}

.shaolin-doctors-archive .shaolin-doctor-photo {
	align-self: start;
	aspect-ratio: 4 / 5 !important;
	background:
		linear-gradient(135deg, rgba(239, 229, 208, 0.94), rgba(214, 226, 218, 0.9)),
		var(--shaolin-mist);
	border: 1px solid rgba(18, 53, 47, 0.1);
	border-radius: 8px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
	height: auto;
	isolation: isolate;
	width: 150px;
}

.shaolin-doctors-archive .shaolin-doctor-photo::after,
.shaolin-redesign-doctors .shaolin-doctor-photo::after {
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.08), rgba(18, 53, 47, 0.1)),
		radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0) 46%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.shaolin-doctors-archive .shaolin-doctor-photo img {
	filter: grayscale(0.08) saturate(0.82) contrast(1.02);
	object-fit: cover;
	object-position: center top;
	transform: scale(1.03);
}

.shaolin-doctors-archive .shaolin-doctor-copy {
	border-top: 0;
	padding: 0;
}

.shaolin-doctors-archive .shaolin-doctor-copy .wp-block-post-excerpt {
	font-size: 15px;
	line-height: 1.6;
}

.shaolin-has-js .shaolin-query-grid .shaolin-reveal:nth-child(2),
.shaolin-has-js .shaolin-doctor-grid .shaolin-reveal:nth-child(2),
.shaolin-has-js .shaolin-route-steps .shaolin-reveal:nth-child(2),
.shaolin-has-js .shaolin-photo-mosaic .shaolin-reveal:nth-child(2) {
	transition-delay: 70ms;
}

.shaolin-has-js .shaolin-query-grid .shaolin-reveal:nth-child(3),
.shaolin-has-js .shaolin-doctor-grid .shaolin-reveal:nth-child(3),
.shaolin-has-js .shaolin-route-steps .shaolin-reveal:nth-child(3),
.shaolin-has-js .shaolin-photo-mosaic .shaolin-reveal:nth-child(3) {
	transition-delay: 130ms;
}

.shaolin-has-js .shaolin-query-grid .shaolin-reveal:nth-child(4),
.shaolin-has-js .shaolin-doctor-grid .shaolin-reveal:nth-child(4),
.shaolin-has-js .shaolin-route-steps .shaolin-reveal:nth-child(4),
.shaolin-has-js .shaolin-photo-mosaic .shaolin-reveal:nth-child(4) {
	transition-delay: 190ms;
}

@media (max-width: 900px) {
	.shaolin-split {
		gap: 30px;
	}

	.shaolin-facts {
		grid-template-columns: 1fr;
	}

	.shaolin-doctor-grid-large,
	.shaolin-doctors-archive .shaolin-doctor-grid-large {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-doctor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-hero-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-hero-facts span:nth-child(odd) {
		border-left: 0;
	}

	.shaolin-route-steps,
	.shaolin-services-section .shaolin-query-grid,
	.shaolin-photo-mosaic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-photo-tile--large {
		grid-row: span 1;
		min-height: 300px;
	}
}

@media (max-width: 780px) {
	.shaolin-section,
	.shaolin-archive-page,
	.shaolin-single-page {
		padding-top: 52px;
		padding-bottom: 52px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.shaolin-archive-page,
	.shaolin-single-page {
		padding-left: 0;
		padding-right: 0;
	}

	.shaolin-archive-page > *,
	.shaolin-single-page > *,
	.shaolin-content-wrap {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: calc(100vw - 48px) !important;
		width: calc(100vw - 48px) !important;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile) {
		flex-direction: column;
		flex-wrap: nowrap !important;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: auto !important;
		min-width: 0;
		width: 100%;
	}

	.shaolin-section .alignwide,
	.shaolin-archive-page .alignwide,
	.shaolin-single-page .alignwide {
		max-width: 100%;
		width: 100%;
	}

	.shaolin-section > * {
		max-width: 100% !important;
	}

	.shaolin-about .shaolin-split {
		flex-direction: column-reverse;
	}

	.shaolin-hero {
		min-height: auto;
		padding-top: 30px;
	}

	.shaolin-premium-hero {
		padding-bottom: 24px;
		padding-left: 0;
		padding-right: 0;
	}

	.shaolin-premium-hero .alignwide {
		max-width: calc(100vw - 48px);
		width: calc(100vw - 48px);
	}

	.shaolin-hero h1,
	.shaolin-page-hero h1 {
		font-size: clamp(31px, 8.8vw, 36px) !important;
		max-width: 100%;
		overflow-wrap: normal;
		text-wrap: wrap;
	}

	.shaolin-page-hero {
		border-radius: 8px 30px 8px 8px;
		padding: 38px 24px 34px;
	}

	.shaolin-grid,
	.shaolin-query-grid {
		grid-template-columns: 1fr;
	}

	.shaolin-services-section .shaolin-query-grid {
		grid-template-columns: 1fr;
	}

	.shaolin-services-section .shaolin-query-card:first-child {
		grid-row: auto;
	}

	.shaolin-header-inner {
		align-items: center;
		gap: 12px;
		padding-bottom: 9px;
		padding-top: 9px;
	}

	.shaolin-header-inner .wp-block-navigation {
		display: none;
	}

	.shaolin-brand img {
		height: 44px;
		width: 150px;
	}

	.shaolin-brand-text,
	.shaolin-header-cta {
		display: none;
	}

	.shaolin-primary-nav {
		margin-left: auto;
	}

	.shaolin-mobile-links {
		border-top: 1px solid rgba(18, 53, 47, 0.1);
		display: flex;
		gap: 8px;
		margin-left: auto;
		margin-right: auto;
		justify-content: space-between;
		padding: 7px 0 9px;
		scrollbar-width: none;
		width: calc(100vw - 48px);
	}

	.shaolin-mobile-links::-webkit-scrollbar {
		display: none;
	}

	.shaolin-mobile-links a {
		color: var(--shaolin-jade);
		flex: 1 1 0;
		font-size: 12px;
		font-weight: 800;
		text-align: center;
		text-decoration: none;
	}

	.shaolin-premium-hero::after {
		display: none;
	}

	.shaolin-hero-grid {
		display: flex !important;
		flex-direction: column;
		gap: 18px;
		min-height: auto;
	}

	.shaolin-hero-grid > .wp-block-column {
		flex-basis: 100% !important;
		min-width: 0;
	}

	.shaolin-hero p {
		font-size: 16px;
		line-height: 1.55;
		max-width: 100%;
		overflow-wrap: normal;
	}

	.shaolin-hero-facts {
		border-radius: 6px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-left: auto;
		margin-right: auto;
		margin-top: 14px;
		max-width: calc(100vw - 48px);
		width: calc(100vw - 48px);
	}

	.shaolin-hero-facts span {
		border-left: 0;
		border-top: 1px solid rgba(18, 53, 47, 0.1);
		font-size: 12px;
		padding: 11px 12px;
	}

	.shaolin-hero-facts span:nth-child(-n+2) {
		border-top: 0;
	}

	.shaolin-hero-facts span:nth-child(even) {
		border-left: 1px solid rgba(18, 53, 47, 0.1);
	}

	.shaolin-hero-facts strong {
		font-size: 15px;
	}

	.shaolin-hero-actions .wp-block-button__link {
		padding: 11px 17px;
	}

	.shaolin-hero-media {
		border-radius: 6px 34px 6px 6px;
		margin-top: 0;
	}

	.shaolin-hero-media img {
		aspect-ratio: 16 / 10;
	}

	.shaolin-hero-media figcaption {
		font-size: 11px;
		line-height: 1.25;
		padding: 12px 14px;
	}

	.shaolin-doctor-grid {
		gap: 12px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-doctor-grid-large,
	.shaolin-doctors-archive .shaolin-doctor-grid-large {
		grid-template-columns: 1fr;
	}

	.shaolin-doctor-copy {
		padding: 13px;
	}

	.shaolin-doctor-copy h2,
	.shaolin-doctor-copy h3 {
		font-size: 17px;
	}

	.shaolin-doctor-copy .wp-block-post-excerpt {
		display: none;
	}

	.shaolin-card-body,
	.shaolin-card {
		padding: 22px;
	}

	.shaolin-content-wrap {
		font-size: 16px;
		line-height: 1.72;
		max-width: calc(100vw - 48px);
		padding-top: 26px;
	}

	.shaolin-section p,
	.shaolin-section li,
	.shaolin-archive-page p,
	.shaolin-archive-page li,
	.shaolin-single-page p,
	.shaolin-single-page li,
	.shaolin-content-wrap p,
	.shaolin-content-wrap li {
		overflow-wrap: normal !important;
		word-break: normal !important;
	}

	.shaolin-query-card .shaolin-card-body {
		padding: 20px;
	}

	.shaolin-route-steps,
	.shaolin-photo-mosaic {
		grid-template-columns: 1fr;
	}

	.shaolin-route-step {
		min-height: auto;
		padding: 20px;
	}

	.shaolin-photo-tile,
	.shaolin-photo-tile--large {
		min-height: 250px;
	}

	.shaolin-quick-path {
		display: none;
	}

	.shaolin-price-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.shaolin-price-table {
		gap: 14px;
		margin-top: 30px;
	}

	.shaolin-price-group h2 {
		font-size: 20px;
		padding: 16px 18px;
	}

	.shaolin-price-item {
		gap: 8px;
		grid-template-columns: 1fr;
		padding: 17px 18px;
	}

	.shaolin-price-item strong {
		font-size: 17px;
	}

	.shaolin-faq summary {
		font-size: 19px;
		padding: 18px 20px;
	}

	.shaolin-faq details p {
		padding: 0 20px 20px;
	}
}

@media (max-width: 520px) {
	.shaolin-premium-hero .alignwide,
	.shaolin-hero-facts,
	.shaolin-mobile-links {
		margin-left: 24px !important;
		margin-right: 24px !important;
		max-width: 342px;
		width: calc(100vw - 48px);
	}
}

/* Yandex widgets and contact page pass. */
.shaolin-yandex-widget-section,
.shaolin-contact-hero,
.shaolin-contact-map-section,
.shaolin-contact-visit,
.shaolin-contact-gallery,
.shaolin-contact-final {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--shaolin-v4-wide) !important;
	width: var(--shaolin-v4-wide) !important;
}

.shaolin-yandex-widget-section {
	align-items: start;
	display: grid;
	gap: clamp(34px, 4vw, 72px);
	grid-template-columns: minmax(0, 0.82fr) minmax(420px, 560px);
	margin-bottom: clamp(86px, 8vw, 128px);
}

.shaolin-yandex-widget-copy {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.96), rgba(238, 223, 190, 0.86)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 900px auto repeat;
	border: 1px solid rgba(12, 33, 28, 0.12);
	box-shadow: var(--shaolin-v4-shadow);
	min-width: 0;
	padding: clamp(34px, 4vw, 62px);
	position: sticky;
	top: 138px;
}

.shaolin-yandex-widget-copy h2 {
	color: var(--shaolin-v4-ink);
	font-size: clamp(46px, 4.1vw, 76px);
	line-height: 0.98;
	margin: 0 0 22px;
	max-width: 820px;
}

.shaolin-yandex-widget-copy p:not(.shaolin-eyebrow) {
	color: var(--shaolin-v4-muted);
	font-size: clamp(18px, 1.05vw, 22px);
	line-height: 1.64;
	margin: 0 0 28px;
	max-width: 720px;
}

.shaolin-yandex-reviews-widget {
	background: rgba(255, 250, 240, 0.8);
	border: 1px solid rgba(12, 33, 28, 0.12);
	box-shadow: 0 28px 80px rgba(38, 28, 18, 0.12);
	box-sizing: border-box;
	height: 800px;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.shaolin-yandex-reviews-widget iframe {
	border: 1px solid #e6e6e6;
	box-sizing: border-box;
	display: block;
	height: 100%;
	width: 100%;
}

.shaolin-yandex-reviews-widget > a {
	bottom: 8px;
	box-sizing: border-box;
	color: rgba(44, 62, 55, 0.78);
	display: block;
	font-family: "YS Text", var(--wp--preset--font-family--body);
	font-size: 13px;
	left: 0;
	line-height: 1.2;
	max-height: 18px;
	overflow: hidden;
	padding: 0 16px;
	position: absolute;
	text-align: center;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

.shaolin-contact-page {
	background:
		linear-gradient(180deg, rgba(247, 240, 226, 0.75), rgba(247, 240, 226, 0.96)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / 1500px auto repeat;
	overflow: hidden;
}

.shaolin-contact-hero {
	align-items: stretch;
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0, 0.94fr) minmax(420px, 0.76fr);
	margin-bottom: clamp(34px, 4vw, 66px);
}

.shaolin-contact-hero-copy,
.shaolin-contact-entrance,
.shaolin-contact-route-card,
.shaolin-contact-visit,
.shaolin-contact-final {
	border: 1px solid rgba(12, 33, 28, 0.12);
	box-shadow: var(--shaolin-v4-shadow);
}

.shaolin-contact-hero-copy {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.96), rgba(238, 223, 190, 0.88)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 900px auto repeat;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(42px, 5vw, 82px);
}

.shaolin-contact-hero-copy h1 {
	color: var(--shaolin-v4-ink);
	font-size: clamp(48px, 4.4vw, 88px);
	line-height: 0.95;
	margin: 0 0 24px;
	max-width: 900px;
}

.shaolin-contact-hero-copy p:not(.shaolin-eyebrow) {
	color: var(--shaolin-v4-muted);
	font-size: clamp(18px, 1.05vw, 22px);
	line-height: 1.64;
	margin: 0 0 30px;
	max-width: 820px;
}

.shaolin-contact-entrance {
	background: #13241f;
	margin: 0;
	min-height: 520px;
	overflow: hidden;
	position: relative;
}

.shaolin-contact-entrance img,
.shaolin-contact-gallery img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-contact-entrance figcaption,
.shaolin-contact-gallery figcaption {
	background: linear-gradient(180deg, transparent, rgba(12, 33, 28, 0.82));
	bottom: 0;
	color: #fffaf0;
	font-size: 14px;
	font-weight: 800;
	left: 0;
	padding: 46px 24px 22px;
	position: absolute;
	right: 0;
}

.shaolin-contact-map-section {
	align-items: stretch;
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.58fr);
	margin-bottom: clamp(64px, 7vw, 110px);
}

.shaolin-contact-map-card {
	background: rgba(255, 250, 240, 0.78);
	border: 1px solid rgba(12, 33, 28, 0.12);
	box-shadow: 0 28px 80px rgba(38, 28, 18, 0.12);
	min-height: 620px;
	overflow: hidden;
}

.shaolin-contact-map-embed {
	height: 100%;
	min-height: 620px;
	overflow: hidden;
	position: relative;
}

.shaolin-contact-map-embed > a {
	color: #eee;
	font-size: 12px;
	left: 10px;
	position: absolute;
	text-decoration: none;
	top: 0;
	z-index: 0;
}

.shaolin-contact-map-embed > a:nth-child(2) {
	top: 14px;
}

.shaolin-contact-map-embed > a:nth-child(3) {
	top: 28px;
}

.shaolin-contact-map-frame {
	border: 0;
	display: block;
	height: 100%;
	min-height: 620px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.shaolin-contact-route-card {
	background:
		linear-gradient(160deg, rgba(12, 33, 28, 0.97), rgba(8, 49, 40, 0.92)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/clinic-corridor-warm.jpg") center / cover no-repeat;
	color: #fffaf0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(32px, 4vw, 56px);
}

.shaolin-contact-route-card .shaolin-eyebrow,
.shaolin-contact-route-card h2,
.shaolin-contact-route-card p,
.shaolin-contact-route-card li,
.shaolin-contact-route-card strong,
.shaolin-contact-route-card span {
	color: inherit;
}

.shaolin-contact-route-card h2,
.shaolin-contact-visit-copy h2,
.shaolin-contact-final h2 {
	font-size: clamp(38px, 3.5vw, 66px);
	line-height: 0.98;
	margin: 0 0 20px;
}

.shaolin-contact-route-card p {
	color: rgba(255, 250, 240, 0.78);
	font-size: 17px;
	line-height: 1.62;
	margin: 0 0 24px;
}

.shaolin-contact-route-card ul {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}

.shaolin-contact-route-card li {
	border-top: 1px solid rgba(255, 250, 240, 0.16);
	display: grid;
	gap: 8px;
	grid-template-columns: 120px minmax(0, 1fr);
	padding-top: 12px;
}

.shaolin-contact-route-card span {
	color: rgba(255, 250, 240, 0.76);
}

.shaolin-contact-visit {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.95), rgba(238, 223, 190, 0.84)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1200px auto repeat;
	display: grid;
	gap: clamp(28px, 4vw, 60px);
	grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
	margin-bottom: clamp(54px, 6vw, 92px);
	padding: clamp(38px, 5vw, 78px);
}

.shaolin-contact-visit-copy p:not(.shaolin-eyebrow) {
	color: var(--shaolin-v4-muted);
	font-size: 18px;
	line-height: 1.66;
	margin: 0;
}

.shaolin-contact-visit-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shaolin-contact-visit-grid article {
	background: rgba(255, 250, 240, 0.72);
	border: 1px solid rgba(12, 33, 28, 0.12);
	padding: clamp(22px, 2vw, 32px);
}

.shaolin-contact-visit-grid span {
	color: var(--shaolin-v4-red);
	display: block;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 0;
	margin-bottom: 18px;
}

.shaolin-contact-visit-grid strong {
	color: var(--shaolin-v4-ink);
	display: block;
	font-size: 21px;
	line-height: 1.16;
	margin-bottom: 14px;
}

.shaolin-contact-visit-grid p {
	color: var(--shaolin-v4-muted);
	font-size: 16px;
	line-height: 1.58;
	margin: 0;
}

.shaolin-contact-gallery {
	display: grid;
	gap: 18px;
	grid-template-columns: 1.2fr 0.9fr 0.9fr;
	margin-bottom: clamp(54px, 6vw, 94px);
}

.shaolin-contact-gallery figure {
	aspect-ratio: 4 / 3;
	background: #13241f;
	margin: 0;
	overflow: hidden;
	position: relative;
}

.shaolin-contact-gallery figure:first-child {
	aspect-ratio: 16 / 9;
	grid-row: span 2;
}

.shaolin-contact-final {
	align-items: center;
	background:
		linear-gradient(120deg, rgba(111, 31, 27, 0.96), rgba(154, 44, 36, 0.84)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / cover no-repeat;
	color: #fffaf0;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: clamp(76px, 8vw, 128px);
	padding: clamp(36px, 4.6vw, 72px);
}

.shaolin-contact-final .shaolin-eyebrow,
.shaolin-contact-final h2 {
	color: inherit;
}

.shaolin-contact-final-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
}

@media (max-width: 1100px) {
	.shaolin-yandex-widget-section,
	.shaolin-contact-hero,
	.shaolin-contact-map-section,
	.shaolin-contact-visit,
	.shaolin-contact-final {
		grid-template-columns: 1fr;
	}

	.shaolin-yandex-widget-copy {
		position: static;
	}

	.shaolin-contact-visit-grid,
	.shaolin-contact-gallery {
		grid-template-columns: 1fr;
	}

	.shaolin-contact-gallery figure:first-child {
		grid-row: auto;
	}

	.shaolin-contact-final-actions {
		justify-content: flex-start;
	}
}

@media (max-width: 700px) {
	.shaolin-yandex-widget-section,
	.shaolin-contact-hero,
	.shaolin-contact-map-section,
	.shaolin-contact-visit,
	.shaolin-contact-gallery,
	.shaolin-contact-final {
		max-width: calc(100vw - 32px) !important;
		width: calc(100vw - 32px) !important;
	}

	.shaolin-yandex-reviews-widget {
		height: 720px;
		justify-self: stretch;
		max-width: 100%;
		width: 100%;
	}

	.shaolin-contact-hero-copy,
	.shaolin-yandex-widget-copy,
	.shaolin-contact-route-card,
	.shaolin-contact-visit,
	.shaolin-contact-final {
		padding: 28px 22px;
	}

	.shaolin-contact-hero-copy h1 {
		font-size: 42px;
	}

	.shaolin-yandex-widget-copy,
	.shaolin-yandex-reviews-widget {
		min-width: 0;
	}

	.shaolin-yandex-widget-copy h2 {
		overflow-wrap: anywhere;
	}

	.shaolin-contact-entrance,
	.shaolin-contact-map-card,
	.shaolin-contact-map-embed,
	.shaolin-contact-map-frame {
		min-height: 420px;
	}

	.shaolin-contact-route-card li {
		grid-template-columns: 1fr;
	}
}

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

	.shaolin-reveal,
	.wp-block-button__link {
		animation: none;
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Premium redesign pass: homepage art direction and reusable editorial components. */
:root {
	--shaolin-paper: #f4efe4;
	--shaolin-porcelain: #fffaf0;
	--shaolin-ink: #14211d;
	--shaolin-red: #8a2b24;
	--shaolin-gold: #b28a4a;
	--shaolin-jade: #0f3029;
	--shaolin-jade-soft: #183d35;
	--shaolin-mist: #e9dfcf;
	--shaolin-stone: #d7cdbc;
	--shaolin-muted: rgba(20, 33, 29, 0.66);
	--shaolin-line: rgba(20, 33, 29, 0.13);
	--shaolin-shadow: 0 28px 70px rgba(15, 48, 41, 0.13);
	--shaolin-soft-shadow: 0 18px 42px rgba(15, 48, 41, 0.08);
}

body {
	background:
		linear-gradient(90deg, rgba(20, 33, 29, 0.026) 1px, transparent 1px),
		linear-gradient(rgba(20, 33, 29, 0.018) 1px, transparent 1px),
		var(--shaolin-paper);
	background-size: 72px 72px, 72px 72px, auto;
}

.wp-site-blocks {
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.58), rgba(244, 239, 228, 0.94) 540px),
		transparent;
}

.shaolin-site-header {
	background: rgba(244, 239, 228, 0.9);
	box-shadow: 0 1px 0 rgba(20, 33, 29, 0.08);
}

.shaolin-header-inner {
	max-width: 1320px;
	padding-bottom: 12px;
	padding-top: 12px;
}

.shaolin-brand {
	min-width: 230px;
}

.shaolin-brand img {
	height: 54px;
	width: 214px;
}

.shaolin-site-header .wp-block-navigation a {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0;
}

.shaolin-header-cta,
.shaolin-action {
	align-items: center;
	border-radius: 999px;
	box-sizing: border-box;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	gap: 10px;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1;
	min-height: 46px;
	padding: 15px 22px;
	text-decoration: none;
	transition: background-color 220ms cubic-bezier(0.16, 1, 0.3, 1), border-color 220ms cubic-bezier(0.16, 1, 0.3, 1), color 220ms cubic-bezier(0.16, 1, 0.3, 1), transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.shaolin-header-cta:hover,
.shaolin-action:hover {
	transform: translateY(-2px);
}

.shaolin-action-primary {
	background: var(--shaolin-red);
	border: 1px solid rgba(138, 43, 36, 0.2);
	color: var(--shaolin-white);
	box-shadow: 0 16px 34px rgba(138, 43, 36, 0.18);
}

.shaolin-action-primary:hover {
	background: #76241f;
	color: var(--shaolin-white);
}

.shaolin-action-ghost {
	background: rgba(255, 250, 240, 0.72);
	border: 1px solid rgba(15, 48, 41, 0.18);
	color: var(--shaolin-jade);
}

.shaolin-action-ghost:hover {
	background: var(--shaolin-porcelain);
	border-color: rgba(138, 43, 36, 0.24);
	color: var(--shaolin-red);
}

.shaolin-action-outline-light {
	background: transparent;
	border: 1px solid rgba(255, 250, 240, 0.44);
	color: var(--shaolin-white);
}

.shaolin-action-outline-light:hover {
	background: rgba(255, 250, 240, 0.1);
	color: var(--shaolin-white);
}

.shaolin-section {
	position: relative;
}

.shaolin-section + .shaolin-section {
	border-top: 0;
}

.shaolin-section-kicker,
.shaolin-doctors-head {
	margin-bottom: 42px;
}

.shaolin-section-kicker span,
.shaolin-doctors-head span,
.shaolin-price-copy span,
.shaolin-china-copy span,
.shaolin-eyebrow {
	color: var(--shaolin-red);
	display: block;
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.shaolin-section-kicker h2,
.shaolin-doctors-head h2,
.shaolin-price-copy h2,
.shaolin-china-copy h2 {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 46px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.07;
	margin: 0;
	max-width: 900px;
	text-wrap: balance;
}

.shaolin-section-kicker p,
.shaolin-doctors-head p,
.shaolin-price-copy p,
.shaolin-china-copy p {
	color: var(--shaolin-muted);
	font-size: 18px;
	line-height: 1.72;
	margin-bottom: 0;
	max-width: 760px;
}

.shaolin-redesign-hero {
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.96), rgba(244, 239, 228, 0.9)),
		linear-gradient(90deg, rgba(15, 48, 41, 0.05) 1px, transparent 1px),
		linear-gradient(rgba(15, 48, 41, 0.035) 1px, transparent 1px);
	background-size: auto, 76px 76px, 76px 76px;
	min-height: min(760px, calc(100dvh - 78px));
	overflow: hidden;
	padding: 54px 0 42px;
}

.shaolin-redesign-hero::before,
.shaolin-redesign-hero::after {
	display: none;
}

.shaolin-hero-stage {
	display: grid;
	gap: 52px;
	grid-template-columns: minmax(0, 0.88fr) minmax(420px, 0.92fr);
	min-height: 600px;
	position: relative;
	z-index: 1;
}

.shaolin-hero-copy {
	align-self: center;
	max-width: 620px;
	padding-bottom: 64px;
	padding-top: 44px;
	position: relative;
	z-index: 2;
}

.shaolin-seal-line {
	align-items: center;
	color: var(--shaolin-red);
	display: inline-flex;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	margin-bottom: 26px;
}

.shaolin-seal-line::before {
	background: var(--shaolin-red);
	content: "";
	display: inline-block;
	height: 1px;
	margin-right: 14px;
	width: 46px;
}

.shaolin-hero h1 {
	color: var(--shaolin-ink);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 64px !important;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0 0 24px;
	max-width: 780px;
	text-wrap: balance;
}

.shaolin-redesign-hero .shaolin-hero-copy p {
	color: rgba(20, 33, 29, 0.76);
	font-size: 21px;
	line-height: 1.72;
	margin: 0;
	max-width: 640px;
}

.shaolin-hero-actions {
	margin-top: 34px;
}

.shaolin-hero-portrait {
	align-self: stretch;
	background: var(--shaolin-porcelain);
	border: 1px solid rgba(15, 48, 41, 0.14);
	border-radius: 2px 72px 2px 2px;
	box-shadow: var(--shaolin-shadow);
	margin: 0;
	min-height: 590px;
	overflow: hidden;
	position: relative;
}

.shaolin-hero-portrait img {
	display: block;
	filter: contrast(1.05) saturate(0.94);
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.shaolin-hero-portrait figcaption {
	background: rgba(244, 239, 228, 0.92);
	border-top: 1px solid rgba(20, 33, 29, 0.12);
	bottom: 0;
	color: var(--shaolin-jade);
	font-size: 12px;
	font-weight: 800;
	left: 0;
	letter-spacing: 0;
	line-height: 1.25;
	padding: 15px 20px;
	position: absolute;
	right: 0;
	text-transform: uppercase;
}

.shaolin-hero-calligraphy {
	align-items: center;
	color: rgba(15, 48, 41, 0.28);
	display: flex;
	flex-direction: column;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 24px;
	font-weight: 700;
	gap: 18px;
	left: 46%;
	line-height: 1;
	position: absolute;
	top: 54px;
	writing-mode: vertical-rl;
	z-index: 1;
}

.shaolin-red-seal {
	align-items: center;
	background: var(--shaolin-red);
	bottom: 84px;
	box-shadow: 0 18px 36px rgba(138, 43, 36, 0.18);
	color: rgba(255, 250, 240, 0.92);
	display: flex;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 18px;
	font-weight: 700;
	height: 76px;
	justify-content: center;
	letter-spacing: 0;
	position: absolute;
	right: 39%;
	width: 76px;
	z-index: 3;
}

.shaolin-hero-trust {
	background: rgba(255, 250, 240, 0.86);
	border: 1px solid rgba(15, 48, 41, 0.13);
	box-shadow: var(--shaolin-soft-shadow);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: -34px;
	overflow: hidden;
	position: relative;
	z-index: 4;
}

.shaolin-hero-trust a {
	border-left: 1px solid rgba(15, 48, 41, 0.12);
	color: var(--shaolin-ink);
	display: block;
	min-height: 112px;
	padding: 22px 24px;
	text-decoration: none;
	transition: background-color 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.shaolin-hero-trust a:first-child {
	border-left: 0;
}

.shaolin-hero-trust a:hover {
	background: rgba(178, 138, 74, 0.08);
}

.shaolin-hero-trust span {
	color: var(--shaolin-red);
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.shaolin-hero-trust strong {
	display: block;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.34;
}

.shaolin-redesign-route {
	background: var(--shaolin-porcelain);
	padding-top: 92px;
}

.shaolin-route-line {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	position: relative;
}

.shaolin-route-line::before {
	background: rgba(15, 48, 41, 0.18);
	content: "";
	height: 1px;
	left: 8%;
	position: absolute;
	right: 8%;
	top: 37px;
}

.shaolin-route-point {
	padding: 0 22px 0 0;
	position: relative;
}

.shaolin-route-point span {
	align-items: center;
	background: var(--shaolin-porcelain);
	border: 1px solid rgba(15, 48, 41, 0.2);
	color: var(--shaolin-red);
	display: flex;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 16px;
	font-weight: 700;
	height: 74px;
	justify-content: center;
	margin-bottom: 22px;
	position: relative;
	width: 74px;
	z-index: 1;
}

.shaolin-route-point h3 {
	font-size: 21px;
	line-height: 1.2;
	margin: 0 0 10px;
}

.shaolin-route-point p {
	color: var(--shaolin-muted);
	font-size: 15px;
	line-height: 1.62;
	margin: 0;
}

.shaolin-redesign-services {
	background: var(--shaolin-paper);
	padding-top: 96px;
}

.shaolin-service-editorial {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.shaolin-service-editorial a {
	color: var(--shaolin-ink);
	text-decoration: none;
}

.shaolin-service-feature,
.shaolin-service-tile,
.shaolin-service-list {
	background: rgba(255, 250, 240, 0.74);
	border: 1px solid rgba(15, 48, 41, 0.12);
	overflow: hidden;
	transition: border-color 220ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 220ms cubic-bezier(0.16, 1, 0.3, 1), transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.shaolin-service-feature:hover,
.shaolin-service-tile:hover,
.shaolin-service-list:hover {
	border-color: rgba(138, 43, 36, 0.28);
	box-shadow: var(--shaolin-soft-shadow);
	transform: translateY(-3px);
}

.shaolin-service-feature {
	display: grid;
	grid-column: span 7;
	grid-row: span 2;
	grid-template-rows: minmax(390px, 1fr) auto;
	min-height: 720px;
}

.shaolin-service-feature img,
.shaolin-service-tile img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-service-feature span {
	color: var(--shaolin-red);
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	margin: 28px 30px 10px;
	text-transform: uppercase;
}

.shaolin-service-feature h3,
.shaolin-service-feature p {
	margin-left: 30px;
	margin-right: 30px;
}

.shaolin-service-feature h3 {
	font-size: 34px;
	line-height: 1.08;
	margin-bottom: 12px;
	margin-top: 0;
	max-width: 620px;
}

.shaolin-service-feature p,
.shaolin-service-tile p {
	color: var(--shaolin-muted);
	line-height: 1.6;
	margin-bottom: 30px;
}

.shaolin-service-tile {
	display: grid;
	grid-column: span 5;
	grid-template-columns: 42% minmax(0, 1fr);
	min-height: 226px;
}

.shaolin-service-tile img {
	grid-row: 1 / span 2;
	min-height: 226px;
}

.shaolin-service-tile h3 {
	align-self: end;
	font-size: 25px;
	grid-column: 2;
	line-height: 1.12;
	margin: 26px 26px 8px;
}

.shaolin-service-tile p {
	font-size: 15px;
	grid-column: 2;
	margin: 0 26px 26px;
}

.shaolin-service-list {
	grid-column: span 5;
	padding: 28px 30px 30px;
}

.shaolin-service-list h3 {
	font-size: 25px;
	margin: 0 0 18px;
}

.shaolin-service-list a {
	border-top: 1px solid rgba(15, 48, 41, 0.12);
	display: block;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.35;
	padding: 13px 0;
}

.shaolin-service-list a:hover {
	color: var(--shaolin-red);
}

.shaolin-service-list .shaolin-text-link {
	color: var(--shaolin-red);
}

.shaolin-soft-band {
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.86), rgba(244, 239, 228, 0.82)),
		var(--shaolin-paper);
}

.shaolin-soft-band .shaolin-query-grid {
	grid-template-columns: 1.18fr 0.91fr 0.91fr;
}

.shaolin-soft-band .shaolin-query-card:first-child {
	border-color: rgba(138, 43, 36, 0.2);
}

.shaolin-soft-band .shaolin-card-image {
	min-height: 270px;
}

.shaolin-redesign-doctors {
	background:
		linear-gradient(180deg, rgba(15, 48, 41, 0.08), rgba(244, 239, 228, 0) 50%),
		var(--shaolin-paper);
}

.shaolin-doctors-head {
	align-items: end;
	display: grid;
	gap: 32px;
	grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.72fr) auto;
}

.shaolin-doctors-head a {
	align-self: end;
	background: rgba(255, 250, 240, 0.74);
	border: 1px solid rgba(15, 48, 41, 0.16);
	border-radius: 999px;
	color: var(--shaolin-jade);
	font-size: 14px;
	font-weight: 800;
	padding: 14px 18px;
	text-decoration: none;
	white-space: nowrap;
}

.shaolin-redesign-doctors .shaolin-doctor-list {
	display: grid !important;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-card {
	background: rgba(255, 250, 240, 0.78);
	border: 1px solid rgba(15, 48, 41, 0.12);
	display: flex;
	flex-direction: column;
	gap: 0;
	overflow: hidden;
	padding: 0;
}

.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-photo {
	border: 0;
	border-radius: 0;
	height: auto;
	width: 100%;
}

.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-photo img {
	aspect-ratio: 4 / 5;
	filter: contrast(1.04) saturate(0.92);
	object-position: center top;
}

.shaolin-redesign-doctors .shaolin-doctor-copy {
	border-top: 1px solid rgba(15, 48, 41, 0.1);
	padding: 22px 24px 24px;
}

.shaolin-redesign-doctors .shaolin-doctor-copy h2,
.shaolin-redesign-doctors .shaolin-doctor-copy h3 {
	font-size: 24px;
}

.shaolin-redesign-doctors .shaolin-doctor-copy .wp-block-post-excerpt {
	display: block;
}

.shaolin-redesign-gallery {
	background:
		linear-gradient(180deg, rgba(15, 48, 41, 0.98), rgba(17, 58, 50, 0.95)),
		var(--shaolin-jade);
}

.shaolin-redesign-gallery h2 {
	color: var(--shaolin-white);
}

.shaolin-redesign-gallery .shaolin-photo-tile {
	border-radius: 2px;
}

.shaolin-china-band {
	background:
		linear-gradient(90deg, rgba(12, 38, 33, 0.98), rgba(17, 58, 50, 0.94)),
		var(--shaolin-jade);
	color: var(--shaolin-white);
	overflow: hidden;
	padding-bottom: 96px;
	padding-top: 96px;
}

.shaolin-china-stage {
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
	position: relative;
}

.shaolin-china-emblem {
	display: none;
}

.shaolin-china-copy {
	align-self: center;
	max-width: 660px;
	padding-left: 38px;
	position: relative;
	z-index: 1;
}

.shaolin-china-copy span {
	color: rgba(255, 222, 177, 0.9);
}

.shaolin-china-copy h2 {
	color: var(--shaolin-white);
}

.shaolin-china-copy p,
.shaolin-china-copy li {
	color: rgba(255, 250, 240, 0.76);
}

.shaolin-china-copy ul {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 26px 0 30px;
	padding: 0;
}

.shaolin-china-copy li {
	border-top: 1px solid rgba(255, 250, 240, 0.16);
	line-height: 1.58;
	padding-top: 12px;
}

.shaolin-china-stage figure {
	align-self: stretch;
	border: 1px solid rgba(255, 250, 240, 0.16);
	box-shadow: 0 32px 72px rgba(0, 0, 0, 0.22);
	margin: 0;
	min-height: 520px;
	overflow: hidden;
}

.shaolin-china-stage img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-redesign-prices {
	background: var(--shaolin-porcelain);
}

.shaolin-price-concierge {
	display: grid;
	gap: 40px;
	grid-template-columns: minmax(0, 0.88fr) minmax(460px, 0.72fr);
}

.shaolin-price-copy {
	align-self: center;
	max-width: 690px;
}

.shaolin-price-copy .shaolin-action {
	margin-top: 28px;
}

.shaolin-price-board {
	background: var(--shaolin-paper);
	border: 1px solid rgba(15, 48, 41, 0.14);
	box-shadow: var(--shaolin-soft-shadow);
	padding: 12px 30px 26px;
}

.shaolin-price-board .shaolin-price-row {
	border-color: rgba(15, 48, 41, 0.14);
	padding: 22px 0;
}

.shaolin-price-board span {
	font-weight: 800;
	line-height: 1.35;
}

.shaolin-price-board p {
	color: var(--shaolin-muted);
	font-size: 13px;
	line-height: 1.45;
	margin: 10px 0 0;
}

.shaolin-redesign-reviews {
	background:
		linear-gradient(180deg, rgba(244, 239, 228, 0.96), rgba(255, 250, 240, 0.82)),
		var(--shaolin-paper);
}

.shaolin-redesign-reviews .shaolin-section-intro {
	margin-bottom: 44px;
}

.shaolin-redesign-reviews .shaolin-review-grid {
	display: grid !important;
	gap: 18px;
	grid-template-columns: 0.9fr 1.22fr 0.96fr;
}

.shaolin-redesign-reviews .shaolin-review-card {
	background: rgba(255, 250, 240, 0.78);
	border: 1px solid rgba(15, 48, 41, 0.12);
	border-radius: 0;
	box-shadow: none;
	min-height: 320px;
	padding: 30px;
}

.shaolin-redesign-reviews .shaolin-review-card:nth-child(2) {
	background: var(--shaolin-jade);
	color: var(--shaolin-white);
}

.shaolin-redesign-reviews .shaolin-review-card:nth-child(2) .wp-block-post-content,
.shaolin-redesign-reviews .shaolin-review-card:nth-child(2) h3 {
	color: rgba(255, 250, 240, 0.88);
}

.shaolin-redesign-reviews .shaolin-review-mark {
	color: var(--shaolin-gold);
}

.shaolin-faq-section {
	background: var(--shaolin-paper);
}

.shaolin-final-cta {
	background:
		linear-gradient(90deg, rgba(15, 48, 41, 0.98), rgba(24, 61, 53, 0.94)),
		var(--shaolin-jade);
}

.shaolin-footer {
	background:
		linear-gradient(180deg, rgba(20, 33, 29, 0.98), rgba(13, 25, 22, 0.98)),
		var(--shaolin-ink);
	color: var(--shaolin-paper);
	padding-bottom: 42px;
	padding-top: 74px;
}

.shaolin-footer-grid {
	display: grid;
	gap: 44px;
	grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.7fr) minmax(260px, 0.72fr);
}

.shaolin-footer-main p,
.shaolin-footer-col p,
.shaolin-footer-legal p {
	color: rgba(244, 239, 228, 0.74);
	line-height: 1.7;
	margin-bottom: 0;
}

.shaolin-footer-brand img {
	filter: brightness(0) invert(1) sepia(0.18) saturate(0.5);
	max-width: 300px;
}

.shaolin-footer-cta {
	border: 1px solid rgba(255, 250, 240, 0.28);
	border-radius: 999px;
	color: var(--shaolin-white);
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	margin-top: 26px;
	padding: 14px 20px;
	text-decoration: none;
}

.shaolin-footer h3 {
	color: var(--shaolin-white);
	font-size: 20px;
	margin: 0 0 18px;
}

.shaolin-footer-links {
	display: grid;
	gap: 9px;
}

.shaolin-footer-links a,
.shaolin-footer-col a {
	color: rgba(244, 239, 228, 0.86);
	text-decoration: none;
}

.shaolin-footer-links a:hover,
.shaolin-footer-col a:hover,
.shaolin-footer-cta:hover {
	color: var(--shaolin-white);
}

.shaolin-footer-legal {
	border-top: 1px solid rgba(244, 239, 228, 0.14);
	display: grid;
	gap: 26px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-top: 54px;
	padding-top: 24px;
}

.shaolin-page-hero {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.9), rgba(244, 239, 228, 0.7)),
		var(--shaolin-paper);
	border: 0;
	border-radius: 0;
	margin-bottom: 46px;
	padding: 70px clamp(24px, 6vw, 82px) 58px;
}

.shaolin-page-hero::before {
	height: 86px;
	top: 72px;
}

.shaolin-page-hero h1 {
	font-size: 52px !important;
	letter-spacing: 0;
}

.shaolin-tour-brief {
	background: var(--shaolin-jade);
	color: var(--shaolin-white);
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr);
	margin-bottom: 44px;
	padding: 34px;
}

.shaolin-tour-brief span {
	color: rgba(255, 222, 177, 0.9);
	display: block;
	font-size: 12px;
	font-weight: 800;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.shaolin-tour-brief h2 {
	color: var(--shaolin-white);
	font-size: 32px;
	line-height: 1.12;
	margin: 0 0 14px;
	max-width: 760px;
}

.shaolin-tour-brief p {
	color: rgba(255, 250, 240, 0.76);
	line-height: 1.7;
	margin: 0;
}

.shaolin-tour-brief-list {
	border-left: 1px solid rgba(255, 250, 240, 0.18);
	padding-left: 28px;
}

.shaolin-tour-brief-list .shaolin-action {
	margin-top: 22px;
}

@media (max-width: 1120px) {
	.shaolin-hero-stage,
	.shaolin-china-stage,
	.shaolin-price-concierge {
		grid-template-columns: 1fr;
	}

	.shaolin-hero-copy {
		padding-bottom: 0;
	}

	.shaolin-hero-calligraphy,
	.shaolin-red-seal {
		display: none;
	}

	.shaolin-hero-portrait {
		min-height: 520px;
	}

	.shaolin-hero-trust,
	.shaolin-redesign-doctors .shaolin-doctor-list,
	.shaolin-redesign-reviews .shaolin-review-grid,
	.shaolin-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-doctors-head {
		grid-template-columns: 1fr;
	}

	.shaolin-service-feature,
	.shaolin-service-tile,
	.shaolin-service-list {
		grid-column: span 6;
	}

	.shaolin-service-feature {
		min-height: 620px;
	}

	.shaolin-route-line {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 34px;
	}

	.shaolin-route-line::before {
		display: none;
	}
}

@media (max-width: 780px) {
	.shaolin-redesign-hero {
		min-height: auto;
		padding-top: 24px;
	}

	.shaolin-hero-stage,
	.shaolin-hero-trust,
	.shaolin-route-line,
	.shaolin-service-editorial,
	.shaolin-soft-band .shaolin-query-grid,
	.shaolin-redesign-doctors .shaolin-doctor-list,
	.shaolin-redesign-reviews .shaolin-review-grid,
	.shaolin-footer-grid,
	.shaolin-footer-legal {
		grid-template-columns: 1fr;
	}

	.shaolin-hero h1 {
		font-size: 37px !important;
		line-height: 1.07;
	}

	.shaolin-redesign-hero .shaolin-hero-copy p,
	.shaolin-section-kicker p,
	.shaolin-doctors-head p,
	.shaolin-price-copy p,
	.shaolin-china-copy p {
		font-size: 16px;
		line-height: 1.64;
	}

	.shaolin-section-kicker h2,
	.shaolin-doctors-head h2,
	.shaolin-price-copy h2,
	.shaolin-china-copy h2,
	.shaolin-page-hero h1 {
		font-size: 33px !important;
		line-height: 1.12;
	}

	.shaolin-hero-copy {
		padding-top: 16px;
	}

	.shaolin-hero-portrait {
		border-radius: 2px 42px 2px 2px;
		min-height: 380px;
	}

	.shaolin-hero-trust {
		margin-top: 18px;
	}

	.shaolin-hero-trust a {
		border-left: 0;
		border-top: 1px solid rgba(15, 48, 41, 0.12);
		min-height: auto;
		padding: 18px;
	}

	.shaolin-hero-trust a:first-child {
		border-top: 0;
	}

	.shaolin-route-point {
		border-left: 1px solid rgba(15, 48, 41, 0.16);
		padding: 0 0 24px 22px;
	}

	.shaolin-route-point span {
		height: 56px;
		margin-bottom: 14px;
		width: 56px;
	}

	.shaolin-service-feature,
	.shaolin-service-tile,
	.shaolin-service-list {
		grid-column: span 1;
	}

	.shaolin-service-feature {
		grid-template-rows: 290px auto;
		min-height: auto;
	}

	.shaolin-service-feature h3 {
		font-size: 27px;
	}

	.shaolin-service-tile {
		grid-template-columns: 1fr;
	}

	.shaolin-service-tile img {
		aspect-ratio: 16 / 10;
		grid-row: auto;
		min-height: auto;
	}

	.shaolin-service-tile h3,
	.shaolin-service-tile p {
		grid-column: auto;
	}

	.shaolin-china-copy {
		padding-left: 0;
	}

	.shaolin-china-stage figure {
		min-height: 360px;
	}

	.shaolin-price-concierge {
		gap: 28px;
	}

	.shaolin-tour-brief {
		grid-template-columns: 1fr;
	}

	.shaolin-tour-brief-list {
		border-left: 0;
		border-top: 1px solid rgba(255, 250, 240, 0.18);
		padding-left: 0;
		padding-top: 24px;
	}

	.shaolin-price-board {
		padding: 6px 20px 22px;
	}

	.shaolin-footer {
		padding-top: 58px;
	}

	.shaolin-footer-legal {
		gap: 10px;
	}

	.shaolin-page-hero {
		padding: 42px 24px 38px;
	}
}

@media (max-width: 520px) {
	:root {
		--shaolin-mobile-container: min(300px, calc(100vw - 90px));
	}

	.shaolin-site-header,
	.shaolin-redesign-hero,
	.shaolin-section,
	.shaolin-archive-page,
	.shaolin-single-page,
	.shaolin-footer {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		overflow-x: hidden;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
	}

	.shaolin-brand {
		min-width: 0;
	}

	.shaolin-brand img {
		height: 42px;
		width: 146px;
	}

	.shaolin-header-inner {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: var(--shaolin-mobile-container) !important;
		width: var(--shaolin-mobile-container) !important;
	}

	.shaolin-mobile-links {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: var(--shaolin-mobile-container) !important;
		width: var(--shaolin-mobile-container) !important;
	}

	.shaolin-redesign-hero .alignwide,
	.shaolin-hero-trust,
	.shaolin-section .alignwide,
	.shaolin-archive-page > *,
	.shaolin-single-page > *,
	.shaolin-content-wrap,
	.shaolin-footer-grid,
	.shaolin-footer-legal {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: var(--shaolin-mobile-container) !important;
		width: var(--shaolin-mobile-container) !important;
	}

	.shaolin-header-cta {
		font-size: 13px;
		min-height: 40px;
		overflow: hidden;
		padding: 11px 12px;
		width: 78px;
	}

	.shaolin-header-cta {
		font-size: 0;
	}

	.shaolin-header-cta::after {
		content: "Запись";
		font-size: 12px;
	}

	.shaolin-hero h1 {
		font-size: 24px !important;
		max-width: 100%;
		overflow-wrap: break-word;
		text-wrap: wrap;
	}

	.shaolin-section-kicker h2,
	.shaolin-doctors-head h2,
	.shaolin-price-copy h2,
	.shaolin-china-copy h2,
	.shaolin-page-hero h1 {
		font-size: 24px !important;
		max-width: 100%;
		overflow-wrap: break-word;
		text-wrap: wrap;
	}

	.shaolin-content-wrap .wp-block-table {
		display: block;
		max-width: 100%;
		overflow-x: hidden;
	}

	.shaolin-content-wrap table {
		min-width: 0;
		table-layout: fixed;
		width: 100%;
	}

	.shaolin-content-wrap th,
	.shaolin-content-wrap td {
		font-size: 12px;
		line-height: 1.35;
		overflow-wrap: break-word;
		padding: 8px;
	}

	.shaolin-section p,
	.shaolin-section li,
	.shaolin-archive-page p,
	.shaolin-archive-page li,
	.shaolin-single-page p,
	.shaolin-single-page li,
	.shaolin-content-wrap p,
	.shaolin-content-wrap li,
	.shaolin-footer p {
		overflow-wrap: break-word !important;
		word-break: normal !important;
	}

	.shaolin-hero-actions,
	.shaolin-cta-row {
		display: grid;
		grid-template-columns: 1fr;
	}

	.shaolin-hero-actions {
		max-width: 360px;
	}

	.shaolin-action,
	.shaolin-hero-actions .shaolin-action,
	.shaolin-cta-row .wp-block-button,
	.shaolin-cta-row .wp-block-button__link {
		max-width: 100%;
		width: auto;
	}

	.shaolin-service-feature h3,
	.shaolin-service-feature p,
	.shaolin-service-feature span {
		margin-left: 22px;
		margin-right: 22px;
	}

	.shaolin-service-feature p {
		margin-bottom: 22px;
	}
}

.shaolin-contact-showcase {
	margin: 0 auto 88px;
	max-width: 1060px;
}

.shaolin-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.78fr);
	gap: 34px;
	align-items: stretch;
	max-width: 100%;
	overflow: hidden;
}

.shaolin-contact-main,
.shaolin-contact-cards article {
	background: rgba(255, 252, 245, 0.92);
	border: 1px solid rgba(21, 42, 34, 0.13);
	box-shadow: 0 22px 60px rgba(29, 39, 34, 0.08);
}

.shaolin-contact-main {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(32px, 5vw, 62px);
}

.shaolin-contact-kicker,
.shaolin-contact-cards span {
	color: var(--wp--preset--color--lacquer);
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.04em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.shaolin-contact-main h2 {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(34px, 3.2vw, 48px);
	line-height: 1.04;
	margin: 0 0 24px;
	max-width: 680px;
}

.shaolin-contact-main p {
	color: rgba(22, 40, 34, 0.74);
	font-size: 18px;
	line-height: 1.75;
	margin: 0 0 28px;
	max-width: 720px;
}

.shaolin-contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.shaolin-contact-photo {
	align-self: stretch;
	aspect-ratio: 4 / 3.3;
	height: 100%;
	margin: 0;
	max-width: 100%;
	min-height: 100%;
	min-width: 0;
	overflow: hidden;
	width: 100%;
}

.shaolin-contact-photo img {
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.shaolin-contact-cards {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 18px;
}

.shaolin-contact-cards article {
	min-height: 190px;
	padding: 28px;
}

.shaolin-contact-cards strong {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-size: 22px;
	line-height: 1.18;
	margin-bottom: 14px;
}

.shaolin-contact-cards p {
	color: rgba(22, 40, 34, 0.72);
	line-height: 1.65;
	margin: 0;
}

@media (max-width: 900px) {
	.shaolin-contact-grid,
	.shaolin-contact-cards {
		grid-template-columns: 1fr;
	}

	.shaolin-contact-photo {
		aspect-ratio: 4 / 3;
		height: auto;
		min-height: 0;
	}
}

@media (max-width: 520px) {
	.shaolin-doctors-archive .shaolin-doctor-card {
		gap: 14px;
		grid-template-columns: 112px minmax(0, 1fr);
		padding: 12px;
	}

	.shaolin-doctors-archive .shaolin-doctor-photo {
		width: 112px;
	}

	.shaolin-contact-showcase {
		margin-bottom: 58px;
		max-width: var(--shaolin-mobile-container);
	}

	.shaolin-contact-main {
		padding: 26px 18px;
	}

	.shaolin-contact-main h2 {
		font-size: 27px;
		line-height: 1.08;
	}

	.shaolin-contact-main p,
	.shaolin-contact-cards p {
		font-size: 15px;
		line-height: 1.65;
	}

	.shaolin-contact-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.shaolin-contact-cards article {
		min-height: 0;
		padding: 22px 18px;
	}

	.shaolin-contact-cards strong {
		font-size: 19px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shaolin-action,
	.shaolin-service-feature,
	.shaolin-service-tile,
	.shaolin-service-list,
	.shaolin-doctor-card,
	.shaolin-header-cta {
		transition: none;
	}
}

/* Premium clinic direction pass: editorial density, calmer proof, stronger responsive rhythm. */
body {
	background:
		linear-gradient(90deg, rgba(20, 33, 29, 0.016) 1px, transparent 1px),
		linear-gradient(rgba(20, 33, 29, 0.012) 1px, transparent 1px),
		var(--shaolin-paper);
	background-size: 88px 88px, 88px 88px, auto;
}

.shaolin-site-header {
	background: rgba(244, 239, 228, 0.88);
	border-bottom: 1px solid rgba(20, 33, 29, 0.09);
}

.shaolin-header-inner {
	gap: 22px;
}

.shaolin-header-phone {
	color: rgba(20, 33, 29, 0.74);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.shaolin-header-phone:hover {
	color: var(--shaolin-red);
}

.shaolin-header-cta,
.shaolin-action {
	border-radius: 4px;
}

.shaolin-header-cta {
	min-height: 42px;
	padding: 13px 18px;
}

.shaolin-action-primary {
	box-shadow: 0 14px 28px rgba(138, 43, 36, 0.16);
}

.shaolin-action-primary::after,
.shaolin-action-ghost::after,
.shaolin-action-outline-light::after {
	content: "";
	border-right: 1px solid currentColor;
	border-top: 1px solid currentColor;
	display: inline-block;
	height: 7px;
	margin-left: 2px;
	transform: rotate(45deg);
	width: 7px;
}

.shaolin-redesign-hero {
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.98), rgba(244, 239, 228, 0.94)),
		radial-gradient(circle at 76% 18%, rgba(178, 138, 74, 0.1), transparent 28%),
		var(--shaolin-paper);
	min-height: min(780px, calc(100dvh - 78px));
	padding-top: 46px;
}

.shaolin-hero-stage {
	gap: clamp(46px, 5vw, 74px);
	grid-template-columns: minmax(0, 0.86fr) minmax(500px, 0.98fr);
	min-height: 612px;
}

.shaolin-hero-copy {
	padding-bottom: 72px;
}

.shaolin-seal-line {
	margin-bottom: 24px;
}

.shaolin-hero h1 {
	font-size: clamp(50px, 4.55vw, 66px) !important;
	line-height: 1.015;
	max-width: 760px;
}

.shaolin-redesign-hero .shaolin-hero-copy p {
	font-size: clamp(18px, 1.42vw, 21px);
	line-height: 1.68;
}

.shaolin-hero-note {
	border-top: 1px solid rgba(138, 43, 36, 0.28);
	color: rgba(20, 33, 29, 0.66);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.45;
	margin-top: 22px;
	padding-top: 12px;
}

.shaolin-hero-portrait {
	border-radius: 2px 96px 2px 2px;
	box-shadow: 0 34px 82px rgba(15, 48, 41, 0.14);
	min-height: 610px;
}

.shaolin-hero-portrait img {
	filter: contrast(1.02) saturate(0.96);
	object-position: center center;
}

.shaolin-hero-portrait figcaption {
	background: rgba(255, 250, 240, 0.88);
	backdrop-filter: blur(12px);
	color: rgba(15, 48, 41, 0.82);
}

.shaolin-hero-calligraphy {
	color: rgba(15, 48, 41, 0.18);
	left: 47.5%;
	top: 74px;
}

.shaolin-red-seal {
	bottom: 74px;
	right: 38.5%;
}

.shaolin-hero-trust {
	background: rgba(255, 250, 240, 0.9);
	box-shadow: 0 18px 44px rgba(15, 48, 41, 0.075);
	margin-top: -42px;
}

.shaolin-hero-trust a {
	min-height: 106px;
	padding: 20px 22px;
}

.shaolin-hero-trust strong {
	font-size: 16px;
}

.shaolin-section {
	padding-bottom: 88px;
	padding-top: 88px;
}

.shaolin-section-kicker,
.shaolin-doctors-head,
.shaolin-redesign-reviews .shaolin-section-intro {
	margin-bottom: 46px;
}

.shaolin-section-kicker h2,
.shaolin-doctors-head h2,
.shaolin-price-copy h2,
.shaolin-china-copy h2 {
	font-size: clamp(38px, 3.45vw, 50px);
	line-height: 1.055;
}

.shaolin-redesign-route {
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.86), rgba(255, 250, 240, 0.76)),
		var(--shaolin-porcelain);
}

.shaolin-route-line {
	background: rgba(255, 250, 240, 0.5);
	border: 1px solid rgba(15, 48, 41, 0.1);
	padding: 32px 28px 34px;
}

.shaolin-route-line::before {
	left: 10%;
	right: 10%;
	top: 69px;
}

.shaolin-route-point {
	padding-right: 28px;
}

.shaolin-route-point span {
	background: var(--shaolin-paper);
	height: 70px;
	width: 70px;
}

.shaolin-redesign-services {
	padding-top: 104px;
}

.shaolin-service-editorial {
	gap: 20px;
}

.shaolin-service-feature,
.shaolin-service-tile,
.shaolin-service-list,
.shaolin-query-card,
.shaolin-review-card,
.shaolin-price-board {
	background: rgba(255, 250, 240, 0.78);
	border-color: rgba(15, 48, 41, 0.11);
	border-radius: 2px;
}

.shaolin-service-feature {
	min-height: 690px;
}

.shaolin-service-feature img {
	min-height: 390px;
}

.shaolin-service-feature h3 {
	font-size: clamp(30px, 2.55vw, 38px);
}

.shaolin-programs-editorial .shaolin-section-heading {
	margin-left: 0;
	max-width: 850px;
}

.shaolin-programs-editorial .shaolin-query-grid {
	align-items: stretch;
	grid-template-columns: 1.24fr 0.88fr 0.88fr;
}

.shaolin-programs-editorial .shaolin-query-card:first-child {
	background: rgba(255, 250, 240, 0.94);
}

.shaolin-programs-editorial .shaolin-query-card:first-child .shaolin-card-image {
	min-height: 320px;
}

.shaolin-redesign-doctors {
	background:
		linear-gradient(180deg, rgba(15, 48, 41, 0.07), rgba(244, 239, 228, 0) 42%),
		var(--shaolin-paper);
}

.shaolin-redesign-doctors .shaolin-doctor-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-card {
	align-items: stretch;
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.88), rgba(244, 239, 228, 0.72)),
		var(--shaolin-porcelain);
	display: grid;
	grid-template-columns: 144px minmax(0, 1fr);
	min-height: 218px;
}

.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-photo {
	background: rgba(15, 48, 41, 0.08);
	height: 100%;
	margin: 0;
	min-height: 218px;
	overflow: hidden;
	position: relative;
}

.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-photo img {
	aspect-ratio: auto;
	filter: grayscale(0.12) saturate(0.78) contrast(1.03);
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transform: scale(1.06);
	width: 100%;
}

.shaolin-redesign-doctors .shaolin-doctor-copy {
	border-left: 1px solid rgba(15, 48, 41, 0.1);
	border-top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 24px 26px;
}

.shaolin-redesign-doctors .shaolin-doctor-copy h2,
.shaolin-redesign-doctors .shaolin-doctor-copy h3 {
	font-size: 23px;
	line-height: 1.14;
}

.shaolin-redesign-doctors .shaolin-doctor-copy .wp-block-post-excerpt {
	color: rgba(20, 33, 29, 0.67);
	font-size: 14px;
	line-height: 1.58;
}

.shaolin-redesign-gallery {
	background:
		linear-gradient(180deg, rgba(15, 48, 41, 0.98), rgba(13, 42, 36, 0.98)),
		var(--shaolin-jade);
}

.shaolin-photo-mosaic {
	gap: 18px;
}

.shaolin-photo-tile {
	border-color: rgba(255, 250, 240, 0.13);
	box-shadow: 0 20px 54px rgba(0, 0, 0, 0.18);
}

.shaolin-china-band {
	background:
		linear-gradient(90deg, rgba(12, 38, 33, 0.99), rgba(17, 58, 50, 0.96)),
		var(--shaolin-jade);
}

.shaolin-china-stage figure {
	background: rgba(255, 250, 240, 0.05);
	min-height: 560px;
}

.shaolin-china-stage img {
	filter: saturate(0.92) contrast(1.02);
	object-position: center;
}

.shaolin-price-concierge {
	grid-template-columns: minmax(0, 0.82fr) minmax(500px, 0.78fr);
}

.shaolin-price-board {
	box-shadow: 0 18px 44px rgba(15, 48, 41, 0.08);
}

.shaolin-redesign-reviews .shaolin-review-grid {
	grid-template-columns: 0.92fr 1.16fr 0.92fr;
}

.shaolin-redesign-reviews .shaolin-review-card {
	min-height: 280px;
	padding: 30px 32px;
}

.shaolin-review-mark {
	font-family: "Literata", Georgia, "Times New Roman", serif;
}

.shaolin-final-cta {
	background:
		linear-gradient(90deg, rgba(15, 48, 41, 0.99), rgba(20, 66, 57, 0.94)),
		var(--shaolin-jade);
}

.shaolin-footer-links {
	gap: 8px;
}

@media (max-width: 1120px) {
	.shaolin-header-phone {
		display: none;
	}

	.shaolin-hero-stage,
	.shaolin-price-concierge,
	.shaolin-china-stage {
		grid-template-columns: 1fr;
	}

	.shaolin-hero-copy {
		max-width: 760px;
		padding-bottom: 0;
	}

	.shaolin-hero-portrait {
		min-height: 520px;
	}

	.shaolin-redesign-doctors .shaolin-doctor-list {
		grid-template-columns: 1fr;
	}

	.shaolin-programs-editorial .shaolin-query-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 780px) {
	.shaolin-site-header {
		position: sticky;
	}

	.shaolin-header-inner .wp-block-navigation {
		display: none;
	}

	.shaolin-header-cta {
		display: inline-flex;
	}

	.shaolin-redesign-hero {
		min-height: auto;
		padding-bottom: 34px;
		padding-top: 26px;
	}

	.shaolin-hero-stage {
		gap: 28px;
		min-height: auto;
	}

	.shaolin-hero h1 {
		font-size: clamp(36px, 10.2vw, 46px) !important;
		line-height: 1.04;
	}

	.shaolin-redesign-hero .shaolin-hero-copy p {
		font-size: 17px;
		line-height: 1.64;
	}

	.shaolin-hero-note {
		font-size: 13px;
	}

	.shaolin-hero-portrait {
		border-radius: 2px 52px 2px 2px;
		min-height: 430px;
	}

	.shaolin-hero-trust,
	.shaolin-route-line,
	.shaolin-programs-editorial .shaolin-query-grid,
	.shaolin-redesign-reviews .shaolin-review-grid {
		grid-template-columns: 1fr;
	}

	.shaolin-hero-trust {
		margin-top: 18px;
	}

	.shaolin-hero-trust a {
		min-height: auto;
	}

	.shaolin-section {
		padding-bottom: 64px;
		padding-top: 64px;
	}

	.shaolin-section-kicker h2,
	.shaolin-doctors-head h2,
	.shaolin-price-copy h2,
	.shaolin-china-copy h2 {
		font-size: clamp(32px, 8.6vw, 40px);
	}

	.shaolin-route-line {
		padding: 26px 22px 4px;
	}

	.shaolin-route-line::before {
		display: none;
	}

	.shaolin-route-point {
		border-left: 1px solid rgba(15, 48, 41, 0.14);
		padding: 0 0 26px 22px;
	}

	.shaolin-route-point span {
		height: 56px;
		width: 56px;
	}

	.shaolin-service-feature {
		grid-template-rows: 300px auto;
		min-height: auto;
	}

	.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-card {
		grid-template-columns: 124px minmax(0, 1fr);
		min-height: 184px;
	}

	.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-photo {
		min-height: 184px;
	}
}

@media (max-width: 520px) {
	:root {
		--shaolin-mobile-container: min(342px, calc(100vw - 48px));
	}

	.shaolin-redesign-hero .alignwide,
	.shaolin-hero-trust,
	.shaolin-section .alignwide,
	.shaolin-archive-page > *,
	.shaolin-single-page > *,
	.shaolin-content-wrap,
	.shaolin-footer-grid,
	.shaolin-footer-legal,
	.shaolin-header-inner,
	.shaolin-mobile-links {
		max-width: var(--shaolin-mobile-container) !important;
		width: var(--shaolin-mobile-container) !important;
	}

	.shaolin-brand img {
		height: 42px;
		width: 150px;
	}

	.shaolin-header-cta {
		border-radius: 999px;
		display: inline-flex;
		min-height: 40px;
		width: 84px;
	}

	.shaolin-hero h1 {
		font-size: 32px !important;
		line-height: 1.06;
	}

	.shaolin-hero-actions {
		max-width: 100%;
	}

	.shaolin-action {
		min-height: 48px;
		width: 100%;
	}

	.shaolin-hero-portrait {
		min-height: 380px;
	}

	.shaolin-hero-portrait figcaption {
		font-size: 11px;
		padding: 12px 14px;
	}

	.shaolin-service-feature,
	.shaolin-service-tile,
	.shaolin-service-list {
		border-radius: 2px;
	}

	.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-card {
		grid-template-columns: 104px minmax(0, 1fr);
		min-height: 168px;
	}

	.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-photo {
		min-height: 168px;
	}

	.shaolin-redesign-doctors .shaolin-doctor-copy {
		padding: 18px 16px;
	}

	.shaolin-redesign-doctors .shaolin-doctor-copy h2,
	.shaolin-redesign-doctors .shaolin-doctor-copy h3 {
		font-size: 20px;
	}

	.shaolin-redesign-doctors .shaolin-doctor-copy .wp-block-post-excerpt {
		display: none;
	}

	.shaolin-china-stage figure {
		min-height: 300px;
	}
}

/* Second QA pass: reduce hero drag, improve trust/license/reviews, and tighten mobile first view. */
.shaolin-redesign-hero {
	min-height: min(730px, calc(100dvh - 78px));
}

.shaolin-hero-stage {
	min-height: 574px;
}

.shaolin-hero-copy {
	padding-bottom: 52px;
}

.shaolin-hero-portrait {
	min-height: 570px;
}

.shaolin-red-seal {
	bottom: 66px;
}

.shaolin-hero-trust {
	margin-top: -30px;
}

.shaolin-china-copy h2 {
	font-size: clamp(38px, 3.25vw, 48px);
}

.shaolin-redesign-reviews .shaolin-review-card {
	display: flex;
	flex-direction: column;
}

.shaolin-redesign-reviews .shaolin-review-card p:not(.shaolin-review-mark) {
	color: rgba(20, 33, 29, 0.72);
	font-size: 18px;
	line-height: 1.68;
	margin-bottom: 28px;
}

.shaolin-redesign-reviews .shaolin-review-card strong {
	color: var(--shaolin-red);
	display: block;
	font-size: 15px;
	margin-top: auto;
}

.shaolin-review-source {
	color: rgba(20, 33, 29, 0.52);
	display: block;
	font-size: 12px;
	font-weight: 800;
	margin-top: 6px;
	text-transform: uppercase;
}

.shaolin-redesign-reviews .shaolin-review-card:nth-child(2) p:not(.shaolin-review-mark),
.shaolin-redesign-reviews .shaolin-review-card:nth-child(2) .shaolin-review-source {
	color: rgba(255, 250, 240, 0.76);
}

.shaolin-redesign-reviews .shaolin-review-card:nth-child(2) strong {
	color: rgba(255, 250, 240, 0.96);
}

.shaolin-license-section {
	background:
		linear-gradient(90deg, rgba(255, 250, 240, 0.92), rgba(244, 239, 228, 0.78)),
		var(--shaolin-paper);
}

.shaolin-license-section h2 {
	font-size: clamp(36px, 3vw, 46px);
}

@media (max-width: 780px) {
	.shaolin-hero-portrait {
		min-height: 392px;
	}
}

@media (max-width: 520px) {
	.shaolin-header-cta {
		width: 88px;
	}

	.shaolin-hero h1 {
		font-size: 31px !important;
	}

	.shaolin-redesign-hero .shaolin-hero-copy p {
		font-size: 16px;
		line-height: 1.58;
	}

	.shaolin-hero-note {
		display: none;
	}

	.shaolin-hero-portrait {
		min-height: 342px;
	}

	.shaolin-redesign-reviews .shaolin-review-card p:not(.shaolin-review-mark) {
		font-size: 16px;
		line-height: 1.62;
	}
}

/* Third QA pass: simplify mobile header, lighten the atmosphere block, and harden wrapping. */
.shaolin-service-feature,
.shaolin-service-tile,
.shaolin-service-list,
.shaolin-query-card,
.shaolin-review-card,
.shaolin-doctor-card,
.shaolin-price-board,
.shaolin-license-card,
.shaolin-route-point {
	min-width: 0;
	overflow-wrap: break-word;
}

.shaolin-section h2,
.shaolin-section h3,
.shaolin-hero h1,
.shaolin-china-copy h2,
.shaolin-doctor-copy h2,
.shaolin-doctor-copy h3,
.shaolin-review-card p,
.shaolin-price-board li {
	hyphens: auto;
	overflow-wrap: break-word;
}

.shaolin-redesign-gallery {
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.92), rgba(244, 239, 228, 0.96)),
		var(--shaolin-paper);
	color: var(--shaolin-ink);
}

.shaolin-redesign-gallery h2 {
	color: var(--shaolin-ink);
}

.shaolin-redesign-gallery .shaolin-eyebrow {
	color: var(--shaolin-red);
}

.shaolin-redesign-gallery p,
.shaolin-photo-band.shaolin-redesign-gallery p {
	color: rgba(20, 33, 29, 0.68);
}

.shaolin-redesign-gallery .shaolin-photo-tile {
	border-color: rgba(15, 48, 41, 0.1);
	box-shadow: 0 20px 50px rgba(15, 48, 41, 0.09);
}

.shaolin-redesign-gallery .shaolin-photo-tile::after {
	background: linear-gradient(180deg, rgba(8, 28, 24, 0) 45%, rgba(8, 28, 24, 0.64));
}

.shaolin-redesign-doctors .shaolin-doctor-copy h2,
.shaolin-redesign-doctors .shaolin-doctor-copy h3 {
	text-wrap: balance;
}

@media (max-width: 780px) {
	.shaolin-mobile-links {
		gap: 0;
	}

	.shaolin-mobile-links a:last-child {
		display: none;
	}

	.shaolin-mobile-links a {
		font-size: 13px;
	}

	.shaolin-section-kicker h2,
	.shaolin-doctors-head h2,
	.shaolin-price-copy h2,
	.shaolin-china-copy h2,
	.shaolin-license-section h2 {
		font-size: clamp(30px, 8vw, 36px);
		line-height: 1.08;
	}

	.shaolin-china-emblem {
		display: none;
	}

	.shaolin-china-copy {
		padding-left: 0;
	}
}

@media (max-width: 520px) {
	.shaolin-mobile-links {
		padding: 9px 0 11px;
	}

	.shaolin-service-feature h3,
	.shaolin-service-tile h3,
	.shaolin-service-list h3 {
		font-size: 26px;
		line-height: 1.12;
	}

	.shaolin-redesign-doctors .shaolin-doctor-list .shaolin-doctor-card {
		grid-template-columns: 98px minmax(0, 1fr);
	}

	.shaolin-redesign-doctors .shaolin-doctor-copy h2,
	.shaolin-redesign-doctors .shaolin-doctor-copy h3 {
		font-size: 19px;
	}

	.shaolin-redesign-gallery {
		padding-top: 66px;
	}

	.shaolin-china-band {
		padding-top: 72px;
	}

	.shaolin-china-stage {
		box-sizing: border-box;
		padding: 30px 22px 0;
	}

	.shaolin-china-copy span {
		display: block;
		margin-bottom: 12px;
	}

	.shaolin-china-copy h2 {
		font-size: 30px !important;
		line-height: 1.08;
		margin-bottom: 18px;
	}
}

/* Reference-grade homepage rebuild: image-led editorial clinic system. */
body {
	background:
		linear-gradient(180deg, rgba(246, 241, 231, 0.94), rgba(246, 241, 231, 0.98)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") top center / 100% auto repeat-y,
		#f6f1e7;
}

.shaolin-ref-header {
	background: rgba(246, 241, 231, 0.88);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid rgba(28, 45, 40, 0.12);
}

.shaolin-ref-header .shaolin-header-inner {
	align-items: center;
	display: grid !important;
	grid-template-columns: 230px minmax(0, 1fr) 132px;
	min-height: 78px;
	padding: 12px 0;
}

.shaolin-ref-header .shaolin-brand {
	min-width: 0;
	width: 220px;
}

.shaolin-ref-header .shaolin-brand img {
	height: 58px;
	width: 220px;
}

.shaolin-ref-header .shaolin-primary-nav {
	justify-content: center;
}

.shaolin-ref-header .wp-block-navigation__container {
	gap: 34px;
	justify-content: center;
}

.shaolin-ref-header .wp-block-navigation a {
	color: #17241f;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
}

.shaolin-ref-header .shaolin-header-cta {
	background: #123a31;
	border-radius: 999px;
	box-shadow: none;
	color: #fffaf0;
	font-size: 14px;
	font-weight: 900;
	flex: 0 0 auto;
	min-height: 48px;
	overflow: visible;
	padding: 0 24px;
	text-indent: 0;
	white-space: nowrap;
	width: auto;
}

.shaolin-ref-header .shaolin-header-cta::after {
	content: none;
}

.shaolin-ref-home {
	--ref-bg: #f6f1e7;
	--ref-paper: #fffaf0;
	--ref-ink: #10221d;
	--ref-muted: rgba(16, 34, 29, 0.68);
	--ref-line: rgba(31, 47, 42, 0.16);
	--ref-red: #972f27;
	--ref-gold: #bc9557;
	--ref-jade: #0e332b;
	background:
		linear-gradient(180deg, rgba(246, 241, 231, 0.74), rgba(246, 241, 231, 0.94)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") top center / 100% auto repeat-y;
	color: var(--ref-ink);
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	overflow: hidden;
}

.shaolin-ref-home .alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: 1240px;
	width: calc(100% - 80px);
}

.shaolin-ref-home h1,
.shaolin-ref-home h2,
.shaolin-ref-home h3 {
	color: var(--ref-ink);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-weight: 600;
	letter-spacing: 0;
	margin: 0;
}

.shaolin-ref-home p {
	color: var(--ref-muted);
	line-height: 1.72;
	margin: 0;
}

.shaolin-ref-hero {
	min-height: 640px;
	position: relative;
}

.shaolin-ref-bg {
	background:
		linear-gradient(90deg, rgba(246, 241, 231, 0.96) 0%, rgba(246, 241, 231, 0.76) 48%, rgba(246, 241, 231, 0.05) 72%),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") left top / cover no-repeat;
	inset: 0;
	position: absolute;
	z-index: 0;
}

.shaolin-ref-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(540px, 1.25fr);
	min-height: 570px;
	position: relative;
	z-index: 1;
}

.shaolin-ref-hero-copy {
	align-self: center;
	max-width: 540px;
	padding: 64px 0 92px;
	position: relative;
	z-index: 2;
}

.shaolin-ref-kicker {
	align-items: center;
	color: var(--ref-red);
	display: inline-flex;
	font-size: 18px;
	font-weight: 800;
	gap: 12px;
	margin-bottom: 22px;
}

.shaolin-ref-kicker::before {
	background: var(--ref-red);
	content: "";
	display: block;
	height: 1px;
	width: 56px;
}

.shaolin-ref-hero h1 {
	font-size: clamp(54px, 5.1vw, 74px);
	line-height: 0.98;
	max-width: 560px;
}

.shaolin-ref-hero-copy p {
	font-size: 18px;
	line-height: 1.72;
	margin-top: 28px;
	max-width: 470px;
}

.shaolin-ref-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.shaolin-ref-btn {
	align-items: center;
	border: 1px solid rgba(16, 34, 29, 0.34);
	display: inline-flex;
	font-size: 14px;
	font-weight: 900;
	justify-content: center;
	min-height: 48px;
	padding: 0 28px;
	text-decoration: none;
	transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.shaolin-ref-btn:hover {
	transform: translateY(-1px);
}

.shaolin-ref-btn-primary {
	background: var(--ref-red);
	border-color: var(--ref-red);
	color: #fffaf0;
}

.shaolin-ref-btn-outline {
	background: rgba(255, 250, 240, 0.56);
	color: var(--ref-ink);
}

.shaolin-ref-btn-gold {
	background: transparent;
	border-color: rgba(213, 182, 115, 0.72);
	color: #fff7df;
}

.shaolin-ref-address {
	color: rgba(16, 34, 29, 0.66);
	font-size: 14px;
	font-weight: 700;
	margin-top: 22px;
}

.shaolin-ref-hero-photo {
	align-self: end;
	height: 570px;
	margin: 0;
	overflow: hidden;
	position: relative;
}

.shaolin-ref-hero-photo::before {
	background: linear-gradient(90deg, rgba(246, 241, 231, 0.98), rgba(246, 241, 231, 0));
	content: "";
	inset: 0 auto 0 0;
	pointer-events: none;
	position: absolute;
	width: 22%;
	z-index: 1;
}

.shaolin-ref-hero-photo img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center right;
	width: 100%;
}

.shaolin-ref-calligraphy {
	color: rgba(12, 31, 27, 0.86);
	display: grid;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 28px;
	gap: 10px;
	line-height: 1;
	position: absolute;
	right: 18px;
	top: 96px;
	writing-mode: vertical-rl;
	z-index: 2;
}

.shaolin-ref-seal {
	align-items: center;
	border: 2px solid var(--ref-red);
	bottom: 70px;
	color: var(--ref-red);
	display: flex;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 18px;
	font-weight: 800;
	height: 48px;
	justify-content: center;
	position: absolute;
	right: 28px;
	width: 48px;
	z-index: 2;
}

.shaolin-ref-trust {
	background: rgba(255, 250, 240, 0.94);
	border: 1px solid rgba(31, 47, 42, 0.1);
	box-shadow: 0 18px 50px rgba(58, 44, 28, 0.08);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: -36px;
	position: relative;
	z-index: 3;
}

.shaolin-ref-trust a {
	display: grid;
	gap: 4px;
	grid-template-columns: 36px minmax(0, 1fr);
	min-height: 92px;
	padding: 22px 24px;
	text-decoration: none;
}

.shaolin-ref-trust a + a {
	border-left: 1px solid rgba(31, 47, 42, 0.1);
}

.shaolin-ref-icon {
	align-items: center;
	color: #1f6f58;
	display: flex;
	font-size: 25px;
	grid-row: span 2;
	justify-content: center;
}

.shaolin-ref-trust strong {
	color: var(--ref-ink);
	font-size: 15px;
	font-weight: 900;
	line-height: 1.25;
}

.shaolin-ref-trust small {
	color: rgba(16, 34, 29, 0.62);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
}

.shaolin-ref-section {
	padding: 64px 0 0;
	position: relative;
}

.shaolin-ref-section h2 {
	font-size: clamp(34px, 3.2vw, 48px);
	line-height: 1.04;
}

.shaolin-ref-route {
	padding-top: 58px;
}

.shaolin-ref-route::after {
	background: url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") right center / 760px auto no-repeat;
	content: "";
	inset: 0 -80px auto auto;
	height: 270px;
	opacity: 0.72;
	position: absolute;
	width: 720px;
	z-index: 0;
}

.shaolin-ref-route h2,
.shaolin-ref-route-line {
	position: relative;
	z-index: 1;
}

.shaolin-ref-route-line {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-top: 28px;
}

.shaolin-ref-route-line::before {
	background: rgba(115, 99, 67, 0.42);
	content: "";
	height: 1px;
	left: 14px;
	position: absolute;
	right: 14px;
	top: 16px;
}

.shaolin-ref-route-line div {
	padding-right: 26px;
	position: relative;
}

.shaolin-ref-route-line span {
	align-items: center;
	background: var(--ref-bg);
	border: 2px solid var(--ref-gold);
	border-radius: 999px;
	color: #9a6f32;
	display: flex;
	font-size: 13px;
	font-weight: 900;
	height: 32px;
	justify-content: center;
	margin-bottom: 18px;
	position: relative;
	width: 32px;
	z-index: 2;
}

.shaolin-ref-route-line strong {
	color: var(--ref-ink);
	display: block;
	font-size: 15px;
	margin-bottom: 8px;
}

.shaolin-ref-route-line small {
	color: rgba(16, 34, 29, 0.66);
	display: block;
	font-size: 13px;
	line-height: 1.45;
}

.shaolin-ref-heading-row {
	align-items: end;
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}

.shaolin-ref-heading-row a {
	color: var(--ref-red);
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.shaolin-ref-heading-row h2 span,
.shaolin-ref-gallery h2 span,
.shaolin-ref-reviews h2 span {
	color: var(--ref-red);
	font-size: 28px;
	margin-left: 8px;
}

.shaolin-ref-service-grid {
	border: 1px solid rgba(31, 47, 42, 0.16);
	display: grid;
	grid-template-columns: 1.18fr 0.9fr 1.05fr 0.9fr;
	grid-template-rows: 206px 206px;
}

.shaolin-ref-service-grid a {
	border-bottom: 1px solid rgba(31, 47, 42, 0.16);
	border-right: 1px solid rgba(31, 47, 42, 0.16);
	color: inherit;
	min-width: 0;
	text-decoration: none;
}

.shaolin-ref-service-grid a:nth-child(n+5) {
	border-bottom: 0;
}

.shaolin-ref-service-grid a:nth-child(4n) {
	border-right: 0;
}

.shaolin-ref-service-photo {
	background: #e9dfcf;
	overflow: hidden;
}

.shaolin-ref-service-photo img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-ref-service-card {
	background: rgba(255, 250, 240, 0.82);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 28px 30px;
}

.shaolin-ref-service-card strong {
	color: var(--ref-ink);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.14;
}

.shaolin-ref-service-card p {
	font-size: 14px;
	line-height: 1.58;
	margin-top: 14px;
}

.shaolin-ref-service-card span {
	color: var(--ref-red);
	font-size: 13px;
	font-weight: 900;
	margin-top: 20px;
}

.shaolin-ref-doctor-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.shaolin-ref-doctor {
	background: linear-gradient(180deg, rgba(255, 250, 240, 0.9), rgba(247, 241, 230, 0.78));
	border: 1px solid rgba(31, 47, 42, 0.12);
	box-shadow: 0 22px 54px rgba(31, 47, 42, 0.07);
	color: inherit;
	display: grid;
	gap: 0 18px;
	grid-template-columns: 104px minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	min-height: 220px;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.shaolin-ref-doctor::after {
	background: var(--ref-red);
	bottom: 24px;
	content: "";
	height: 1px;
	left: 22px;
	position: absolute;
	width: 34px;
}

.shaolin-ref-doctor img {
	background: #efe8dc;
	box-sizing: border-box;
	grid-row: 1 / span 2;
	height: 132px;
	margin: 26px 0 0 22px;
	object-fit: contain;
	object-position: center bottom;
	padding: 10px 8px 0;
	width: 96px;
}

.shaolin-ref-doctor strong {
	align-self: end;
	color: var(--ref-ink);
	display: block;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 22px;
	line-height: 1.08;
	padding: 42px 18px 8px 0;
}

.shaolin-ref-doctor small {
	color: rgba(16, 34, 29, 0.64);
	font-size: 12px;
	font-weight: 650;
	line-height: 1.45;
	padding: 0 18px 44px 0;
}

.shaolin-ref-gallery h2 {
	margin-bottom: 22px;
}

.shaolin-ref-gallery-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: 1.1fr 1fr 0.78fr 1.05fr;
}

.shaolin-ref-gallery-grid img {
	aspect-ratio: 1.3 / 1;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-ref-gallery-grid img:first-child {
	aspect-ratio: 1.05 / 1;
}

.shaolin-ref-gallery-grid img:nth-child(3) {
	aspect-ratio: 0.9 / 1;
}

.shaolin-ref-china {
	background:
		linear-gradient(90deg, rgba(7, 36, 30, 0.96), rgba(7, 36, 30, 0.74)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/china-temple-dark-banner.jpg") center / cover no-repeat;
	color: #fff9e8;
	margin-top: 68px;
}

.shaolin-ref-china-inner {
	align-items: center;
	display: grid;
	gap: 54px;
	grid-template-columns: 210px minmax(0, 1fr) 210px;
	min-height: 270px;
	padding: 42px 0;
}

.shaolin-ref-medallion {
	align-items: center;
	aspect-ratio: 1;
	border: 2px solid rgba(195, 153, 82, 0.62);
	border-radius: 999px;
	color: rgba(221, 181, 105, 0.8);
	display: flex;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 28px;
	justify-content: center;
	line-height: 1.2;
	text-align: center;
}

.shaolin-ref-china h2 {
	color: #fff9e8;
	font-size: clamp(34px, 3vw, 48px);
	margin-bottom: 18px;
}

.shaolin-ref-china p,
.shaolin-ref-china li {
	color: rgba(255, 249, 232, 0.82);
	font-size: 16px;
}

.shaolin-ref-china ul {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
}

.shaolin-ref-china li::before {
	color: var(--ref-gold);
	content: "✓";
	font-weight: 900;
	margin-right: 10px;
}

.shaolin-ref-booking {
	display: grid;
	gap: 42px;
	grid-template-columns: 0.8fr 1.2fr;
	padding-bottom: 56px;
	padding-top: 54px;
}

.shaolin-ref-booking-copy p {
	font-size: 15px;
	margin: 14px 0 24px;
	max-width: 360px;
}

.shaolin-ref-booking-icons {
	border-left: 1px solid rgba(31, 47, 42, 0.12);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.shaolin-ref-booking-icons div {
	align-items: center;
	border-right: 1px solid rgba(31, 47, 42, 0.12);
	display: flex;
	flex-direction: column;
	gap: 12px;
	justify-content: center;
	min-height: 144px;
	padding: 16px;
	text-align: center;
}

.shaolin-ref-booking-icons span {
	align-items: center;
	color: var(--ref-gold);
	display: flex;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.shaolin-ref-booking-icons svg {
	display: block;
	fill: none;
	height: 30px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	width: 30px;
}

.shaolin-ref-booking-icons div:last-child span {
	color: var(--ref-red);
}

.shaolin-ref-booking-icons strong {
	color: rgba(16, 34, 29, 0.78);
	font-size: 13px;
	line-height: 1.38;
}

.shaolin-ref-reviews {
	border-top: 1px solid rgba(31, 47, 42, 0.1);
	padding-bottom: 56px;
	padding-top: 42px;
}

.shaolin-ref-reviews h2 {
	text-align: center;
}

.shaolin-ref-review {
	align-items: center;
	display: grid;
	gap: 22px;
	grid-template-columns: 70px minmax(0, 1fr) 160px;
	margin: 24px auto 0;
	max-width: 720px;
}

.shaolin-ref-quote {
	color: rgba(188, 149, 87, 0.38);
	font-family: Georgia, serif;
	font-size: 96px;
	line-height: 0.7;
}

.shaolin-ref-review p {
	color: rgba(16, 34, 29, 0.78);
	font-size: 17px;
}

.shaolin-ref-review-person {
	align-items: center;
	display: grid;
	gap: 2px 10px;
	grid-template-columns: 48px 1fr;
}

.shaolin-ref-review-person div {
	align-items: center;
	background: #d8c184;
	border-radius: 999px;
	color: #fffaf0;
	display: flex;
	font-weight: 900;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.shaolin-ref-review-person strong,
.shaolin-ref-review-person small {
	grid-column: 2;
}

.shaolin-ref-review-person strong {
	color: var(--ref-ink);
	font-size: 14px;
}

.shaolin-ref-review-person small {
	color: rgba(16, 34, 29, 0.58);
	font-size: 12px;
}

.shaolin-ref-dots {
	display: flex;
	gap: 8px;
	grid-column: 2 / 3;
	justify-content: center;
}

.shaolin-ref-dots span {
	background: rgba(16, 34, 29, 0.2);
	border-radius: 999px;
	height: 7px;
	width: 7px;
}

.shaolin-ref-dots span:first-child {
	background: var(--ref-red);
}

.shaolin-ref-footer {
	background:
		linear-gradient(180deg, rgba(7, 35, 29, 0.98), rgba(5, 27, 23, 1)),
		var(--shaolin-jade);
	color: rgba(255, 250, 240, 0.78);
	padding: 48px 0 24px;
}

.shaolin-ref-footer-grid {
	display: grid;
	gap: 36px;
	grid-template-columns: 1.4fr 0.7fr 0.8fr 0.8fr 0.72fr;
}

.shaolin-ref-footer a {
	color: rgba(255, 250, 240, 0.82);
	text-decoration: none;
}

.shaolin-ref-footer-brand img {
	filter: brightness(0) invert(1);
	max-width: 190px;
	opacity: 0.9;
}

.shaolin-ref-footer p {
	color: rgba(255, 250, 240, 0.7);
	font-size: 13px;
	line-height: 1.58;
	margin: 18px 0 0;
}

.shaolin-ref-footer h3 {
	color: #fffaf0;
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 13px;
	font-weight: 900;
	margin: 0 0 14px;
}

.shaolin-ref-footer-col {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.shaolin-ref-footer-col a,
.shaolin-ref-footer-qr a {
	font-size: 13px;
}

.shaolin-ref-qr {
	background: #fffaf0;
	border: 8px solid #fffaf0;
	display: block;
	height: 108px;
	margin-bottom: 12px;
	object-fit: contain;
	width: 108px;
}

.shaolin-ref-footer-bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 250, 240, 0.12);
	display: flex;
	justify-content: space-between;
	margin-top: 34px;
	padding-top: 18px;
}

.shaolin-ref-footer-bottom p {
	font-size: 12px;
	margin: 0;
}

@media (max-width: 1180px) {
	.shaolin-ref-header .shaolin-header-inner {
		grid-template-columns: 210px minmax(0, 1fr) 120px;
	}

	.shaolin-ref-header .wp-block-navigation__container {
		gap: 18px;
	}

	.shaolin-ref-hero-grid {
		grid-template-columns: 0.92fr 1.08fr;
	}

	.shaolin-ref-doctor-grid,
	.shaolin-ref-booking-icons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

@media (max-width: 780px) {
	.shaolin-ref-home .alignwide,
	.shaolin-ref-header .shaolin-header-inner,
	.shaolin-ref-header .shaolin-mobile-links,
	.shaolin-ref-footer-grid,
	.shaolin-ref-footer-bottom {
		width: min(342px, calc(100vw - 48px)) !important;
	}

	.shaolin-ref-header .shaolin-header-inner {
		align-items: center;
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 12px;
		justify-content: space-between !important;
		min-height: 88px;
		padding: 12px 0;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		width: 154px;
	}

	.shaolin-ref-header .shaolin-brand {
		flex: 0 1 154px;
		min-width: 0;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: 48px;
	}

	.shaolin-ref-header .shaolin-primary-nav {
		display: none;
	}

	.shaolin-ref-header .shaolin-header-cta {
		display: none !important;
		flex: 0 0 auto;
		font-size: 0;
		min-height: 42px;
		min-width: 92px;
		overflow: visible;
		padding: 0 14px;
		text-indent: 0;
		white-space: nowrap;
		width: auto !important;
	}

	.shaolin-ref-header .shaolin-header-cta::after {
		content: "Запись";
		font-size: 13px;
	}

	.shaolin-ref-header .shaolin-mobile-links {
		display: flex;
		justify-content: space-between;
		overflow: visible;
	}

	.shaolin-ref-header .shaolin-mobile-links a:last-child {
		display: flex !important;
	}

	.shaolin-ref-hero {
		min-height: auto;
	}

	.shaolin-ref-bg {
		background:
			linear-gradient(180deg, rgba(246, 241, 231, 0.96), rgba(246, 241, 231, 0.88)),
			url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / cover no-repeat;
	}

	.shaolin-ref-hero-grid {
		display: flex;
		flex-direction: column;
		min-height: auto;
	}

	.shaolin-ref-hero-copy {
		padding: 44px 0 32px;
	}

	.shaolin-ref-kicker {
		font-size: 15px;
		margin-bottom: 20px;
	}

	.shaolin-ref-kicker::before {
		width: 46px;
	}

	.shaolin-ref-hero h1 {
		font-size: 39px;
		line-height: 1.04;
	}

	.shaolin-ref-hero-copy p {
		font-size: 16px;
		line-height: 1.62;
		margin-top: 22px;
	}

	.shaolin-ref-actions {
		display: grid;
		gap: 12px;
	}

	.shaolin-ref-btn {
		width: 100%;
	}

	.shaolin-ref-address {
		font-size: 13px;
	}

	.shaolin-ref-hero-photo {
		height: 330px;
		width: 100%;
	}

	.shaolin-ref-hero-photo::before,
	.shaolin-ref-calligraphy,
	.shaolin-ref-seal {
		display: none;
	}

	.shaolin-ref-hero-photo img {
		object-position: center;
	}

	.shaolin-ref-trust {
		grid-template-columns: 1fr;
		margin-top: 0;
	}

	.shaolin-ref-trust a {
		min-height: 86px;
		padding: 18px 20px;
	}

	.shaolin-ref-trust a + a {
		border-left: 0;
		border-top: 1px solid rgba(31, 47, 42, 0.1);
	}

	.shaolin-ref-section {
		padding-top: 50px;
	}

	.shaolin-ref-section h2 {
		font-size: 34px;
	}

	.shaolin-ref-route-line {
		gap: 0;
		grid-template-columns: 1fr;
		margin-top: 22px;
	}

	.shaolin-ref-route-line::before {
		bottom: 12px;
		height: auto;
		left: 15px;
		right: auto;
		top: 0;
		width: 1px;
	}

	.shaolin-ref-route-line div {
		display: grid;
		grid-template-columns: 42px minmax(0, 1fr);
		padding: 0 0 24px;
	}

	.shaolin-ref-route-line span {
		grid-row: span 2;
		margin: 0;
	}

	.shaolin-ref-route-line small {
		margin-top: 8px;
	}

	.shaolin-ref-heading-row {
		align-items: flex-start;
		display: grid;
		gap: 14px;
		grid-template-columns: 1fr;
	}

	.shaolin-ref-service-grid {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.shaolin-ref-service-grid a,
	.shaolin-ref-service-grid a:nth-child(n+5),
	.shaolin-ref-service-grid a:nth-child(4n) {
		border-bottom: 1px solid rgba(31, 47, 42, 0.14);
		border-right: 0;
		min-height: 210px;
	}

	.shaolin-ref-service-grid a:last-child {
		border-bottom: 0;
	}

	.shaolin-ref-service-photo {
		min-height: 230px;
	}

	.shaolin-ref-doctor-grid,
	.shaolin-ref-gallery-grid,
	.shaolin-ref-booking,
	.shaolin-ref-booking-icons,
	.shaolin-ref-review,
	.shaolin-ref-footer-grid,
	.shaolin-ref-footer-bottom {
		grid-template-columns: 1fr;
	}

	.shaolin-ref-doctor {
		gap: 0 16px;
		grid-template-columns: 96px minmax(0, 1fr);
		min-height: 184px;
	}

	.shaolin-ref-doctor img {
		height: 124px;
		margin: 24px 0 0 18px;
		width: 88px;
	}

	.shaolin-ref-doctor strong {
		font-size: 21px;
		padding-top: 38px;
	}

	.shaolin-ref-doctor small {
		padding-bottom: 40px;
	}

	.shaolin-ref-china {
		margin-top: 54px;
	}

	.shaolin-ref-china-inner {
		gap: 24px;
		grid-template-columns: 1fr;
		min-height: auto;
		padding: 54px 0;
	}

	.shaolin-ref-medallion {
		display: none;
	}

	.shaolin-ref-booking {
		gap: 28px;
	}

	.shaolin-ref-booking-icons {
		border-left: 0;
	}

	.shaolin-ref-booking-icons div {
		border: 1px solid rgba(31, 47, 42, 0.12);
		border-bottom: 0;
		min-height: 112px;
	}

	.shaolin-ref-booking-icons div:last-child {
		border-bottom: 1px solid rgba(31, 47, 42, 0.12);
	}

	.shaolin-ref-review {
		text-align: left;
	}

	.shaolin-ref-dots {
		grid-column: 1;
		justify-content: flex-start;
	}

	.shaolin-ref-footer-bottom {
		align-items: flex-start;
		display: grid;
		gap: 10px;
	}
}

@media (max-width: 420px) {
	.shaolin-ref-home .alignwide,
	.shaolin-ref-header .shaolin-header-inner,
	.shaolin-ref-header .shaolin-mobile-links,
	.shaolin-ref-footer-grid,
	.shaolin-ref-footer-bottom {
		width: min(342px, calc(100vw - 48px)) !important;
	}

	.shaolin-ref-hero h1 {
		font-size: 36px;
	}

	.shaolin-ref-service-card {
		padding: 25px 24px;
	}

	.shaolin-ref-doctor {
		grid-template-columns: 88px minmax(0, 1fr);
	}
}

/* Unified premium system: wider desktop, full-bleed hero, consistent surfaces. */
:root {
	--shaolin-v2-wide: min(1680px, calc(100vw - clamp(48px, 6vw, 128px)));
	--shaolin-v2-content: min(980px, calc(100vw - 48px));
	--shaolin-v2-paper: #f7f1e6;
	--shaolin-v2-paper-soft: #fffaf0;
	--shaolin-v2-ink: #0f251f;
	--shaolin-v2-muted: rgba(15, 37, 31, 0.66);
	--shaolin-v2-line: rgba(27, 48, 42, 0.14);
	--shaolin-v2-red: #9b3028;
	--shaolin-v2-green: #0b332b;
	--shaolin-v2-gold: #b98b45;
	--shaolin-v2-shadow: 0 28px 70px rgba(40, 33, 23, 0.1);
}

.shaolin-site-header.shaolin-ref-header {
	margin-left: calc(50% - 50vw);
	width: 100vw;
}

.shaolin-ref-header .shaolin-header-inner {
	max-width: var(--shaolin-v2-wide) !important;
	width: var(--shaolin-v2-wide) !important;
}

.shaolin-ref-header .shaolin-brand,
.shaolin-ref-header .shaolin-brand img {
	width: 250px;
}

.shaolin-ref-home {
	background:
		linear-gradient(180deg, rgba(247, 241, 230, 0.9), rgba(247, 241, 230, 0.96)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / cover no-repeat;
	background-attachment: fixed;
	color: var(--shaolin-v2-ink);
}

.shaolin-ref-home .alignwide,
.shaolin-ref-footer-grid,
.shaolin-ref-footer-bottom {
	max-width: var(--shaolin-v2-wide) !important;
	width: var(--shaolin-v2-wide) !important;
}

.shaolin-ref-hero {
	background: var(--shaolin-v2-paper);
	margin-left: calc(50% - 50vw);
	min-height: clamp(760px, calc(100svh - 86px), 940px);
	overflow: hidden;
	position: relative;
	width: 100vw;
}

.shaolin-ref-bg,
.shaolin-ref-hero-photo,
.shaolin-ref-calligraphy,
.shaolin-ref-seal {
	display: none;
}

.shaolin-ref-hero-bg {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	object-position: center center;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.shaolin-ref-hero-overlay {
	background:
		linear-gradient(90deg, rgba(247, 241, 230, 0.98) 0%, rgba(247, 241, 230, 0.94) 34%, rgba(247, 241, 230, 0.58) 53%, rgba(247, 241, 230, 0.04) 76%),
		linear-gradient(180deg, rgba(247, 241, 230, 0.42) 0%, rgba(247, 241, 230, 0) 30%, rgba(247, 241, 230, 0.12) 72%, rgba(247, 241, 230, 0.84) 100%);
	inset: 0;
	position: absolute;
	z-index: 1;
}

.shaolin-ref-hero-grid {
	align-items: center;
	display: grid;
	grid-template-columns: minmax(560px, 0.52fr) minmax(0, 1fr);
	margin: 0 auto;
	max-width: var(--shaolin-v2-wide);
	min-height: clamp(650px, calc(100svh - 190px), 740px);
	padding: clamp(88px, 8vh, 140px) 0 190px;
	position: relative;
	width: var(--shaolin-v2-wide);
	z-index: 2;
}

.shaolin-ref-hero-copy {
	align-self: center;
	max-width: 760px;
	padding: 0;
}

.shaolin-ref-hero h1 {
	font-size: clamp(64px, 5.4vw, 108px);
	letter-spacing: 0;
	line-height: 0.94;
	max-width: 780px;
	text-wrap: balance;
}

.shaolin-ref-hero-copy p {
	color: rgba(15, 37, 31, 0.74);
	font-size: clamp(19px, 1.1vw, 23px);
	line-height: 1.62;
	margin-top: 30px;
	max-width: 680px;
}

.shaolin-ref-actions {
	gap: 16px;
	margin-top: 38px;
}

.shaolin-ref-btn,
.wp-block-button__link,
button,
input[type="submit"] {
	border-radius: 0;
	font-size: 15px;
	font-weight: 850;
	min-height: 56px;
	padding-left: 30px;
	padding-right: 30px;
}

.shaolin-ref-btn-primary,
.wp-block-button:not(.shaolin-button-secondary) .wp-block-button__link {
	background: var(--shaolin-v2-red);
	border-color: var(--shaolin-v2-red);
	color: #fffaf0;
}

.shaolin-ref-btn-outline,
.shaolin-button-secondary .wp-block-button__link {
	background: rgba(255, 250, 240, 0.74);
	border: 1px solid rgba(15, 37, 31, 0.34);
	color: var(--shaolin-v2-ink);
}

.shaolin-ref-address {
	color: rgba(15, 37, 31, 0.72);
	font-size: 15px;
	margin-top: 24px;
}

.shaolin-ref-hero-note {
	border-top: 1px solid rgba(152, 44, 35, 0.34);
	bottom: 210px;
	color: rgba(15, 37, 31, 0.72);
	font-size: 14px;
	font-weight: 850;
	letter-spacing: 0.02em;
	padding-top: 12px;
	position: absolute;
	right: 0;
	text-transform: uppercase;
}

.shaolin-ref-trust {
	backdrop-filter: blur(14px);
	background: rgba(255, 250, 240, 0.9);
	bottom: 44px;
	box-shadow: 0 24px 70px rgba(40, 33, 23, 0.12);
	left: 50%;
	margin: 0;
	position: absolute;
	transform: translateX(-50%);
	width: var(--shaolin-v2-wide) !important;
}

.shaolin-ref-trust a {
	min-height: 108px;
	padding: 26px 30px;
}

.shaolin-ref-trust strong {
	font-size: 16px;
}

.shaolin-ref-trust small {
	font-size: 14px;
}

.shaolin-ref-section {
	padding-top: clamp(82px, 7vw, 122px);
}

.shaolin-ref-section h2,
.shaolin-page-hero h1,
.shaolin-archive-page h1 {
	font-size: clamp(48px, 4vw, 72px);
	line-height: 0.98;
	text-wrap: balance;
}

.shaolin-ref-route::after {
	display: none;
}

.shaolin-ref-heading-row h2 span,
.shaolin-ref-gallery h2 span,
.shaolin-ref-reviews h2 span {
	display: none;
}

.shaolin-ref-service-grid {
	grid-template-rows: 260px 260px;
}

.shaolin-ref-service-card {
	padding: 34px 38px;
}

.shaolin-ref-service-card strong {
	font-size: 26px;
}

.shaolin-ref-service-card p {
	font-size: 15px;
}

.shaolin-ref-gallery-grid img {
	min-height: 320px;
}

.shaolin-ref-china {
	margin-left: calc(50% - 50vw);
	width: 100vw;
}

.shaolin-ref-china-inner {
	max-width: var(--shaolin-v2-wide);
	width: var(--shaolin-v2-wide);
}

.shaolin-ref-footer {
	margin-left: calc(50% - 50vw);
	padding: 64px 0 28px;
	width: 100vw;
}

.shaolin-single-page,
.shaolin-archive-page {
	background:
		linear-gradient(180deg, rgba(247, 241, 230, 0.92), rgba(247, 241, 230, 0.98)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / cover no-repeat;
	color: var(--shaolin-v2-ink);
	max-width: none !important;
	width: 100%;
}

.shaolin-single-page > *,
.shaolin-archive-page > *,
.shaolin-archive-page > .wp-block-query,
.shaolin-content-wrap .wp-block-query,
.shaolin-single-page .alignwide,
.shaolin-archive-page .alignwide,
.shaolin-query-grid,
.shaolin-doctor-grid,
.shaolin-doctor-hero {
	max-width: var(--shaolin-v2-wide) !important;
	width: var(--shaolin-v2-wide) !important;
}

.shaolin-content-wrap,
.shaolin-article-page .shaolin-content-wrap,
.shaolin-single-page .shaolin-content-wrap {
	max-width: var(--shaolin-v2-content) !important;
	width: var(--shaolin-v2-content) !important;
}

.shaolin-page-hero {
	border-bottom: 1px solid var(--shaolin-v2-line);
	margin-bottom: clamp(42px, 5vw, 72px);
	max-width: var(--shaolin-v2-wide) !important;
	padding: clamp(78px, 8vw, 132px) 0 clamp(44px, 5vw, 72px);
	width: var(--shaolin-v2-wide) !important;
}

.shaolin-page-hero::before {
	display: none;
}

.shaolin-page-hero p:not(.shaolin-eyebrow),
.shaolin-content-wrap p,
.shaolin-content-wrap li {
	color: var(--shaolin-v2-muted);
	font-size: 18px;
	line-height: 1.72;
}

.shaolin-eyebrow {
	color: var(--shaolin-v2-red);
	font-size: 13px;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shaolin-query-card,
.shaolin-card,
.shaolin-doctor-card,
.shaolin-note,
.shaolin-related-cta {
	background: rgba(255, 250, 240, 0.78);
	border: 1px solid var(--shaolin-v2-line);
	border-radius: 0;
	box-shadow: var(--shaolin-v2-shadow);
}

.shaolin-query-card:hover,
.shaolin-card:hover,
.shaolin-doctor-card:hover {
	box-shadow: 0 34px 86px rgba(40, 33, 23, 0.13);
}

.shaolin-card-body {
	padding: 30px;
}

.shaolin-card-body h2,
.shaolin-card-body h3,
.shaolin-query-card h2,
.shaolin-doctor-card h2 {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(24px, 1.6vw, 34px);
	line-height: 1.08;
}

input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
	background: rgba(255, 250, 240, 0.86);
	border: 1px solid rgba(15, 37, 31, 0.22);
	border-radius: 0;
	box-shadow: none;
	color: var(--shaolin-v2-ink);
	font: 600 16px/1.4 "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	min-height: 56px;
	padding: 14px 16px;
	width: 100%;
}

textarea {
	min-height: 150px;
	resize: vertical;
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--shaolin-v2-green);
	box-shadow: 0 0 0 4px rgba(14, 75, 62, 0.12);
	outline: 0;
}

@media (min-width: 1600px) {
	.shaolin-ref-header .wp-block-navigation__container {
		gap: 42px;
	}

	.shaolin-ref-header .wp-block-navigation a {
		font-size: 15px;
	}
}

@media (max-width: 980px) {
	:root {
		--shaolin-v2-wide: min(100% - 48px, 760px);
	}

	.shaolin-ref-home {
		background-attachment: scroll;
	}

	.shaolin-ref-hero {
		min-height: auto;
		width: 100vw;
	}

	.shaolin-ref-hero-bg {
		height: 420px;
		inset: auto 0 0;
		object-position: 58% center;
	}

	.shaolin-ref-hero-overlay {
		background:
			linear-gradient(180deg, rgba(247, 241, 230, 0.98) 0%, rgba(247, 241, 230, 0.96) 54%, rgba(247, 241, 230, 0.18) 100%),
			linear-gradient(90deg, rgba(247, 241, 230, 0.98), rgba(247, 241, 230, 0.36));
	}

	.shaolin-ref-hero-grid {
		display: block;
		min-height: 940px;
		padding: 76px 0 500px;
		width: var(--shaolin-v2-wide);
	}

	.shaolin-ref-hero h1 {
		font-size: clamp(42px, 11vw, 62px);
	}

	.shaolin-ref-hero-copy p {
		font-size: 17px;
		line-height: 1.62;
	}

	.shaolin-ref-hero-note {
		display: none;
	}

	.shaolin-ref-trust {
		bottom: 24px;
		grid-template-columns: 1fr;
		position: absolute;
		width: var(--shaolin-v2-wide) !important;
	}

	.shaolin-ref-trust a {
		min-height: 90px;
		padding: 20px 24px;
	}

	.shaolin-ref-trust a + a {
		border-left: 0;
		border-top: 1px solid rgba(31, 47, 42, 0.1);
	}

	.shaolin-ref-service-grid {
		grid-template-rows: none;
	}

	.shaolin-ref-footer-grid,
	.shaolin-ref-footer-bottom,
	.shaolin-ref-home .alignwide,
	.shaolin-single-page > *,
	.shaolin-archive-page > *,
	.shaolin-single-page .alignwide,
	.shaolin-archive-page .alignwide,
	.shaolin-query-grid,
	.shaolin-doctor-grid,
	.shaolin-doctor-hero,
	.shaolin-page-hero {
		width: var(--shaolin-v2-wide) !important;
	}
}

@media (max-width: 520px) {
	:root {
		--shaolin-v2-wide: calc(100vw - 32px);
		--shaolin-v2-content: calc(100vw - 32px);
	}

	.shaolin-ref-header .shaolin-header-inner,
	.shaolin-ref-header .shaolin-mobile-links {
		width: var(--shaolin-v2-wide) !important;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		width: 156px;
	}

	.shaolin-ref-hero-grid {
		min-height: 900px;
		padding-bottom: 470px;
	}

	.shaolin-ref-actions,
	.shaolin-cta-row {
		display: grid;
		grid-template-columns: 1fr;
	}

	.shaolin-ref-btn,
	.wp-block-button__link {
		width: 100%;
	}

	.shaolin-ref-section h2,
	.shaolin-page-hero h1,
	.shaolin-archive-page h1 {
		font-size: clamp(36px, 10vw, 48px);
	}
}

/* Critical visual QA pass: stop mobile overflow and make the hero image read like a full-screen editorial photo. */
html,
body,
.wp-site-blocks {
	overflow-x: clip;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

.shaolin-ref-home {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.shaolin-ref-hero-bg {
	object-position: 72% center;
}

.shaolin-ref-hero-note {
	display: none;
}

.shaolin-ref-mobile-photo {
	display: none;
}

.shaolin-ref-hero h1 {
	font-size: clamp(68px, 5.2vw, 104px);
	max-width: 820px;
}

.shaolin-ref-btn,
.wp-block-button__link,
button,
input[type="submit"] {
	box-sizing: border-box;
	white-space: normal;
}

.shaolin-ref-footer {
	margin-right: calc(50% - 50vw);
	max-width: 100vw !important;
}

.shaolin-ref-footer-grid,
.shaolin-ref-footer-bottom {
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 980px) {
	.shaolin-ref-hero-bg {
		object-position: 74% center;
	}
}

@media (max-width: 520px) {
	:root {
		--shaolin-v2-wide: calc(100vw - 80px);
		--shaolin-v2-content: calc(100vw - 80px);
	}

	.shaolin-ref-hero-grid {
		min-height: auto;
		margin-left: auto;
		margin-right: auto;
		padding: 72px 0 0;
		width: var(--shaolin-v2-wide) !important;
	}

	.shaolin-ref-hero-copy,
	.shaolin-ref-actions,
	.shaolin-ref-address {
		max-width: min(300px, calc(100vw - 96px)) !important;
		width: min(300px, calc(100vw - 96px)) !important;
	}

	.shaolin-ref-hero h1 {
		font-size: clamp(40px, 11.6vw, 52px);
		line-height: 1;
		max-width: 100%;
	}

	.shaolin-ref-hero-copy p {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.shaolin-ref-hero {
		min-height: auto;
		padding-bottom: 34px;
	}

	.shaolin-ref-hero-bg {
		display: none;
	}

	.shaolin-ref-hero-overlay {
		background: linear-gradient(180deg, rgba(247, 241, 230, 0.98), rgba(247, 241, 230, 0.92));
	}

	.shaolin-ref-mobile-photo {
		border: 1px solid var(--shaolin-v2-line);
		display: block;
		height: 238px;
		margin-top: 28px;
		overflow: hidden;
		width: 100%;
	}

	.shaolin-ref-mobile-photo img {
		display: block;
		height: 100%;
		object-fit: cover;
		object-position: 72% center;
		width: 100%;
	}

	.shaolin-ref-trust {
		bottom: auto;
		left: auto;
		margin: 28px auto 0;
		position: relative;
		transform: none;
		width: min(300px, calc(100vw - 96px)) !important;
	}

	.shaolin-single-page > *,
	.shaolin-archive-page > *,
	.shaolin-single-page .alignwide,
	.shaolin-archive-page .alignwide,
	.shaolin-page-hero,
	.shaolin-content-wrap,
	.shaolin-query-grid,
	.shaolin-doctor-grid,
	.shaolin-doctor-hero,
	.shaolin-ref-footer-grid,
	.shaolin-ref-footer-bottom {
		max-width: min(300px, calc(100vw - 96px)) !important;
		width: min(300px, calc(100vw - 96px)) !important;
	}

	.shaolin-page-hero p,
	.shaolin-content-wrap p,
	.shaolin-content-wrap li,
	.shaolin-card-body h2,
	.shaolin-card-body h3,
	.shaolin-query-card h2,
	.shaolin-doctor-card h2 {
		overflow-wrap: anywhere;
	}

	.shaolin-content-wrap > *,
	.shaolin-content-wrap .entry-content,
	.shaolin-content-wrap .entry-content > *,
	.shaolin-content-wrap .wp-block-group,
	.shaolin-content-wrap .wp-block-shortcode,
	.shaolin-content-wrap .shaolin-price-table {
		max-width: 100% !important;
		width: 100% !important;
	}

	.shaolin-content-wrap .entry-content {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: min(300px, calc(100vw - 96px)) !important;
		width: min(300px, calc(100vw - 96px)) !important;
	}

	.shaolin-content-wrap {
		overflow: hidden;
	}

	.shaolin-price-item {
		gap: 12px;
		grid-template-columns: 1fr;
		padding: 18px 18px;
	}

	.shaolin-price-item strong {
		white-space: normal;
	}

	.shaolin-query-card,
	.shaolin-card,
	.shaolin-doctor-card {
		max-width: 100%;
		overflow: hidden;
	}

	.shaolin-contact-showcase,
	.shaolin-contact-grid,
	.shaolin-contact-main,
	.shaolin-contact-photo,
	.shaolin-contact-cards {
		max-width: min(300px, calc(100vw - 96px)) !important;
		width: min(300px, calc(100vw - 96px)) !important;
	}

	.shaolin-contact-main {
		padding: 28px 20px !important;
	}

	.shaolin-contact-actions .shaolin-action {
		justify-content: center;
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}
}

@media (min-width: 521px) and (max-width: 980px) {
	:root {
		--shaolin-v2-wide: calc(100vw - 96px);
		--shaolin-v2-content: calc(100vw - 96px);
	}

	.shaolin-ref-hero {
		min-height: auto;
		padding-bottom: 44px;
	}

	.shaolin-ref-hero-bg {
		display: none;
	}

	.shaolin-ref-hero-overlay {
		background: linear-gradient(180deg, rgba(247, 241, 230, 0.98), rgba(247, 241, 230, 0.92));
	}

	.shaolin-ref-hero-grid {
		display: block;
		margin-left: auto;
		margin-right: auto;
		min-height: auto;
		padding: 88px 0 0;
		width: var(--shaolin-v2-wide) !important;
	}

	.shaolin-ref-hero-copy,
	.shaolin-ref-actions,
	.shaolin-ref-address {
		max-width: min(680px, 100%) !important;
		width: min(680px, 100%) !important;
	}

	.shaolin-ref-hero h1 {
		font-size: clamp(50px, 7vw, 62px);
		line-height: 1;
		max-width: 100%;
	}

	.shaolin-ref-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-ref-mobile-photo {
		border: 1px solid var(--shaolin-v2-line);
		display: block;
		height: 320px;
		margin-top: 34px;
		overflow: hidden;
		width: 100%;
	}

	.shaolin-ref-mobile-photo img {
		display: block;
		height: 100%;
		object-fit: cover;
		object-position: 72% center;
		width: 100%;
	}

	.shaolin-ref-trust {
		bottom: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		left: auto;
		margin: 30px auto 0;
		position: relative;
		transform: none;
		width: var(--shaolin-v2-wide) !important;
	}

	.shaolin-ref-trust a + a {
		border-left: 0;
	}
}

/* Sitewide premium refinement pass: internal pages, archives, forms and mobile rhythm. */
:root {
	--shaolin-v3-wide: min(100% - 96px, 1680px);
	--shaolin-v3-content: min(100% - 96px, 1120px);
	--shaolin-v3-measure: min(100% - 96px, 980px);
	--shaolin-v3-paper: rgba(255, 250, 240, 0.82);
	--shaolin-v3-panel: rgba(255, 252, 245, 0.9);
}

.shaolin-single-page > *,
.shaolin-archive-page > *,
.shaolin-single-page .alignwide,
.shaolin-archive-page .alignwide,
.shaolin-query-grid,
.shaolin-doctor-grid,
.shaolin-doctor-hero,
.shaolin-page-hero,
.shaolin-featured-media {
	max-width: var(--shaolin-v3-wide) !important;
	width: var(--shaolin-v3-wide) !important;
}

.shaolin-content-wrap,
.shaolin-article-page .shaolin-content-wrap,
.shaolin-single-page .shaolin-content-wrap {
	max-width: var(--shaolin-v3-content) !important;
	width: var(--shaolin-v3-content) !important;
}

.shaolin-page-hero {
	align-content: end;
	background:
		linear-gradient(115deg, rgba(255, 250, 240, 0.96) 0%, rgba(255, 250, 240, 0.88) 46%, rgba(232, 223, 207, 0.45) 100%),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") right center / cover no-repeat;
	border: 1px solid rgba(15, 37, 31, 0.12);
	box-shadow: 0 26px 84px rgba(40, 33, 23, 0.08);
	display: grid;
	margin-bottom: clamp(30px, 4vw, 56px);
	margin-top: clamp(20px, 3vw, 52px);
	min-height: clamp(240px, 20vw, 330px);
	overflow: hidden;
	padding: clamp(46px, 5vw, 82px) clamp(32px, 4.5vw, 72px) clamp(36px, 4vw, 60px);
	position: relative;
}

.shaolin-page-hero::before {
	background: var(--shaolin-v2-red);
	content: "";
	display: block;
	height: 2px;
	left: clamp(32px, 4.5vw, 72px);
	position: absolute;
	top: clamp(34px, 4vw, 58px);
	width: 78px;
}

.shaolin-page-hero h1,
.shaolin-archive-page h1 {
	font-size: clamp(52px, 4.4vw, 84px);
	letter-spacing: 0;
	line-height: 0.98;
	margin-bottom: 0;
	max-width: 860px;
}

.shaolin-page-hero p:not(.shaolin-eyebrow) {
	font-size: clamp(18px, 1.1vw, 22px);
	line-height: 1.62;
	margin-top: 26px;
	max-width: 760px;
}

.shaolin-featured-media {
	background: rgba(255, 250, 240, 0.76);
	border: 1px solid rgba(15, 37, 31, 0.1);
	box-shadow: 0 24px 76px rgba(40, 33, 23, 0.1);
	margin-bottom: clamp(40px, 5vw, 72px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 0 !important;
	overflow: hidden;
}

.shaolin-featured-media img {
	display: block;
	height: clamp(310px, 34vw, 560px);
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.shaolin-generic-page .shaolin-content-wrap,
.shaolin-article-page .shaolin-content-wrap,
.shaolin-doctor-single .shaolin-content-wrap {
	border-top: 1px solid rgba(15, 37, 31, 0.12);
	padding-bottom: clamp(54px, 7vw, 104px);
	padding-top: clamp(48px, 6vw, 84px);
}

.shaolin-content-wrap > .entry-content,
.shaolin-content-wrap > .wp-block-post-content,
.shaolin-content-wrap > *:not(.alignwide):not(.alignfull) {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--shaolin-v3-measure) !important;
}

.shaolin-content-wrap h2:first-child {
	font-size: clamp(34px, 3vw, 54px);
	line-height: 1.08;
	margin-top: 0;
	max-width: 900px;
}

.shaolin-content-wrap h2,
.shaolin-content-wrap h3 {
	color: var(--shaolin-v2-ink);
	letter-spacing: 0;
}

.shaolin-content-wrap p,
.shaolin-content-wrap li {
	font-size: clamp(17px, 1vw, 20px);
	line-height: 1.78;
}

.shaolin-content-wrap ul:not(.wp-block-post-template),
.shaolin-content-wrap ol:not(.wp-block-post-template) {
	border-top: 1px solid rgba(15, 37, 31, 0.12);
	display: grid;
	gap: 0;
	list-style: none;
	margin: 30px auto;
	padding: 0;
}

.shaolin-content-wrap ul:not(.wp-block-post-template) li,
.shaolin-content-wrap ol:not(.wp-block-post-template) li {
	border-bottom: 1px solid rgba(15, 37, 31, 0.12);
	padding: 16px 0 16px 34px;
	position: relative;
}

.shaolin-content-wrap ul:not(.wp-block-post-template) li::before,
.shaolin-content-wrap ol:not(.wp-block-post-template) li::before {
	border: 1px solid var(--shaolin-v2-red);
	content: "";
	height: 8px;
	left: 2px;
	position: absolute;
	top: 27px;
	transform: rotate(45deg);
	width: 8px;
}

.shaolin-content-wrap details {
	background: rgba(255, 250, 240, 0.64);
	border-top: 1px solid rgba(15, 37, 31, 0.14);
	padding: 24px 0;
}

.shaolin-content-wrap details:last-child {
	border-bottom: 1px solid rgba(15, 37, 31, 0.14);
}

.shaolin-content-wrap summary {
	color: var(--shaolin-v2-ink);
	cursor: pointer;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(22px, 1.6vw, 32px);
	font-weight: 800;
	line-height: 1.16;
	list-style: none;
	padding-right: 42px;
	position: relative;
}

.shaolin-content-wrap summary::-webkit-details-marker {
	display: none;
}

.shaolin-content-wrap summary::after {
	border: 1px solid rgba(15, 37, 31, 0.28);
	color: var(--shaolin-v2-red);
	content: "+";
	display: grid;
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 19px;
	font-weight: 900;
	height: 30px;
	place-items: center;
	position: absolute;
	right: 0;
	top: 0;
	width: 30px;
}

.shaolin-content-wrap details[open] summary::after {
	content: "-";
}

.shaolin-content-wrap details p {
	margin-bottom: 0;
	margin-top: 18px;
	max-width: 820px;
}

.shaolin-archive-page > .wp-block-query,
.shaolin-content-wrap .wp-block-query {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--shaolin-v3-wide) !important;
	width: var(--shaolin-v3-wide) !important;
}

.shaolin-archive-page .shaolin-query-grid,
.shaolin-content-wrap .shaolin-query-grid {
	align-items: stretch;
	gap: clamp(18px, 2vw, 30px);
}

.shaolin-archive-page .shaolin-query-card,
.shaolin-content-wrap .shaolin-query-card {
	background:
		linear-gradient(180deg, rgba(255, 252, 245, 0.94), rgba(250, 243, 232, 0.82)),
		var(--shaolin-v3-paper);
	border: 1px solid rgba(15, 37, 31, 0.13);
	box-shadow: 0 20px 60px rgba(40, 33, 23, 0.08);
	display: flex;
	flex-direction: column;
	min-height: 100%;
	position: relative;
}

.shaolin-archive-page .shaolin-card-image img,
.shaolin-content-wrap .shaolin-card-image img {
	filter: saturate(0.88) contrast(1.02);
	transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1), filter 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.shaolin-archive-page .shaolin-query-card:hover .shaolin-card-image img,
.shaolin-content-wrap .shaolin-query-card:hover .shaolin-card-image img {
	filter: saturate(0.98) contrast(1.05);
	transform: scale(1.035);
}

.shaolin-archive-page .shaolin-card-body,
.shaolin-content-wrap .shaolin-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 14px;
	padding: clamp(24px, 2.4vw, 38px);
}

.shaolin-card-body .wp-block-post-excerpt {
	color: var(--shaolin-v2-muted);
	font-size: 16px;
	line-height: 1.64;
}

.shaolin-card-body .wp-block-post-excerpt__more-link {
	align-self: flex-start;
	margin-top: auto;
}

.shaolin-documents-archive .shaolin-query-card,
.shaolin-reviews-archive .shaolin-query-card {
	min-height: 260px;
}

.shaolin-documents-archive .shaolin-query-card::before,
.shaolin-reviews-archive .shaolin-query-card::before {
	background: var(--shaolin-v2-red);
	content: "";
	height: 2px;
	left: clamp(24px, 2.4vw, 38px);
	position: absolute;
	top: 0;
	width: 74px;
}

.shaolin-reviews-archive .shaolin-query-card::after {
	border-bottom: 1px solid rgba(168, 49, 38, 0.32);
	border-right: 1px solid rgba(168, 49, 38, 0.32);
	content: "";
	height: 34px;
	position: absolute;
	right: 26px;
	top: 24px;
	width: 34px;
}

.shaolin-editorial-intro,
.shaolin-process-board,
.shaolin-info-ledger,
.shaolin-payment-board {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--shaolin-v3-content);
	width: 100%;
}

.shaolin-editorial-intro {
	align-items: stretch;
	display: grid;
	gap: clamp(28px, 4vw, 58px);
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.72fr);
	margin-bottom: clamp(42px, 6vw, 78px);
}

.shaolin-editorial-lead {
	border-top: 2px solid var(--shaolin-v2-red);
	padding-top: 28px;
}

.shaolin-editorial-lead h2 {
	font-size: clamp(42px, 4vw, 70px);
	line-height: 0.98;
	margin-bottom: 28px;
	margin-top: 0;
}

.shaolin-editorial-lead p:first-of-type {
	color: var(--shaolin-v2-ink);
	font-size: clamp(21px, 1.5vw, 28px);
	line-height: 1.42;
}

.shaolin-proof-panel {
	background: rgba(255, 250, 240, 0.76);
	border: 1px solid rgba(15, 37, 31, 0.12);
	box-shadow: 0 24px 76px rgba(40, 33, 23, 0.1);
	display: grid;
	grid-template-rows: minmax(300px, 1fr) auto;
	margin: 0;
	overflow: hidden;
}

.shaolin-proof-panel img {
	display: block;
	height: 100%;
	min-height: 300px;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.shaolin-proof-panel figcaption {
	color: var(--shaolin-v2-muted);
	font-size: 14px;
	font-weight: 750;
	line-height: 1.45;
	padding: 18px 22px;
}

.shaolin-info-ledger {
	border-bottom: 1px solid rgba(15, 37, 31, 0.12);
	border-top: 1px solid rgba(15, 37, 31, 0.12);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: clamp(42px, 6vw, 78px);
}

.shaolin-info-ledger article {
	border-right: 1px solid rgba(15, 37, 31, 0.12);
	padding: clamp(22px, 2.4vw, 34px);
}

.shaolin-info-ledger article:last-child {
	border-right: 0;
}

.shaolin-info-ledger span,
.shaolin-payment-card span {
	color: var(--shaolin-v2-red);
	display: block;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 0;
	margin-bottom: 14px;
	text-transform: none;
}

.shaolin-info-ledger strong,
.shaolin-payment-card strong {
	color: var(--shaolin-v2-ink);
	display: block;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(22px, 1.7vw, 34px);
	line-height: 1.1;
	margin-bottom: 12px;
}

.shaolin-info-ledger p,
.shaolin-payment-card p {
	color: var(--shaolin-v2-muted);
	font-size: 15px;
	line-height: 1.62;
	margin: 0;
}

.shaolin-process-board {
	margin-bottom: clamp(42px, 6vw, 78px);
}

.shaolin-process-board h2 {
	font-size: clamp(38px, 3.4vw, 64px);
	margin-bottom: 28px;
	margin-top: 0;
}

.shaolin-process-steps {
	border-top: 1px solid rgba(15, 37, 31, 0.18);
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.shaolin-process-steps li {
	border-bottom: 1px solid rgba(15, 37, 31, 0.18);
	border-right: 1px solid rgba(15, 37, 31, 0.12);
	padding: 24px 20px 28px !important;
}

.shaolin-process-steps li:last-child {
	border-right: 0;
}

.shaolin-process-steps li::before {
	display: none !important;
}

.shaolin-process-steps b {
	color: var(--shaolin-v2-red);
	display: block;
	font-size: 13px;
	letter-spacing: 0.08em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.shaolin-process-steps strong {
	color: var(--shaolin-v2-ink);
	display: block;
	font-size: 18px;
	line-height: 1.25;
	margin-bottom: 10px;
}

.shaolin-process-steps span {
	color: var(--shaolin-v2-muted);
	display: block;
	font-size: 14px;
	line-height: 1.55;
}

.shaolin-payment-board {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: clamp(36px, 5vw, 68px);
}

.shaolin-payment-card {
	background: rgba(255, 250, 240, 0.72);
	border: 1px solid rgba(15, 37, 31, 0.12);
	box-shadow: 0 20px 60px rgba(40, 33, 23, 0.06);
	padding: clamp(24px, 3vw, 38px);
}

.shaolin-doctor-single .shaolin-doctor-hero {
	background:
		linear-gradient(115deg, rgba(255, 250, 240, 0.96), rgba(239, 230, 215, 0.72)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / cover no-repeat;
	border: 1px solid rgba(15, 37, 31, 0.12);
	box-shadow: 0 26px 84px rgba(40, 33, 23, 0.08);
	display: grid !important;
	gap: clamp(34px, 5vw, 76px);
	grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
	margin-bottom: clamp(42px, 6vw, 86px);
	margin-top: clamp(28px, 4vw, 68px);
	padding: clamp(28px, 4vw, 54px);
}

.shaolin-doctor-single .shaolin-doctor-hero > .wp-block-column {
	flex-basis: auto !important;
	min-width: 0;
	width: auto !important;
}

.shaolin-doctor-single .shaolin-doctor-hero h1 {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(54px, 5.4vw, 88px);
	letter-spacing: 0;
	line-height: 0.98;
	margin-bottom: 22px;
	margin-top: 0;
	max-width: 860px;
}

.shaolin-doctor-single .shaolin-doctor-hero .wp-block-post-excerpt,
.shaolin-doctor-single .shaolin-doctor-hero .wp-block-post-excerpt p {
	color: var(--shaolin-v2-muted);
	font-size: clamp(18px, 1.1vw, 22px);
	line-height: 1.62;
	max-width: 760px;
}

.shaolin-doctor-single .shaolin-doctor-photo-large {
	aspect-ratio: 4 / 5 !important;
	background: linear-gradient(135deg, rgba(239, 229, 208, 0.96), rgba(214, 226, 218, 0.92));
	border: 1px solid rgba(15, 37, 31, 0.12);
	border-radius: 0 58px 0 0;
	box-shadow: 0 24px 72px rgba(40, 33, 23, 0.16);
	justify-self: center;
	max-width: 390px;
	overflow: hidden;
	width: 100%;
}

.shaolin-doctor-single .shaolin-doctor-photo-large img {
	display: block;
	filter: grayscale(0.08) saturate(0.86) contrast(1.02);
	height: 100%;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.shaolin-price-table,
.shaolin-content-wrap .wp-block-table,
.shaolin-content-wrap table {
	background: rgba(255, 250, 240, 0.7);
	border: 1px solid rgba(15, 37, 31, 0.12);
	box-shadow: 0 20px 60px rgba(40, 33, 23, 0.06);
}

.shaolin-price-item,
.shaolin-price-row {
	background: rgba(255, 252, 245, 0.64);
	border-color: rgba(15, 37, 31, 0.12);
}

form,
.wp-block-search,
.shaolin-form-panel {
	background: rgba(255, 250, 240, 0.74);
	border: 1px solid rgba(15, 37, 31, 0.13);
	box-shadow: 0 20px 60px rgba(40, 33, 23, 0.07);
	padding: clamp(24px, 3vw, 42px);
}

label,
.wp-block-search__label {
	color: var(--shaolin-v2-ink);
	display: block;
	font-size: 14px;
	font-weight: 850;
	letter-spacing: 0.04em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
	transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

button,
input[type="submit"],
.wp-block-button__link,
.shaolin-header-cta,
.shaolin-action {
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

button:active,
input[type="submit"]:active,
.wp-block-button__link:active,
.shaolin-header-cta:active,
.shaolin-action:active {
	transform: translateY(1px);
}

@media (min-width: 1180px) {
	.shaolin-archive-page:not(.shaolin-doctors-archive):not(.shaolin-reviews-archive) .shaolin-query-grid,
	.shaolin-content-wrap .shaolin-query-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.shaolin-reviews-archive .shaolin-query-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	:root {
		--shaolin-v2-wide: calc(100% - 64px);
		--shaolin-v2-content: calc(100% - 64px);
		--shaolin-v3-wide: calc(100% - 64px);
		--shaolin-v3-content: calc(100% - 64px);
		--shaolin-v3-measure: calc(100% - 64px);
	}

	.shaolin-page-hero {
		min-height: auto;
		padding: 44px 34px 38px;
	}

	.shaolin-page-hero h1,
	.shaolin-archive-page h1 {
		font-size: clamp(44px, 7.4vw, 66px);
	}

	.shaolin-featured-media img {
		height: clamp(260px, 46vw, 430px);
	}

	.shaolin-doctor-single .shaolin-doctor-hero {
		grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
		padding: 28px;
	}

	.shaolin-doctor-single .shaolin-doctor-hero h1 {
		font-size: clamp(44px, 7vw, 66px);
	}

	.shaolin-doctor-single .shaolin-doctor-photo-large {
		max-width: 300px;
	}

	.shaolin-editorial-intro,
	.shaolin-info-ledger,
	.shaolin-payment-board {
		grid-template-columns: 1fr;
	}

	.shaolin-info-ledger article {
		border-right: 0;
		border-bottom: 1px solid rgba(15, 37, 31, 0.12);
	}

	.shaolin-info-ledger article:last-child {
		border-bottom: 0;
	}

	.shaolin-process-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-process-steps li {
		border-right: 0;
	}
}

@media (max-width: 720px) {
	.shaolin-doctor-single .shaolin-doctor-hero {
		grid-template-columns: 1fr;
	}

	.shaolin-doctor-single .shaolin-doctor-photo-large {
		justify-self: start;
		max-width: 280px;
	}
}

@media (max-width: 520px) {
	:root {
		--shaolin-v2-wide: calc(100% - 32px);
		--shaolin-v2-content: calc(100% - 32px);
		--shaolin-v3-wide: calc(100% - 32px);
		--shaolin-v3-content: calc(100% - 32px);
		--shaolin-v3-measure: calc(100% - 32px);
	}

	.shaolin-ref-hero,
	.shaolin-ref-china {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.shaolin-ref-hero-copy,
	.shaolin-ref-actions,
	.shaolin-ref-address,
	.shaolin-ref-trust,
	.shaolin-single-page > *,
	.shaolin-archive-page > *,
	.shaolin-single-page .alignwide,
	.shaolin-archive-page .alignwide,
	.shaolin-page-hero,
	.shaolin-content-wrap,
	.shaolin-content-wrap .entry-content,
	.shaolin-query-grid,
	.shaolin-doctor-grid,
	.shaolin-doctor-hero,
	.shaolin-featured-media,
	.shaolin-contact-showcase,
	.shaolin-contact-grid,
	.shaolin-contact-main,
	.shaolin-contact-photo,
	.shaolin-contact-cards,
	.shaolin-ref-footer-grid,
	.shaolin-ref-footer-bottom {
		max-width: var(--shaolin-v3-wide) !important;
		width: var(--shaolin-v3-wide) !important;
	}

	.shaolin-ref-hero-grid .shaolin-ref-hero-copy,
	.shaolin-ref-hero-grid .shaolin-ref-actions,
	.shaolin-ref-hero-grid .shaolin-ref-address {
		max-width: 100% !important;
		width: 100% !important;
	}

	.shaolin-ref-hero-grid {
		padding-top: 52px;
	}

	.shaolin-ref-mobile-photo {
		height: 260px;
	}

	.shaolin-page-hero {
		margin-bottom: 24px;
		margin-top: 16px;
		padding: 34px 20px 30px;
	}

	.shaolin-page-hero::before {
		left: 20px;
		top: 24px;
		width: 58px;
	}

	.shaolin-page-hero h1,
	.shaolin-archive-page h1 {
		font-size: clamp(36px, 10vw, 48px);
	}

	.shaolin-page-hero p:not(.shaolin-eyebrow),
	.shaolin-content-wrap p,
	.shaolin-content-wrap li {
		font-size: 16px;
		line-height: 1.68;
	}

	.shaolin-generic-page .shaolin-content-wrap,
	.shaolin-article-page .shaolin-content-wrap,
	.shaolin-doctor-single .shaolin-content-wrap {
		padding-bottom: 54px;
		padding-top: 38px;
	}

	.shaolin-featured-media {
		margin-bottom: 36px !important;
	}

	.shaolin-featured-media img {
		height: 220px;
	}

	.shaolin-archive-page .shaolin-card-body,
	.shaolin-content-wrap .shaolin-card-body,
	form,
	.wp-block-search,
	.shaolin-form-panel {
		padding: 22px;
	}

	.shaolin-content-wrap summary {
		font-size: 22px;
	}

	.shaolin-doctor-single .shaolin-doctor-hero {
		margin-top: 16px;
		padding: 18px;
	}

	.shaolin-doctor-single .shaolin-doctor-photo-large {
		max-width: 238px;
	}

	.shaolin-doctor-single .shaolin-doctor-hero h1 {
		font-size: clamp(36px, 10vw, 48px);
	}

	.shaolin-doctors-archive .shaolin-doctor-card {
		gap: 14px;
		grid-template-columns: 92px minmax(0, 1fr);
		padding: 12px;
	}

	.shaolin-doctors-archive .shaolin-doctor-photo {
		width: 92px;
	}

	.shaolin-editorial-intro,
	.shaolin-info-ledger,
	.shaolin-payment-board,
	.shaolin-process-board {
		max-width: var(--shaolin-v3-wide);
	}

	.shaolin-editorial-lead h2 {
		font-size: clamp(34px, 10vw, 46px);
	}

	.shaolin-proof-panel {
		grid-template-rows: 220px auto;
	}

	.shaolin-proof-panel img {
		min-height: 220px;
	}

	.shaolin-process-steps {
		grid-template-columns: 1fr;
	}

	.shaolin-process-steps li {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Commercial QA pass: give archive/editorial cards enough desktop width for serif Russian titles. */
@media (min-width: 1180px) {
	.shaolin-archive-page:not(.shaolin-doctors-archive):not(.shaolin-reviews-archive) .shaolin-query-grid,
	.shaolin-content-wrap .shaolin-query-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

.shaolin-archive-page .shaolin-query-card h2,
.shaolin-content-wrap .shaolin-query-card h2,
.shaolin-archive-page .shaolin-card-body h2,
.shaolin-content-wrap .shaolin-card-body h2 {
	font-size: clamp(24px, 1.25vw, 30px);
	hyphens: none;
	line-height: 1.12;
	overflow-wrap: normal;
	word-break: normal;
}

.shaolin-archive-page .shaolin-query-card h2 a,
.shaolin-content-wrap .shaolin-query-card h2 a,
.shaolin-archive-page .shaolin-card-body h2 a,
.shaolin-content-wrap .shaolin-card-body h2 a {
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}

@media (max-width: 720px) {
	.shaolin-archive-page .shaolin-query-card h2,
	.shaolin-content-wrap .shaolin-query-card h2,
	.shaolin-archive-page .shaolin-card-body h2,
	.shaolin-content-wrap .shaolin-card-body h2 {
		font-size: clamp(24px, 7vw, 30px);
	}
}

@media (max-width: 520px) {
	.shaolin-documents-archive .shaolin-query-grid,
	.shaolin-reviews-archive .shaolin-query-grid {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: calc(100% - 32px) !important;
		width: calc(100% - 32px) !important;
	}

	.shaolin-documents-archive .wp-block-post,
	.shaolin-reviews-archive .wp-block-post,
	.shaolin-documents-archive .shaolin-query-card,
	.shaolin-reviews-archive .shaolin-query-card {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.shaolin-documents-archive .shaolin-query-card h2 a,
	.shaolin-reviews-archive .shaolin-query-card h2 a {
		display: block;
		max-width: 100%;
		overflow-wrap: anywhere;
		width: 100%;
	}
}

/* 2026 wide-screen and motion pass: full-bleed stage, denser desktop rhythm, living reviews. */
:root {
	--shaolin-v4-wide: min(calc(100vw - 96px), 2400px);
	--shaolin-v4-content: min(calc(100vw - 96px), 1320px);
	--shaolin-v4-ink: #0c211c;
	--shaolin-v4-muted: rgba(12, 33, 28, 0.72);
	--shaolin-v4-paper: #f7f0e2;
	--shaolin-v4-paper-strong: #fffaf0;
	--shaolin-v4-red: #9a2c24;
	--shaolin-v4-red-dark: #6f1f1b;
	--shaolin-v4-gold: #b98b45;
	--shaolin-v4-jade: #0b332b;
	--shaolin-v4-line: rgba(12, 33, 28, 0.14);
	--shaolin-v4-shadow: 0 30px 90px rgba(38, 28, 18, 0.14);
}

@media (min-width: 2200px) {
	:root {
		--shaolin-v4-wide: min(calc(100vw - 192px), 3000px);
		--shaolin-v4-content: min(calc(100vw - 192px), 1560px);
	}
}

@media (min-width: 3400px) {
	:root {
		--shaolin-v4-wide: min(calc(100vw - 256px), 3280px);
		--shaolin-v4-content: min(calc(100vw - 256px), 1680px);
	}
}

html,
body {
	max-width: none;
	overflow-x: visible !important;
}

body {
	font-size: 18px;
	margin: 0;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wp-site-blocks {
	background:
		linear-gradient(180deg, rgba(247, 240, 226, 0.78), rgba(247, 240, 226, 0.96)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / 1600px auto repeat;
	max-width: none;
	overflow-x: visible !important;
}

.shaolin-site-header.shaolin-ref-header {
	box-shadow: 0 0 0 rgba(38, 28, 18, 0);
	left: 0;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	position: fixed !important;
	right: 0;
	top: var(--wp-admin--admin-bar--height, 0px);
	transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
	width: 100% !important;
	z-index: 100;
}

.wp-block-template-part:has(.shaolin-ref-header) {
	min-height: 133px;
	position: relative;
	z-index: 100;
}

.shaolin-site-header.shaolin-ref-header.is-scrolled {
	background: rgba(255, 250, 240, 0.94);
	box-shadow: 0 18px 48px rgba(38, 28, 18, 0.12);
}

.shaolin-ref-header .shaolin-header-inner {
	gap: 28px;
	grid-template-columns: 320px minmax(0, 1fr) 158px;
	max-width: var(--shaolin-v4-wide) !important;
	min-height: 96px;
	padding-bottom: 16px;
	padding-top: 16px;
	width: var(--shaolin-v4-wide) !important;
}

.shaolin-ref-header .shaolin-brand,
.shaolin-ref-header .shaolin-brand img {
	width: 306px;
}

.shaolin-ref-header .shaolin-brand img {
	filter: drop-shadow(0 8px 18px rgba(11, 51, 43, 0.12));
	height: 70px;
}

.shaolin-ref-header .wp-block-navigation__container {
	gap: 28px;
}

.shaolin-ref-header .wp-block-navigation a {
	color: var(--shaolin-v4-ink);
	font-size: 15px;
	font-weight: 850;
	line-height: 1.15;
	padding: 12px 0;
	position: relative;
}

.shaolin-ref-header .wp-block-navigation a::after {
	background: var(--shaolin-v4-red);
	bottom: 6px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 180ms ease;
	width: 100%;
}

.shaolin-ref-header .wp-block-navigation a:hover::after,
.shaolin-ref-header .wp-block-navigation a:focus-visible::after {
	transform: scaleX(1);
}

.shaolin-ref-header .shaolin-header-cta {
	background: linear-gradient(135deg, var(--shaolin-v4-jade), #12483d);
	border: 1px solid rgba(255, 250, 240, 0.28);
	border-radius: 6px;
	box-shadow: 0 16px 34px rgba(11, 51, 43, 0.18);
	font-size: 15px;
	min-height: 52px;
	padding-left: 24px;
	padding-right: 24px;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.shaolin-ref-header .shaolin-header-cta:hover,
.shaolin-ref-header .shaolin-header-cta:focus-visible {
	box-shadow: 0 20px 42px rgba(11, 51, 43, 0.24);
	transform: translateY(-1px);
}

.shaolin-ref-home {
	background:
		linear-gradient(180deg, rgba(247, 240, 226, 0.84), rgba(247, 240, 226, 0.96)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / 1700px auto repeat;
	color: var(--shaolin-v4-ink);
	isolation: isolate;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	position: relative;
	width: 100% !important;
}

.shaolin-ref-home::before {
	background:
		linear-gradient(90deg, rgba(154, 44, 36, 0.08) 1px, transparent 1px),
		linear-gradient(180deg, rgba(185, 139, 69, 0.07) 1px, transparent 1px);
	background-size: 96px 96px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.05) 72%, transparent);
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.shaolin-ref-home .alignwide,
.shaolin-ref-header .shaolin-header-inner,
.shaolin-ref-footer-grid,
.shaolin-ref-footer-bottom,
.shaolin-ref-china-inner {
	max-width: var(--shaolin-v4-wide) !important;
	width: var(--shaolin-v4-wide) !important;
}

.shaolin-archive-page > .wp-block-query,
.shaolin-content-wrap .wp-block-query {
	margin-left: auto !important;
	margin-right: auto !important;
}

.shaolin-single-page > *,
.shaolin-archive-page > *,
.shaolin-single-page .alignwide,
.shaolin-archive-page .alignwide,
.shaolin-query-grid,
.shaolin-doctor-grid,
.shaolin-doctor-hero,
.shaolin-page-hero,
.shaolin-featured-media {
	max-width: var(--shaolin-v4-wide) !important;
	width: var(--shaolin-v4-wide) !important;
}

.shaolin-content-wrap,
.shaolin-article-page .shaolin-content-wrap,
.shaolin-single-page .shaolin-content-wrap {
	max-width: var(--shaolin-v4-content) !important;
	width: var(--shaolin-v4-content) !important;
}

.shaolin-ref-home > .shaolin-ref-hero {
	background: var(--shaolin-v4-paper);
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: none !important;
	min-height: 900px;
	overflow: hidden;
	width: 100vw !important;
}

.shaolin-ref-hero::before {
	color: rgba(154, 44, 36, 0.085);
	content: "少林";
	font-family: Georgia, "Times New Roman", serif;
	font-size: 220px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 0.82;
	position: absolute;
	right: max(48px, calc((100vw - var(--shaolin-v4-wide)) / 2));
	top: 120px;
	writing-mode: vertical-rl;
	z-index: 1;
}

.shaolin-ref-hero::after {
	background:
		linear-gradient(135deg, transparent 0 48%, rgba(185, 139, 69, 0.16) 49% 51%, transparent 52%),
		linear-gradient(45deg, transparent 0 48%, rgba(154, 44, 36, 0.1) 49% 51%, transparent 52%);
	background-size: 54px 54px;
	bottom: 0;
	content: "";
	height: 190px;
	left: 0;
	opacity: 0.36;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.shaolin-ref-hero-bg {
	filter: saturate(1.03) contrast(1.03);
	object-position: 73% center;
}

.shaolin-ref-hero-overlay {
	background:
		linear-gradient(90deg, rgba(247, 240, 226, 0.98) 0%, rgba(247, 240, 226, 0.9) 31%, rgba(247, 240, 226, 0.42) 55%, rgba(247, 240, 226, 0) 79%),
		linear-gradient(180deg, rgba(247, 240, 226, 0.18) 0%, rgba(247, 240, 226, 0) 42%, rgba(247, 240, 226, 0.82) 100%);
}

.shaolin-ref-hero-grid {
	grid-template-columns: minmax(640px, 0.45fr) minmax(0, 1fr);
	max-width: var(--shaolin-v4-wide) !important;
	min-height: 790px;
	padding-bottom: 188px;
	padding-top: 104px;
	width: var(--shaolin-v4-wide) !important;
}

.shaolin-ref-hero-copy {
	max-width: 820px;
}

.shaolin-ref-hero h1 {
	font-size: 104px;
	line-height: 0.95;
	max-width: 820px;
}

.shaolin-ref-hero-copy p {
	color: var(--shaolin-v4-muted);
	font-size: 21px;
	line-height: 1.64;
	max-width: 720px;
}

.shaolin-ref-address {
	color: rgba(12, 33, 28, 0.82);
	font-size: 17px;
	font-weight: 800;
}

.shaolin-ref-trust {
	background: rgba(255, 250, 240, 0.92);
	border: 1px solid rgba(12, 33, 28, 0.1);
	box-shadow: var(--shaolin-v4-shadow);
	max-width: var(--shaolin-v4-wide) !important;
	width: var(--shaolin-v4-wide) !important;
}

.shaolin-ref-trust a {
	min-height: 122px;
	transition: background 180ms ease, transform 180ms ease;
}

.shaolin-ref-trust a:hover {
	background: rgba(255, 255, 255, 0.34);
	transform: translateY(-2px);
}

.shaolin-ref-trust strong {
	font-size: 18px;
}

.shaolin-ref-trust small {
	font-size: 15px;
	line-height: 1.38;
}

.shaolin-ref-section {
	padding-top: 118px;
}

.shaolin-ref-section h2,
.shaolin-page-hero h1,
.shaolin-archive-page h1 {
	font-size: 64px;
	line-height: 1;
}

.shaolin-ref-home p,
.shaolin-ref-service-card p,
.shaolin-ref-doctor small,
.shaolin-ref-route-line small {
	font-size: 18px;
}

.shaolin-ref-btn,
.wp-block-button__link,
button,
input[type="submit"] {
	border-radius: 6px;
	font-size: 16px;
	letter-spacing: 0;
	min-height: 60px;
	overflow: hidden;
	position: relative;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
}

.shaolin-ref-btn-primary,
.wp-block-button:not(.shaolin-button-secondary) .wp-block-button__link {
	background: linear-gradient(135deg, var(--shaolin-v4-red), var(--shaolin-v4-red-dark));
	box-shadow: 0 20px 44px rgba(154, 44, 36, 0.24);
}

.shaolin-ref-btn-primary::after,
.wp-block-button:not(.shaolin-button-secondary) .wp-block-button__link::after {
	background: linear-gradient(90deg, transparent, rgba(255, 250, 240, 0.32), transparent);
	content: "";
	inset: 0 auto 0 -48%;
	position: absolute;
	transform: skewX(-18deg);
	transition: left 420ms ease;
	width: 38%;
}

.shaolin-ref-btn-primary:hover::after,
.wp-block-button:not(.shaolin-button-secondary) .wp-block-button__link:hover::after {
	left: 120%;
}

.shaolin-ref-btn:hover,
.shaolin-ref-btn:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
button:hover,
button:focus-visible,
input[type="submit"]:hover,
input[type="submit"]:focus-visible {
	box-shadow: 0 24px 54px rgba(38, 28, 18, 0.18);
	transform: translateY(-2px);
}

.shaolin-ref-btn:focus-visible,
.wp-block-button__link:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
.shaolin-ref-header .wp-block-navigation a:focus-visible {
	outline: 3px solid rgba(185, 139, 69, 0.44);
	outline-offset: 4px;
}

.shaolin-ref-service-card,
.shaolin-ref-doctor,
.shaolin-ref-booking,
.shaolin-ref-review-slider,
.shaolin-card,
.shaolin-query-card {
	border-color: var(--shaolin-v4-line);
	box-shadow: 0 24px 74px rgba(38, 28, 18, 0.1);
}

.shaolin-ref-service-card:hover,
.shaolin-ref-doctor:hover,
.shaolin-card:hover,
.shaolin-query-card:hover {
	transform: translateY(-4px);
}

.shaolin-ref-reviews {
	padding-bottom: 96px;
}

.shaolin-ref-review-slider {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.96), rgba(246, 236, 216, 0.9)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / cover no-repeat;
	border: 1px solid var(--shaolin-v4-line);
	box-shadow: var(--shaolin-v4-shadow);
	margin: 34px auto 0;
	max-width: min(100%, 1120px);
	overflow: hidden;
	padding: 44px 52px 34px;
	position: relative;
}

.shaolin-ref-review-slider::before {
	background: var(--shaolin-v4-red);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 4px;
}

.shaolin-ref-review-track {
	display: grid;
	position: relative;
}

.shaolin-ref-review {
	align-items: center;
	color: inherit;
	display: grid;
	gap: 28px;
	grid-area: 1 / 1;
	grid-template-columns: 74px minmax(128px, 0.22fr) minmax(0, 1fr) 210px;
	margin: 0;
	max-width: none;
	opacity: 0;
	pointer-events: none;
	text-decoration: none;
	transform: translateX(26px);
	transition: opacity 320ms ease, transform 320ms ease;
}

.shaolin-ref-review.is-active {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(0);
}

.shaolin-ref-quote {
	color: rgba(154, 44, 36, 0.32);
	font-size: 112px;
}

.shaolin-ref-rating {
	align-self: center;
	background: rgba(255, 250, 240, 0.78);
	border: 1px solid rgba(209, 167, 95, 0.28);
	box-shadow: inset 0 0 0 1px rgba(255, 250, 240, 0.44);
	color: var(--shaolin-v4-ink);
	display: grid;
	gap: 5px;
	justify-items: start;
	min-width: 0;
	padding: 14px 16px;
}

.shaolin-ref-rating span {
	color: #c08e45;
	font-size: 16px;
	letter-spacing: 0;
	line-height: 1;
}

.shaolin-ref-rating strong {
	color: var(--shaolin-v4-red);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 26px;
	line-height: 1;
}

.shaolin-ref-rating small {
	color: rgba(12, 33, 28, 0.74);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
}

.shaolin-ref-review p {
	color: rgba(12, 33, 28, 0.82);
	font-size: 22px;
	line-height: 1.56;
}

.shaolin-ref-review-person div {
	background: linear-gradient(135deg, var(--shaolin-v4-red), #c08e45);
	box-shadow: 0 12px 28px rgba(154, 44, 36, 0.2);
}

.shaolin-ref-review-person strong {
	font-size: 16px;
}

.shaolin-ref-review-person small {
	font-size: 13px;
}

.shaolin-ref-review-controls {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: center;
	margin-top: 34px;
}

.shaolin-ref-review-arrow,
.shaolin-ref-review-pause {
	align-items: center;
	background: rgba(255, 250, 240, 0.76);
	border: 1px solid rgba(12, 33, 28, 0.2);
	border-radius: 50%;
	color: var(--shaolin-v4-ink);
	display: inline-flex;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 32px;
	height: 48px;
	justify-content: center;
	line-height: 1;
	min-height: 48px;
	padding: 0 0 4px;
	width: 48px;
}

.shaolin-ref-review-pause {
	font-family: var(--wp--preset--font-family--body);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0;
	padding: 0;
}

.shaolin-ref-review-pause span {
	display: block;
	transform: translateY(-1px);
}

.shaolin-ref-dots {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: center;
}

.shaolin-ref-dots button,
.shaolin-ref-dots span {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 999px;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	min-height: 44px;
	padding: 0;
	transform-origin: center;
	width: 44px;
}

.shaolin-ref-dots button::before,
.shaolin-ref-dots span::before {
	background: rgba(12, 33, 28, 0.24);
	border-radius: 999px;
	content: "";
	display: block;
	height: 12px;
	transform-origin: center;
	transition: background 180ms ease, transform 180ms ease;
	width: 12px;
}

.shaolin-ref-dots button.is-active::before,
.shaolin-ref-dots span.is-active::before {
	background: var(--shaolin-v4-red);
	transform: scaleX(2.8);
}

.shaolin-ref-review-note {
	color: rgba(12, 33, 28, 0.62);
	font-size: 14px !important;
	line-height: 1.5;
	margin: 24px auto 0;
	max-width: 760px;
	text-align: center;
}

.shaolin-ref-footer {
	background:
		linear-gradient(120deg, rgba(10, 37, 31, 0.98), rgba(12, 33, 28, 0.94)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/china-temple-dark-banner.jpg") center / cover no-repeat;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: 100vw !important;
	padding-top: 84px;
	width: 100vw !important;
}

.shaolin-ref-footer-grid,
.shaolin-ref-footer-bottom {
	max-width: var(--shaolin-v4-wide) !important;
	width: var(--shaolin-v4-wide) !important;
}

.shaolin-ref-footer-grid {
	gap: 42px;
}

.shaolin-footer p,
.shaolin-footer a,
.shaolin-footer li {
	font-size: 17px;
}

.shaolin-footer h3 {
	font-size: 20px;
}

.shaolin-footer-brand img,
.shaolin-ref-footer-brand img {
	max-width: 340px;
	width: 340px;
}

.shaolin-has-js .shaolin-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 560ms ease, transform 560ms ease, box-shadow 180ms ease;
}

.shaolin-has-js .shaolin-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (min-width: 2200px) {
	.shaolin-ref-hero h1 {
		font-size: 116px;
	}

	.shaolin-ref-hero-copy p {
		font-size: 22px;
	}

	.shaolin-ref-section h2,
	.shaolin-page-hero h1,
	.shaolin-archive-page h1 {
		font-size: 72px;
	}
}

@media (min-width: 3400px) {
	.shaolin-ref-hero h1 {
		font-size: 128px;
	}

	.shaolin-ref-hero-copy p {
		font-size: 24px;
	}

	.shaolin-ref-section h2,
	.shaolin-page-hero h1,
	.shaolin-archive-page h1 {
		font-size: 82px;
	}
}

@media (max-width: 1180px) {
	.shaolin-ref-header .shaolin-header-inner {
		grid-template-columns: 260px minmax(0, 1fr) 142px;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		width: 246px;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: 62px;
	}

	.shaolin-ref-header .wp-block-navigation__container {
		gap: 18px;
	}

	.shaolin-ref-header .wp-block-navigation a {
		font-size: 14px;
	}
}

@media (max-width: 980px) {
	:root {
		--shaolin-v4-wide: min(calc(100vw - 48px), 760px);
		--shaolin-v4-content: min(calc(100vw - 48px), 760px);
	}

	.shaolin-ref-header .shaolin-header-inner {
		min-height: 78px;
	}

	.shaolin-ref-home > .shaolin-ref-hero {
		min-height: auto;
	}

	.shaolin-ref-hero::before,
	.shaolin-ref-hero::after {
		display: none;
	}

	.shaolin-ref-hero-grid {
		display: block;
		min-height: auto;
		padding-bottom: 0;
		padding-top: 76px;
	}

	.shaolin-ref-hero h1 {
		font-size: 58px;
	}

	.shaolin-ref-hero-copy p {
		font-size: 18px;
	}

	.shaolin-ref-section h2,
	.shaolin-page-hero h1,
	.shaolin-archive-page h1 {
		font-size: 44px;
	}

	.shaolin-ref-review {
		grid-template-columns: 54px minmax(0, 1fr);
	}

	.shaolin-ref-review-person {
		grid-column: 2;
	}
}

@media (max-width: 780px) {
	.wp-block-template-part:has(.shaolin-ref-header) {
		min-height: 176px;
	}

	.shaolin-ref-header .shaolin-header-inner,
	.shaolin-ref-header .shaolin-mobile-links,
	.shaolin-ref-home .alignwide,
	.shaolin-ref-footer-grid,
	.shaolin-ref-footer-bottom,
	.shaolin-ref-china-inner {
		max-width: var(--shaolin-v4-wide) !important;
		width: var(--shaolin-v4-wide) !important;
	}

	.shaolin-ref-header .shaolin-header-inner {
		grid-template-columns: 1fr auto;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		width: 210px;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: 54px;
	}

	.shaolin-ref-review-slider {
		padding: 34px 28px 28px;
	}

	.shaolin-ref-review {
		display: block;
	}

	.shaolin-ref-quote {
		font-size: 76px;
		margin-bottom: 8px;
	}

	.shaolin-ref-rating {
		margin-bottom: 18px;
		width: fit-content;
	}

	.shaolin-ref-review p {
		font-size: 18px;
	}

	.shaolin-ref-review-person {
		margin-top: 22px;
	}
}

@media (max-width: 520px) {
	:root {
		--shaolin-v4-wide: calc(100vw - 32px);
		--shaolin-v4-content: calc(100vw - 32px);
	}

	body {
		font-size: 17px;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		width: 170px;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: 48px;
	}

	.shaolin-ref-hero h1 {
		font-size: 46px;
	}

	.shaolin-ref-hero-copy p,
	.shaolin-ref-home p,
	.shaolin-ref-service-card p,
	.shaolin-ref-route-line small {
		font-size: 17px;
	}

	.shaolin-ref-section {
		padding-top: 78px;
	}

	.shaolin-ref-section h2,
	.shaolin-page-hero h1,
	.shaolin-archive-page h1 {
		font-size: 38px;
	}

	.shaolin-ref-review-controls {
		gap: 12px;
	}

	.shaolin-ref-review-arrow,
	.shaolin-ref-review-pause {
		height: 42px;
		min-height: 42px;
		width: 42px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shaolin-site-header.shaolin-ref-header,
	.shaolin-ref-btn,
	.wp-block-button__link,
	button,
	input[type="submit"],
	.shaolin-has-js .shaolin-reveal,
	.shaolin-ref-review {
		transition: none !important;
	}

	.shaolin-has-js .shaolin-reveal {
		opacity: 1;
		transform: none;
	}
}

/* Pricing page and homepage color-depth pass. */
.shaolin-price-page {
	background:
		linear-gradient(180deg, rgba(247, 240, 226, 0.88), rgba(247, 240, 226, 0.97)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / 1700px auto repeat;
	overflow: hidden;
	padding-bottom: 0;
}

.shaolin-price-hero,
.shaolin-price-guide,
.shaolin-price-content,
.shaolin-price-cta,
.shaolin-price-disclaimer {
	max-width: var(--shaolin-v4-wide) !important;
	width: var(--shaolin-v4-wide) !important;
}

.shaolin-price-hero {
	align-items: stretch;
	background:
		linear-gradient(112deg, rgba(255, 250, 240, 0.98) 0%, rgba(255, 250, 240, 0.9) 48%, rgba(11, 51, 43, 0.26) 100%),
		url("/wp-content/themes/shaolin/assets/images/premium/processed/clinic-proof-detail.jpg") right center / min(52vw, 980px) 100% no-repeat;
	border: 1px solid rgba(12, 33, 28, 0.12);
	box-shadow: 0 32px 98px rgba(38, 28, 18, 0.1);
	display: grid;
	gap: clamp(34px, 5vw, 82px);
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.55fr);
	margin-top: clamp(72px, 8vw, 132px);
	min-height: clamp(520px, 38vw, 680px);
	overflow: hidden;
	padding: clamp(54px, 6vw, 96px);
	position: relative;
}

.shaolin-price-hero::before {
	color: rgba(154, 44, 36, 0.08);
	content: "價";
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(180px, 14vw, 320px);
	line-height: 0.8;
	position: absolute;
	right: clamp(24px, 5vw, 96px);
	top: clamp(20px, 4vw, 72px);
	z-index: 0;
}

.shaolin-price-hero-copy,
.shaolin-price-hero-panel {
	position: relative;
	z-index: 1;
}

.shaolin-price-hero h1 {
	color: var(--shaolin-v4-ink);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(62px, 5.6vw, 112px);
	letter-spacing: 0;
	line-height: 0.95;
	margin: 0;
	max-width: 980px;
	text-wrap: balance;
}

.shaolin-price-hero-copy > p:not(.shaolin-eyebrow) {
	color: rgba(12, 33, 28, 0.78);
	font-size: clamp(19px, 1.2vw, 24px);
	line-height: 1.62;
	margin: 32px 0 0;
	max-width: 850px;
}

.shaolin-price-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 38px;
}

.shaolin-price-hero-panel {
	align-self: end;
	backdrop-filter: blur(14px);
	background: rgba(12, 33, 28, 0.88);
	border: 1px solid rgba(255, 250, 240, 0.16);
	box-shadow: 0 28px 74px rgba(12, 33, 28, 0.24);
	color: #fffaf0;
	display: grid;
	margin-top: auto;
}

.shaolin-price-hero-panel div {
	border-bottom: 1px solid rgba(255, 250, 240, 0.14);
	padding: clamp(22px, 2.6vw, 36px);
}

.shaolin-price-hero-panel div:last-child {
	border-bottom: 0;
}

.shaolin-price-hero-panel span {
	color: #d1a75f;
	display: block;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3vw, 58px);
	font-weight: 700;
	line-height: 1;
}

.shaolin-price-hero-panel strong,
.shaolin-price-hero-panel small {
	display: block;
}

.shaolin-price-hero-panel strong {
	font-size: 17px;
	margin-top: 10px;
}

.shaolin-price-hero-panel small {
	color: rgba(255, 250, 240, 0.72);
	font-size: 14px;
	line-height: 1.5;
	margin-top: 8px;
}

.shaolin-price-guide {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 34px;
}

.shaolin-price-guide article {
	background: rgba(255, 250, 240, 0.7);
	border: 1px solid rgba(12, 33, 28, 0.12);
	border-right: 0;
	padding: clamp(28px, 3vw, 46px);
}

.shaolin-price-guide article:last-child {
	border-right: 1px solid rgba(12, 33, 28, 0.12);
}

.shaolin-price-guide span {
	color: var(--shaolin-v4-red);
	display: block;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin-bottom: 18px;
}

.shaolin-price-guide h2 {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(28px, 2.3vw, 44px);
	line-height: 1.05;
	margin: 0 0 16px;
}

.shaolin-price-guide p {
	color: var(--shaolin-v4-muted);
	font-size: 17px;
	line-height: 1.66;
	margin: 0;
}

.shaolin-price-content {
	margin-top: clamp(52px, 6vw, 92px) !important;
	padding-top: 0 !important;
}

.shaolin-price-content > .wp-block-post-content,
.shaolin-price-content > .entry-content,
.shaolin-price-content > *,
.shaolin-price-content .wp-block-shortcode,
.shaolin-price-content .shaolin-price-table,
.shaolin-price-content .shaolin-editorial-intro,
.shaolin-price-content .shaolin-payment-board {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

.shaolin-price-content > .entry-content.wp-block-post-content {
	max-width: 100% !important;
	width: 100% !important;
}

.shaolin-price-content .shaolin-editorial-intro {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.9), rgba(244, 231, 204, 0.78)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / cover no-repeat;
	border: 1px solid rgba(12, 33, 28, 0.12);
	box-shadow: 0 24px 80px rgba(38, 28, 18, 0.08);
	padding: clamp(34px, 4vw, 62px);
}

.shaolin-price-content .shaolin-payment-board {
	gap: 18px;
}

.shaolin-price-content .shaolin-payment-card {
	background: linear-gradient(135deg, rgba(255, 250, 240, 0.9), rgba(236, 225, 204, 0.72));
	border-radius: 0 28px 0 0;
}

.shaolin-price-table {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	display: grid;
	gap: clamp(26px, 3vw, 42px);
	margin-top: clamp(42px, 5vw, 72px);
	max-width: none !important;
	width: 100% !important;
}

.shaolin-price-tools {
	align-items: stretch;
	background:
		linear-gradient(130deg, rgba(255, 250, 240, 0.94), rgba(236, 222, 190, 0.82)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1000px auto repeat;
	border: 1px solid rgba(12, 33, 28, 0.12);
	box-shadow: 0 24px 72px rgba(38, 28, 18, 0.08);
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.44fr);
	padding: clamp(22px, 2.6vw, 38px);
}

.shaolin-price-tools-copy span {
	color: var(--shaolin-v4-red);
	display: block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.shaolin-price-tools-copy strong {
	color: var(--shaolin-v4-ink);
	display: block;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(30px, 2.5vw, 50px);
	line-height: 1.02;
}

.shaolin-price-tools-copy p {
	color: rgba(12, 33, 28, 0.68);
	font-size: 17px;
	line-height: 1.55;
	margin: 12px 0 0;
	max-width: 760px;
}

.shaolin-price-search {
	align-self: center;
	background: rgba(12, 33, 28, 0.92);
	border: 1px solid rgba(255, 250, 240, 0.16);
	box-shadow: inset 0 0 0 1px rgba(209, 167, 95, 0.08);
	display: grid;
	gap: 10px;
	padding: clamp(18px, 2vw, 28px);
}

.shaolin-price-search span {
	color: #f7d99b;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shaolin-price-search input {
	appearance: none;
	background: rgba(255, 250, 240, 0.98);
	border: 1px solid rgba(255, 250, 240, 0.38);
	color: var(--shaolin-v4-ink);
	font: inherit;
	font-size: 18px;
	min-height: 56px;
	outline: none;
	padding: 0 16px;
	width: 100%;
}

.shaolin-price-search input:focus {
	border-color: #d1a75f;
	box-shadow: 0 0 0 3px rgba(209, 167, 95, 0.28);
}

.shaolin-price-nav {
	align-items: center;
	background: rgba(12, 33, 28, 0.9);
	box-shadow: 0 22px 70px rgba(12, 33, 28, 0.16);
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 18px;
	position: sticky;
	top: 112px;
	z-index: 5;
}

.shaolin-price-nav a {
	background: rgba(255, 250, 240, 0.08);
	border: 1px solid rgba(255, 250, 240, 0.14);
	color: #fffaf0;
	font-size: 13px;
	font-weight: 850;
	padding: 10px 14px;
	text-decoration: none;
	transition: background 180ms ease, transform 180ms ease;
}

.shaolin-price-nav a:hover,
.shaolin-price-nav a:focus-visible {
	background: rgba(209, 167, 95, 0.22);
	transform: translateY(-1px);
}

.shaolin-price-group {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.96), rgba(247, 237, 215, 0.88)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 900px auto repeat !important;
	border: 1px solid rgba(12, 33, 28, 0.13) !important;
	border-radius: 0 !important;
	box-shadow: 0 26px 86px rgba(38, 28, 18, 0.1) !important;
	overflow: clip;
	scroll-margin-top: 140px;
}

.shaolin-price-group.is-empty {
	display: none;
}

.shaolin-price-group-heading {
	align-items: end;
	background:
		linear-gradient(110deg, rgba(11, 51, 43, 0.98), rgba(20, 72, 58, 0.9)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/china-temple-dark-banner.jpg") center / cover no-repeat;
	color: #fffaf0;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(28px, 3.4vw, 54px);
}

.shaolin-price-group-heading h2 {
	background: transparent !important;
	border: 0 !important;
	color: #fffaf0 !important;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3vw, 58px) !important;
	line-height: 1;
	margin: 0 0 16px !important;
	padding: 0 !important;
}

.shaolin-price-group-heading p {
	color: rgba(255, 250, 240, 0.75);
	font-size: 17px;
	line-height: 1.58;
	margin: 0;
	max-width: 860px;
}

.shaolin-price-group-heading > span {
	background: rgba(209, 167, 95, 0.18);
	border: 1px solid rgba(209, 167, 95, 0.42);
	color: #f7d99b;
	font-size: 14px;
	font-weight: 900;
	padding: 11px 14px;
	white-space: nowrap;
}

.shaolin-price-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shaolin-price-item {
	background: rgba(255, 250, 240, 0.72) !important;
	border-top: 1px solid rgba(12, 33, 28, 0.1);
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
	min-height: 148px;
	padding: clamp(22px, 2.2vw, 34px) !important;
	transition: background 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.shaolin-price-item:hover {
	background: rgba(255, 250, 240, 0.92) !important;
	transform: translateY(-1px);
}

.shaolin-price-item.is-hidden {
	display: none;
}

.shaolin-price-item:nth-child(odd) {
	border-right: 1px solid rgba(12, 33, 28, 0.1);
}

.shaolin-price-main h3,
.shaolin-price-item h3 {
	color: var(--shaolin-v4-ink);
	font-size: clamp(19px, 1.25vw, 25px) !important;
	line-height: 1.18;
	margin-bottom: 10px !important;
}

.shaolin-price-item p,
.shaolin-price-item small {
	color: rgba(12, 33, 28, 0.66) !important;
	font-size: 15px !important;
	line-height: 1.52 !important;
}

.shaolin-price-item small {
	margin-top: 10px;
}

.shaolin-price-item strong {
	align-self: start;
	background: rgba(154, 44, 36, 0.1);
	border: 1px solid rgba(154, 44, 36, 0.2);
	color: var(--shaolin-v4-red) !important;
	font-size: clamp(20px, 1.55vw, 30px) !important;
	font-weight: 900;
	line-height: 1.05;
	padding: 13px 15px;
	text-align: right;
	white-space: normal !important;
}

.shaolin-price-empty {
	background: rgba(255, 250, 240, 0.84);
	border: 1px solid rgba(154, 44, 36, 0.18);
	color: var(--shaolin-v4-red);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.5;
	margin: 0;
	padding: 22px 24px;
}

.shaolin-price-cta {
	align-items: center;
	background:
		linear-gradient(120deg, rgba(111, 31, 27, 0.96), rgba(154, 44, 36, 0.86)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / cover no-repeat;
	color: #fffaf0;
	display: grid;
	gap: 32px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: clamp(72px, 8vw, 118px);
	margin-top: clamp(54px, 6vw, 92px);
	padding: clamp(38px, 4vw, 66px);
}

.shaolin-price-cta h2 {
	color: #fffaf0;
	font-size: clamp(38px, 3.5vw, 70px);
	line-height: 1;
	margin: 0 0 18px;
}

.shaolin-price-cta p:not(.shaolin-eyebrow) {
	color: rgba(255, 250, 240, 0.78);
	font-size: 18px;
	line-height: 1.62;
	margin: 0;
	max-width: 820px;
}

.shaolin-price-cta .shaolin-eyebrow {
	color: #f3cc82;
}

.shaolin-price-disclaimer {
	align-items: start;
	background: rgba(255, 250, 240, 0.78);
	border: 1px solid rgba(12, 33, 28, 0.12);
	display: grid;
	gap: 18px;
	grid-template-columns: 180px minmax(0, 1fr);
	margin-bottom: clamp(76px, 8vw, 122px);
	margin-top: -42px;
	padding: clamp(24px, 3vw, 38px);
}

.shaolin-price-disclaimer strong {
	color: var(--shaolin-v4-red);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shaolin-price-disclaimer p {
	color: rgba(12, 33, 28, 0.68);
	font-size: 16px;
	line-height: 1.62;
	margin: 0;
}

.shaolin-ref-china {
	background:
		linear-gradient(90deg, rgba(7, 36, 30, 0.98) 0%, rgba(7, 36, 30, 0.88) 45%, rgba(7, 36, 30, 0.62) 100%),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/china-temple-dark-banner.jpg") center / cover no-repeat !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-top: clamp(88px, 8vw, 140px);
	max-width: 100vw !important;
	position: relative;
	width: 100vw !important;
}

.shaolin-ref-china::before {
	background:
		linear-gradient(135deg, transparent 0 48%, rgba(209, 167, 95, 0.18) 49% 51%, transparent 52%),
		linear-gradient(45deg, transparent 0 48%, rgba(255, 250, 240, 0.08) 49% 51%, transparent 52%);
	background-size: 64px 64px;
	content: "";
	inset: 0;
	opacity: 0.42;
	pointer-events: none;
	position: absolute;
}

.shaolin-ref-china-inner {
	min-height: clamp(420px, 28vw, 560px);
	padding-bottom: clamp(64px, 6vw, 104px);
	padding-top: clamp(64px, 6vw, 104px);
	position: relative;
	z-index: 1;
}

.shaolin-ref-medallion {
	background: rgba(255, 250, 240, 0.06);
	box-shadow: inset 0 0 0 12px rgba(209, 167, 95, 0.04), 0 24px 70px rgba(0, 0, 0, 0.18);
	font-size: clamp(34px, 3vw, 58px);
}

.shaolin-ref-china h2 {
	font-size: clamp(48px, 4.4vw, 84px);
	line-height: 0.96;
}

.shaolin-ref-china p,
.shaolin-ref-china li {
	font-size: clamp(18px, 1.05vw, 22px);
}

.shaolin-ref-booking {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.94), rgba(238, 223, 190, 0.86)),
		url("/wp-content/themes/shaolin/assets/images/premium/processed/clinic-detail-ritual.jpg") right center / min(38vw, 700px) 100% no-repeat;
	border: 1px solid rgba(12, 33, 28, 0.12);
	box-shadow: 0 26px 86px rgba(38, 28, 18, 0.1);
	grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
	margin-top: clamp(54px, 5vw, 88px);
	padding: clamp(38px, 4.5vw, 72px);
}

.shaolin-ref-booking-copy h2 {
	font-size: clamp(46px, 4vw, 78px);
	line-height: 0.98;
	margin-bottom: 22px;
}

.shaolin-ref-booking-copy p {
	color: rgba(12, 33, 28, 0.74);
	font-size: clamp(18px, 1.05vw, 21px);
	line-height: 1.62;
	max-width: 560px;
}

.shaolin-ref-booking-icons {
	backdrop-filter: blur(10px);
	background: rgba(255, 250, 240, 0.78);
	border: 1px solid rgba(12, 33, 28, 0.12);
	box-shadow: 0 22px 60px rgba(38, 28, 18, 0.08);
}

.shaolin-ref-booking-icons div {
	min-height: 190px;
	padding: clamp(18px, 2vw, 30px);
}

.shaolin-ref-booking-icons span {
	background: rgba(185, 139, 69, 0.12);
	border: 1px solid rgba(185, 139, 69, 0.22);
	border-radius: 999px;
	height: 52px;
	width: 52px;
}

.shaolin-ref-booking-icons strong {
	color: var(--shaolin-v4-ink);
	font-size: 16px;
	line-height: 1.32;
}

@media (min-width: 901px) {
	.shaolin-contact-showcase {
		margin-left: calc(50% - (var(--shaolin-v4-wide, 1440px) / 2)) !important;
		margin-right: calc(50% - (var(--shaolin-v4-wide, 1440px) / 2)) !important;
		max-width: var(--shaolin-v4-wide, 1440px) !important;
		width: var(--shaolin-v4-wide, 1440px) !important;
	}

	.shaolin-contact-photo {
		aspect-ratio: auto;
	}
}

@media (max-width: 980px) {
	.shaolin-price-hero,
	.shaolin-price-guide,
	.shaolin-price-cta,
	.shaolin-price-disclaimer,
	.shaolin-price-tools,
	.shaolin-ref-booking,
	.shaolin-ref-china-inner {
		grid-template-columns: 1fr;
	}

	.shaolin-price-hero {
		background:
			linear-gradient(180deg, rgba(255, 250, 240, 0.98), rgba(255, 250, 240, 0.9)),
			url("/wp-content/themes/shaolin/assets/images/premium/processed/clinic-proof-detail.jpg") center bottom / cover no-repeat;
		padding: 42px 28px;
	}

	.shaolin-price-nav {
		position: static;
	}

	.shaolin-price-list {
		grid-template-columns: 1fr;
	}

	.shaolin-price-item:nth-child(odd) {
		border-right: 0;
	}

	.shaolin-price-group-heading,
	.shaolin-price-cta {
		grid-template-columns: 1fr;
	}

	.shaolin-ref-booking {
		background:
			linear-gradient(135deg, rgba(255, 250, 240, 0.95), rgba(238, 223, 190, 0.9)),
			url("/wp-content/themes/shaolin/assets/images/premium/processed/clinic-detail-ritual.jpg") center bottom / cover no-repeat;
	}

	.shaolin-ref-booking-icons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.shaolin-price-hero,
	.shaolin-price-guide,
	.shaolin-price-content,
	.shaolin-price-cta,
	.shaolin-price-disclaimer {
		max-width: calc(100vw - 32px) !important;
		width: calc(100vw - 32px) !important;
	}

	.shaolin-price-hero h1 {
		font-size: 43px;
	}

	.shaolin-price-content .shaolin-editorial-intro,
	.shaolin-price-hero,
	.shaolin-price-cta,
	.shaolin-price-disclaimer,
	.shaolin-ref-booking {
		padding: 28px 22px;
	}

	.shaolin-price-guide article {
		border-right: 1px solid rgba(12, 33, 28, 0.12);
		border-top: 0;
		padding: 24px 22px;
	}

	.shaolin-price-item {
		grid-template-columns: 1fr;
		max-width: 100% !important;
		min-height: 0;
		width: 100% !important;
	}

	.shaolin-price-item strong {
		text-align: left;
		width: fit-content;
	}

	.shaolin-price-table,
	.shaolin-price-tools,
	.shaolin-price-search,
	.shaolin-price-nav,
	.shaolin-price-group,
	.shaolin-price-group-heading,
	.shaolin-price-list {
		box-sizing: border-box;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.shaolin-price-tools {
		padding: 20px;
	}

	.shaolin-price-tools-copy strong {
		font-size: 28px;
	}

	.shaolin-price-search {
		padding: 16px;
	}

	.shaolin-price-search input {
		font-size: 16px;
		min-height: 52px;
	}

	.shaolin-price-nav {
		gap: 8px;
		justify-self: stretch;
		overflow: hidden;
		padding: 12px;
	}

	.shaolin-price-group-heading {
		padding: 24px 20px;
	}

	.shaolin-price-group-heading > * {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}

	.shaolin-price-group-heading h2 {
		font-size: clamp(28px, 8vw, 34px) !important;
		overflow-wrap: anywhere;
	}

	.shaolin-price-group-heading p,
	.shaolin-price-group-heading span {
		overflow-wrap: anywhere;
	}

	.shaolin-price-nav a {
		flex: 1 1 calc(50% - 8px);
		font-size: 11px !important;
		justify-content: center;
		max-width: 100%;
		min-width: 0;
		overflow-wrap: anywhere;
		text-align: center;
	}

	.shaolin-ref-booking-icons {
		grid-template-columns: 1fr;
	}
}

.shaolin-ref-promo {
	background:
		linear-gradient(135deg, rgba(154, 44, 36, 0.94), rgba(111, 32, 28, 0.96)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 900px auto;
	border: 1px solid rgba(255, 250, 240, 0.24);
	box-shadow: 0 24px 58px rgba(154, 44, 36, 0.22);
	color: #fff8eb;
	display: grid;
	gap: 8px;
	margin: 28px 0 24px;
	max-width: 650px;
	padding: clamp(20px, 2vw, 28px);
	position: relative;
}

.shaolin-ref-promo::after {
	color: rgba(255, 248, 235, 0.16);
	content: "惠";
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 92px;
	font-weight: 800;
	line-height: 1;
	position: absolute;
	right: 18px;
	top: 10px;
}

.shaolin-ref-promo strong {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(30px, 4vw, 48px);
	line-height: 0.98;
	position: relative;
	z-index: 1;
}

.shaolin-ref-promo span {
	font-size: clamp(16px, 1.6vw, 19px);
	font-weight: 800;
	line-height: 1.38;
	max-width: 510px;
	position: relative;
	z-index: 1;
}

.shaolin-ref-saying {
	align-items: center;
	background:
		linear-gradient(120deg, rgba(12, 33, 28, 0.96), rgba(19, 72, 61, 0.92)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/china-temple-dark-banner.jpg") center / cover;
	color: #fff8eb;
	display: grid;
	gap: 34px;
	grid-template-columns: 150px minmax(0, 1fr);
	margin-top: 96px;
	padding: clamp(34px, 5vw, 70px);
}

.shaolin-ref-saying h2,
.shaolin-ref-saying p {
	color: inherit;
	margin: 0;
}

.shaolin-ref-saying p {
	color: rgba(255, 248, 235, 0.78);
	font-size: clamp(18px, 1.7vw, 22px);
	line-height: 1.58;
	margin-top: 14px;
	max-width: 920px;
}

.shaolin-ref-saying-mark {
	align-items: center;
	background: rgba(255, 248, 235, 0.08);
	border: 1px solid rgba(209, 167, 95, 0.32);
	color: #d1a75f;
	display: flex;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 82px;
	height: 150px;
	justify-content: center;
	line-height: 1;
}

.shaolin-methods-page,
.shaolin-programs-page {
	background:
		linear-gradient(180deg, rgba(247, 240, 226, 0.94), rgba(247, 240, 226, 0.98)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / 1700px auto repeat;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

.shaolin-methods-page > *,
.shaolin-programs-page > * {
	max-width: var(--shaolin-v4-wide) !important;
	width: var(--shaolin-v4-wide) !important;
}

.shaolin-methods-hero {
	align-items: stretch;
	display: grid;
	gap: clamp(28px, 4vw, 72px);
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.36fr);
	padding-bottom: clamp(54px, 7vw, 112px);
	padding-top: clamp(42px, 6vw, 94px);
}

.shaolin-methods-hero-copy {
	align-content: center;
	display: grid;
}

.shaolin-methods-hero h1 {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(58px, 7vw, 120px);
	letter-spacing: 0;
	line-height: 0.94;
	margin: 0;
	max-width: 1060px;
}

.shaolin-methods-hero p {
	color: rgba(12, 33, 28, 0.76);
	font-size: clamp(19px, 1.6vw, 24px);
	line-height: 1.62;
	margin: 28px 0 0;
	max-width: 940px;
}

.shaolin-methods-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.shaolin-june-offer {
	align-content: start;
	background:
		linear-gradient(155deg, rgba(154, 44, 36, 0.97), rgba(111, 32, 28, 0.96)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 860px auto;
	box-shadow: 0 34px 80px rgba(154, 44, 36, 0.24);
	color: #fff8eb;
	display: grid;
	min-height: 430px;
	overflow: hidden;
	padding: clamp(28px, 3vw, 44px);
	position: relative;
}

.shaolin-june-offer::after {
	bottom: -18px;
	color: rgba(255, 248, 235, 0.13);
	content: "少林";
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 132px;
	font-weight: 800;
	line-height: 0.82;
	position: absolute;
	right: 20px;
	writing-mode: vertical-rl;
}

.shaolin-june-offer span {
	color: rgba(255, 248, 235, 0.78);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shaolin-june-offer strong {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(74px, 8vw, 132px);
	line-height: 0.88;
	margin-top: 22px;
}

.shaolin-june-offer p {
	color: #fff8eb;
	font-size: clamp(20px, 1.8vw, 27px);
	font-weight: 850;
	line-height: 1.22;
	margin-top: 24px;
}

.shaolin-june-offer small {
	align-self: end;
	color: rgba(255, 248, 235, 0.68);
	font-size: 15px;
	line-height: 1.45;
	margin-top: 40px;
	max-width: 360px;
	position: relative;
	z-index: 1;
}

.shaolin-path-switch {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: clamp(42px, 6vw, 82px);
}

.shaolin-path-switch > * {
	background: rgba(255, 250, 240, 0.76);
	border: 1px solid rgba(12, 33, 28, 0.1);
	color: inherit;
	display: grid;
	gap: 10px;
	min-height: 210px;
	padding: clamp(22px, 2.4vw, 34px);
	text-decoration: none;
	transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.shaolin-path-switch > a:hover,
.shaolin-path-switch > a:focus-visible {
	background: rgba(255, 250, 240, 0.96);
	box-shadow: 0 22px 54px rgba(38, 28, 18, 0.1);
	transform: translateY(-2px);
}

.shaolin-path-switch [aria-current="page"] {
	background: rgba(12, 33, 28, 0.94);
	color: #fff8eb;
}

.shaolin-path-switch span {
	color: var(--shaolin-v4-red);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shaolin-path-switch [aria-current="page"] span {
	color: #d1a75f;
}

.shaolin-path-switch strong {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(28px, 2.5vw, 42px);
	line-height: 1.03;
}

.shaolin-path-switch p {
	color: rgba(12, 33, 28, 0.68);
	font-size: 17px;
	line-height: 1.5;
	margin: 0;
}

.shaolin-path-switch [aria-current="page"] p {
	color: rgba(255, 248, 235, 0.72);
}

.shaolin-method-guide,
.shaolin-program-composition {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: clamp(62px, 7vw, 110px);
}

.shaolin-program-composition {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.shaolin-method-guide > div,
.shaolin-program-composition > div {
	background: rgba(255, 250, 240, 0.64);
	border: 1px solid rgba(154, 44, 36, 0.18);
	padding: clamp(22px, 2.3vw, 34px);
}

.shaolin-method-guide span,
.shaolin-program-composition span {
	color: var(--shaolin-v4-red);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 42px;
	font-weight: 800;
	line-height: 1;
}

.shaolin-method-guide h2,
.shaolin-program-composition h2 {
	font-size: clamp(24px, 2vw, 34px);
	line-height: 1.08;
	margin: 18px 0 12px;
}

.shaolin-method-guide p,
.shaolin-program-composition p {
	color: rgba(12, 33, 28, 0.68);
	font-size: 17px;
	line-height: 1.55;
	margin: 0;
}

.shaolin-method-list-heading {
	align-items: end;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	margin-bottom: 30px;
}

.shaolin-method-list-heading h2 {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5vw, 76px);
	line-height: 0.98;
	margin: 0;
}

.shaolin-method-list-heading p {
	color: rgba(12, 33, 28, 0.68);
	font-size: 18px;
	line-height: 1.55;
	margin: 14px 0 0;
	max-width: 780px;
}

.shaolin-text-link {
	color: var(--shaolin-v4-red);
	font-size: 16px;
	font-weight: 900;
	white-space: nowrap;
}

.shaolin-clinic-details {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.96), rgba(246, 236, 216, 0.9)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1100px auto;
	border: 1px solid rgba(12, 33, 28, 0.1);
	box-shadow: 0 24px 74px rgba(38, 28, 18, 0.1);
	display: grid;
	gap: 32px;
	grid-template-columns: minmax(300px, 0.32fr) minmax(0, 1fr);
	margin-bottom: clamp(46px, 6vw, 74px);
	margin-left: auto !important;
	margin-right: auto !important;
	padding: clamp(28px, 4vw, 54px);
}

.shaolin-clinic-details-heading span {
	color: var(--shaolin-v4-red);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shaolin-clinic-details-heading h2 {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3.4vw, 58px);
	line-height: 1;
	margin: 12px 0 16px;
}

.shaolin-clinic-details-heading p {
	color: rgba(12, 33, 28, 0.68);
	font-size: 17px;
	line-height: 1.55;
	margin: 0;
}

.shaolin-clinic-details-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shaolin-clinic-details-grid article {
	background: rgba(255, 250, 240, 0.62);
	border: 1px solid rgba(12, 33, 28, 0.09);
	padding: 20px;
}

.shaolin-clinic-details-grid span {
	color: var(--shaolin-v4-red);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shaolin-clinic-details-grid p {
	color: rgba(12, 33, 28, 0.78);
	font-size: 16px;
	line-height: 1.5;
	margin: 9px 0 0;
}

.shaolin-promo-related {
	background:
		linear-gradient(135deg, rgba(154, 44, 36, 0.95), rgba(12, 33, 28, 0.92)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/china-temple-dark-banner.jpg") center / cover;
	color: #fff8eb;
}

.shaolin-promo-related h2,
.shaolin-promo-related p {
	color: inherit;
}

.shaolin-consult-open {
	overflow: hidden;
}

.shaolin-consult-modal[hidden] {
	display: none !important;
}

.shaolin-consult-form[hidden],
.shaolin-consult-error[hidden] {
	display: none !important;
}

.shaolin-consult-modal {
	align-items: center;
	display: grid;
	inset: 0;
	padding: clamp(18px, 3vw, 42px);
	position: fixed;
	z-index: 1000;
}

.shaolin-consult-backdrop {
	background: rgba(7, 18, 15, 0.72);
	backdrop-filter: blur(10px);
	inset: 0;
	position: absolute;
}

.shaolin-consult-dialog {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.98), rgba(246, 236, 216, 0.98)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1200px auto;
	box-shadow: 0 40px 110px rgba(0, 0, 0, 0.38);
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 0.95fr) minmax(330px, 0.68fr);
	margin: auto;
	max-height: min(900px, calc(100dvh - 36px));
	max-width: min(1120px, calc(100vw - 36px));
	overflow: auto;
	padding: clamp(26px, 4vw, 54px);
	position: relative;
	width: 100%;
}

.shaolin-consult-close {
	align-items: center;
	background: rgba(12, 33, 28, 0.08);
	border: 1px solid rgba(12, 33, 28, 0.12);
	border-radius: 50%;
	color: var(--shaolin-v4-ink);
	display: flex;
	font-size: 30px;
	height: 46px;
	justify-content: center;
	line-height: 1;
	min-height: 46px;
	padding: 0 0 4px;
	position: absolute;
	right: 18px;
	top: 18px;
	width: 46px;
	z-index: 2;
}

.shaolin-consult-copy span,
.shaolin-consult-success span {
	color: var(--shaolin-v4-red);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shaolin-consult-copy h2 {
	color: var(--shaolin-v4-ink);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 4vw, 68px);
	line-height: 0.98;
	margin: 12px 54px 18px 0;
}

.shaolin-consult-copy p,
.shaolin-consult-copy li,
.shaolin-consult-policy,
.shaolin-consult-success p {
	color: rgba(12, 33, 28, 0.72);
	font-size: 17px;
	line-height: 1.55;
}

.shaolin-consult-copy ul {
	display: grid;
	gap: 10px;
	margin: 22px 0 0;
	padding-left: 18px;
}

.shaolin-consult-form {
	align-self: start;
	background: rgba(255, 250, 240, 0.72);
	border: 1px solid rgba(12, 33, 28, 0.1);
	display: grid;
	gap: 16px;
	padding: clamp(20px, 2.5vw, 30px);
}

.shaolin-consult-form label {
	display: grid;
	gap: 8px;
}

.shaolin-consult-form label span {
	color: rgba(12, 33, 28, 0.72);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.shaolin-consult-form input {
	background: #fffdf8;
	border: 1px solid rgba(12, 33, 28, 0.16);
	border-radius: 6px;
	color: var(--shaolin-v4-ink);
	font: inherit;
	font-size: 18px;
	min-height: 58px;
	padding: 0 16px;
	width: 100%;
}

.shaolin-consult-form input:focus {
	border-color: rgba(154, 44, 36, 0.58);
	box-shadow: 0 0 0 4px rgba(154, 44, 36, 0.11);
	outline: none;
}

.shaolin-consult-policy {
	font-size: 13px;
	line-height: 1.45;
	margin: 0;
}

.shaolin-consult-error {
	background: rgba(154, 44, 36, 0.09);
	border: 1px solid rgba(154, 44, 36, 0.2);
	color: var(--shaolin-v4-red);
	font-size: 14px;
	font-weight: 800;
	margin: 0;
	padding: 12px 14px;
}

.shaolin-consult-success {
	align-items: end;
	display: grid;
	gap: 24px;
	grid-column: 1 / -1;
	grid-template-columns: minmax(210px, 0.36fr) minmax(0, 1fr);
}

.shaolin-consult-modal.is-success .shaolin-consult-dialog {
	grid-template-columns: 1fr;
}

.shaolin-consult-modal.is-success .shaolin-consult-copy,
.shaolin-consult-modal.is-success .shaolin-consult-form {
	display: none !important;
}

.shaolin-consult-modal.is-success .shaolin-consult-success {
	grid-column: 1;
}

.shaolin-consult-success[hidden] {
	display: none !important;
}

.shaolin-consult-success img {
	align-self: end;
	filter: drop-shadow(0 24px 38px rgba(12, 33, 28, 0.18));
	max-height: min(62vh, 520px);
	object-fit: contain;
	object-position: bottom center;
	width: 100%;
}

.shaolin-consult-success h3 {
	color: var(--shaolin-v4-ink);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5vw, 80px);
	line-height: 0.96;
	margin: 12px 0 18px;
}

.shaolin-consult-success .shaolin-ref-btn {
	margin-top: 18px;
}

@media (max-width: 1180px) {
	.shaolin-methods-hero,
	.shaolin-clinic-details,
	.shaolin-consult-dialog {
		grid-template-columns: 1fr;
	}

	.shaolin-june-offer {
		min-height: 320px;
	}

	.shaolin-program-composition {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.shaolin-ref-saying,
	.shaolin-path-switch,
	.shaolin-method-guide,
	.shaolin-program-composition,
	.shaolin-clinic-details-grid,
	.shaolin-consult-success {
		grid-template-columns: 1fr;
	}

	.shaolin-method-list-heading {
		align-items: start;
		display: grid;
	}

	.shaolin-methods-hero h1 {
		font-size: clamp(44px, 13vw, 64px);
	}

	.shaolin-june-offer strong {
		font-size: clamp(72px, 22vw, 104px);
	}

	.shaolin-consult-dialog {
		max-width: calc(100vw - 20px);
		padding: 24px 18px 20px;
	}

	.shaolin-consult-copy h2 {
		margin-right: 48px;
	}

	.shaolin-consult-success img {
		max-height: 360px;
	}
}

/* Final visual QA pass: contrast, tablet navigation, and single-page media scale. */
.shaolin-consult-modal .shaolin-consult-copy h2,
.shaolin-consult-modal .shaolin-consult-success h3 {
	color: var(--shaolin-v4-ink) !important;
	text-shadow: none;
}

.shaolin-consult-modal .shaolin-consult-policy {
	color: rgba(12, 33, 28, 0.72) !important;
	font-size: 14px;
	line-height: 1.5;
}

.shaolin-clinic-details-grid span {
	font-size: 14px;
	line-height: 1.35;
}

.shaolin-single-page .shaolin-featured-media {
	aspect-ratio: auto !important;
	max-width: min(var(--shaolin-v4-wide), 1180px) !important;
}

.shaolin-single-page .shaolin-featured-media img {
	aspect-ratio: auto !important;
	height: clamp(260px, 27vw, 420px) !important;
	object-position: center center;
}

@media (max-width: 980px) {
	.shaolin-ref-header .shaolin-primary-nav {
		display: none !important;
	}

	.shaolin-ref-header .shaolin-mobile-links {
		display: flex;
		gap: 8px;
		justify-content: space-between;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: var(--shaolin-v4-wide) !important;
		overflow-x: auto;
		padding: 0 0 14px;
		scrollbar-width: none;
		width: var(--shaolin-v4-wide) !important;
	}

	.shaolin-ref-header .shaolin-mobile-links::-webkit-scrollbar {
		display: none;
	}

	.shaolin-ref-header .shaolin-mobile-links a {
		align-items: center;
		color: var(--shaolin-v4-ink);
		display: inline-flex;
		flex: 0 0 auto;
		font-size: 15px;
		font-weight: 850;
		justify-content: center;
		min-height: 36px;
		text-decoration: none;
		white-space: nowrap;
	}
}

@media (min-width: 781px) and (max-width: 980px) {
	.wp-block-template-part:has(.shaolin-ref-header) {
		min-height: 142px;
	}

	.shaolin-ref-header .shaolin-header-inner {
		display: flex !important;
		gap: 20px;
		justify-content: space-between;
		min-height: 88px;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		width: 246px;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: 62px;
	}
}

@media (max-width: 780px) {
	.shaolin-ref-header .shaolin-header-cta {
		display: none !important;
	}

	.shaolin-single-page .shaolin-page-hero h1 {
		font-size: clamp(34px, 9vw, 42px) !important;
		line-height: 1.05;
	}

	.shaolin-single-page .shaolin-featured-media img {
		height: 240px !important;
	}
}

/* Archive and modal polish pass: keep wide layouts contained, sharpen cards, soften the lead form layer. */
:root {
	--shaolin-archive-frame: min(var(--shaolin-v4-wide), calc(100vw - clamp(32px, 4vw, 112px)));
}

html,
body,
.wp-site-blocks {
	overflow-x: clip !important;
}

.shaolin-archive-page {
	overflow-x: clip;
}

.shaolin-archive-page > *,
.shaolin-archive-page .alignwide,
.shaolin-archive-page > .wp-block-query,
.shaolin-single-page > *,
.shaolin-single-page .alignwide {
	max-width: var(--shaolin-archive-frame) !important;
	width: var(--shaolin-archive-frame) !important;
}

.shaolin-archive-page .shaolin-query-grid,
.shaolin-archive-page .shaolin-method-grid,
.shaolin-archive-page .shaolin-program-grid {
	gap: clamp(24px, 2.2vw, 42px) !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	max-width: 100% !important;
	width: 100% !important;
}

.shaolin-archive-page .wp-block-post,
.shaolin-archive-page .shaolin-query-card {
	max-width: 100% !important;
	min-width: 0 !important;
	width: 100% !important;
}

.shaolin-archive-page .shaolin-query-card {
	background:
		linear-gradient(180deg, rgba(255, 252, 245, 0.94), rgba(247, 238, 221, 0.88)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 900px auto;
	border-color: rgba(12, 33, 28, 0.14);
	box-shadow: 0 24px 70px rgba(38, 28, 18, 0.11);
}

.shaolin-archive-page .shaolin-card-image {
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, rgba(185, 139, 69, 0.18), rgba(11, 51, 43, 0.18));
	min-height: 0 !important;
}

.shaolin-archive-page .shaolin-card-image a,
.shaolin-archive-page .shaolin-card-image img {
	height: 100%;
}

.shaolin-archive-page .shaolin-card-image img {
	filter: saturate(0.94) contrast(1.04) brightness(0.99);
	object-fit: cover;
	object-position: center center;
}

@media (max-width: 1180px) {
	.shaolin-archive-page .shaolin-query-grid,
	.shaolin-archive-page .shaolin-method-grid,
	.shaolin-archive-page .shaolin-program-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 720px) {
	:root {
		--shaolin-archive-frame: calc(100vw - 28px);
	}

	.shaolin-archive-page .shaolin-query-grid,
	.shaolin-archive-page .shaolin-method-grid,
	.shaolin-archive-page .shaolin-program-grid {
		grid-template-columns: 1fr !important;
	}
}

.shaolin-consult-modal {
	align-items: center !important;
	box-sizing: border-box;
	height: 100dvh !important;
	inset: 0 !important;
	justify-items: center !important;
	margin: 0 !important;
	max-height: none !important;
	max-width: none !important;
	overflow: auto;
	padding: clamp(18px, 2.6vw, 44px) !important;
	position: fixed !important;
	width: 100vw !important;
}

.shaolin-consult-backdrop {
	background: rgba(9, 22, 19, 0.38);
	backdrop-filter: blur(18px) saturate(0.92);
	-webkit-backdrop-filter: blur(18px) saturate(0.92);
	inset: 0 !important;
	position: fixed !important;
}

.shaolin-consult-dialog {
	border: 1px solid rgba(255, 250, 240, 0.68);
	box-shadow: 0 36px 100px rgba(11, 18, 16, 0.26);
	gap: clamp(28px, 4vw, 58px);
	grid-template-columns: minmax(420px, 1fr) minmax(390px, 0.74fr);
	max-height: min(880px, calc(100dvh - 36px));
	max-width: min(1260px, calc(100vw - 40px));
	padding: clamp(34px, 4.4vw, 64px);
}

.shaolin-consult-copy h2 {
	font-size: clamp(42px, 3.6vw, 72px);
	margin-right: clamp(34px, 5vw, 72px);
}

.shaolin-consult-copy p,
.shaolin-consult-copy li {
	font-size: 18px;
	line-height: 1.62;
}

.shaolin-consult-form {
	background: rgba(255, 252, 245, 0.82);
	border-color: rgba(12, 33, 28, 0.13);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62), 0 18px 48px rgba(38, 28, 18, 0.08);
	gap: 18px;
	padding: clamp(26px, 3vw, 38px);
}

.shaolin-consult-form input {
	border-color: rgba(12, 33, 28, 0.2);
	font-size: 19px;
	min-height: 64px;
	padding: 0 18px;
}

.shaolin-consult-form .shaolin-ref-btn {
	font-size: 18px;
	min-height: 64px;
	width: 100%;
}

.shaolin-consult-policy {
	color: rgba(12, 33, 28, 0.76) !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
}

.shaolin-consult-close {
	box-shadow: 0 10px 28px rgba(12, 33, 28, 0.12);
}

@media (max-width: 980px) {
	.shaolin-consult-modal {
		height: 100dvh !important;
		padding: 14px !important;
	}

	.shaolin-consult-dialog {
		grid-template-columns: 1fr;
		max-height: calc(100dvh - 28px);
		max-width: calc(100vw - 28px);
		padding: 28px 20px 22px;
	}

	.shaolin-consult-copy h2 {
		font-size: clamp(36px, 9vw, 58px);
		margin-right: 42px;
	}
}

/* Warm Chinese clinic pass: paper, wood, porcelain light, screens, and restrained seal accents. */
:root {
	--shaolin-warm-paper: #f7ead7;
	--shaolin-warm-paper-2: #fff6e8;
	--shaolin-warm-wood: #6b3d24;
	--shaolin-warm-wood-soft: rgba(107, 61, 36, 0.18);
	--shaolin-warm-porcelain: rgba(255, 252, 244, 0.86);
	--shaolin-warm-green: #113a31;
	--shaolin-warm-red: #982c23;
	--shaolin-warm-gold: #c69a54;
}

body {
	background: #f0dfc8;
}

.wp-site-blocks {
	background:
		radial-gradient(circle at 13% 9%, rgba(198, 154, 84, 0.16), transparent 30vw),
		radial-gradient(circle at 92% 18%, rgba(152, 44, 35, 0.11), transparent 28vw),
		linear-gradient(180deg, rgba(255, 247, 233, 0.8), rgba(244, 229, 205, 0.92)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / 1500px auto repeat !important;
}

.shaolin-ref-home,
.shaolin-archive-page,
.shaolin-single-page {
	background:
		radial-gradient(circle at 8% 18%, rgba(198, 154, 84, 0.13), transparent 28vw),
		radial-gradient(circle at 86% 42%, rgba(17, 58, 49, 0.08), transparent 32vw),
		linear-gradient(180deg, rgba(255, 246, 231, 0.78), rgba(244, 228, 203, 0.9)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / 1450px auto repeat !important;
	isolation: isolate;
	position: relative;
}

.shaolin-ref-home::before,
.shaolin-archive-page::before,
.shaolin-single-page::before {
	background:
		linear-gradient(90deg, rgba(107, 61, 36, 0.1) 1px, transparent 1px),
		linear-gradient(180deg, rgba(198, 154, 84, 0.09) 1px, transparent 1px);
	background-size: clamp(84px, 7vw, 132px) clamp(84px, 7vw, 132px);
	content: "";
	inset: 0;
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.14) 54%, transparent 92%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.14) 54%, transparent 92%);
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.shaolin-site-header.shaolin-ref-header {
	background:
		linear-gradient(180deg, rgba(255, 250, 240, 0.96), rgba(250, 239, 220, 0.92)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1100px auto repeat !important;
	border-bottom: 1px solid rgba(107, 61, 36, 0.12);
}

.shaolin-ref-header .wp-block-navigation a::after {
	background: linear-gradient(90deg, var(--shaolin-warm-red), var(--shaolin-warm-gold));
}

.shaolin-methods-hero,
.shaolin-page-hero {
	background:
		linear-gradient(90deg, rgba(255, 247, 233, 0.98) 0%, rgba(255, 247, 233, 0.95) 52%, rgba(255, 247, 233, 0.58) 74%, rgba(255, 247, 233, 0.22) 100%),
		radial-gradient(circle at 15% 12%, rgba(198, 154, 84, 0.16), transparent 22vw),
		url("/wp-content/uploads/2026/05/shaolin-archive-treatment-room.jpg") right center / min(760px, 45%) auto no-repeat,
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1200px auto repeat;
	border: 1px solid rgba(107, 61, 36, 0.14);
	box-shadow: 0 34px 100px rgba(72, 45, 25, 0.1);
	overflow: hidden;
	padding-left: clamp(28px, 3.5vw, 64px);
	padding-right: clamp(28px, 3.5vw, 64px);
	position: relative;
}

.shaolin-programs-page .shaolin-methods-hero {
	background:
		linear-gradient(90deg, rgba(255, 247, 233, 0.98) 0%, rgba(255, 247, 233, 0.95) 52%, rgba(255, 247, 233, 0.58) 74%, rgba(255, 247, 233, 0.22) 100%),
		radial-gradient(circle at 13% 14%, rgba(198, 154, 84, 0.16), transparent 22vw),
		url("/wp-content/uploads/2026/05/shaolin-archive-program-plan.jpg") right center / min(760px, 45%) auto no-repeat,
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1200px auto repeat;
}

.shaolin-methods-hero::before,
.shaolin-page-hero::after {
	background:
		linear-gradient(90deg, rgba(107, 61, 36, 0.18) 1px, transparent 1px),
		linear-gradient(180deg, rgba(107, 61, 36, 0.14) 1px, transparent 1px);
	background-size: 72px 72px;
	content: "";
	inset: 0;
	opacity: 0.2;
	pointer-events: none;
	position: absolute;
}

.shaolin-methods-hero::after {
	border: 1px solid rgba(152, 44, 35, 0.34);
	color: rgba(152, 44, 35, 0.55);
	content: "\7985";
	display: grid;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 30px;
	font-weight: 800;
	height: 58px;
	place-items: center;
	position: absolute;
	right: clamp(28px, 3.5vw, 64px);
	top: clamp(28px, 3.5vw, 58px);
	transform: rotate(-5deg);
	width: 58px;
}

.shaolin-methods-hero > *,
.shaolin-page-hero > * {
	position: relative;
	z-index: 1;
}

.shaolin-june-offer {
	background:
		linear-gradient(155deg, rgba(149, 39, 31, 0.96), rgba(104, 40, 24, 0.95)),
		linear-gradient(45deg, rgba(255, 246, 231, 0.08), transparent 48%),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 860px auto !important;
	border: 1px solid rgba(255, 229, 185, 0.24);
	box-shadow: 0 34px 80px rgba(107, 61, 36, 0.18), inset 0 0 0 1px rgba(255, 250, 240, 0.12);
}

.shaolin-june-offer::before {
	border: 1px solid rgba(255, 248, 235, 0.2);
	content: "";
	inset: 16px;
	pointer-events: none;
	position: absolute;
}

.shaolin-june-offer::after {
	color: rgba(255, 248, 235, 0.14);
	content: "\5C11\6797";
}

.shaolin-path-switch,
.shaolin-method-guide,
.shaolin-program-composition,
.shaolin-method-list-heading {
	position: relative;
}

.shaolin-path-switch::before,
.shaolin-method-guide::before,
.shaolin-program-composition::before {
	background: linear-gradient(90deg, transparent, rgba(198, 154, 84, 0.44), transparent);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
	top: -18px;
}

.shaolin-path-switch > *,
.shaolin-method-guide > div,
.shaolin-program-composition > div,
.shaolin-clinic-details-grid article {
	background:
		linear-gradient(180deg, rgba(255, 252, 244, 0.9), rgba(250, 239, 219, 0.8)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 760px auto repeat !important;
	border-color: rgba(107, 61, 36, 0.15);
	box-shadow: 0 18px 50px rgba(72, 45, 25, 0.08);
}

.shaolin-path-switch > * {
	border-top: 3px solid rgba(198, 154, 84, 0.34);
}

.shaolin-path-switch [aria-current="page"] {
	background:
		linear-gradient(145deg, rgba(17, 58, 49, 0.96), rgba(9, 35, 29, 0.98)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 760px auto repeat !important;
	border-color: rgba(255, 229, 185, 0.22);
}

.shaolin-method-guide > div,
.shaolin-program-composition > div {
	border-color: rgba(152, 44, 35, 0.2);
	position: relative;
}

.shaolin-method-guide > div::after,
.shaolin-program-composition > div::after {
	background: linear-gradient(180deg, rgba(198, 154, 84, 0.18), transparent);
	content: "";
	inset: 0 0 auto;
	height: 5px;
	position: absolute;
}

.shaolin-method-list-heading {
	background:
		linear-gradient(90deg, rgba(255, 247, 233, 0.92), rgba(255, 247, 233, 0.34)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 900px auto repeat;
	border: 1px solid rgba(152, 44, 35, 0.2);
	padding: clamp(18px, 2vw, 30px) clamp(18px, 2.4vw, 34px);
}

.shaolin-method-list-heading::after {
	border: 1px solid rgba(152, 44, 35, 0.38);
	color: rgba(152, 44, 35, 0.5);
	content: "\4E2D\533B";
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 20px;
	font-weight: 800;
	height: 48px;
	line-height: 48px;
	position: absolute;
	right: clamp(18px, 2.4vw, 34px);
	text-align: center;
	top: -24px;
	transform: rotate(4deg);
	width: 48px;
}

.shaolin-archive-page .shaolin-query-card,
.shaolin-card,
.shaolin-ref-service-card,
.shaolin-ref-review-slider,
.shaolin-clinic-details {
	background:
		linear-gradient(180deg, rgba(255, 252, 244, 0.94), rgba(249, 237, 216, 0.9)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 820px auto repeat !important;
	border-color: rgba(107, 61, 36, 0.16);
	box-shadow: 0 24px 74px rgba(72, 45, 25, 0.1);
}

.shaolin-archive-page .shaolin-query-card::before,
.shaolin-query-card::before {
	background: linear-gradient(90deg, var(--shaolin-warm-red), var(--shaolin-warm-gold), var(--shaolin-warm-green));
	height: 3px;
}

.shaolin-archive-page .shaolin-query-card::after {
	border: 1px solid rgba(152, 44, 35, 0.34);
	color: rgba(152, 44, 35, 0.5);
	content: "\548C";
	display: grid;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: 22px;
	font-weight: 800;
	height: 42px;
	place-items: center;
	position: absolute;
	right: 18px;
	top: 18px;
	transform: rotate(-4deg);
	transition: opacity 180ms ease, transform 180ms ease;
	width: 42px;
	z-index: 2;
}

.shaolin-archive-page .shaolin-query-card:hover::after {
	opacity: 0.78;
	transform: rotate(-2deg) scale(1.04);
}

.shaolin-archive-page .shaolin-card-image {
	background:
		linear-gradient(135deg, rgba(107, 61, 36, 0.24), rgba(198, 154, 84, 0.14)),
		var(--shaolin-warm-paper);
	border-bottom: 1px solid rgba(107, 61, 36, 0.12);
	position: relative;
}

.shaolin-archive-page .shaolin-card-image::after {
	background:
		linear-gradient(90deg, rgba(255, 246, 231, 0.24), transparent 28%, transparent 72%, rgba(255, 246, 231, 0.16)),
		linear-gradient(180deg, transparent 74%, rgba(32, 20, 12, 0.14));
	box-shadow: inset 0 0 0 1px rgba(255, 246, 231, 0.24), inset 0 -18px 36px rgba(39, 24, 12, 0.12);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.shaolin-archive-page .shaolin-card-image img {
	filter: saturate(1.01) contrast(1.03) brightness(0.98) sepia(0.04);
}

.shaolin-archive-page .shaolin-card-body {
	background: linear-gradient(180deg, rgba(255, 252, 244, 0.78), rgba(250, 239, 219, 0.56));
	border-top: 1px solid rgba(255, 250, 240, 0.72);
}

.shaolin-archive-page .shaolin-card-body h2 a,
.shaolin-card-body .wp-block-post-excerpt__more-link,
.shaolin-text-link {
	color: var(--shaolin-warm-red);
}

.shaolin-footer,
.shaolin-ref-footer {
	background:
		linear-gradient(135deg, rgba(9, 35, 29, 0.96), rgba(21, 47, 38, 0.96)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1200px auto repeat !important;
	border-top: 1px solid rgba(198, 154, 84, 0.24);
	box-shadow: inset 0 1px 0 rgba(255, 246, 231, 0.08);
}

@media (max-width: 980px) {
	.shaolin-methods-hero,
	.shaolin-programs-page .shaolin-methods-hero,
	.shaolin-page-hero {
		background:
			linear-gradient(180deg, rgba(255, 247, 233, 0.98), rgba(255, 247, 233, 0.9)),
			url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1100px auto repeat;
		padding-left: 20px;
		padding-right: 20px;
	}

	.shaolin-methods-hero::after,
	.shaolin-method-list-heading::after {
		display: none;
	}

	.shaolin-path-switch > *,
	.shaolin-method-guide > div,
	.shaolin-program-composition > div {
		box-shadow: 0 14px 34px rgba(72, 45, 25, 0.08);
	}
}

/* Header spacing fix: the fixed menu should touch the hero, not leave a stray paper band. */
.wp-block-template-part:has(.shaolin-ref-header) {
	min-height: var(--shaolin-header-offset, 104px) !important;
}

.shaolin-archive-page,
.shaolin-ref-home,
.shaolin-single-page {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.shaolin-ref-home > .shaolin-ref-hero,
.shaolin-methods-hero,
.shaolin-page-hero {
	margin-top: 0 !important;
}

.wp-site-blocks > .shaolin-ref-home {
	margin-top: -31px !important;
}

/* Services/programs directory rebuild: quiet clinic catalogue, not a heavy landing stack. */
.shaolin-directory-page {
	--shaolin-directory-frame: min(calc(100% - clamp(32px, 6vw, 160px)), 1840px);
	--shaolin-directory-paper: #fff6e7;
	--shaolin-directory-ink: #0d2720;
	--shaolin-directory-muted: #66736a;
	--shaolin-directory-red: #982c23;
	--shaolin-directory-gold: #c69a54;
	background:
		linear-gradient(180deg, rgba(255, 248, 236, 0.96), rgba(248, 238, 219, 0.92)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1200px auto repeat;
	color: var(--shaolin-directory-ink);
	overflow-x: clip;
}

.shaolin-directory-page > .shaolin-directory-hero {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.shaolin-directory-page > .shaolin-directory-switch,
.shaolin-directory-page > .shaolin-directory-intro,
.shaolin-directory-page > .shaolin-directory-list-head,
.shaolin-directory-page > .wp-block-query,
.shaolin-directory-page > .shaolin-directory-cta {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--shaolin-directory-frame) !important;
	width: var(--shaolin-directory-frame) !important;
}

.shaolin-directory-hero {
	align-items: center;
	background:
		linear-gradient(90deg, rgba(255, 248, 236, 0.99) 0%, rgba(255, 248, 236, 0.94) 42%, rgba(255, 248, 236, 0.62) 66%, rgba(18, 48, 40, 0.2) 100%),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1300px auto repeat;
	border-bottom: 1px solid rgba(107, 61, 36, 0.12);
	display: grid;
	gap: clamp(28px, 4vw, 64px);
	grid-template-columns: minmax(0, 1fr) minmax(420px, 0.72fr);
	min-height: clamp(500px, 54vh, 720px);
	padding: clamp(42px, 5vw, 96px) clamp(28px, 5vw, 180px);
	position: relative;
}

.shaolin-directory-hero::before {
	background:
		repeating-linear-gradient(90deg, transparent 0 92px, rgba(107, 61, 36, 0.075) 93px, transparent 94px),
		linear-gradient(90deg, transparent, rgba(198, 154, 84, 0.08), transparent);
	content: "";
	inset: 0;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
}

.shaolin-directory-hero > * {
	position: relative;
	z-index: 1;
}

.shaolin-directory-copy {
	max-width: 920px;
}

.shaolin-directory-kicker {
	color: var(--shaolin-directory-red);
	display: block;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin-bottom: 16px;
	text-transform: uppercase;
}

.shaolin-directory-copy h1 {
	color: var(--shaolin-directory-ink);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(48px, 4.8vw, 78px);
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0;
	max-width: 920px;
}

.shaolin-directory-copy p {
	color: var(--shaolin-directory-muted);
	font-size: clamp(18px, 1.05vw, 21px);
	line-height: 1.62;
	margin: 20px 0 0;
	max-width: 780px;
}

.shaolin-directory-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.shaolin-directory-proof {
	border-top: 1px solid rgba(107, 61, 36, 0.16);
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(26px, 3vw, 42px);
	max-width: 880px;
	padding-top: 18px;
}

.shaolin-directory-proof span {
	color: #5f6a62;
	font-size: 15px;
	line-height: 1.45;
}

.shaolin-directory-proof strong {
	color: var(--shaolin-directory-ink);
	display: block;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(23px, 1.7vw, 30px);
	line-height: 1.05;
}

.shaolin-directory-visual {
	aspect-ratio: 4 / 3;
	border: 1px solid rgba(107, 61, 36, 0.16);
	border-radius: 8px;
	box-shadow: 0 28px 70px rgba(72, 45, 25, 0.16);
	justify-self: end;
	margin: 0;
	max-width: 740px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.shaolin-directory-visual::after {
	background:
		linear-gradient(180deg, transparent 55%, rgba(17, 32, 27, 0.38)),
		linear-gradient(90deg, rgba(255, 246, 231, 0.18), transparent 30%, transparent 72%, rgba(255, 246, 231, 0.12));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.shaolin-directory-visual img {
	display: block;
	filter: saturate(1.03) contrast(1.02) sepia(0.03);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-directory-visual figcaption {
	background: rgba(255, 248, 236, 0.86);
	border: 1px solid rgba(255, 250, 240, 0.72);
	border-radius: 8px;
	bottom: 22px;
	box-shadow: 0 12px 30px rgba(24, 24, 18, 0.14);
	color: var(--shaolin-directory-ink);
	font-size: 15px;
	font-weight: 800;
	left: 22px;
	max-width: min(72%, 360px);
	padding: 12px 14px;
	position: absolute;
	z-index: 1;
}

.shaolin-directory-switch {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(26px, 3vw, 48px) !important;
}

.shaolin-directory-switch a {
	background:
		linear-gradient(180deg, rgba(255, 252, 244, 0.94), rgba(250, 240, 222, 0.88)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 900px auto repeat;
	border: 1px solid rgba(107, 61, 36, 0.14);
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(72, 45, 25, 0.07);
	color: var(--shaolin-directory-ink);
	display: grid;
	gap: 8px;
	min-height: 132px;
	padding: clamp(20px, 2vw, 30px);
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.shaolin-directory-switch a:hover {
	border-color: rgba(152, 44, 35, 0.34);
	box-shadow: 0 18px 42px rgba(72, 45, 25, 0.1);
	transform: translateY(-2px);
}

.shaolin-directory-switch a.is-current {
	background:
		linear-gradient(145deg, rgba(15, 57, 48, 0.98), rgba(9, 35, 29, 0.98)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 900px auto repeat;
	border-color: rgba(198, 154, 84, 0.42);
	color: #fff8eb;
}

.shaolin-directory-switch span {
	color: var(--shaolin-directory-red);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.shaolin-directory-switch a.is-current span {
	color: #e8bf7a;
}

.shaolin-directory-switch strong {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(28px, 2.2vw, 40px);
	line-height: 1.06;
}

.shaolin-directory-switch small {
	color: #68736b;
	font-size: 16px;
	line-height: 1.55;
	max-width: 620px;
}

.shaolin-directory-switch a.is-current small {
	color: rgba(255, 248, 235, 0.74);
}

.shaolin-directory-intro {
	align-items: start;
	background:
		linear-gradient(90deg, rgba(255, 252, 244, 0.92), rgba(250, 240, 222, 0.72)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1000px auto repeat;
	border: 1px solid rgba(152, 44, 35, 0.18);
	display: grid;
	gap: clamp(22px, 4vw, 70px);
	grid-template-columns: minmax(280px, 0.5fr) minmax(0, 1fr);
	margin-top: clamp(26px, 3vw, 48px) !important;
	padding: clamp(24px, 2.6vw, 40px);
}

.shaolin-directory-intro h2,
.shaolin-directory-list-head h2,
.shaolin-directory-cta h2 {
	color: var(--shaolin-directory-ink);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3vw, 54px);
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0;
}

.shaolin-directory-intro p,
.shaolin-directory-list-head p,
.shaolin-directory-cta p {
	color: var(--shaolin-directory-muted);
	font-size: clamp(16px, 0.95vw, 19px);
	line-height: 1.58;
	margin: 0;
	max-width: 820px;
}

.shaolin-directory-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

.shaolin-directory-chips span {
	background: rgba(255, 248, 236, 0.9);
	border: 1px solid rgba(107, 61, 36, 0.14);
	border-radius: 999px;
	color: #334139;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	padding: 10px 14px;
}

.shaolin-directory-list-head {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-top: clamp(38px, 4.5vw, 72px) !important;
	padding-bottom: 10px;
}

.shaolin-directory-list-head > div {
	max-width: 920px;
}

.shaolin-directory-list-head .shaolin-text-link {
	flex: 0 0 auto;
	margin-bottom: 8px;
}

.shaolin-directory-page .wp-block-query {
	margin-top: clamp(20px, 3vw, 42px) !important;
}

.shaolin-directory-page .shaolin-query-grid,
.shaolin-directory-page .shaolin-method-grid,
.shaolin-directory-page .shaolin-program-grid {
	display: grid !important;
	gap: clamp(22px, 2vw, 34px) !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.shaolin-directory-page .shaolin-query-card {
	background:
		linear-gradient(180deg, rgba(255, 252, 244, 0.96), rgba(250, 240, 222, 0.9)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 900px auto repeat !important;
	border: 1px solid rgba(107, 61, 36, 0.14);
	border-radius: 8px;
	box-shadow: 0 16px 44px rgba(72, 45, 25, 0.08);
	overflow: hidden;
	position: relative;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.shaolin-directory-page .shaolin-query-card:hover {
	border-color: rgba(152, 44, 35, 0.28);
	box-shadow: 0 22px 54px rgba(72, 45, 25, 0.12);
	transform: translateY(-3px);
}

.shaolin-directory-page .shaolin-query-card::before,
.shaolin-directory-page .shaolin-query-card::after {
	display: none !important;
}

.shaolin-directory-page .shaolin-card-image {
	aspect-ratio: 16 / 10 !important;
	background: #eadbc0;
	border-bottom: 1px solid rgba(107, 61, 36, 0.12);
	overflow: hidden;
	position: relative;
}

.shaolin-directory-page .shaolin-card-image::after {
	background: linear-gradient(180deg, transparent 70%, rgba(28, 26, 20, 0.14));
	box-shadow: inset 0 0 0 1px rgba(255, 250, 240, 0.22);
	content: "";
	inset: 0;
	position: absolute;
}

.shaolin-directory-page .shaolin-card-image img {
	filter: saturate(1.03) contrast(1.02) sepia(0.02);
	height: 100%;
	object-fit: cover;
	transition: transform 360ms ease, filter 360ms ease;
	width: 100%;
}

.shaolin-directory-page .shaolin-query-card:hover .shaolin-card-image img {
	filter: saturate(1.07) contrast(1.03) sepia(0.02);
	transform: scale(1.035);
}

.shaolin-directory-page .shaolin-card-body {
	background: transparent;
	border: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-height: 220px;
	padding: clamp(24px, 2vw, 34px);
}

.shaolin-directory-page .shaolin-card-body h2 {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(25px, 1.55vw, 34px);
	letter-spacing: 0;
	line-height: 1.1;
	margin: 0;
}

.shaolin-directory-page .shaolin-card-body h2 a {
	color: var(--shaolin-directory-ink);
	text-decoration: none;
}

.shaolin-directory-page .shaolin-card-body h2 a:hover {
	color: var(--shaolin-directory-red);
}

.shaolin-directory-page .wp-block-post-excerpt {
	margin: 0;
}

.shaolin-directory-page .wp-block-post-excerpt__excerpt {
	color: var(--shaolin-directory-muted);
	display: -webkit-box;
	font-size: 16px;
	line-height: 1.62;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.shaolin-directory-page .wp-block-post-excerpt__more-link {
	color: var(--shaolin-directory-red);
	display: inline-flex;
	font-size: 15px;
	font-weight: 900;
	margin-top: 16px;
	text-decoration: none;
}

.shaolin-directory-page .wp-block-post-excerpt__more-link:hover {
	color: var(--shaolin-directory-ink);
}

@media (min-width: 2200px) {
	.shaolin-directory-page {
		--shaolin-directory-frame: min(calc(100% - clamp(80px, 8vw, 360px)), 3000px);
	}

	.shaolin-archive-page.shaolin-directory-page.shaolin-services-refresh .shaolin-query-grid,
	.shaolin-archive-page.shaolin-directory-page.shaolin-services-refresh .shaolin-method-grid,
	.shaolin-directory-page .shaolin-query-grid,
	.shaolin-directory-page .shaolin-method-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.shaolin-directory-page .shaolin-program-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

.shaolin-directory-cta {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(14, 51, 43, 0.98), rgba(9, 35, 29, 0.98)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1100px auto repeat;
	border: 1px solid rgba(198, 154, 84, 0.24);
	border-radius: 8px;
	box-shadow: 0 22px 58px rgba(72, 45, 25, 0.14);
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: clamp(64px, 8vw, 130px) !important;
	margin-top: clamp(44px, 6vw, 96px) !important;
	padding: clamp(28px, 4vw, 60px);
	position: relative;
}

.shaolin-directory-cta::before {
	background: repeating-linear-gradient(90deg, transparent 0 84px, rgba(255, 248, 235, 0.06) 85px, transparent 86px);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.shaolin-directory-cta > * {
	position: relative;
	z-index: 1;
}

.shaolin-directory-cta .shaolin-directory-kicker {
	color: #e8bf7a;
}

.shaolin-directory-cta h2 {
	color: #fff8eb;
	max-width: 860px;
}

.shaolin-directory-cta p {
	color: rgba(255, 248, 235, 0.72);
	margin-top: 14px;
}

.shaolin-directory-cta .shaolin-ref-btn {
	flex: 0 0 auto;
}

@media (max-width: 1180px) {
	.shaolin-directory-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.shaolin-directory-visual {
		justify-self: stretch;
		max-width: none;
	}

	.shaolin-directory-page .shaolin-query-grid,
	.shaolin-directory-page .shaolin-method-grid,
	.shaolin-directory-page .shaolin-program-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 780px) {
	.shaolin-directory-page {
		--shaolin-directory-frame: min(calc(100% - 32px), 720px);
	}

	.shaolin-directory-hero {
		gap: 22px;
		padding: 28px 16px 34px;
	}

	.shaolin-directory-copy h1 {
		font-size: clamp(38px, 11vw, 48px);
		line-height: 1.04;
	}

	.shaolin-directory-copy p {
		font-size: 16px;
		line-height: 1.54;
		margin-top: 16px;
	}

	.shaolin-directory-actions {
		margin-top: 22px;
	}

	.shaolin-directory-proof {
		gap: 8px;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		margin-top: 20px;
		padding-top: 14px;
	}

	.shaolin-directory-proof span {
		font-size: 12px;
		line-height: 1.35;
	}

	.shaolin-directory-proof strong {
		font-size: 21px;
	}

	.shaolin-directory-switch,
	.shaolin-directory-intro,
	.shaolin-directory-page .shaolin-query-grid,
	.shaolin-directory-page .shaolin-method-grid,
	.shaolin-directory-page .shaolin-program-grid {
		grid-template-columns: 1fr !important;
	}

	.shaolin-directory-visual {
		aspect-ratio: 2 / 1;
	}

	.shaolin-directory-visual figcaption {
		display: none;
	}

	.shaolin-directory-intro,
	.shaolin-directory-cta {
		padding: 20px;
	}

	.shaolin-directory-switch {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin-top: 20px !important;
	}

	.shaolin-directory-switch a {
		min-height: 0;
		padding: 14px;
	}

	.shaolin-directory-switch strong {
		font-size: 22px;
	}

	.shaolin-directory-switch small {
		display: none;
	}

	.shaolin-directory-switch span {
		font-size: 10px;
	}

	.shaolin-directory-intro {
		margin-top: 20px !important;
	}

	.shaolin-directory-intro h2,
	.shaolin-directory-list-head h2,
	.shaolin-directory-cta h2 {
		font-size: 32px;
	}

	.shaolin-directory-intro p,
	.shaolin-directory-list-head p,
	.shaolin-directory-cta p {
		font-size: 15px;
		line-height: 1.52;
	}

	.shaolin-directory-chips {
		gap: 8px;
		margin-top: 16px;
	}

	.shaolin-directory-chips span {
		font-size: 13px;
		padding: 8px 10px;
	}

	.shaolin-directory-list-head {
		margin-top: 30px !important;
	}

	.shaolin-directory-list-head,
	.shaolin-directory-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.shaolin-directory-list-head .shaolin-text-link {
		margin-bottom: 0;
	}

	.shaolin-directory-page .shaolin-card-body {
		min-height: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shaolin-directory-switch a,
	.shaolin-directory-page .shaolin-query-card,
	.shaolin-directory-page .shaolin-card-image img {
		transition: none;
	}

	.shaolin-directory-switch a:hover,
	.shaolin-directory-page .shaolin-query-card:hover,
	.shaolin-directory-page .shaolin-query-card:hover .shaolin-card-image img {
		transform: none;
	}
}

/* Services are a directory first: compact, readable rows instead of repeated photo tiles. */
.shaolin-services-refresh .shaolin-directory-list-head {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(15, 57, 48, 0.98), rgba(9, 35, 29, 0.98)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 980px auto repeat;
	border: 1px solid rgba(198, 154, 84, 0.24);
	border-radius: 8px;
	box-shadow: 0 18px 44px rgba(72, 45, 25, 0.12);
	margin-top: clamp(34px, 4vw, 64px) !important;
	padding: clamp(22px, 2.6vw, 38px);
}

.shaolin-services-refresh .shaolin-directory-list-head .shaolin-directory-kicker {
	color: #e8bf7a;
}

.shaolin-services-refresh .shaolin-directory-list-head h2 {
	color: #fff8eb;
	font-size: clamp(34px, 3vw, 58px);
}

.shaolin-services-refresh .shaolin-directory-list-head p {
	color: rgba(255, 248, 235, 0.74);
}

.shaolin-services-refresh .shaolin-directory-list-head .shaolin-text-link {
	background: rgba(255, 248, 235, 0.08);
	border: 1px solid rgba(255, 248, 235, 0.2);
	border-radius: 999px;
	color: #fff8eb;
	padding: 12px 16px;
	text-decoration: none;
}

.shaolin-services-refresh .shaolin-directory-list-head .shaolin-text-link:hover {
	background: rgba(255, 248, 235, 0.14);
	color: #fff8eb;
}

.shaolin-services-refresh .shaolin-query-grid {
	counter-reset: shaolin-service-card;
	display: grid !important;
	gap: clamp(14px, 1.2vw, 22px) !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.shaolin-services-refresh .shaolin-query-card {
	counter-increment: shaolin-service-card;
	display: grid !important;
	grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
	min-height: 214px;
	overflow: hidden;
}

.shaolin-services-refresh .shaolin-query-card:hover {
	transform: translateX(3px);
}

.shaolin-services-refresh .shaolin-card-image {
	aspect-ratio: auto !important;
	border-bottom: 0;
	border-right: 1px solid rgba(107, 61, 36, 0.12);
	height: 100% !important;
	min-height: 214px;
}

.shaolin-services-refresh .shaolin-card-image img {
	height: 100% !important;
	object-fit: cover;
	width: 100%;
}

.shaolin-services-refresh .shaolin-card-body {
	display: grid;
	gap: 12px;
	grid-template-rows: auto auto 1fr;
	min-height: 0;
	padding: clamp(22px, 1.7vw, 30px);
	position: relative;
}

.shaolin-services-refresh .shaolin-card-body::before {
	color: rgba(152, 44, 35, 0.66);
	content: counter(shaolin-service-card, decimal-leading-zero);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shaolin-services-refresh .shaolin-card-body h2 {
	font-size: clamp(24px, 1.45vw, 32px);
	line-height: 1.08;
	max-width: 16ch;
}

.shaolin-services-refresh .wp-block-post-excerpt__excerpt {
	-webkit-line-clamp: 2;
	color: #536059;
	font-size: 16px;
	line-height: 1.5;
	max-width: 58ch;
}

.shaolin-services-refresh .wp-block-post-excerpt__more-link {
	align-self: end;
	background: transparent;
	border-bottom: 1px solid currentColor;
	justify-self: start;
	line-height: 1.2;
	margin-top: 6px;
	padding-bottom: 2px;
}

.shaolin-services-refresh .shaolin-query-card:nth-child(4n + 1) .shaolin-card-image,
.shaolin-services-refresh .shaolin-query-card:nth-child(4n + 4) .shaolin-card-image {
	grid-column: 2;
	grid-row: 1;
	border-left: 1px solid rgba(107, 61, 36, 0.12);
	border-right: 0;
}

.shaolin-services-refresh .shaolin-query-card:nth-child(4n + 1) .shaolin-card-body,
.shaolin-services-refresh .shaolin-query-card:nth-child(4n + 4) .shaolin-card-body {
	grid-column: 1;
	grid-row: 1;
}

@media (min-width: 2600px) {
	.shaolin-archive-page.shaolin-directory-page.shaolin-services-refresh .shaolin-query-grid,
	.shaolin-services-refresh .shaolin-query-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 980px) {
	.shaolin-services-refresh .shaolin-query-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 640px) {
	.shaolin-services-refresh .shaolin-directory-list-head {
		padding: 20px;
	}

	.shaolin-services-refresh .shaolin-query-card {
		grid-template-columns: 112px minmax(0, 1fr);
		min-height: 156px;
	}

	.shaolin-services-refresh .shaolin-query-card:nth-child(4n + 1) .shaolin-card-image,
	.shaolin-services-refresh .shaolin-query-card:nth-child(4n + 4) .shaolin-card-image {
		grid-column: 1;
		border-left: 0;
		border-right: 1px solid rgba(107, 61, 36, 0.12);
	}

	.shaolin-services-refresh .shaolin-query-card:nth-child(4n + 1) .shaolin-card-body,
	.shaolin-services-refresh .shaolin-query-card:nth-child(4n + 4) .shaolin-card-body {
		grid-column: 2;
	}

	.shaolin-services-refresh .shaolin-card-image {
		min-height: 156px;
	}

	.shaolin-services-refresh .shaolin-card-body {
		gap: 8px;
		padding: 16px;
	}

	.shaolin-services-refresh .shaolin-card-body h2 {
		font-size: 21px;
		max-width: none;
	}

	.shaolin-services-refresh .wp-block-post-excerpt__excerpt {
		display: none;
	}

	.shaolin-services-refresh .wp-block-post-excerpt__more-link {
		font-size: 14px;
		margin-top: 0;
	}
}

/* Patient-facing redesign pass: services, programs, price and request form. */
:root {
	--shaolin-client-frame: min(calc(100% - clamp(32px, 5vw, 160px)), 2180px);
	--shaolin-client-line: rgba(87, 62, 39, 0.15);
	--shaolin-client-paper: rgba(255, 249, 238, 0.92);
}

.shaolin-directory-page {
	--shaolin-directory-frame: var(--shaolin-client-frame);
}

.shaolin-directory-page > .shaolin-directory-switch,
.shaolin-directory-page > .shaolin-directory-intro,
.shaolin-directory-page > .shaolin-directory-list-head,
.shaolin-directory-page > .wp-block-query,
.shaolin-directory-page > .shaolin-directory-cta,
.shaolin-price-hero,
.shaolin-price-content,
.shaolin-price-cta,
.shaolin-price-disclaimer {
	max-width: var(--shaolin-client-frame) !important;
	width: var(--shaolin-client-frame) !important;
}

.shaolin-directory-hero {
	gap: clamp(24px, 4vw, 72px) !important;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.58fr) !important;
	min-height: 0 !important;
	padding: clamp(34px, 5vw, 74px) clamp(28px, 5vw, 160px) !important;
}

.shaolin-directory-copy h1 {
	font-size: clamp(44px, 4.2vw, 76px) !important;
	line-height: 1.02 !important;
	max-width: 820px;
}

.shaolin-directory-copy p {
	font-size: clamp(18px, 1.03vw, 22px) !important;
	max-width: 760px;
}

.shaolin-directory-visual {
	aspect-ratio: 5 / 4 !important;
	max-height: min(520px, 44vw);
}

.shaolin-directory-switch {
	display: inline-grid !important;
	gap: 0 !important;
	grid-template-columns: repeat(2, minmax(180px, 260px)) !important;
	margin-top: clamp(20px, 2.4vw, 38px) !important;
	width: auto !important;
}

.shaolin-directory-switch a {
	border-radius: 0 !important;
	box-shadow: none !important;
	gap: 5px !important;
	min-height: 0 !important;
	padding: 14px 18px !important;
}

.shaolin-directory-switch a:first-child {
	border-radius: 8px 0 0 8px !important;
}

.shaolin-directory-switch a:last-child {
	border-left: 0;
	border-radius: 0 8px 8px 0 !important;
}

.shaolin-directory-switch strong {
	font-size: clamp(22px, 1.45vw, 30px) !important;
}

.shaolin-directory-switch small {
	display: none !important;
}

.shaolin-directory-list-head {
	align-items: end !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--shaolin-client-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 0 clamp(14px, 1.4vw, 22px) !important;
}

.shaolin-directory-list-head h2 {
	color: var(--shaolin-directory-ink) !important;
	font-size: clamp(38px, 3vw, 58px) !important;
}

.shaolin-directory-list-head .shaolin-text-link {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid currentColor !important;
	border-radius: 0 !important;
	color: var(--shaolin-directory-red) !important;
	padding: 0 0 2px !important;
}

.shaolin-services-refresh .shaolin-query-grid {
	border-top: 1px solid var(--shaolin-client-line);
	counter-reset: none !important;
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 560px), 1fr)) !important;
}

.shaolin-services-refresh .shaolin-query-card {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--shaolin-client-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	counter-increment: none !important;
	display: grid !important;
	grid-template-columns: clamp(118px, 15vw, 184px) minmax(0, 1fr) !important;
	min-height: 164px !important;
	overflow: visible !important;
	padding: clamp(14px, 1.2vw, 20px) 0 !important;
	transition: background-color 180ms ease, transform 180ms ease !important;
}

.shaolin-services-refresh .shaolin-query-card:hover {
	background: rgba(255, 252, 244, 0.56) !important;
	box-shadow: none !important;
	transform: translateX(4px) !important;
}

.shaolin-services-refresh .shaolin-query-card:nth-child(n) .shaolin-card-image {
	aspect-ratio: 4 / 3 !important;
	border: 1px solid rgba(107, 61, 36, 0.13) !important;
	border-radius: 8px !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	height: auto !important;
	margin: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

.shaolin-services-refresh .shaolin-query-card:nth-child(n) .shaolin-card-body {
	background: transparent !important;
	border: 0 !important;
	display: flex !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-content: center !important;
	min-height: 0 !important;
	padding: 4px clamp(18px, 2vw, 34px) !important;
}

.shaolin-services-refresh .shaolin-card-body::before {
	content: none !important;
}

.shaolin-services-refresh .shaolin-card-body h2 {
	font-size: clamp(22px, 1.45vw, 31px) !important;
	line-height: 1.1 !important;
	max-width: none !important;
}

.shaolin-services-refresh .wp-block-post-excerpt__excerpt {
	-webkit-line-clamp: 2 !important;
	color: #526258 !important;
	font-size: clamp(15px, 0.92vw, 17px) !important;
	line-height: 1.52 !important;
	max-width: 58ch !important;
}

.shaolin-services-refresh .wp-block-post-excerpt__more-link {
	margin-top: 8px !important;
}

.shaolin-programs-refresh .shaolin-directory-proof {
	display: none !important;
}

.shaolin-programs-refresh .shaolin-directory-intro {
	background: transparent !important;
	border-left: 0 !important;
	border-top: 1px solid var(--shaolin-client-line);
	box-shadow: none !important;
	margin-top: clamp(26px, 3vw, 46px) !important;
	padding: clamp(22px, 2.4vw, 34px) 0 0 !important;
}

.shaolin-programs-refresh .shaolin-program-grid,
.shaolin-programs-refresh .shaolin-query-grid {
	display: grid !important;
	gap: clamp(16px, 1.4vw, 24px) !important;
	grid-template-columns: 1fr !important;
}

.shaolin-programs-refresh .shaolin-query-card {
	background: var(--shaolin-client-paper) !important;
	border: 1px solid rgba(107, 61, 36, 0.13) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	display: grid !important;
	grid-template-columns: minmax(260px, 380px) minmax(0, 1fr) !important;
	min-height: 240px !important;
}

.shaolin-programs-refresh .shaolin-card-image {
	aspect-ratio: auto !important;
	border-bottom: 0 !important;
	border-right: 1px solid rgba(107, 61, 36, 0.12) !important;
	height: 100% !important;
}

.shaolin-programs-refresh .shaolin-card-body {
	min-height: 0 !important;
	padding: clamp(26px, 3vw, 46px) !important;
}

.shaolin-programs-refresh .shaolin-card-body h2 {
	font-size: clamp(30px, 2.2vw, 48px) !important;
	max-width: 760px;
}

.shaolin-price-page {
	background:
		linear-gradient(180deg, rgba(255, 248, 236, 0.97), rgba(248, 238, 219, 0.94)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1200px auto repeat !important;
}

.shaolin-price-hero {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	display: block !important;
	margin-top: 0 !important;
	min-height: 0 !important;
	padding: clamp(42px, 6vw, 92px) 0 clamp(24px, 3vw, 44px) !important;
}

.shaolin-price-hero::before,
.shaolin-price-hero-panel,
.shaolin-price-guide {
	display: none !important;
}

.shaolin-price-hero h1 {
	font-size: clamp(46px, 4.6vw, 86px) !important;
	line-height: 1.02 !important;
}

.shaolin-price-hero-copy > p:not(.shaolin-eyebrow) {
	font-size: clamp(18px, 1.08vw, 22px) !important;
	line-height: 1.58 !important;
	margin-top: 22px !important;
	max-width: 900px !important;
}

.shaolin-price-content {
	margin-top: clamp(22px, 3vw, 46px) !important;
}

.shaolin-price-table {
	gap: clamp(24px, 2.6vw, 42px) !important;
	margin-top: 0 !important;
}

.shaolin-price-tools {
	background: rgba(255, 250, 240, 0.76) !important;
	border: 1px solid var(--shaolin-client-line) !important;
	box-shadow: none !important;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 460px) !important;
	padding: clamp(20px, 2.2vw, 32px) !important;
}

.shaolin-price-tools-copy strong {
	font-size: clamp(30px, 2.35vw, 48px) !important;
}

.shaolin-price-tools-copy p {
	font-size: clamp(16px, 0.95vw, 18px) !important;
	margin-top: 8px !important;
}

.shaolin-price-search {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.shaolin-price-search span {
	color: rgba(12, 33, 28, 0.68) !important;
}

.shaolin-price-search input {
	background: #fffdf8 !important;
	border-color: rgba(12, 33, 28, 0.18) !important;
	border-radius: 8px !important;
	min-height: 62px !important;
}

.shaolin-price-nav {
	background: transparent !important;
	box-shadow: none !important;
	gap: 8px !important;
	padding: 0 !important;
	position: sticky;
	top: var(--shaolin-header-offset, 104px);
}

.shaolin-price-nav a {
	background: rgba(255, 250, 240, 0.72) !important;
	border: 1px solid var(--shaolin-client-line) !important;
	border-radius: 999px !important;
	color: var(--shaolin-v4-ink) !important;
}

.shaolin-price-group {
	background: rgba(255, 250, 240, 0.74) !important;
	border: 1px solid var(--shaolin-client-line) !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.shaolin-price-group-heading {
	background: rgba(255, 250, 240, 0.72) !important;
	border-bottom: 1px solid var(--shaolin-client-line);
	color: var(--shaolin-v4-ink) !important;
	display: block !important;
	padding: clamp(22px, 2.4vw, 34px) !important;
}

.shaolin-price-group-heading h2 {
	color: var(--shaolin-v4-ink) !important;
	font-size: clamp(30px, 2.35vw, 48px) !important;
	margin-bottom: 10px !important;
}

.shaolin-price-group-heading p {
	color: rgba(12, 33, 28, 0.68) !important;
	font-size: clamp(16px, 0.96vw, 18px) !important;
	max-width: 900px !important;
}

.shaolin-price-list {
	display: grid !important;
	grid-template-columns: 1fr !important;
}

.shaolin-price-item {
	background: rgba(255, 250, 240, 0.58) !important;
	border-right: 0 !important;
	border-top: 1px solid rgba(12, 33, 28, 0.09) !important;
	gap: clamp(16px, 2vw, 32px) !important;
	grid-template-columns: minmax(0, 1fr) minmax(132px, max-content) !important;
	min-height: 0 !important;
	padding: clamp(18px, 1.8vw, 28px) !important;
}

.shaolin-price-item:hover {
	background: rgba(255, 250, 240, 0.88) !important;
	transform: none !important;
}

.shaolin-price-main h3,
.shaolin-price-item h3 {
	font-size: clamp(20px, 1.18vw, 27px) !important;
	margin-bottom: 6px !important;
}

.shaolin-price-item p,
.shaolin-price-item small {
	font-size: clamp(15px, 0.86vw, 17px) !important;
}

.shaolin-price-item strong {
	background: transparent !important;
	border: 0 !important;
	color: var(--shaolin-v4-red) !important;
	font-size: clamp(20px, 1.35vw, 29px) !important;
	padding: 0 !important;
}

.shaolin-price-cta {
	border-radius: 8px;
	box-shadow: none !important;
}

.shaolin-price-disclaimer {
	margin-top: clamp(20px, 2vw, 36px) !important;
}

.shaolin-consult-modal {
	align-items: center !important;
	background: transparent !important;
	display: grid !important;
	height: 100dvh !important;
	inset: 0 !important;
	justify-items: center !important;
	max-height: none !important;
	max-width: none !important;
	min-height: 100dvh !important;
	padding: clamp(14px, 2.5vw, 40px) !important;
	position: fixed !important;
	width: 100dvw !important;
}

.shaolin-consult-backdrop {
	background: rgba(10, 28, 23, 0.3) !important;
	backdrop-filter: blur(18px) saturate(0.96) !important;
	-webkit-backdrop-filter: blur(18px) saturate(0.96) !important;
	inset: 0 !important;
	position: fixed !important;
}

.shaolin-consult-dialog {
	border: 1px solid rgba(255, 250, 240, 0.72) !important;
	border-radius: 10px !important;
	box-shadow: 0 34px 92px rgba(12, 23, 19, 0.22) !important;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.62fr) !important;
	max-height: min(900px, calc(100dvh - 32px)) !important;
	max-width: min(1320px, calc(100dvw - 32px)) !important;
	padding: clamp(30px, 4vw, 62px) !important;
	width: 100% !important;
}

.shaolin-consult-copy h2 {
	font-size: clamp(40px, 3.7vw, 70px) !important;
	line-height: 1 !important;
}

.shaolin-consult-form {
	border-radius: 8px;
}

@media (min-width: 2200px) {
	:root {
		--shaolin-client-frame: min(calc(100% - clamp(120px, 8vw, 420px)), 3200px);
	}

	.shaolin-directory-page {
		--shaolin-directory-frame: var(--shaolin-client-frame);
	}

	.shaolin-archive-page.shaolin-directory-page.shaolin-services-refresh .shaolin-query-grid,
	.shaolin-services-refresh .shaolin-query-grid {
		grid-template-columns: repeat(auto-fit, minmax(620px, 1fr)) !important;
	}

	.shaolin-single-page .shaolin-price-content,
	.shaolin-single-page .shaolin-price-hero,
	.shaolin-single-page .shaolin-price-cta,
	.shaolin-single-page .shaolin-price-disclaimer {
		max-width: var(--shaolin-client-frame) !important;
		width: var(--shaolin-client-frame) !important;
	}
}

@media (max-width: 1120px) {
	.shaolin-consult-dialog,
	.shaolin-price-tools {
		grid-template-columns: 1fr !important;
	}

	.shaolin-directory-visual {
		justify-self: stretch !important;
		max-height: 420px;
		max-width: none !important;
	}

	.shaolin-programs-refresh .shaolin-query-card {
		grid-template-columns: minmax(190px, 300px) minmax(0, 1fr) !important;
	}
}

@media (min-width: 821px) and (max-width: 1120px) {
	.shaolin-directory-hero {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 0.48fr) !important;
	}

	.shaolin-directory-visual {
		max-height: 360px;
	}
}

@media (max-width: 720px) {
	:root {
		--shaolin-client-frame: calc(100% - 28px);
	}

	.shaolin-directory-hero {
		padding: 26px 14px 30px !important;
	}

	.shaolin-directory-copy h1,
	.shaolin-price-hero h1 {
		font-size: clamp(36px, 10vw, 46px) !important;
	}

	.shaolin-directory-switch {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: var(--shaolin-client-frame) !important;
	}

	.shaolin-services-refresh .shaolin-query-card {
		grid-template-columns: 104px minmax(0, 1fr) !important;
		min-height: 132px !important;
		padding: 12px 0 !important;
	}

	.shaolin-services-refresh .shaolin-card-body h2 {
		font-size: 20px !important;
	}

	.shaolin-programs-refresh .shaolin-query-card {
		grid-template-columns: 1fr !important;
	}

	.shaolin-programs-refresh .shaolin-card-image {
		aspect-ratio: 16 / 9 !important;
		border-right: 0 !important;
		height: auto !important;
	}

	.shaolin-price-item,
	.shaolin-price-disclaimer {
		grid-template-columns: 1fr !important;
	}

	.shaolin-price-nav {
		position: static !important;
	}

	.shaolin-consult-dialog {
		max-width: calc(100dvw - 24px) !important;
		padding: 24px 18px 20px !important;
	}
}

/* Impeccable critique pass: homepage fold, public-copy rhythm and image quality. */
.shaolin-ref-hero h1 {
	font-size: clamp(52px, 4.8vw, 96px) !important;
	letter-spacing: 0 !important;
	line-height: 0.98 !important;
}

.shaolin-eyebrow,
.shaolin-directory-kicker,
.shaolin-directory-switch span {
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.shaolin-eyebrow,
.shaolin-directory-switch span {
	font-size: clamp(14px, 0.82vw, 16px) !important;
}

.shaolin-directory-copy > .shaolin-directory-kicker:empty,
.shaolin-directory-cta .shaolin-directory-kicker:empty,
.shaolin-price-hero-copy > .shaolin-eyebrow:empty,
.shaolin-price-cta .shaolin-eyebrow:empty {
	display: none !important;
}

@media (min-width: 781px) and (max-width: 1120px) {
	.shaolin-ref-home > .shaolin-ref-hero {
		min-height: min(780px, calc(100dvh - var(--shaolin-header-offset, 132px) - 28px)) !important;
		position: relative;
	}

	.shaolin-ref-hero-bg {
		display: block !important;
	}

	.shaolin-ref-hero-overlay {
		background:
			linear-gradient(90deg, rgba(247, 240, 226, 0.98) 0%, rgba(247, 240, 226, 0.9) 48%, rgba(247, 240, 226, 0.26) 75%, rgba(247, 240, 226, 0) 100%),
			linear-gradient(180deg, rgba(247, 240, 226, 0.08), rgba(247, 240, 226, 0.66)) !important;
	}

	.shaolin-ref-hero-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 0.58fr) minmax(260px, 0.42fr) !important;
		min-height: 0 !important;
		padding-bottom: clamp(116px, 13vw, 154px) !important;
		padding-top: clamp(46px, 5vw, 70px) !important;
		width: var(--shaolin-v4-wide) !important;
	}

	.shaolin-ref-mobile-photo {
		display: none !important;
	}

	.shaolin-ref-hero h1 {
		font-size: clamp(48px, 6.3vw, 64px) !important;
		line-height: 1 !important;
	}

	.shaolin-ref-hero-copy p {
		font-size: 17px !important;
		line-height: 1.52 !important;
		max-width: 620px !important;
	}

	.shaolin-ref-promo {
		margin-top: 20px !important;
		padding: 16px 18px !important;
	}

	.shaolin-ref-actions {
		margin-top: 20px !important;
	}

	.shaolin-ref-trust {
		bottom: clamp(18px, 3vw, 34px) !important;
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		left: 50% !important;
		margin: 0 !important;
		position: absolute !important;
		transform: translateX(-50%) !important;
		width: var(--shaolin-v4-wide) !important;
	}

	.shaolin-ref-trust a {
		align-items: center !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 4px !important;
		min-height: 88px !important;
		padding: 14px 16px !important;
		text-align: center !important;
	}

	.shaolin-ref-trust .shaolin-ref-icon {
		display: none !important;
	}

	.shaolin-ref-trust small {
		display: none !important;
	}
}

@media (max-width: 780px) {
	.shaolin-ref-home > .shaolin-ref-hero {
		padding-bottom: 30px !important;
	}

	.shaolin-ref-hero-grid {
		padding-top: 38px !important;
	}

	.shaolin-ref-mobile-photo {
		height: clamp(210px, 42vw, 280px) !important;
		margin-top: 24px !important;
	}

	.shaolin-ref-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin-top: 22px !important;
	}

	.shaolin-ref-trust a {
		min-height: auto !important;
		padding: 14px !important;
	}
}

/* Full-site polish audit: mobile navigation, modal, articles, reviews and clinical media rhythm. */
.shaolin-consult-modal,
.shaolin-consult-modal * {
	box-sizing: border-box;
}

body.shaolin-consult-open {
	overflow: hidden;
}

.shaolin-consult-dialog {
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

.shaolin-consult-copy,
.shaolin-consult-form,
.shaolin-consult-success {
	min-width: 0 !important;
}

.shaolin-consult-form input {
	box-sizing: border-box;
	max-width: 100% !important;
	width: 100% !important;
}

.shaolin-articles-archive > .wp-block-query,
.shaolin-articles-archive .shaolin-query-grid,
.shaolin-native-reviews-head,
.shaolin-native-review-query,
.shaolin-native-review-grid {
	box-sizing: border-box;
	max-width: var(--shaolin-client-frame) !important;
	width: var(--shaolin-client-frame) !important;
}

.shaolin-articles-archive .shaolin-query-grid {
	display: grid !important;
	gap: clamp(18px, 1.8vw, 30px) !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)) !important;
}

.shaolin-articles-archive .shaolin-query-card {
	min-width: 0 !important;
}

.shaolin-native-reviews-head {
	align-items: end;
	border-bottom: 1px solid var(--shaolin-client-line);
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: clamp(20px, 2.4vw, 36px) !important;
	margin-top: clamp(34px, 4vw, 64px) !important;
	padding-bottom: 18px;
}

.shaolin-native-reviews-head h2 {
	color: var(--shaolin-v4-ink);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(36px, 3.2vw, 64px);
	line-height: 1;
	margin: 0;
}

.shaolin-native-reviews-head p {
	color: var(--shaolin-v4-muted);
	font-size: clamp(17px, 1vw, 20px);
	line-height: 1.55;
	margin: 12px 0 0;
	max-width: 760px;
}

.shaolin-native-review-grid {
	display: grid !important;
	gap: clamp(16px, 1.6vw, 26px) !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)) !important;
}

.shaolin-native-review-card {
	background: rgba(255, 250, 240, 0.82);
	border: 1px solid var(--shaolin-client-line);
	border-radius: 8px;
	box-shadow: none;
	padding: clamp(22px, 2.2vw, 34px);
}

.shaolin-native-review-card h2 {
	color: var(--shaolin-v4-ink);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(24px, 1.8vw, 34px);
	line-height: 1.1;
	margin: 0 0 14px;
}

.shaolin-native-review-card .wp-block-post-excerpt__excerpt {
	color: rgba(12, 33, 28, 0.74);
	font-size: clamp(16px, 0.96vw, 18px);
	line-height: 1.62;
	margin: 0;
}

.shaolin-contact-entrance img {
	filter: saturate(1.04) contrast(1.02);
}

.shaolin-doctors-archive .shaolin-doctor-copy .wp-block-post-excerpt {
	display: block;
}

.shaolin-doctors-archive .shaolin-doctor-copy .wp-block-post-excerpt__excerpt {
	color: rgba(12, 33, 28, 0.72);
	display: -webkit-box;
	font-size: 16px;
	line-height: 1.52;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

@media (max-width: 780px) {
	.wp-block-template-part:has(.shaolin-ref-header) {
		min-height: 126px !important;
	}

	.shaolin-ref-header .shaolin-header-inner {
		display: grid !important;
		gap: 10px !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		min-height: 66px !important;
		padding-bottom: 8px !important;
		padding-top: 10px !important;
		width: calc(100% - 28px) !important;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		max-width: min(210px, 55vw) !important;
		width: min(210px, 55vw) !important;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: 52px !important;
		object-fit: contain;
		object-position: left center;
	}

	.shaolin-header-inner .wp-block-navigation {
		display: none !important;
	}

	.shaolin-header-cta {
		align-items: center !important;
		display: inline-flex !important;
		font-size: 14px !important;
		justify-content: center !important;
		min-height: 44px !important;
		padding: 0 14px !important;
		white-space: nowrap;
	}

	.shaolin-mobile-links {
		border-top: 1px solid rgba(18, 53, 47, 0.1);
		display: flex !important;
		flex-wrap: wrap;
		gap: 6px 12px;
		justify-content: center;
		margin: 0 auto !important;
		max-width: calc(100% - 28px) !important;
		overflow: visible !important;
		padding: 8px 0 10px;
		width: calc(100% - 28px) !important;
	}

	.shaolin-mobile-links a {
		color: var(--shaolin-jade);
		flex: 0 0 auto !important;
		font-size: 14px !important;
		font-weight: 850;
		line-height: 1.2;
		min-height: 30px;
		padding: 5px 0;
		text-decoration: none;
	}

	.shaolin-page-hero h1,
	.shaolin-reviews-archive .shaolin-page-hero h1,
	.shaolin-doctors-archive .shaolin-page-hero h1 {
		font-size: clamp(38px, 11vw, 52px) !important;
		line-height: 1.02 !important;
	}

	.shaolin-native-reviews-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.shaolin-yandex-widget-section {
		grid-template-columns: 1fr !important;
	}

	.shaolin-yandex-widget-copy {
		position: static;
	}

	.shaolin-consult-modal {
		overflow-x: hidden !important;
		padding: 10px !important;
		width: 100vw !important;
	}

	.shaolin-consult-dialog {
		display: block !important;
		max-height: calc(100dvh - 20px) !important;
		max-width: calc(100vw - 20px) !important;
		padding: 22px 16px 18px !important;
		width: calc(100vw - 20px) !important;
	}

	.shaolin-consult-copy h2 {
		font-size: clamp(30px, 8.6vw, 40px) !important;
		line-height: 1.02 !important;
	}

	.shaolin-consult-copy p,
	.shaolin-consult-copy li,
	.shaolin-consult-policy {
		font-size: 15px !important;
		line-height: 1.5 !important;
	}

	.shaolin-consult-form {
		margin-top: 20px !important;
		padding: 18px !important;
	}

	.shaolin-consult-form input {
		min-height: 52px !important;
	}

	.shaolin-consult-close {
		right: 12px !important;
		top: 12px !important;
	}

	.shaolin-price-nav {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 8px !important;
		overflow-x: auto !important;
		padding: 10px 0 12px !important;
		scrollbar-width: none;
	}

	.shaolin-price-nav::-webkit-scrollbar {
		display: none;
	}

	.shaolin-price-nav a {
		flex: 0 0 auto !important;
		font-size: 14px !important;
		justify-content: center;
		min-height: 40px;
		overflow-wrap: normal !important;
		padding: 10px 14px !important;
		white-space: nowrap;
	}

	.shaolin-price-item {
		gap: 10px !important;
		padding: 16px !important;
	}

	.shaolin-price-item strong {
		font-size: 22px !important;
		justify-self: start;
	}

	.shaolin-articles-archive > .wp-block-query,
	.shaolin-articles-archive .shaolin-query-grid,
	.shaolin-native-reviews-head,
	.shaolin-native-review-query,
	.shaolin-native-review-grid {
		max-width: calc(100% - 28px) !important;
		width: calc(100% - 28px) !important;
	}

	.shaolin-articles-archive .shaolin-query-grid {
		grid-template-columns: 1fr !important;
	}

	.shaolin-doctors-archive .shaolin-doctor-copy .wp-block-post-excerpt__excerpt {
		-webkit-line-clamp: 1;
		font-size: 15px;
	}
}

/* Site-frame stabilization: one source of truth for wide screens, fixed header spacing and modal layers. */
:root {
	--shaolin-site-gutter: clamp(18px, 4vw, 280px);
	--shaolin-site-frame: min(calc(100% - var(--shaolin-site-gutter) - var(--shaolin-site-gutter)), 3280px);
	--shaolin-header-offset: 98px;
	--shaolin-z-sticky: 100;
	--shaolin-z-modal-backdrop: 180;
	--shaolin-z-modal: 190;
}

html,
body,
.wp-site-blocks {
	max-width: none !important;
	overflow-x: clip !important;
}

body {
	min-width: 320px;
}

.wp-site-blocks {
	font-size: 0;
}

.wp-site-blocks > * {
	font-size: 18px;
}

.shaolin-site-header.shaolin-ref-header {
	left: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	position: fixed !important;
	right: 0 !important;
	top: var(--wp-admin--admin-bar--height, 0px) !important;
	width: 100% !important;
	z-index: var(--shaolin-z-sticky) !important;
}

.wp-block-template-part:has(.shaolin-ref-header) {
	min-height: var(--shaolin-header-offset) !important;
}

.wp-site-blocks > main,
.wp-site-blocks > .wp-block-template-part + main,
.wp-site-blocks > header + main {
	margin-block-start: 0 !important;
}

.shaolin-ref-header .shaolin-header-inner {
	align-items: center !important;
	display: grid !important;
	grid-template-columns: minmax(250px, 360px) minmax(0, 1fr) auto !important;
	max-width: var(--shaolin-site-frame) !important;
	min-height: var(--shaolin-header-offset) !important;
	padding: 12px 0 !important;
	width: var(--shaolin-site-frame) !important;
}

.shaolin-ref-header .wp-block-navigation__container {
	column-gap: clamp(18px, 1.5vw, 30px) !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	row-gap: 4px !important;
}

.shaolin-ref-header .wp-block-navigation a {
	font-size: clamp(14px, 0.76vw, 16px) !important;
	white-space: nowrap;
}

.shaolin-ref-header .shaolin-header-cta {
	white-space: nowrap;
}

.wp-site-blocks > .shaolin-ref-home {
	margin-top: 0 !important;
}

.shaolin-ref-home > .shaolin-ref-hero,
.shaolin-methods-hero,
.shaolin-page-hero {
	margin-top: 0 !important;
}

.shaolin-ref-hero-grid,
.shaolin-ref-trust,
.shaolin-ref-footer-grid,
.shaolin-ref-footer-bottom,
.shaolin-directory-page > .shaolin-directory-switch,
.shaolin-directory-page > .shaolin-directory-intro,
.shaolin-directory-page > .shaolin-directory-list-head,
.shaolin-directory-page > .wp-block-query,
.shaolin-directory-page > .shaolin-directory-cta,
.shaolin-price-hero,
.shaolin-price-content,
.shaolin-price-cta,
.shaolin-price-disclaimer,
.shaolin-archive-page > .alignwide,
.shaolin-single-page > .alignwide {
	max-width: var(--shaolin-site-frame) !important;
	width: var(--shaolin-site-frame) !important;
}

.shaolin-ref-home > .shaolin-ref-hero,
.shaolin-directory-page > .shaolin-directory-hero,
.shaolin-footer.shaolin-ref-footer {
	left: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	position: relative;
	right: auto !important;
	width: 100% !important;
}

.shaolin-footer.shaolin-ref-footer {
	overflow: clip;
}

.shaolin-single-page .shaolin-featured-media {
	max-width: var(--shaolin-site-frame) !important;
	width: var(--shaolin-site-frame) !important;
}

.shaolin-single-page .shaolin-featured-media img {
	height: clamp(420px, 34vw, 680px) !important;
	object-fit: cover !important;
	width: 100% !important;
}

.shaolin-services-refresh .shaolin-query-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 560px), 1fr)) !important;
}

.shaolin-services-refresh .shaolin-query-card {
	overflow: hidden !important;
}

.shaolin-services-refresh .shaolin-card-body {
	min-width: 0 !important;
}

.shaolin-programs-refresh .shaolin-query-grid {
	grid-template-columns: 1fr !important;
}

main.shaolin-programs-refresh .shaolin-query-grid.shaolin-program-grid,
main.shaolin-programs-refresh .shaolin-query-grid {
	grid-template-columns: 1fr !important;
}

main.shaolin-programs-refresh .shaolin-query-card {
	grid-template-columns: minmax(260px, 380px) minmax(0, 1fr) !important;
	width: 100% !important;
}

main.shaolin-programs-refresh .shaolin-card-body {
	min-width: 0 !important;
	width: auto !important;
}

.shaolin-price-item {
	grid-template-columns: minmax(0, 1fr) minmax(clamp(112px, 12vw, 190px), max-content) !important;
}

.shaolin-price-search span,
.shaolin-price-nav a,
.shaolin-directory-chips span {
	font-size: clamp(14px, 0.8vw, 16px) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.shaolin-consult-modal[hidden] {
	display: none !important;
}

.shaolin-consult-modal {
	align-items: center !important;
	background: transparent !important;
	display: grid !important;
	height: auto !important;
	inset: 0 !important;
	justify-items: center !important;
	max-height: none !important;
	max-width: none !important;
	min-height: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	padding: clamp(14px, 2.5vw, 40px) !important;
	position: fixed !important;
	width: auto !important;
	z-index: var(--shaolin-z-modal) !important;
}

.shaolin-consult-backdrop {
	background: rgba(10, 28, 23, 0.24) !important;
	backdrop-filter: blur(14px) saturate(0.96) !important;
	-webkit-backdrop-filter: blur(14px) saturate(0.96) !important;
	inset: 0 !important;
	position: fixed !important;
	z-index: var(--shaolin-z-modal-backdrop) !important;
}

.shaolin-consult-dialog {
	display: grid !important;
	position: relative !important;
	z-index: var(--shaolin-z-modal) !important;
}

@media (max-width: 1180px) {
	:root {
		--shaolin-header-offset: 126px;
	}

	.shaolin-ref-header .shaolin-header-inner {
		grid-template-columns: minmax(0, 1fr) auto !important;
		min-height: 74px !important;
		padding: 10px 0 8px !important;
	}

	.shaolin-header-inner .wp-block-navigation {
		display: none !important;
	}

	.shaolin-mobile-links {
		border-top: 1px solid rgba(18, 53, 47, 0.1);
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 6px 14px;
		justify-content: center;
		margin: 0 auto !important;
		max-width: var(--shaolin-site-frame) !important;
		overflow: visible !important;
		padding: 8px 0 10px;
		width: var(--shaolin-site-frame) !important;
	}

	.shaolin-mobile-links a {
		color: var(--shaolin-jade);
		font-size: 14px !important;
		font-weight: 850;
		line-height: 1.2;
		min-height: 30px;
		padding: 5px 0;
		text-decoration: none;
		white-space: nowrap;
	}

	.shaolin-header-cta {
		display: inline-flex !important;
	}
}

@media (max-width: 720px) {
	:root {
		--shaolin-site-gutter: 14px;
		--shaolin-header-offset: 126px;
	}

	.shaolin-ref-header .shaolin-header-inner {
		min-height: 66px !important;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		max-width: min(210px, 52vw) !important;
		width: min(210px, 52vw) !important;
	}

	.shaolin-header-cta {
		font-size: 13px !important;
		min-height: 42px !important;
		padding: 0 12px !important;
	}

	.shaolin-mobile-links {
		gap: 5px 10px;
	}

	.shaolin-mobile-links a {
		font-size: 13px !important;
	}

	.shaolin-directory-hero {
		grid-template-columns: 1fr !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	.shaolin-directory-visual {
		max-height: none !important;
	}

	.shaolin-services-refresh .shaolin-query-card {
		grid-template-columns: 112px minmax(0, 1fr) !important;
	}

	.shaolin-programs-refresh .shaolin-query-card {
		grid-template-columns: 1fr !important;
	}

	.shaolin-single-page .shaolin-featured-media img {
		height: clamp(240px, 56vw, 330px) !important;
	}

	.shaolin-price-item {
		grid-template-columns: 1fr !important;
	}

	.shaolin-consult-modal {
		align-items: start !important;
		padding: 10px !important;
	}

	.shaolin-consult-dialog {
		display: block !important;
		max-height: calc(100dvh - 20px) !important;
		max-width: calc(100vw - 20px) !important;
		padding: 22px 16px 18px !important;
		width: calc(100vw - 20px) !important;
	}
}

/* Layout consolidation: one frame, one fixed header offset, no horizontal page bleed. */
:root {
	--shaolin-site-gutter: clamp(18px, 4vw, 280px);
	--shaolin-site-frame: min(calc(100% - var(--shaolin-site-gutter) - var(--shaolin-site-gutter)), 3280px);
	--shaolin-v4-wide: var(--shaolin-site-frame);
	--shaolin-client-frame: var(--shaolin-site-frame);
	--shaolin-directory-frame: var(--shaolin-site-frame);
}

@media (min-width: 2200px) {
	:root {
		--shaolin-site-gutter: clamp(72px, 6vw, 280px);
		--shaolin-site-frame: min(calc(100% - var(--shaolin-site-gutter) - var(--shaolin-site-gutter)), 3280px);
	}
}

html,
body,
.wp-site-blocks {
	max-width: 100% !important;
	overflow-x: clip !important;
}

body {
	margin: 0;
}

.wp-block-template-part:has(.shaolin-ref-header) {
	min-height: var(--shaolin-header-offset, 126px) !important;
	position: relative;
	z-index: 100;
}

.wp-site-blocks > .shaolin-ref-home {
	margin-top: 0 !important;
}

.shaolin-ref-home,
.shaolin-archive-page,
.shaolin-single-page,
.shaolin-price-page,
.shaolin-contact-page {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

.shaolin-site-header.shaolin-ref-header {
	left: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	position: fixed !important;
	right: 0 !important;
	top: var(--wp-admin--admin-bar--height, 0px) !important;
	width: 100% !important;
	z-index: 1000;
}

.shaolin-ref-header .shaolin-header-inner {
	display: grid !important;
	gap: clamp(18px, 2vw, 34px) !important;
	grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--shaolin-site-frame) !important;
	min-height: 92px !important;
	padding-bottom: 14px !important;
	padding-top: 14px !important;
	width: var(--shaolin-site-frame) !important;
}

.shaolin-ref-header .shaolin-brand,
.shaolin-ref-header .shaolin-brand img {
	max-width: 306px !important;
	min-width: 0 !important;
	width: min(306px, 100%) !important;
}

.shaolin-ref-header .shaolin-brand img {
	height: 68px !important;
	object-fit: contain;
	object-position: left center;
}

.shaolin-ref-header .wp-block-navigation__container {
	align-items: center;
	gap: clamp(14px, 1.45vw, 28px) !important;
	justify-content: center;
}

.shaolin-ref-header .wp-block-navigation a {
	font-size: clamp(14px, 0.78vw, 16px) !important;
	line-height: 1.2 !important;
	white-space: nowrap;
}

.shaolin-ref-header .shaolin-header-cta {
	align-items: center !important;
	display: inline-flex !important;
	font-size: clamp(14px, 0.78vw, 16px) !important;
	justify-content: center !important;
	min-height: 50px !important;
	white-space: nowrap;
}

.shaolin-mobile-links {
	box-sizing: border-box;
}

.shaolin-ref-footer,
.shaolin-footer {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.shaolin-ref-footer-grid,
.shaolin-ref-footer-bottom,
.shaolin-ref-home .alignwide,
.shaolin-ref-china-inner,
.shaolin-archive-page > .wp-block-query,
.shaolin-archive-page > .alignwide,
.shaolin-archive-page .alignwide,
.shaolin-single-page > .alignwide,
.shaolin-single-page .alignwide,
.shaolin-price-hero,
.shaolin-price-content,
.shaolin-price-cta,
.shaolin-price-disclaimer,
.shaolin-contact-page > .alignwide,
.shaolin-contact-page .alignwide {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--shaolin-site-frame) !important;
	width: var(--shaolin-site-frame) !important;
}

.shaolin-ref-home > .shaolin-ref-hero,
.shaolin-directory-page > .shaolin-directory-hero {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.shaolin-directory-hero {
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.58fr) !important;
	min-height: clamp(520px, 58vh, 760px) !important;
}

.shaolin-directory-visual {
	max-width: min(760px, 100%) !important;
}

.shaolin-services-refresh .shaolin-query-grid {
	display: grid !important;
	gap: clamp(14px, 1.3vw, 24px) !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 620px), 1fr)) !important;
}

.shaolin-services-refresh .shaolin-query-card {
	background: rgba(255, 250, 240, 0.78) !important;
	border: 1px solid var(--shaolin-client-line) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	display: grid !important;
	grid-template-columns: clamp(132px, 13vw, 220px) minmax(0, 1fr) !important;
	min-height: 176px !important;
	overflow: hidden !important;
	padding: 0 !important;
	transform: none !important;
}

.shaolin-services-refresh .shaolin-query-card:hover {
	background: rgba(255, 250, 240, 0.92) !important;
	transform: translateY(-2px) !important;
}

.shaolin-services-refresh .shaolin-query-card:nth-child(n) .shaolin-card-image {
	aspect-ratio: auto !important;
	border: 0 !important;
	border-right: 1px solid var(--shaolin-client-line) !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	height: 100% !important;
	min-height: 176px !important;
	width: 100% !important;
}

.shaolin-services-refresh .shaolin-card-image img {
	height: 100% !important;
	object-fit: cover;
	width: 100% !important;
}

.shaolin-services-refresh .shaolin-card-body {
	background: transparent !important;
	border: 0 !important;
	display: flex !important;
	flex-direction: column;
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-content: center !important;
	min-height: 0 !important;
	padding: clamp(22px, 2vw, 34px) !important;
}

.shaolin-services-refresh .shaolin-card-body::before {
	content: none !important;
}

.shaolin-services-refresh .shaolin-card-body h2 {
	font-size: clamp(24px, 1.45vw, 34px) !important;
	line-height: 1.12 !important;
	max-width: none !important;
}

.shaolin-services-refresh .wp-block-post-excerpt__excerpt {
	color: rgba(12, 33, 28, 0.72) !important;
	display: -webkit-box !important;
	font-size: clamp(16px, 0.9vw, 18px) !important;
	line-height: 1.56 !important;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2 !important;
}

.shaolin-programs-refresh .shaolin-query-grid,
.shaolin-programs-refresh .shaolin-program-grid {
	display: grid !important;
	gap: clamp(18px, 1.6vw, 30px) !important;
	grid-template-columns: 1fr !important;
}

.shaolin-programs-refresh .shaolin-query-card {
	background: rgba(255, 250, 240, 0.84) !important;
	border: 1px solid var(--shaolin-client-line) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	display: grid !important;
	grid-template-columns: minmax(280px, 420px) minmax(0, 1fr) !important;
	min-height: 260px !important;
	overflow: hidden !important;
}

.shaolin-programs-refresh .shaolin-card-image {
	aspect-ratio: auto !important;
	border-bottom: 0 !important;
	border-right: 1px solid var(--shaolin-client-line) !important;
	height: 100% !important;
}

.shaolin-programs-refresh .shaolin-card-body {
	min-height: 0 !important;
	padding: clamp(28px, 3vw, 48px) !important;
}

.shaolin-price-item {
	grid-template-columns: minmax(0, 1fr) clamp(132px, 14vw, 220px) !important;
}

.shaolin-price-item strong {
	justify-self: end;
	white-space: nowrap;
}

.shaolin-consult-modal {
	align-items: center !important;
	background: transparent !important;
	box-sizing: border-box;
	display: grid !important;
	height: 100dvh !important;
	inset: 0 !important;
	justify-items: center !important;
	margin: 0 !important;
	max-height: none !important;
	max-width: none !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	padding: clamp(14px, 2.5vw, 42px) !important;
	position: fixed !important;
	width: auto !important;
}

.shaolin-consult-modal[hidden] {
	display: none !important;
}

.shaolin-consult-backdrop {
	background: rgba(10, 28, 23, 0.26) !important;
	backdrop-filter: blur(18px) saturate(0.96) !important;
	-webkit-backdrop-filter: blur(18px) saturate(0.96) !important;
	inset: 0 !important;
	position: fixed !important;
}

.shaolin-consult-dialog {
	box-sizing: border-box;
	max-height: calc(100dvh - 28px) !important;
	max-width: min(1320px, calc(100% - 28px)) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	width: min(1320px, 100%) !important;
}

.shaolin-consult-copy,
.shaolin-consult-form,
.shaolin-consult-success {
	min-width: 0 !important;
}

@media (max-width: 1180px) {
	.shaolin-ref-header .shaolin-header-inner {
		grid-template-columns: minmax(210px, 260px) minmax(0, 1fr) auto !important;
		min-height: 84px !important;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		max-width: 250px !important;
		width: min(250px, 100%) !important;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: 60px !important;
	}
}

@media (max-width: 980px) {
	.wp-block-template-part:has(.shaolin-ref-header) {
		min-height: var(--shaolin-header-offset, 136px) !important;
	}

	.shaolin-ref-header .shaolin-header-inner {
		grid-template-columns: minmax(0, 1fr) auto !important;
		min-height: 72px !important;
	}

	.shaolin-ref-header .shaolin-primary-nav,
	.shaolin-header-inner .wp-block-navigation {
		display: none !important;
	}

	.shaolin-ref-header .shaolin-mobile-links {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 6px 14px !important;
		justify-content: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: var(--shaolin-site-frame) !important;
		overflow: visible !important;
		padding: 8px 0 12px !important;
		width: var(--shaolin-site-frame) !important;
	}

	.shaolin-ref-header .shaolin-mobile-links a {
		font-size: 14px !important;
		min-height: 28px !important;
		white-space: nowrap;
	}

	.shaolin-directory-hero {
		grid-template-columns: 1fr !important;
		min-height: 0 !important;
	}

	.shaolin-directory-visual {
		justify-self: stretch !important;
		max-height: 430px !important;
		max-width: none !important;
	}

	.shaolin-programs-refresh .shaolin-query-card {
		grid-template-columns: minmax(210px, 300px) minmax(0, 1fr) !important;
	}
}

@media (max-width: 720px) {
	:root {
		--shaolin-site-gutter: 14px;
	}

	.wp-block-template-part:has(.shaolin-ref-header) {
		min-height: var(--shaolin-header-offset, 128px) !important;
	}

	.shaolin-ref-header .shaolin-header-inner {
		gap: 10px !important;
		min-height: 66px !important;
		padding-bottom: 8px !important;
		padding-top: 10px !important;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		max-width: min(210px, 55vw) !important;
		width: min(210px, 55vw) !important;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: 52px !important;
	}

	.shaolin-ref-header .shaolin-header-cta {
		display: inline-flex !important;
		font-size: 14px !important;
		min-height: 44px !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	.shaolin-directory-hero {
		padding: 28px var(--shaolin-site-gutter) 34px !important;
	}

	.shaolin-services-refresh .shaolin-query-card {
		grid-template-columns: 112px minmax(0, 1fr) !important;
		min-height: 154px !important;
	}

	.shaolin-services-refresh .shaolin-query-card:nth-child(n) .shaolin-card-image {
		min-height: 154px !important;
	}

	.shaolin-services-refresh .shaolin-card-body {
		padding: 16px !important;
	}

	.shaolin-services-refresh .shaolin-card-body h2 {
		font-size: 21px !important;
	}

	.shaolin-services-refresh .wp-block-post-excerpt__excerpt {
		display: none !important;
	}

	.shaolin-programs-refresh .shaolin-query-card {
		grid-template-columns: 1fr !important;
	}

	.shaolin-programs-refresh .shaolin-card-image {
		aspect-ratio: 16 / 9 !important;
		border-right: 0 !important;
		height: auto !important;
	}

	.shaolin-price-item {
		grid-template-columns: 1fr !important;
	}

	.shaolin-price-item strong {
		justify-self: start;
	}

	.shaolin-consult-modal {
		padding: 10px !important;
	}

	.shaolin-consult-dialog {
		display: block !important;
		max-height: calc(100dvh - 20px) !important;
		max-width: 100% !important;
		padding: 22px 16px 18px !important;
		width: 100% !important;
	}
}

main.shaolin-archive-page.shaolin-directory-page.shaolin-programs-refresh:not(.shaolin-doctors-archive):not(.shaolin-reviews-archive) .shaolin-query-grid.shaolin-program-grid,
main.shaolin-archive-page.shaolin-directory-page.shaolin-programs-refresh:not(.shaolin-doctors-archive):not(.shaolin-reviews-archive) .shaolin-query-grid {
	grid-template-columns: 1fr !important;
}

main.shaolin-archive-page.shaolin-directory-page.shaolin-programs-refresh .shaolin-query-card {
	grid-template-columns: minmax(280px, 420px) minmax(0, 1fr) !important;
}

main.shaolin-archive-page.shaolin-directory-page.shaolin-programs-refresh .shaolin-card-body,
main.shaolin-archive-page.shaolin-directory-page.shaolin-programs-refresh .shaolin-card-body h2 {
	min-width: 0 !important;
	width: auto !important;
}

@media (max-width: 720px) {
	main.shaolin-archive-page.shaolin-directory-page.shaolin-programs-refresh .shaolin-query-card {
		grid-template-columns: 1fr !important;
	}
}

.shaolin-ref-service-card span,
.shaolin-review-source,
.shaolin-ref-review-card small,
.shaolin-ref-review-person small,
.shaolin-clinic-details-heading span,
.shaolin-eyebrow,
.shaolin-contact-map-embed > a {
	font-size: 14px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.shaolin-header-cta::after,
.shaolin-ref-header .shaolin-header-cta::after {
	content: none !important;
}

/* Patient catalog rebuild: services, programs, tour details. */
:root {
	--shaolin-site-gutter: clamp(16px, 3vw, 180px);
	--shaolin-site-frame: min(calc(100% - var(--shaolin-site-gutter) - var(--shaolin-site-gutter)), 3520px);
	--shaolin-readable-frame: min(var(--shaolin-site-frame), 2200px);
	--shaolin-z-modal-backdrop: 2200;
	--shaolin-z-modal: 2210;
}

.shaolin-consult-backdrop {
	z-index: var(--shaolin-z-modal-backdrop) !important;
}

.shaolin-consult-modal,
.shaolin-consult-dialog {
	z-index: var(--shaolin-z-modal) !important;
}

.shaolin-directory-page,
.shaolin-tour-single {
	padding-top: 0 !important;
}

.shaolin-directory-page > .wp-block-shortcode,
.shaolin-directory-page > .shaolin-directory-switch,
.shaolin-directory-page > .shaolin-directory-cta,
.shaolin-service-catalog,
.shaolin-program-catalog,
.shaolin-tour-details,
.shaolin-tour-scope {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--shaolin-site-frame) !important;
	width: var(--shaolin-site-frame) !important;
}

.shaolin-directory-page > .wp-block-shortcode {
	margin-block-start: clamp(42px, 5vw, 84px) !important;
}

.shaolin-directory-hero,
.shaolin-tour-single > .shaolin-tour-hero {
	background:
		linear-gradient(90deg, rgba(255, 250, 240, 0.98) 0%, rgba(255, 250, 240, 0.92) 42%, rgba(255, 250, 240, 0.2) 68%),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 980px auto repeat;
	border: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box;
	margin: 0 !important;
	max-width: none !important;
	padding: clamp(46px, 6vw, 100px) max(var(--shaolin-site-gutter), calc((100% - var(--shaolin-site-frame)) / 2)) clamp(42px, 6vw, 96px) !important;
	position: relative;
	width: 100% !important;
}

.shaolin-directory-hero {
	align-items: center;
	column-gap: clamp(34px, 5vw, 94px);
	display: grid !important;
	grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.72fr) !important;
	min-height: clamp(480px, 58vh, 760px) !important;
}

.shaolin-directory-hero::before,
.shaolin-tour-single > .shaolin-tour-hero::before {
	background:
		linear-gradient(90deg, transparent 0, rgba(18, 53, 47, 0.06) 1px, transparent 1px),
		linear-gradient(0deg, transparent 0, rgba(18, 53, 47, 0.045) 1px, transparent 1px);
	background-size: 132px 132px;
	content: "" !important;
	inset: 0;
	opacity: 0.46;
	pointer-events: none;
	position: absolute;
}

.shaolin-directory-copy,
.shaolin-directory-visual,
.shaolin-tour-single > .shaolin-tour-hero > * {
	position: relative;
	z-index: 1;
}

.shaolin-directory-copy {
	max-width: 760px;
	min-width: 0;
}

.shaolin-directory-copy h1,
.shaolin-tour-hero h1 {
	color: var(--shaolin-ink) !important;
	font-size: clamp(52px, 5.4vw, 92px) !important;
	letter-spacing: 0 !important;
	line-height: 0.98 !important;
	margin-bottom: clamp(18px, 2vw, 28px) !important;
	overflow-wrap: normal;
	text-wrap: balance;
}

.shaolin-directory-copy p,
.shaolin-tour-hero .wp-block-post-excerpt,
.shaolin-tour-hero .wp-block-post-excerpt p {
	color: rgba(25, 31, 28, 0.76) !important;
	font-size: clamp(18px, 1.15vw, 22px) !important;
	line-height: 1.68 !important;
	max-width: 760px !important;
	min-width: 0;
	overflow-wrap: anywhere;
}

.shaolin-directory-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: clamp(24px, 3vw, 38px);
}

.shaolin-directory-visual {
	align-self: stretch;
	border: 1px solid rgba(18, 53, 47, 0.14);
	border-radius: 6px;
	box-shadow: 0 18px 42px rgba(48, 36, 22, 0.14);
	margin: 0;
	overflow: hidden;
}

.shaolin-directory-visual img {
	display: block;
	height: 100% !important;
	min-height: clamp(340px, 34vw, 620px);
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.shaolin-directory-visual figcaption {
	display: none;
}

.shaolin-directory-switch {
	background: rgba(255, 253, 248, 0.66) !important;
	border: 1px solid rgba(18, 53, 47, 0.13);
	border-radius: 999px;
	display: grid !important;
	gap: 6px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	margin-top: clamp(24px, 3vw, 44px) !important;
	padding: 6px;
}

.shaolin-directory-switch a {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: var(--shaolin-ink) !important;
	display: flex !important;
	gap: 12px;
	justify-content: center;
	min-height: 56px;
	padding: 12px 18px !important;
	text-decoration: none;
	transform: none !important;
}

.shaolin-directory-switch a.is-current {
	background: var(--shaolin-jade) !important;
	color: var(--shaolin-porcelain) !important;
}

.shaolin-directory-switch strong {
	font-family: "Literata", Georgia, "Times New Roman", serif !important;
	font-size: clamp(22px, 1.5vw, 30px) !important;
	line-height: 1.05 !important;
}

.shaolin-directory-switch small {
	color: currentColor !important;
	font-size: clamp(15px, 0.9vw, 17px) !important;
	line-height: 1.3 !important;
	opacity: 0.78;
}

.shaolin-catalog-head {
	align-items: end;
	border-bottom: 1px solid rgba(18, 53, 47, 0.16);
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: clamp(24px, 3vw, 42px);
	padding-bottom: clamp(22px, 2.4vw, 34px);
}

.shaolin-catalog-head h2 {
	color: var(--shaolin-ink);
	font-size: clamp(44px, 4vw, 76px);
	line-height: 1;
	margin: 0 0 12px;
	text-wrap: balance;
}

.shaolin-catalog-head p {
	color: rgba(25, 31, 28, 0.72);
	font-size: clamp(18px, 1vw, 21px);
	line-height: 1.58;
	margin: 0;
	max-width: 880px;
}

.shaolin-catalog-link,
.shaolin-row-button {
	align-items: center;
	background: var(--shaolin-jade);
	border: 1px solid rgba(18, 53, 47, 0.2);
	border-radius: 999px;
	color: var(--shaolin-porcelain);
	display: inline-flex;
	font-size: 16px;
	font-weight: 850;
	justify-content: center;
	min-height: 46px;
	padding: 12px 18px;
	text-decoration: none;
	transition: background-color 180ms ease, transform 180ms ease;
	white-space: nowrap;
}

.shaolin-catalog-link:hover,
.shaolin-row-button:hover {
	background: var(--shaolin-red);
	transform: translateY(-1px);
}

.shaolin-service-groups {
	display: grid;
	gap: clamp(30px, 4vw, 62px);
	min-width: 0;
	width: 100%;
}

.shaolin-service-group {
	border-top: 1px solid rgba(18, 53, 47, 0.14);
	display: grid;
	gap: clamp(18px, 3vw, 44px);
	grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
	min-width: 0;
	padding-top: clamp(22px, 2.8vw, 40px);
	width: 100%;
}

.shaolin-service-group h3 {
	color: var(--shaolin-red);
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(20px, 1.2vw, 26px);
	font-weight: 850;
	line-height: 1.14;
	margin: 0;
}

.shaolin-service-rows {
	display: grid;
	gap: 0;
	grid-template-columns: 1fr;
	min-width: 0;
	width: 100%;
}

@media (min-width: 1700px) {
	.shaolin-service-rows {
		gap: 0 clamp(18px, 1.2vw, 28px);
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.shaolin-service-row {
	align-items: stretch;
	background: rgba(255, 253, 248, 0.64);
	border-top: 1px solid rgba(18, 53, 47, 0.12);
	display: grid;
	gap: clamp(16px, 1.5vw, 24px);
	grid-template-columns: clamp(98px, 8vw, 148px) minmax(0, 1fr) minmax(132px, 190px);
	min-height: 156px;
	min-width: 0;
	padding: clamp(16px, 1.6vw, 24px) 0;
	transition: background-color 180ms ease, transform 180ms ease;
	width: 100%;
}

.shaolin-service-row > p:empty,
.shaolin-program-sheet > p:empty,
.shaolin-tour-row > p:empty,
.shaolin-tour-list > p:empty,
.shaolin-tour-catalog > p:empty,
.shaolin-tour-details > p:empty,
.shaolin-tour-scope > p:empty {
	display: none !important;
}

.shaolin-service-row:hover {
	background: rgba(255, 250, 240, 0.94);
	transform: translateY(-1px);
}

.shaolin-service-thumb,
.shaolin-program-thumb {
	align-self: stretch;
	background: rgba(232, 226, 215, 0.8);
	border: 1px solid rgba(18, 53, 47, 0.12);
	border-radius: 5px;
	display: block;
	min-height: 112px;
	overflow: hidden;
}

.shaolin-service-thumb img,
.shaolin-program-thumb img {
	display: block;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1), filter 420ms cubic-bezier(0.16, 1, 0.3, 1);
	width: 100% !important;
}

.shaolin-service-row:hover img,
.shaolin-program-sheet:hover img {
	filter: saturate(1.04) contrast(1.02);
	transform: scale(1.025);
}

.shaolin-service-main {
	align-self: center;
	min-width: 0;
}

.shaolin-service-main h4,
.shaolin-program-body h3 {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(25px, 1.7vw, 36px);
	line-height: 1.08;
	margin: 0 0 10px;
	text-wrap: pretty;
}

.shaolin-service-main h4 a,
.shaolin-program-body h3 a {
	color: var(--shaolin-ink);
	text-decoration: none;
}

.shaolin-service-main h4 a:hover,
.shaolin-program-body h3 a:hover,
.shaolin-row-link:hover {
	color: var(--shaolin-red);
}

.shaolin-service-main p,
.shaolin-program-body p {
	color: rgba(25, 31, 28, 0.74);
	font-size: clamp(16px, 0.95vw, 19px);
	line-height: 1.58;
	margin: 0;
	max-width: 68ch;
}

.shaolin-row-link {
	color: var(--shaolin-red);
	display: inline-flex;
	font-size: 16px;
	font-weight: 850;
	margin-top: 14px;
	text-decoration: none;
}

.shaolin-service-meta {
	align-self: center;
	display: grid;
	gap: 8px;
	justify-items: end;
	text-align: right;
}

.shaolin-service-meta span {
	color: rgba(25, 31, 28, 0.7);
	font-size: clamp(15px, 0.9vw, 17px);
	line-height: 1.35;
}

.shaolin-service-meta strong {
	color: var(--shaolin-red);
	font-size: clamp(22px, 1.5vw, 30px);
	line-height: 1.1;
	white-space: nowrap;
}

.shaolin-program-catalog {
	max-width: var(--shaolin-readable-frame) !important;
	width: var(--shaolin-readable-frame) !important;
}

.shaolin-program-list {
	display: grid;
	gap: clamp(22px, 2.4vw, 42px);
	min-width: 0;
	width: 100%;
}

.shaolin-program-sheet {
	background:
		linear-gradient(90deg, rgba(255, 253, 248, 0.92), rgba(255, 250, 240, 0.72)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 900px auto repeat;
	border: 1px solid rgba(18, 53, 47, 0.14);
	display: grid;
	gap: clamp(24px, 3vw, 54px);
	grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
	min-height: 310px;
	min-width: 0;
	padding: clamp(18px, 2vw, 30px);
	width: 100%;
}

.shaolin-program-sheet.is-text-only {
	grid-template-columns: 1fr;
}

.shaolin-program-sheet.is-text-only .shaolin-program-thumb {
	display: none;
}

.shaolin-program-thumb {
	min-height: 260px;
}

.shaolin-program-body {
	align-self: center;
	max-width: 1180px;
	min-width: 0;
}

.shaolin-program-facts {
	display: grid;
	gap: 0 clamp(22px, 2vw, 34px);
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	margin: clamp(22px, 2.2vw, 34px) 0 0;
}

.shaolin-program-facts div {
	border-top: 1px solid rgba(18, 53, 47, 0.14);
	padding-top: 14px;
}

.shaolin-program-facts dt {
	color: var(--shaolin-red);
	font-size: 15px;
	font-weight: 850;
	line-height: 1.3;
	margin-bottom: 8px;
}

.shaolin-program-facts dd {
	color: rgba(25, 31, 28, 0.74);
	font-size: clamp(15px, 0.9vw, 18px);
	line-height: 1.55;
	margin: 0;
}

.shaolin-program-composition-list {
	background: rgba(255, 250, 240, 0.72);
	border: 1px solid rgba(18, 53, 47, 0.13);
	display: grid;
	gap: 0;
	margin: clamp(20px, 2vw, 30px) 0 0;
	min-width: 0;
	width: 100%;
}

.shaolin-program-composition-list > div {
	align-items: baseline;
	border-top: 1px solid rgba(18, 53, 47, 0.11);
	display: grid;
	gap: 10px clamp(12px, 1.4vw, 22px);
	grid-template-columns: minmax(0, 1.15fr) minmax(112px, 0.48fr) minmax(150px, 0.56fr);
	min-width: 0;
	padding: 13px 16px;
}

.shaolin-program-composition-list > div:first-child {
	border-top: 0;
}

.shaolin-program-composition-list span {
	color: var(--shaolin-ink);
	font-size: clamp(16px, 0.96vw, 19px);
	font-weight: 850;
	line-height: 1.3;
	min-width: 0;
	overflow-wrap: anywhere;
}

.shaolin-program-composition-list em {
	color: rgba(25, 31, 28, 0.68);
	font-size: clamp(15px, 0.88vw, 17px);
	font-style: normal;
	line-height: 1.35;
}

.shaolin-program-composition-list strong {
	color: var(--shaolin-red);
	font-size: clamp(16px, 0.96vw, 19px);
	font-weight: 900;
	justify-self: end;
	line-height: 1.25;
	text-align: right;
	white-space: nowrap;
}

.shaolin-program-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	margin-top: clamp(22px, 2.4vw, 34px);
}

.shaolin-tour-single > .shaolin-tour-hero {
	align-content: end;
	display: grid !important;
	min-height: clamp(340px, 38vh, 560px) !important;
}

.shaolin-tour-single .shaolin-featured-media {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin-bottom: clamp(36px, 5vw, 78px) !important;
	margin-top: 0 !important;
	overflow: hidden;
	width: var(--shaolin-site-frame) !important;
}

.shaolin-tour-single .shaolin-featured-media img {
	border-radius: 6px;
	height: clamp(300px, 34vw, 650px) !important;
	object-fit: cover !important;
	width: 100% !important;
}

.shaolin-tour-details {
	display: grid;
	gap: 0;
	grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1fr);
	margin-bottom: clamp(34px, 5vw, 74px);
}

.shaolin-tour-summary {
	background: var(--shaolin-jade);
	color: var(--shaolin-porcelain);
	padding: clamp(28px, 4vw, 58px);
}

.shaolin-tour-summary h2,
.shaolin-tour-scope h2 {
	font-size: clamp(34px, 3vw, 56px);
	line-height: 1.05;
	margin: 0 0 clamp(22px, 3vw, 36px);
}

.shaolin-tour-summary dl,
.shaolin-tour-summary dd,
.shaolin-tour-summary dt {
	margin: 0;
}

.shaolin-tour-summary dl {
	display: grid;
	gap: 0;
}

.shaolin-tour-summary dl div {
	border-top: 1px solid rgba(255, 250, 240, 0.2);
	padding: 16px 0;
}

.shaolin-tour-summary dt {
	color: rgba(255, 250, 240, 0.72);
	font-size: 15px;
	font-weight: 850;
	margin-bottom: 6px;
}

.shaolin-tour-summary dd {
	font-size: clamp(18px, 1.05vw, 22px);
	font-weight: 750;
	line-height: 1.42;
	overflow-wrap: anywhere;
}

.shaolin-tour-notes {
	background: rgba(255, 253, 248, 0.74);
	border: 1px solid rgba(18, 53, 47, 0.14);
	display: grid;
	gap: 0;
}

.shaolin-tour-notes section {
	padding: clamp(26px, 3vw, 46px);
}

.shaolin-tour-notes section + section {
	border-top: 1px solid rgba(18, 53, 47, 0.13);
}

.shaolin-tour-notes h3 {
	font-size: clamp(24px, 1.7vw, 34px);
	line-height: 1.1;
	margin: 0 0 12px;
}

.shaolin-tour-notes p,
.shaolin-tour-scope li {
	color: rgba(25, 31, 28, 0.74);
	font-size: clamp(17px, 1vw, 20px);
	line-height: 1.64;
	margin: 0;
}

.shaolin-tour-scope {
	display: grid;
	gap: clamp(26px, 4vw, 58px);
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
	margin-bottom: clamp(44px, 6vw, 84px);
}

.shaolin-tour-scope > div {
	border-top: 1px solid rgba(18, 53, 47, 0.15);
	padding-top: clamp(24px, 3vw, 42px);
}

.shaolin-tour-scope ul {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.shaolin-tour-scope li {
	border-bottom: 1px solid rgba(18, 53, 47, 0.1);
	padding: 0 0 12px 24px;
	position: relative;
}

.shaolin-tour-scope li::before {
	background: var(--shaolin-red);
	content: "";
	height: 6px;
	left: 0;
	position: absolute;
	top: 12px;
	transform: rotate(45deg);
	width: 6px;
}

.shaolin-tour-single .shaolin-related-cta {
	background: var(--shaolin-jade) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--shaolin-porcelain) !important;
	margin-top: clamp(38px, 5vw, 72px) !important;
	padding: clamp(28px, 4vw, 56px) !important;
}

.shaolin-tour-single .shaolin-related-cta h2,
.shaolin-tour-single .shaolin-related-cta p {
	color: inherit !important;
}

@media (max-width: 1180px) {
	.shaolin-directory-hero {
		grid-template-columns: 1fr !important;
		min-height: 0 !important;
		padding-bottom: 36px !important;
		padding-top: 36px !important;
	}

	.shaolin-directory-visual {
		align-self: start;
		max-height: 340px;
	}

	.shaolin-directory-visual img {
		height: min(38vw, 340px) !important;
		min-height: 260px;
	}

	.shaolin-service-group,
	.shaolin-tour-details,
	.shaolin-tour-scope {
		grid-template-columns: 1fr;
	}

	.shaolin-service-row {
		grid-template-columns: clamp(92px, 15vw, 132px) minmax(0, 1fr) minmax(118px, 170px);
	}

	.shaolin-program-sheet {
		grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
	}

	.shaolin-program-thumb {
		min-height: 230px;
	}
}

@media (max-width: 720px) {
	:root {
		--shaolin-site-gutter: 14px;
		--shaolin-site-frame: calc(100% - 28px);
		--shaolin-readable-frame: calc(100% - 28px);
	}

	.shaolin-directory-hero,
	.shaolin-tour-single > .shaolin-tour-hero {
		padding: 30px 14px 36px !important;
	}

	.shaolin-ref-header .shaolin-header-inner {
		display: flex !important;
		grid-template-columns: none !important;
		justify-content: flex-start !important;
		max-width: calc(100% - 28px) !important;
		min-height: 70px !important;
		overflow: hidden;
		padding-right: 96px !important;
		position: relative;
		width: calc(100% - 28px) !important;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		max-width: min(180px, 48vw) !important;
		width: min(180px, 48vw) !important;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: 48px !important;
	}

	.shaolin-ref-header .shaolin-header-cta {
		font-size: 0 !important;
		min-height: 44px !important;
		min-width: 78px !important;
		overflow: hidden;
		padding-left: 12px !important;
		padding-right: 12px !important;
		position: fixed !important;
		right: 14px;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + 14px);
		width: 78px !important;
		z-index: 1002;
	}

	.shaolin-ref-header .shaolin-header-cta::before {
		color: var(--shaolin-white);
		content: "Запись";
		font-size: 14px;
		font-weight: 850;
	}

	.shaolin-ref-header .shaolin-mobile-links {
		max-width: calc(100% - 28px) !important;
		overflow: visible !important;
		width: calc(100% - 28px) !important;
	}

	.shaolin-ref-header .shaolin-mobile-links a {
		font-size: 13px !important;
	}

	.shaolin-directory-copy h1,
	.shaolin-tour-hero h1 {
		font-size: clamp(40px, 12vw, 56px) !important;
	}

	.shaolin-directory-visual {
		max-height: none;
	}

	.shaolin-directory-visual img {
		height: 240px !important;
		min-height: 0;
	}

	.shaolin-directory-switch {
		border-radius: 22px;
		grid-template-columns: 1fr !important;
	}

	.shaolin-directory-switch a {
		justify-content: space-between;
	}

	.shaolin-catalog-head,
	.shaolin-service-row,
	.shaolin-program-sheet {
		grid-template-columns: 1fr;
	}

	.shaolin-catalog-head {
		align-items: start;
	}

	.shaolin-service-row {
		gap: 12px;
		min-height: 0;
		padding: 18px 0;
	}

	.shaolin-service-thumb {
		display: none;
	}

	.shaolin-service-meta {
		justify-items: start;
		text-align: left;
	}

	.shaolin-service-meta strong {
		font-size: 24px;
	}

	.shaolin-program-thumb {
		min-height: 210px;
	}

	.shaolin-program-facts {
		grid-template-columns: 1fr;
	}

	.shaolin-program-composition-list > div {
		grid-template-columns: 1fr;
		padding: 13px 14px;
	}

	.shaolin-program-composition-list strong {
		justify-self: start;
		text-align: left;
		white-space: normal;
	}

	.shaolin-tour-single .shaolin-featured-media img {
		height: clamp(220px, 58vw, 320px) !important;
	}

	.shaolin-tour-summary,
	.shaolin-tour-notes section {
		padding: 24px 18px;
	}
}

@media (min-width: 2200px) {
	:root {
		--shaolin-header-offset: 112px;
	}

	.shaolin-ref-header .shaolin-header-inner {
		min-height: 112px !important;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		max-width: 360px !important;
		width: 360px !important;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: 82px !important;
	}

	.shaolin-ref-header .wp-block-navigation a {
		font-size: 17px !important;
	}

	.shaolin-header-cta,
	.shaolin-ref-header .shaolin-header-cta,
	.shaolin-catalog-link,
	.shaolin-row-button {
		font-size: 18px !important;
		min-height: 54px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	.shaolin-directory-copy h1,
	.shaolin-tour-hero h1 {
		font-size: clamp(76px, 4.6vw, 112px) !important;
	}

	.shaolin-directory-copy p,
	.shaolin-tour-hero .wp-block-post-excerpt,
	.shaolin-tour-hero .wp-block-post-excerpt p,
	.shaolin-catalog-head p,
	.shaolin-service-main p,
	.shaolin-program-body p,
	.shaolin-tour-notes p,
	.shaolin-tour-scope li {
		font-size: 21px !important;
	}

	.shaolin-service-row {
		min-height: 188px;
	}

	.shaolin-service-main h4,
	.shaolin-program-body h3 {
		font-size: clamp(34px, 1.55vw, 46px);
	}

	.shaolin-service-meta strong {
		font-size: clamp(30px, 1.35vw, 40px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.shaolin-service-row,
	.shaolin-catalog-link,
	.shaolin-row-button,
	.shaolin-service-thumb img,
	.shaolin-program-thumb img {
		transition: none !important;
	}
}

/* Final mobile rhythm pass for the patient catalog. */
@media (max-width: 720px) {
	.shaolin-ref-header .shaolin-mobile-links a {
		font-size: 14px !important;
	}

	.shaolin-directory-hero {
		gap: 22px !important;
		padding-bottom: 28px !important;
		padding-top: 26px !important;
	}

	.shaolin-directory-copy {
		gap: 18px !important;
	}

	.shaolin-directory-copy h1,
	.shaolin-tour-hero h1 {
		font-size: clamp(38px, 11vw, 52px) !important;
		line-height: 1.02 !important;
	}

	.shaolin-directory-copy p,
	.shaolin-tour-hero .wp-block-post-excerpt,
	.shaolin-tour-hero .wp-block-post-excerpt p {
		font-size: 17px !important;
		line-height: 1.58 !important;
	}

	.shaolin-directory-actions {
		gap: 10px !important;
	}

	.shaolin-directory-actions .shaolin-action {
		min-height: 54px !important;
	}

	.shaolin-directory-visual img {
		height: 188px !important;
	}

	.shaolin-catalog-head {
		gap: 16px !important;
		margin-bottom: 26px !important;
	}

	.shaolin-catalog-head h2 {
		font-size: clamp(38px, 10vw, 48px) !important;
		line-height: 1.04 !important;
	}

	.shaolin-catalog-head p {
		font-size: 16px !important;
		line-height: 1.55 !important;
	}

	.shaolin-catalog-link {
		min-height: 46px !important;
		padding: 0 20px !important;
		width: fit-content !important;
	}

	.shaolin-service-group {
		row-gap: 18px !important;
	}

	.shaolin-service-group h3 {
		font-size: 26px !important;
		margin: 0 !important;
	}

	.shaolin-service-row {
		gap: 10px !important;
		padding: 18px 0 !important;
	}

	.shaolin-service-main h4 {
		font-size: clamp(25px, 7.2vw, 31px) !important;
		line-height: 1.08 !important;
	}

	.shaolin-service-main p {
		font-size: 16px !important;
		line-height: 1.55 !important;
		margin-top: 8px !important;
	}

	.shaolin-row-link {
		font-size: 16px !important;
		margin-top: 10px !important;
	}

	.shaolin-service-meta {
		align-items: baseline !important;
		border-top: 1px solid rgba(115, 99, 67, 0.22) !important;
		display: flex !important;
		gap: 12px !important;
		justify-content: space-between !important;
		padding-top: 10px !important;
		text-align: left !important;
	}

	.shaolin-service-meta span {
		font-size: 16px !important;
	}

	.shaolin-service-meta strong {
		font-size: 26px !important;
		line-height: 1.05 !important;
	}

	.shaolin-program-sheet {
		gap: 0 !important;
	}

	.shaolin-program-thumb {
		height: 140px !important;
		min-height: 140px !important;
	}

	.shaolin-program-body {
		padding: 20px 18px 22px !important;
	}

	.shaolin-program-body h3 {
		font-size: clamp(28px, 8vw, 34px) !important;
		line-height: 1.08 !important;
	}

	.shaolin-program-body p {
		font-size: 16px !important;
		line-height: 1.55 !important;
		margin-top: 10px !important;
	}

	.shaolin-program-facts {
		gap: 10px !important;
		margin-top: 16px !important;
	}

	.shaolin-program-composition-list {
		margin-top: 16px !important;
	}

	.shaolin-program-facts div {
		padding: 12px 0 !important;
	}

	.shaolin-program-facts div:nth-child(3) {
		display: none !important;
	}

	.shaolin-program-facts dt {
		font-size: 14px !important;
	}

	.shaolin-program-facts dd {
		font-size: 15.5px !important;
		line-height: 1.42 !important;
	}

	.shaolin-program-actions {
		gap: 12px !important;
		margin-top: 18px !important;
	}

	.shaolin-program-actions .shaolin-row-button {
		min-height: 46px !important;
	}

	.shaolin-tour-single > .shaolin-tour-hero {
		min-height: 0 !important;
		padding-bottom: 28px !important;
		padding-top: 30px !important;
	}

	.shaolin-tour-details {
		gap: 16px !important;
	}

	.shaolin-tour-summary {
		padding: 22px 18px !important;
	}

	.shaolin-tour-summary h2 {
		font-size: clamp(28px, 8vw, 34px) !important;
		line-height: 1.08 !important;
	}

	.shaolin-tour-notes {
		gap: 12px !important;
	}

	.shaolin-tour-notes section {
		padding: 20px 16px !important;
	}

	.shaolin-tour-notes dt {
		font-size: 14px !important;
	}

	.shaolin-tour-notes dd {
		font-size: 16px !important;
		line-height: 1.45 !important;
	}
}

/* Cross-page catalog hardening. */
.shaolin-service-row,
.shaolin-service-main,
.shaolin-service-meta,
.shaolin-program-sheet,
.shaolin-program-body,
.shaolin-tour-row,
.shaolin-tour-row-body {
	min-width: 0 !important;
}

.shaolin-service-meta strong,
.shaolin-tour-row-facts dd {
	overflow-wrap: anywhere !important;
	white-space: normal !important;
}

.shaolin-tour-single .shaolin-featured-media {
	max-width: min(var(--shaolin-site-frame), 1680px) !important;
	width: min(var(--shaolin-site-frame), 1680px) !important;
}

.shaolin-tour-catalog {
	margin-bottom: clamp(70px, 8vw, 140px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: clamp(54px, 6vw, 96px) !important;
	max-width: var(--shaolin-site-frame) !important;
	position: relative;
	width: var(--shaolin-site-frame) !important;
}

.shaolin-tour-list {
	display: grid;
	gap: clamp(18px, 2.4vw, 34px);
}

.shaolin-tour-row {
	background:
		linear-gradient(135deg, rgba(255, 250, 240, 0.96), rgba(246, 236, 218, 0.86)),
		repeating-linear-gradient(90deg, rgba(115, 99, 67, 0.06) 0 1px, transparent 1px 120px);
	border: 1px solid rgba(115, 99, 67, 0.22);
	display: grid;
	grid-template-columns: minmax(280px, 0.48fr) minmax(0, 1fr);
	min-height: 0;
	overflow: hidden;
}

.shaolin-tour-thumb {
	background: rgba(15, 55, 47, 0.08);
	display: block;
	min-height: 0;
	overflow: hidden;
}

.shaolin-tour-thumb img {
	display: block;
	height: clamp(300px, 24vw, 520px);
	min-height: 0;
	object-fit: cover;
	object-position: center;
	transform: scale(1.01);
	transition: transform 420ms ease;
	width: 100%;
}

.shaolin-tour-row:hover .shaolin-tour-thumb img {
	transform: scale(1.045);
}

.shaolin-tour-row-body {
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 1.8vw, 26px);
	justify-content: center;
	padding: clamp(28px, 4vw, 64px);
}

.shaolin-tour-row-body h3 {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3vw, 64px);
	line-height: 1.03;
	margin: 0;
	max-width: 900px;
}

.shaolin-tour-row-body h3 a {
	color: var(--shaolin-jade);
	text-decoration: none;
}

.shaolin-tour-row-body p {
	color: rgba(25, 31, 28, 0.72);
	font-size: clamp(17px, 1vw, 21px);
	line-height: 1.62;
	margin: 0;
	max-width: 980px;
}

.shaolin-tour-row-facts {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
}

.shaolin-tour-row-facts div {
	background: rgba(255, 250, 240, 0.62);
	border: 1px solid rgba(115, 99, 67, 0.16);
	padding: 16px 18px;
}

.shaolin-tour-row-facts dt {
	color: rgba(25, 31, 28, 0.58);
	font-size: 14px;
	font-weight: 850;
	letter-spacing: 0.06em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.shaolin-tour-row-facts dd {
	color: var(--shaolin-jade);
	font-size: clamp(15px, 0.92vw, 18px);
	font-weight: 780;
	line-height: 1.42;
	margin: 0;
}

.shaolin-program-teaser-list {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: clamp(32px, 4vw, 58px) auto 0;
	max-width: var(--shaolin-site-frame);
	width: 100%;
}

.shaolin-program-teaser-list a {
	background: rgba(255, 250, 240, 0.88);
	border: 1px solid rgba(115, 99, 67, 0.22);
	color: var(--shaolin-jade);
	display: grid;
	gap: 12px;
	min-height: 150px;
	padding: clamp(22px, 2.6vw, 34px);
	text-decoration: none;
	transition: background 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.shaolin-program-teaser-list a:hover {
	background: var(--shaolin-porcelain);
	border-color: rgba(154, 44, 36, 0.32);
	transform: translateY(-3px);
}

.shaolin-program-teaser-list span {
	color: var(--shaolin-red);
	font-size: 14px;
	font-weight: 850;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.shaolin-program-teaser-list strong {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(26px, 2vw, 38px);
	line-height: 1.08;
}

@media (max-width: 1180px) {
	.shaolin-tour-row {
		grid-template-columns: 1fr;
	}

	.shaolin-tour-thumb img {
		height: 280px;
		min-height: 280px;
	}

	.shaolin-tour-row-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.shaolin-tour-brief span {
		font-size: 14px !important;
	}

	.shaolin-tour-catalog {
		margin-top: 40px !important;
	}

	.shaolin-tour-row {
		min-height: 0;
	}

	.shaolin-tour-thumb img {
		height: 190px !important;
		min-height: 190px !important;
	}

	.shaolin-tour-row-body {
		gap: 14px;
		padding: 22px 18px 24px;
	}

	.shaolin-tour-row-body h3 {
		font-size: clamp(29px, 8.2vw, 36px);
	}

	.shaolin-tour-row-body p {
		font-size: 16px;
		line-height: 1.55;
	}

	.shaolin-tour-row-facts {
		grid-template-columns: 1fr;
	}

	.shaolin-tour-row-facts div {
		padding: 12px 0;
	}

	.shaolin-tour-row-facts dt {
		font-size: 14px;
	}

	.shaolin-tour-row-facts dd {
		font-size: 15.5px;
	}

	.shaolin-program-teaser-list {
		grid-template-columns: 1fr;
	}
}

/* Services archive final correction: compact price-list catalog. */
.shaolin-service-catalog,
.shaolin-program-catalog {
	max-width: min(calc(100vw - clamp(32px, 5vw, 96px)), 1360px) !important;
	width: min(calc(100vw - clamp(32px, 5vw, 96px)), 1360px) !important;
}

.shaolin-service-groups {
	gap: clamp(26px, 3vw, 44px) !important;
}

.shaolin-service-group {
	border-top: 1px solid rgba(115, 99, 67, 0.24) !important;
	display: block !important;
	padding-top: clamp(16px, 2vw, 26px) !important;
}

.shaolin-service-group h3 {
	align-items: center;
	color: var(--shaolin-red) !important;
	display: flex;
	font-size: clamp(20px, 1.2vw, 26px) !important;
	gap: 16px;
	margin: 0 0 clamp(14px, 1.6vw, 22px) !important;
}

.shaolin-service-group h3::after {
	background: linear-gradient(90deg, rgba(154, 44, 36, 0.34), transparent);
	content: "";
	flex: 1;
	height: 1px;
}

@media (min-width: 1700px) {
	.shaolin-service-rows {
		grid-template-columns: 1fr !important;
	}
}

.shaolin-service-rows {
	background: rgba(255, 250, 240, 0.52);
	border: 1px solid rgba(115, 99, 67, 0.18);
	border-radius: 6px;
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: 1fr !important;
	overflow: hidden;
}

.shaolin-service-thumb {
	align-self: center !important;
	aspect-ratio: 4 / 3 !important;
	border: 0 !important;
	display: block !important;
	margin: 0 !important;
	min-height: 0 !important;
}

.shaolin-service-row {
	align-items: center !important;
	background: transparent !important;
	border-top: 1px solid rgba(115, 99, 67, 0.16) !important;
	box-shadow: none !important;
	display: grid !important;
	gap: clamp(16px, 2vw, 28px) !important;
	grid-template-columns: clamp(86px, 7vw, 112px) minmax(0, 1fr) minmax(160px, 230px) !important;
	min-height: 0 !important;
	padding: clamp(13px, 1.45vw, 20px) clamp(16px, 2vw, 28px) !important;
	position: relative;
	transform: none !important;
}

.shaolin-service-row:first-child {
	border-top: 0 !important;
}

.shaolin-service-row::before {
	display: none !important;
}

.shaolin-service-row:hover {
	background: rgba(255, 253, 248, 0.72) !important;
}

.shaolin-service-row:hover::before {
	display: none !important;
}

.shaolin-service-main h4 {
	color: var(--shaolin-ink) !important;
	font-size: clamp(21px, 1.25vw, 28px) !important;
	letter-spacing: 0 !important;
	margin-bottom: 5px !important;
	max-width: 24ch;
}

.shaolin-service-main p {
	font-size: clamp(15px, 0.88vw, 17px) !important;
	line-height: 1.48 !important;
	max-width: 48ch !important;
}

.shaolin-service-main .shaolin-row-link {
	font-size: clamp(15px, 0.9vw, 17px) !important;
	margin-top: 14px !important;
}

.shaolin-service-meta {
	align-items: baseline !important;
	display: grid !important;
	gap: 7px !important;
	grid-template-columns: 1fr !important;
	justify-items: end !important;
	min-width: 0 !important;
	text-align: right !important;
	width: 100% !important;
}

.shaolin-service-meta span {
	color: rgba(25, 31, 28, 0.68) !important;
	font-size: clamp(14px, 0.82vw, 16px) !important;
	line-height: 1.3 !important;
}

.shaolin-service-meta strong {
	color: var(--shaolin-red) !important;
	font-size: clamp(20px, 1.15vw, 26px) !important;
	line-height: 1.08 !important;
	overflow-wrap: normal !important;
	white-space: nowrap !important;
}

.shaolin-program-list {
	gap: clamp(18px, 2vw, 30px) !important;
}

.shaolin-program-sheet {
	border-radius: 6px;
	gap: clamp(18px, 2.4vw, 30px) !important;
	grid-template-columns: minmax(190px, 290px) minmax(0, 1fr) !important;
	min-height: 0 !important;
	padding: clamp(16px, 1.8vw, 24px) !important;
}

.shaolin-program-thumb {
	align-self: start !important;
	aspect-ratio: 4 / 3 !important;
	border-radius: 5px !important;
	margin: 0 !important;
	min-height: 0 !important;
}

.shaolin-program-body h3 {
	color: var(--shaolin-ink) !important;
	font-size: clamp(25px, 1.6vw, 34px) !important;
	margin-bottom: 8px !important;
}

.shaolin-program-body p {
	font-size: clamp(15px, 0.9vw, 17px) !important;
	line-height: 1.5 !important;
	max-width: 58ch !important;
}

.shaolin-program-composition-list {
	margin-top: clamp(14px, 1.6vw, 22px) !important;
}

.shaolin-program-composition-list > div {
	gap: 8px clamp(10px, 1vw, 16px) !important;
	grid-template-columns: minmax(0, 1fr) minmax(96px, 0.42fr) minmax(132px, 0.48fr) !important;
	padding: 10px 12px !important;
}

.shaolin-program-composition-list br {
	display: none !important;
}

.shaolin-program-composition-list span,
.shaolin-program-composition-list strong {
	font-size: clamp(15px, 0.9vw, 17px) !important;
}

.shaolin-program-composition-list em {
	font-size: clamp(14px, 0.82vw, 16px) !important;
}

.shaolin-program-facts {
	margin-top: clamp(14px, 1.8vw, 22px) !important;
}

@media (max-width: 1180px) {
	.shaolin-service-row {
		grid-template-columns: 96px minmax(0, 1fr) minmax(138px, 190px) !important;
	}
}

@media (max-width: 760px) {
	.shaolin-service-catalog,
	.shaolin-program-catalog {
		max-width: calc(100vw - 28px) !important;
		width: calc(100vw - 28px) !important;
	}

	.shaolin-service-group h3 {
		font-size: 25px !important;
	}

	.shaolin-service-row {
		gap: 8px 12px !important;
		grid-template-columns: 74px minmax(0, 1fr) !important;
		padding: 12px !important;
	}

	.shaolin-service-thumb {
		align-self: start !important;
		grid-row: span 2;
		margin-top: 3px !important;
	}

	.shaolin-service-main h4 {
		font-size: clamp(19px, 5.4vw, 24px) !important;
		line-height: 1.08 !important;
		margin-bottom: 4px !important;
		max-width: none;
	}

	.shaolin-service-main p {
		font-size: 14.5px !important;
		line-height: 1.42 !important;
	}

	.shaolin-service-meta {
		border-top: 1px solid rgba(115, 99, 67, 0.18) !important;
		display: flex !important;
		grid-column: 2;
		justify-content: space-between !important;
		padding-top: 8px !important;
		text-align: left !important;
	}

	.shaolin-service-meta span {
		font-size: 14px !important;
	}

	.shaolin-service-meta strong {
		font-size: 20px !important;
	}

	.shaolin-program-sheet {
		grid-template-columns: 1fr !important;
		padding: 14px !important;
	}

	.shaolin-program-thumb {
		min-height: 176px !important;
	}

	.shaolin-program-body h3 {
		font-size: clamp(24px, 7vw, 30px) !important;
	}

	.shaolin-program-composition-list > div {
		align-items: start !important;
		grid-template-columns: minmax(0, 1fr) 140px !important;
		padding: 9px 10px !important;
	}

	.shaolin-program-composition-list em {
		grid-column: 1;
	}

	.shaolin-program-composition-list strong {
		grid-column: 2;
		grid-row: 1 / span 2;
		justify-self: end !important;
		font-size: 13.5px !important;
		max-width: 140px;
		text-align: right !important;
		white-space: nowrap !important;
	}

	.shaolin-program-facts dd {
		font-size: 14.5px !important;
	}
}

/* Promo page mobile polish after global header overrides. */
@media (max-width: 760px) {
	.shaolin-promo-page > .alignwide,
	.shaolin-promo-hero-grid {
		max-width: calc(100vw - 44px) !important;
		width: calc(100vw - 44px) !important;
	}

	.shaolin-promo-page,
	.shaolin-promo-hero,
	.shaolin-promo-hero-grid,
	.shaolin-promo-hero-copy,
	.shaolin-promo-hero-media {
		min-width: 0 !important;
		overflow-x: clip;
	}

	.shaolin-promo-hero h1 {
		font-size: clamp(36px, 10vw, 46px) !important;
		line-height: 1.08 !important;
		max-width: 100% !important;
		overflow-wrap: break-word;
	}

	.shaolin-promo-hero-copy > p:not(.shaolin-promo-kicker) {
		font-size: 16px !important;
		line-height: 1.56 !important;
		max-width: min(100%, 34ch) !important;
		overflow-wrap: anywhere;
	}

	.shaolin-promo-actions .shaolin-ref-btn,
	.shaolin-promo-final-actions .shaolin-ref-btn {
		justify-content: center !important;
		width: 100% !important;
	}

	.shaolin-promo-hero-media figcaption {
		left: 18px !important;
		min-width: 0 !important;
		right: 18px !important;
		width: auto !important;
	}

	.shaolin-ref-header .shaolin-header-cta {
		display: none !important;
	}

	.shaolin-ref-header .shaolin-mobile-links,
	.shaolin-mobile-links {
		gap: 6px 9px !important;
		justify-content: flex-start !important;
		max-width: calc(100vw - 28px) !important;
		overflow: visible !important;
		width: calc(100vw - 28px) !important;
	}

	.shaolin-ref-header .shaolin-mobile-links a,
	.shaolin-mobile-links a {
		flex: 0 0 auto;
		font-size: 13px !important;
		min-height: 28px !important;
	}
}

/* Promo page compact campaign pass. */
.shaolin-promo-page {
	--shaolin-promo-frame: min(calc(100vw - clamp(36px, 4vw, 112px)), 1920px);
}

.shaolin-promo-page > .alignwide,
.shaolin-promo-hero-grid {
	max-width: var(--shaolin-promo-frame) !important;
	width: var(--shaolin-promo-frame) !important;
}

.shaolin-promo-page .shaolin-promo-hero {
	padding: clamp(34px, 4vw, 70px) 0 clamp(30px, 3.6vw, 60px) !important;
}

.shaolin-promo-page .shaolin-promo-hero-grid {
	gap: clamp(28px, 4vw, 72px) !important;
	grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.68fr) !important;
}

.shaolin-promo-page .shaolin-promo-kicker {
	font-size: clamp(14px, 0.78vw, 16px) !important;
	letter-spacing: 0.04em !important;
	margin-bottom: clamp(12px, 1.4vw, 18px) !important;
}

.shaolin-promo-page .shaolin-promo-hero h1 {
	font-size: clamp(48px, 4.6vw, 84px) !important;
	line-height: 1 !important;
	margin-bottom: clamp(16px, 1.8vw, 26px) !important;
	max-width: 780px !important;
}

.shaolin-promo-page .shaolin-promo-hero-copy > p:not(.shaolin-promo-kicker) {
	color: rgba(25, 31, 28, 0.78) !important;
	font-size: clamp(18px, 1.05vw, 22px) !important;
	line-height: 1.55 !important;
	max-width: 650px !important;
}

.shaolin-promo-page .shaolin-promo-actions,
.shaolin-promo-page .shaolin-promo-final-actions {
	gap: 10px !important;
	margin-top: clamp(20px, 2.2vw, 32px) !important;
}

.shaolin-promo-page .shaolin-promo-hero-media {
	aspect-ratio: 16 / 11;
	height: clamp(320px, 29vw, 520px) !important;
	min-height: 0 !important;
}

.shaolin-promo-page .shaolin-promo-hero-media img {
	object-position: 62% center !important;
}

.shaolin-promo-page .shaolin-promo-hero-media figcaption {
	display: none !important;
}

.shaolin-promo-quick-facts {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: clamp(22px, 2.5vw, 34px) 0 0 !important;
	padding: 0;
	max-width: 790px;
}

.shaolin-promo-quick-facts li {
	border-top: 1px solid rgba(115, 99, 67, 0.22);
	display: grid;
	gap: 6px;
	padding: 15px clamp(12px, 1.4vw, 20px) 0 0;
}

.shaolin-promo-quick-facts strong {
	color: var(--shaolin-jade);
	font-family: "Literata", Georgia, serif;
	font-size: clamp(24px, 1.5vw, 34px);
	line-height: 1.04;
}

.shaolin-promo-quick-facts span {
	color: rgba(25, 31, 28, 0.72);
	font-size: clamp(14px, 0.86vw, 17px);
	line-height: 1.35;
}

.shaolin-promo-compact {
	display: grid;
	gap: clamp(18px, 2vw, 28px);
	grid-template-columns: minmax(0, 1.05fr) minmax(430px, 0.64fr);
	margin-top: clamp(30px, 4vw, 58px) !important;
}

.shaolin-promo-compact-main {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shaolin-promo-compact-card {
	background: rgba(255, 253, 248, 0.72);
	border: 1px solid rgba(115, 99, 67, 0.17);
	min-height: 300px;
	padding: clamp(24px, 2.6vw, 44px);
}

.shaolin-promo-compact-card + .shaolin-promo-compact-card {
	border-left: 0;
}

.shaolin-promo-compact-card .shaolin-eyebrow {
	font-size: 13px !important;
	letter-spacing: 0.03em !important;
	margin-bottom: 14px !important;
}

.shaolin-promo-compact-card h2,
.shaolin-promo-price-table h2 {
	color: var(--shaolin-ink) !important;
	font-size: clamp(30px, 2.3vw, 46px) !important;
	letter-spacing: 0 !important;
	line-height: 1.06 !important;
	margin: 0 0 12px !important;
	text-wrap: balance;
}

.shaolin-promo-compact-card p,
.shaolin-promo-price-table header p {
	color: rgba(25, 31, 28, 0.76) !important;
	font-size: clamp(16px, 0.96vw, 19px) !important;
	line-height: 1.58 !important;
	max-width: 58ch;
}

.shaolin-promo-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: clamp(18px, 2vw, 28px);
}

.shaolin-promo-tags span {
	background: rgba(126, 42, 37, 0.07);
	border: 1px solid rgba(126, 42, 37, 0.16);
	border-radius: 999px;
	color: var(--shaolin-red);
	font-size: 14px;
	font-weight: 850;
	line-height: 1;
	padding: 9px 12px;
}

.shaolin-promo-compact-price {
	display: grid;
	gap: 14px;
	grid-template-rows: auto 1fr;
	min-width: 0;
}

.shaolin-promo-price-badge {
	align-items: end;
	background:
		linear-gradient(135deg, rgba(18, 53, 47, 0.98), rgba(18, 53, 47, 0.9)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 720px auto repeat;
	color: var(--shaolin-porcelain);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px 18px;
	padding: clamp(22px, 2.2vw, 34px);
}

.shaolin-promo-price-badge span,
.shaolin-promo-price-badge em {
	color: rgba(255, 253, 248, 0.82);
	font-size: clamp(14px, 0.85vw, 16px);
	font-style: normal;
	font-weight: 850;
	line-height: 1.35;
}

.shaolin-promo-price-badge strong {
	color: #d8b46d;
	font-family: "Literata", Georgia, serif;
	font-size: clamp(56px, 4.6vw, 92px);
	line-height: 0.82;
}

.shaolin-promo-page .shaolin-promo-price-table {
	background: rgba(255, 253, 248, 0.76) !important;
	border: 1px solid rgba(115, 99, 67, 0.17) !important;
	padding: clamp(22px, 2.4vw, 36px) !important;
}

.shaolin-promo-page .shaolin-promo-price-table header {
	margin-bottom: clamp(14px, 1.5vw, 22px) !important;
}

.shaolin-promo-page .shaolin-promo-price-row {
	gap: 12px 18px !important;
	grid-template-columns: minmax(0, 1fr) max-content max-content !important;
	padding: clamp(13px, 1.35vw, 20px) 0 !important;
}

.shaolin-promo-page .shaolin-promo-price-row span {
	font-size: clamp(19px, 1.15vw, 25px) !important;
}

.shaolin-promo-page .shaolin-promo-price-row em {
	font-size: clamp(15px, 0.9vw, 18px) !important;
}

.shaolin-promo-page .shaolin-promo-price-row strong {
	font-size: clamp(21px, 1.35vw, 30px) !important;
}

.shaolin-promo-page .shaolin-promo-final {
	align-items: center;
	display: grid;
	gap: 18px 28px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: clamp(36px, 4vw, 64px) !important;
	margin-top: clamp(24px, 3vw, 42px) !important;
	padding: clamp(26px, 3vw, 44px) !important;
}

.shaolin-promo-page .shaolin-promo-final h2 {
	font-size: clamp(32px, 2.6vw, 52px) !important;
	line-height: 1.04 !important;
	margin-bottom: 10px !important;
}

.shaolin-promo-page .shaolin-promo-final p {
	font-size: clamp(16px, 0.95vw, 19px) !important;
	line-height: 1.5 !important;
	margin-bottom: 0 !important;
}

.shaolin-promo-page .shaolin-promo-disclaimer {
	grid-column: 1 / -1;
	margin-top: 2px !important;
	padding-top: 14px !important;
}

@media (max-width: 1180px) {
	.shaolin-promo-page .shaolin-promo-hero-grid,
	.shaolin-promo-compact {
		grid-template-columns: 1fr !important;
	}

	.shaolin-promo-compact-price {
		grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
		grid-template-rows: none;
	}

	.shaolin-promo-price-badge {
		align-content: center;
	}
}

@media (min-width: 761px) and (max-width: 1180px) {
	.shaolin-promo-page .shaolin-promo-hero {
		padding-bottom: 38px !important;
		padding-top: 38px !important;
	}

	.shaolin-promo-page .shaolin-promo-hero-grid {
		gap: clamp(28px, 3.2vw, 42px) !important;
		grid-template-columns: minmax(0, 0.9fr) minmax(330px, 0.62fr) !important;
	}

	.shaolin-promo-page .shaolin-promo-hero h1 {
		font-size: clamp(44px, 5vw, 62px) !important;
		line-height: 1.03 !important;
	}

	.shaolin-promo-page .shaolin-promo-hero-media {
		height: clamp(300px, 34vw, 420px) !important;
	}
}

@media (max-width: 760px) {
	.shaolin-promo-page {
		--shaolin-promo-frame: calc(100vw - 32px);
	}

	.shaolin-ref-header,
	.shaolin-promo-page {
		overflow-x: clip !important;
	}

	.shaolin-promo-page > .alignwide,
	.shaolin-promo-page .shaolin-promo-hero-grid {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: calc(100vw - 32px) !important;
		width: calc(100vw - 32px) !important;
	}

	.shaolin-promo-page .shaolin-promo-hero-copy,
	.shaolin-promo-page .shaolin-promo-actions,
	.shaolin-promo-page .shaolin-promo-quick-facts {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.shaolin-ref-header .shaolin-mobile-links,
	.shaolin-mobile-links {
		gap: 6px !important;
		max-width: calc(100vw - 24px) !important;
		width: calc(100vw - 24px) !important;
	}

	.shaolin-ref-header .shaolin-mobile-links a,
	.shaolin-mobile-links a {
		font-size: 12px !important;
		min-height: 28px !important;
	}

	.shaolin-mobile-links .shaolin-mobile-promo {
		padding: 8px 10px !important;
	}

	.shaolin-promo-page .shaolin-promo-hero {
		padding-bottom: 24px !important;
		padding-top: 24px !important;
	}

	.shaolin-promo-page .shaolin-promo-hero-grid {
		gap: 22px !important;
		overflow: hidden;
		padding-bottom: 8px;
		position: relative;
	}

	.shaolin-promo-page .shaolin-promo-kicker {
		font-size: 13px !important;
	}

	.shaolin-promo-page .shaolin-promo-hero h1 {
		font-size: clamp(31px, 8.4vw, 38px) !important;
		line-height: 1.07 !important;
		text-wrap: wrap !important;
	}

	.shaolin-promo-page .shaolin-promo-hero-copy > p:not(.shaolin-promo-kicker) {
		font-size: 16px !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
	}

	.shaolin-promo-page .shaolin-promo-hero-copy {
		position: relative;
		z-index: 1;
	}

	.shaolin-promo-page .shaolin-promo-hero-media {
		aspect-ratio: auto;
		border: 0;
		box-shadow: none;
		height: auto !important;
		inset: 0 -18px 0 auto;
		min-height: 0 !important;
		opacity: 0.16;
		pointer-events: none;
		position: absolute;
		width: min(82vw, 310px);
		z-index: 0;
	}

	.shaolin-promo-quick-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 20px !important;
	}

	.shaolin-promo-quick-facts li {
		padding: 12px 0 0;
	}

	.shaolin-promo-quick-facts li:last-child {
		grid-column: 1 / -1;
	}

	.shaolin-promo-compact {
		gap: 14px;
		margin-top: 24px !important;
	}

	.shaolin-promo-compact-main,
	.shaolin-promo-compact-price {
		grid-template-columns: 1fr !important;
	}

	.shaolin-promo-compact-card {
		min-height: 0;
		padding: 22px 18px;
	}

	.shaolin-promo-compact-card + .shaolin-promo-compact-card {
		border-left: 1px solid rgba(115, 99, 67, 0.17);
		border-top: 0;
	}

	.shaolin-promo-compact-card h2,
	.shaolin-promo-price-table h2 {
		font-size: clamp(27px, 7.4vw, 34px) !important;
	}

	.shaolin-promo-tags span {
		font-size: 13px;
		padding: 8px 10px;
	}

	.shaolin-promo-price-badge {
		padding: 20px 18px;
	}

	.shaolin-promo-page .shaolin-promo-price-row {
		grid-template-columns: minmax(0, 1fr) max-content !important;
	}

	.shaolin-promo-page .shaolin-promo-price-row span {
		grid-column: 1 / -1;
	}

	.shaolin-promo-page .shaolin-promo-final {
		grid-template-columns: 1fr;
		padding: 24px 18px !important;
	}

	.shaolin-promo-page .shaolin-promo-final h2 {
		font-size: clamp(29px, 8vw, 36px) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shaolin-promo-page * {
		transition-duration: 0.01ms !important;
	}
}

/* Homepage focused polish: route, doctors carousel, reviews cleanup, price block. */
.shaolin-has-js .shaolin-reveal {
	opacity: 1;
	transform: translateY(8px);
	transition: transform 420ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.shaolin-has-js .shaolin-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.shaolin-ref-route {
	overflow: hidden;
}

.shaolin-ref-route-line {
	gap: 14px !important;
	grid-template-columns: repeat(5, minmax(170px, 1fr)) !important;
}

.shaolin-ref-route-line::before {
	background: linear-gradient(90deg, rgba(185, 139, 69, 0), rgba(185, 139, 69, 0.55), rgba(185, 139, 69, 0)) !important;
	left: 36px !important;
	right: 36px !important;
	top: 28px !important;
}

.shaolin-ref-route-step {
	background: rgba(255, 250, 240, 0.7);
	border: 1px solid rgba(31, 47, 42, 0.11);
	box-shadow: 0 6px 8px rgba(38, 28, 18, 0.05);
	min-height: 176px;
	padding: 22px 18px 20px !important;
	transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.shaolin-ref-route-step:hover,
.shaolin-ref-route-step:focus-visible {
	background: rgba(255, 253, 248, 0.96);
	border-color: rgba(154, 44, 36, 0.22);
	box-shadow: 0 8px 8px rgba(38, 28, 18, 0.08);
	outline: none;
	transform: translateY(-5px) scale(1.015);
}

.shaolin-ref-route-step span {
	box-shadow: 0 0 0 8px rgba(255, 250, 240, 0.92);
	margin-bottom: 22px !important;
	transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease, transform 220ms ease;
}

.shaolin-ref-about-trust {
	align-items: stretch;
	display: grid;
	gap: clamp(28px, 4vw, 72px);
	grid-template-columns: minmax(300px, 0.36fr) minmax(0, 1fr);
	overflow: hidden;
	padding-top: 58px;
	position: relative;
}

.shaolin-ref-about-trust::after {
	background:
		radial-gradient(circle at 18% 34%, rgba(185, 139, 69, 0.18), transparent 36%),
		linear-gradient(135deg, rgba(255, 250, 240, 0.72), rgba(232, 216, 184, 0.26));
	border: 1px solid rgba(31, 47, 42, 0.1);
	content: "";
	inset: 58px 0 0;
	position: absolute;
	z-index: 0;
}

.shaolin-ref-about-media,
.shaolin-ref-about-copy {
	position: relative;
	z-index: 1;
}

.shaolin-ref-about-media {
	align-self: start;
	display: grid;
	gap: 14px;
	padding: clamp(16px, 1.8vw, 28px);
}

.shaolin-ref-about-media img {
	aspect-ratio: 4 / 5;
	background: rgba(255, 253, 248, 0.84);
	border: 1px solid rgba(31, 47, 42, 0.12);
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center 24%;
	width: 100%;
}

.shaolin-ref-about-stats {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shaolin-ref-about-stats div {
	align-content: center;
	background: var(--ref-jade);
	color: var(--shaolin-porcelain);
	display: grid;
	min-height: 104px;
	padding: 16px;
	text-align: center;
}

.shaolin-ref-about-stats strong {
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(30px, 2.05vw, 36px);
	line-height: 0.95;
	white-space: nowrap;
}

.shaolin-ref-about-stats span {
	font-size: 12px;
	font-weight: 900;
	line-height: 1.25;
	margin-top: 8px;
	text-transform: uppercase;
}

.shaolin-ref-about-copy {
	align-content: center;
	display: grid;
	padding: clamp(28px, 4.2vw, 76px) clamp(22px, 4vw, 76px) clamp(30px, 4vw, 72px) 0;
}

.shaolin-ref-about-label {
	align-items: center;
	background: rgba(18, 53, 47, 0.09);
	border: 1px solid rgba(18, 53, 47, 0.14);
	color: var(--ref-jade);
	display: inline-flex;
	font-size: 13px !important;
	font-weight: 900;
	justify-self: start;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 20px !important;
	padding: 10px 14px;
}

.shaolin-ref-about-label::before {
	background: var(--ref-gold);
	border-radius: 999px;
	content: "";
	height: 7px;
	margin-right: 9px;
	width: 7px;
}

.shaolin-ref-about-copy h2 {
	max-width: 920px;
	text-wrap: balance;
}

.shaolin-ref-about-lead {
	color: var(--ref-jade) !important;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(26px, 2.35vw, 42px) !important;
	font-weight: 700;
	line-height: 1.16 !important;
	margin-top: 24px !important;
	max-width: 1040px !important;
}

.shaolin-ref-about-copy > p:not(.shaolin-ref-about-label):not(.shaolin-ref-about-lead) {
	color: rgba(16, 34, 29, 0.78);
	font-size: 18px !important;
	line-height: 1.72 !important;
	margin-top: 22px !important;
	max-width: 820px !important;
}

.shaolin-ref-about-points {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 34px;
}

.shaolin-ref-about-points div {
	background: rgba(255, 253, 248, 0.74);
	border: 1px solid rgba(31, 47, 42, 0.1);
	display: grid;
	gap: 8px;
	min-height: 166px;
	padding: 20px 18px;
}

.shaolin-ref-about-points span {
	background: var(--ref-red);
	border-radius: 999px;
	height: 10px;
	width: 10px;
}

.shaolin-ref-about-points strong {
	color: var(--ref-ink);
	font-size: 17px;
	line-height: 1.2;
}

.shaolin-ref-about-points p {
	color: rgba(16, 34, 29, 0.72);
	font-size: 15px !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

.shaolin-ref-about-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.shaolin-ref-route-step:hover span,
.shaolin-ref-route-step:focus-visible span {
	background: var(--ref-red);
	border-color: var(--ref-red);
	color: var(--shaolin-porcelain);
	transform: scale(1.12);
}

.shaolin-ref-doctor-head {
	align-items: center;
}

.shaolin-ref-doctor-actions {
	align-items: center;
	display: flex;
	gap: 14px;
}

.shaolin-ref-doctor-controls {
	align-items: center;
	display: flex;
	gap: 8px;
}

.shaolin-ref-doctor-arrow {
	align-items: center;
	appearance: none;
	background: rgba(255, 253, 248, 0.82);
	border: 1px solid rgba(31, 47, 42, 0.18);
	border-radius: 999px;
	color: var(--ref-ink);
	cursor: pointer;
	display: flex;
	font-size: 30px;
	font-weight: 700;
	height: 42px;
	justify-content: center;
	line-height: 1;
	padding: 0 0 3px;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, opacity 180ms ease, transform 180ms ease;
	width: 42px;
}

.shaolin-ref-doctor-arrow:hover,
.shaolin-ref-doctor-arrow:focus-visible {
	background: var(--ref-red);
	border-color: var(--ref-red);
	color: var(--shaolin-porcelain);
}

.shaolin-ref-doctor-arrow.is-disabled {
	cursor: default;
	opacity: 0.36;
	pointer-events: none;
}

.shaolin-ref-doctor-carousel {
	margin-left: -4px;
	margin-right: -4px;
	overflow: hidden;
	padding: 4px;
}

.shaolin-ref-doctor-carousel .shaolin-ref-doctor-grid {
	display: flex !important;
	gap: 16px;
	grid-template-columns: none !important;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	padding-bottom: 4px;
	scroll-behavior: smooth;
	scroll-padding-left: 0;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.shaolin-ref-doctor-carousel .shaolin-ref-doctor-grid::-webkit-scrollbar {
	display: none;
}

.shaolin-ref-doctor-carousel .shaolin-ref-doctor {
	box-shadow: 0 8px 8px rgba(38, 28, 18, 0.06);
	flex: 0 0 min(470px, calc((100% - 32px) / 3));
	scroll-snap-align: start;
}

.shaolin-ref-booking {
	align-items: stretch;
	grid-template-columns: minmax(300px, 0.68fr) minmax(0, 1.32fr) !important;
}

.shaolin-ref-booking-copy p {
	max-width: 460px !important;
}

.shaolin-ref-booking-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.shaolin-ref-price-board {
	backdrop-filter: blur(10px);
	background: rgba(255, 250, 240, 0.82);
	border: 1px solid rgba(12, 33, 28, 0.12);
	box-shadow: inset 0 1px 0 rgba(255, 253, 248, 0.82);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.shaolin-ref-price-board a {
	align-content: center;
	border-right: 1px solid rgba(31, 47, 42, 0.11);
	color: var(--ref-ink);
	display: grid;
	gap: 12px;
	min-height: 190px;
	padding: clamp(18px, 2vw, 30px);
	text-align: center;
	text-decoration: none;
	transition: background-color 180ms ease, transform 180ms ease;
}

.shaolin-ref-price-board a:last-child {
	border-right: 0;
}

.shaolin-ref-price-board a:hover,
.shaolin-ref-price-board a:focus-visible {
	background: rgba(255, 253, 248, 0.94);
	transform: translateY(-2px);
}

.shaolin-ref-price-board span {
	color: rgba(16, 34, 29, 0.72);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
}

.shaolin-ref-price-board strong {
	color: var(--ref-red);
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(24px, 2vw, 38px);
	line-height: 1;
}

.shaolin-ref-review-slider {
	box-shadow: 0 8px 8px rgba(38, 28, 18, 0.05);
}

.shaolin-ref-review-slider::before {
	display: none;
}

.shaolin-ref-review-person {
	align-self: center;
}

.shaolin-ref-review-note {
	display: none !important;
}

@media (max-width: 1180px) {
	.shaolin-ref-about-trust {
		grid-template-columns: 1fr;
	}

	.shaolin-ref-about-trust::after {
		inset: 58px 0 0;
	}

	.shaolin-ref-about-media {
		grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
		padding-bottom: 0;
	}

	.shaolin-ref-about-stats {
		align-self: stretch;
		grid-template-columns: 1fr;
	}

	.shaolin-ref-about-copy {
		padding: 0 clamp(20px, 4vw, 48px) clamp(34px, 4vw, 52px);
	}

	.shaolin-ref-about-points {
		grid-template-columns: 1fr;
	}

	.shaolin-ref-about-points div {
		min-height: 0;
	}

	.shaolin-ref-doctor-carousel .shaolin-ref-doctor {
		flex-basis: min(520px, calc((100% - 16px) / 2));
	}

	.shaolin-ref-booking,
	.shaolin-ref-price-board {
		grid-template-columns: 1fr !important;
	}

	.shaolin-ref-price-board a {
		border-bottom: 1px solid rgba(31, 47, 42, 0.11);
		border-right: 0;
		min-height: 118px;
	}
}

@media (max-width: 760px) {
	.shaolin-ref-about-trust {
		gap: 24px;
		padding-top: 46px;
	}

	.shaolin-ref-about-trust::after {
		inset: 46px 0 0;
	}

	.shaolin-ref-about-media {
		grid-template-columns: 1fr;
		padding: 14px 14px 0;
	}

	.shaolin-ref-about-media img {
		max-height: 520px;
		object-position: center 24%;
	}

	.shaolin-ref-about-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-ref-about-stats div {
		min-height: 92px;
		padding: 14px 10px;
	}

	.shaolin-ref-about-stats strong {
		font-size: 30px;
	}

	.shaolin-ref-about-stats span {
		font-size: 11px;
	}

	.shaolin-ref-about-copy {
		padding: 0 16px 30px;
	}

	.shaolin-ref-about-label {
		font-size: 12px !important;
		margin-bottom: 16px !important;
	}

	.shaolin-ref-about-copy h2 {
		font-size: clamp(34px, 10.4vw, 43px) !important;
		line-height: 1.04 !important;
		overflow-wrap: normal;
	}

	.shaolin-ref-about-lead {
		font-size: 25px !important;
		line-height: 1.2 !important;
		margin-top: 20px !important;
	}

	.shaolin-ref-about-actions .shaolin-ref-btn {
		width: 100%;
	}

	.shaolin-ref-route-line {
		display: flex !important;
		overflow-x: auto;
		padding: 4px 0 18px;
		scroll-padding-left: 0;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.shaolin-ref-route-line::-webkit-scrollbar {
		display: none;
	}

	.shaolin-ref-route-line::before {
		display: none;
	}

	.shaolin-ref-route-step {
		flex: 0 0 min(76vw, 300px);
		min-height: 156px;
		scroll-snap-align: start;
	}

	.shaolin-ref-doctor-head,
	.shaolin-ref-doctor-actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.shaolin-ref-doctor-controls {
		order: 2;
	}

	.shaolin-ref-doctor-carousel .shaolin-ref-doctor {
		flex-basis: min(84vw, 340px);
		min-height: 184px;
	}

	.shaolin-ref-price-board a {
		min-height: 92px;
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shaolin-ref-doctor-carousel .shaolin-ref-doctor-grid,
	.shaolin-ref-route-line {
		scroll-behavior: auto;
	}

	.shaolin-ref-route-step,
	.shaolin-ref-route-step span,
	.shaolin-ref-doctor-arrow,
	.shaolin-ref-price-board a {
		transition-duration: 0.01ms !important;
	}
}

/* Homepage pain hero: close reference match, with original SVG pictograms. */
.shaolin-ref-needle-knife {
	background:
		linear-gradient(120deg, rgba(12, 33, 28, 0.96), rgba(20, 70, 59, 0.92)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/china-temple-dark-banner.jpg") center / cover;
	color: #fff8eb;
	display: grid;
	gap: clamp(26px, 3vw, 48px);
	grid-template-columns: minmax(340px, 0.84fr) minmax(0, 1.16fr);
	margin-top: clamp(64px, 7vw, 108px) !important;
	padding: clamp(34px, 4vw, 64px);
}

.shaolin-ref-needle-intro {
	align-content: start;
	display: grid;
	gap: 22px;
}

.shaolin-ref-needle-mark {
	align-items: center;
	background: rgba(255, 248, 235, 0.08);
	border: 1px solid rgba(209, 167, 95, 0.32);
	color: #d1a75f;
	display: inline-flex;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 4.5vw, 82px);
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: clamp(96px, 8vw, 140px);
	width: clamp(112px, 10vw, 170px);
}

.shaolin-ref-needle-knife h2,
.shaolin-ref-needle-knife p {
	color: inherit;
	margin: 0;
}

.shaolin-ref-needle-knife h2 {
	font-size: clamp(38px, 3.6vw, 66px) !important;
	line-height: 1.02 !important;
	max-width: 760px;
	text-wrap: balance;
}

.shaolin-ref-needle-intro p {
	color: rgba(255, 248, 235, 0.8) !important;
	font-size: clamp(17px, 1.08vw, 21px) !important;
	font-weight: 720;
	line-height: 1.58 !important;
	margin-top: 18px !important;
	max-width: 720px !important;
}

.shaolin-ref-needle-flow {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shaolin-ref-needle-flow div {
	border-left: 1px solid rgba(255, 248, 235, 0.18);
	display: grid;
	gap: 12px;
	min-height: 268px;
	padding: clamp(20px, 2vw, 30px);
}

.shaolin-ref-needle-flow div:first-child {
	border-left: 0;
}

.shaolin-ref-needle-flow strong {
	color: #fff8eb;
	font-family: "Manrope", system-ui, sans-serif;
	font-size: clamp(18px, 1.08vw, 22px);
	font-weight: 900;
	line-height: 1.18;
	overflow-wrap: normal;
}

.shaolin-ref-needle-flow p {
	color: rgba(255, 248, 235, 0.74) !important;
	font-size: clamp(15px, 0.9vw, 18px) !important;
	font-weight: 650;
	line-height: 1.56 !important;
}

.shaolin-ref-needle-note {
	border-top: 1px solid rgba(255, 248, 235, 0.18);
	color: rgba(255, 248, 235, 0.82) !important;
	font-size: clamp(16px, 1vw, 19px) !important;
	font-weight: 760;
	grid-column: 1 / -1;
	line-height: 1.55 !important;
	padding-top: clamp(18px, 2vw, 28px);
}

.shaolin-ref-home > .shaolin-ref-pain-hero {
	--shaolin-pain-frame: min(calc(100vw - clamp(48px, 5.4vw, 110px)), 1910px);
	background: #f4efe5 !important;
	isolation: isolate;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	min-height: clamp(720px, calc(100dvh - var(--shaolin-header-offset, 112px)), 900px) !important;
	overflow: hidden;
	position: relative;
	width: 100vw !important;
}

.shaolin-ref-pain-hero::before,
.shaolin-ref-pain-hero::after {
	display: none !important;
}

.shaolin-ref-pain-hero .shaolin-ref-hero-bg {
	display: block !important;
	filter: saturate(1.02) contrast(1.02);
	height: 100% !important;
	inset: 0;
	object-fit: cover;
	object-position: center center !important;
	position: absolute;
	width: 100% !important;
	z-index: 0;
}

.shaolin-ref-pain-hero .shaolin-ref-hero-overlay {
	background:
		linear-gradient(90deg, rgba(247, 242, 232, 0.9) 0%, rgba(247, 242, 232, 0.78) 31%, rgba(247, 242, 232, 0.42) 49%, rgba(247, 242, 232, 0.12) 68%, rgba(247, 242, 232, 0) 86%),
		linear-gradient(180deg, rgba(247, 242, 232, 0.04) 0%, rgba(247, 242, 232, 0) 44%, rgba(247, 242, 232, 0.64) 100%);
	display: block !important;
	inset: 0;
	position: absolute;
	z-index: 1;
}

.shaolin-ref-pain-hero .shaolin-ref-hero-grid {
	display: grid !important;
	grid-template-columns: minmax(620px, 0.44fr) minmax(0, 0.56fr) !important;
	margin: 0 auto !important;
	max-width: var(--shaolin-pain-frame) !important;
	min-height: calc(clamp(720px, calc(100dvh - var(--shaolin-header-offset, 112px)), 900px) - 8px) !important;
	padding: clamp(24px, 2.4vw, 42px) 0 clamp(92px, 8vw, 116px) !important;
	position: relative;
	width: var(--shaolin-pain-frame) !important;
	z-index: 2;
}

.shaolin-ref-pain-hero .shaolin-ref-hero-copy {
	align-self: start;
	max-width: 790px !important;
	min-width: 0;
}

.shaolin-ref-pain-hero .shaolin-ref-hero h1,
.shaolin-ref-pain-hero h1 {
	color: #0d3028 !important;
	font-family: "Literata", Georgia, "Times New Roman", serif;
	font-size: clamp(46px, 3.8vw, 72px) !important;
	font-weight: 800;
	letter-spacing: 0 !important;
	line-height: 0.98 !important;
	margin: 0 !important;
	max-width: 820px !important;
	text-wrap: balance;
}

.shaolin-ref-pain-hero .shaolin-ref-hero-copy > p {
	color: rgba(25, 31, 28, 0.68) !important;
	font-size: clamp(16px, 0.95vw, 19px) !important;
	font-weight: 760;
	line-height: 1.48 !important;
	margin: clamp(16px, 1.5vw, 24px) 0 0 !important;
	max-width: 710px !important;
	text-wrap: pretty;
}

.shaolin-ref-pain-tags {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(132px, 1fr));
	margin-top: clamp(14px, 1.35vw, 22px);
	max-width: 720px;
}

.shaolin-ref-pain-tags a {
	align-items: center;
	background: rgba(255, 253, 248, 0.9);
	border: 1px solid rgba(31, 47, 42, 0.12);
	border-radius: 8px;
	color: rgba(25, 31, 28, 0.78);
	display: grid;
	gap: 10px;
	grid-template-columns: 40px minmax(0, 1fr);
	min-height: 72px;
	padding: 10px 14px;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.shaolin-ref-pain-tags a:hover,
.shaolin-ref-pain-tags a:focus-visible {
	background: #fffdf8;
	border-color: rgba(126, 42, 37, 0.22);
	outline: none;
	transform: translateY(-2px);
}

.shaolin-ref-pain-tags strong {
	font-family: "Manrope", system-ui, sans-serif;
	font-size: clamp(13px, 0.82vw, 16px);
	font-weight: 860;
	line-height: 1.18;
}

.shaolin-ref-pain-icon,
.shaolin-ref-pain-proof .shaolin-ref-icon {
	color: #315f52;
	display: flex;
	line-height: 1;
}

.shaolin-ref-pain-icon svg,
.shaolin-ref-pain-proof .shaolin-ref-icon svg {
	display: block;
	fill: none;
	height: 40px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.35;
	width: 40px;
}

.shaolin-ref-pain-icon .accent,
.shaolin-ref-pain-proof .shaolin-ref-icon .accent {
	fill: #a33a32;
	stroke: none;
}

.shaolin-ref-pain-hero .shaolin-ref-promo {
	background:
		linear-gradient(135deg, rgba(170, 70, 56, 0.96), rgba(131, 42, 35, 0.98)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 760px auto;
	border: 1px solid rgba(255, 250, 240, 0.26);
	border-radius: 8px;
	box-shadow: 0 10px 14px rgba(126, 42, 37, 0.18);
	gap: 8px;
	margin: clamp(16px, 1.5vw, 24px) 0 clamp(14px, 1.4vw, 22px) !important;
	max-width: 704px !important;
	min-height: 108px;
	padding: clamp(18px, 1.6vw, 24px) clamp(24px, 2.2vw, 34px) !important;
}

.shaolin-ref-pain-hero .shaolin-ref-promo::after {
	color: rgba(255, 248, 235, 0.16);
	content: "惠";
	font-size: clamp(68px, 4.4vw, 94px);
	right: clamp(18px, 2vw, 34px);
	top: 12px;
}

.shaolin-ref-pain-hero .shaolin-ref-promo strong {
	font-size: clamp(30px, 2.55vw, 44px) !important;
	line-height: 0.98;
}

.shaolin-ref-pain-hero .shaolin-ref-promo span {
	font-size: clamp(15px, 0.98vw, 18px) !important;
	line-height: 1.32;
	max-width: 560px;
}

.shaolin-ref-pain-hero .shaolin-ref-actions {
	display: flex !important;
	flex-wrap: wrap;
	gap: clamp(12px, 1.2vw, 18px);
	margin-top: 0 !important;
}

.shaolin-ref-pain-hero .shaolin-ref-btn {
	align-items: center;
	border-radius: 8px !important;
	display: inline-flex;
	font-size: clamp(15px, 0.9vw, 17px) !important;
	font-weight: 900;
	gap: 18px;
	justify-content: center;
	min-height: 56px !important;
	padding: 0 clamp(22px, 2vw, 34px) !important;
	width: auto !important;
}

.shaolin-ref-pain-hero .shaolin-ref-btn-primary {
	background: #075333 !important;
	border-color: #075333 !important;
	box-shadow: 0 10px 14px rgba(7, 83, 51, 0.18) !important;
	color: #fffdf8 !important;
	min-width: min(100%, 390px);
}

.shaolin-ref-pain-hero .shaolin-ref-btn-outline {
	background: rgba(255, 253, 248, 0.86) !important;
	border-color: rgba(31, 47, 42, 0.18) !important;
	color: rgba(25, 31, 28, 0.82) !important;
	min-width: min(100%, 248px);
}

.shaolin-ref-pain-hero .shaolin-ref-btn:hover,
.shaolin-ref-pain-hero .shaolin-ref-btn:focus-visible {
	box-shadow: 0 8px 12px rgba(38, 28, 18, 0.14) !important;
}

.shaolin-ref-pain-hero .shaolin-ref-mobile-photo {
	display: none !important;
}

.shaolin-ref-pain-proof {
	background: rgba(255, 253, 248, 0.93) !important;
	border: 1px solid rgba(31, 47, 42, 0.12) !important;
	border-radius: 8px;
	bottom: clamp(10px, 1.3vw, 18px) !important;
	box-shadow: 0 10px 14px rgba(38, 28, 18, 0.12) !important;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	left: 50% !important;
	margin: 0 !important;
	max-width: var(--shaolin-pain-frame) !important;
	overflow: hidden;
	position: absolute !important;
	transform: translateX(-50%) !important;
	width: var(--shaolin-pain-frame) !important;
	z-index: 3;
}

.shaolin-ref-pain-proof a {
	align-items: center !important;
	background: transparent !important;
	border: 0 !important;
	color: #12352f !important;
	display: grid !important;
	gap: clamp(14px, 1.5vw, 24px) !important;
	grid-template-columns: 48px minmax(0, 1fr);
	min-height: 96px !important;
	padding: clamp(14px, 1.25vw, 18px) clamp(16px, 1.6vw, 24px) !important;
	text-align: left !important;
}

.shaolin-ref-pain-proof a + a {
	border-left: 1px solid rgba(31, 47, 42, 0.1) !important;
}

.shaolin-ref-pain-proof a:hover,
.shaolin-ref-pain-proof a:focus-visible {
	background: rgba(255, 250, 240, 0.72) !important;
	outline: none;
	transform: none !important;
}

.shaolin-ref-pain-proof .shaolin-ref-icon {
	align-items: center;
	font-size: 0 !important;
	height: 48px;
	justify-content: center;
	margin: 0 !important;
	width: 48px;
}

.shaolin-ref-pain-proof .shaolin-ref-icon svg {
	height: 48px;
	width: 48px;
}

.shaolin-ref-pain-proof span:not(.shaolin-ref-icon) {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.shaolin-ref-pain-proof strong {
	color: #12352f !important;
	font-size: clamp(17px, 1vw, 21px) !important;
	font-weight: 900;
	line-height: 1.15 !important;
}

.shaolin-ref-pain-proof small {
	color: rgba(25, 31, 28, 0.68) !important;
	display: block !important;
	font-size: clamp(13px, 0.78vw, 16px) !important;
	font-weight: 760;
	line-height: 1.35 !important;
}

@media (min-width: 2200px) {
	.shaolin-ref-home > .shaolin-ref-pain-hero {
		--shaolin-pain-frame: min(calc(100vw - 132px), 1980px);
	}
}

@media (max-width: 1280px) {
	.shaolin-ref-pain-hero .shaolin-ref-hero-grid {
		grid-template-columns: minmax(500px, 0.5fr) minmax(0, 0.5fr) !important;
		padding-bottom: 164px !important;
	}

	.shaolin-ref-pain-hero h1 {
		font-size: clamp(52px, 5vw, 72px) !important;
	}

	.shaolin-ref-pain-tags {
		grid-template-columns: repeat(2, minmax(150px, 1fr));
		max-width: 560px;
	}

	.shaolin-ref-pain-proof a {
		grid-template-columns: 48px minmax(0, 1fr);
		padding: 18px 20px !important;
	}

	.shaolin-ref-pain-proof .shaolin-ref-icon,
	.shaolin-ref-pain-proof .shaolin-ref-icon svg {
		height: 48px;
		width: 48px;
	}
}

@media (max-width: 980px) {
	.shaolin-ref-needle-knife {
		grid-template-columns: 1fr;
		margin-top: 42px !important;
	}

	.shaolin-ref-needle-flow {
		grid-template-columns: 1fr;
	}

	.shaolin-ref-needle-flow div {
		border-left: 0;
		border-top: 1px solid rgba(255, 248, 235, 0.18);
		min-height: 0;
		padding: 20px 0;
	}

	.shaolin-ref-needle-flow div:first-child {
		border-top: 0;
	}

	.shaolin-ref-home > .shaolin-ref-pain-hero {
		min-height: auto !important;
		padding-bottom: 26px;
	}

	.shaolin-ref-pain-hero .shaolin-ref-hero-grid {
		display: block !important;
		min-height: 0 !important;
		padding: clamp(34px, 5vw, 52px) 0 0 !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-hero-bg {
		display: none !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-hero-overlay {
		background:
			linear-gradient(180deg, rgba(247, 242, 232, 0.96), rgba(247, 242, 232, 0.88)),
			url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center top / cover no-repeat;
	}

	.shaolin-ref-pain-hero h1 {
		font-size: clamp(42px, 8.2vw, 62px) !important;
		max-width: 720px !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-hero-copy > p {
		font-size: 17px !important;
		max-width: 660px !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-mobile-photo {
		border: 1px solid rgba(31, 47, 42, 0.12);
		border-radius: 8px;
		display: block !important;
		margin-top: 24px !important;
		overflow: hidden;
	}

	.shaolin-ref-pain-hero .shaolin-ref-mobile-photo img {
		aspect-ratio: 16 / 9;
		display: block;
		height: auto;
		object-fit: cover;
		object-position: center;
		width: 100%;
	}

	.shaolin-ref-pain-proof {
		left: auto !important;
		margin: 24px auto 0 !important;
		position: relative !important;
		transform: none !important;
	}
}

@media (max-width: 760px) {
	.shaolin-ref-needle-knife {
		gap: 22px;
		padding: 28px 18px;
	}

	.shaolin-ref-needle-mark {
		font-size: 44px;
		min-height: 88px;
		width: 112px;
	}

	.shaolin-ref-needle-knife h2 {
		font-size: clamp(32px, 9vw, 42px) !important;
	}

	.shaolin-ref-needle-intro p,
	.shaolin-ref-needle-note {
		font-size: 16px !important;
	}

	.shaolin-ref-needle-flow strong {
		font-size: 25px;
	}

	.shaolin-ref-home > .shaolin-ref-pain-hero {
		--shaolin-pain-frame: min(calc(100vw - 28px), 560px);
		padding-bottom: 22px !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-hero-grid {
		width: var(--shaolin-pain-frame) !important;
	}

	.shaolin-ref-pain-hero h1 {
		font-size: clamp(38px, 10.8vw, 48px) !important;
		line-height: 1.03 !important;
		overflow-wrap: normal;
	}

	.shaolin-ref-pain-hero .shaolin-ref-hero-copy > p {
		font-size: 16px !important;
		font-weight: 720;
		line-height: 1.5 !important;
	}

	.shaolin-ref-pain-tags {
		gap: 10px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: none;
	}

	.shaolin-ref-pain-tags a {
		gap: 8px;
		grid-template-columns: 38px minmax(0, 1fr);
		min-height: 76px;
		padding: 12px 10px;
	}

	.shaolin-ref-pain-tags strong {
		font-size: 13px;
	}

	.shaolin-ref-pain-icon svg {
		height: 38px;
		width: 38px;
	}

	.shaolin-ref-pain-hero .shaolin-ref-promo {
		margin-top: 18px !important;
		min-height: 112px;
		padding: 18px !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-promo strong {
		font-size: clamp(29px, 8.6vw, 38px) !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-promo span {
		font-size: 15px !important;
		max-width: calc(100% - 54px);
	}

	.shaolin-ref-pain-hero .shaolin-ref-actions {
		display: grid !important;
		gap: 12px;
	}

	.shaolin-ref-pain-hero .shaolin-ref-btn {
		min-width: 0 !important;
		width: 100% !important;
	}

	.shaolin-ref-pain-proof {
		grid-template-columns: 1fr !important;
		width: var(--shaolin-pain-frame) !important;
	}

	.shaolin-ref-pain-proof a {
		grid-template-columns: 46px minmax(0, 1fr);
		min-height: 96px !important;
		padding: 16px !important;
	}

	.shaolin-ref-pain-proof a + a {
		border-left: 0 !important;
		border-top: 1px solid rgba(31, 47, 42, 0.1) !important;
	}

	.shaolin-ref-pain-proof .shaolin-ref-icon,
	.shaolin-ref-pain-proof .shaolin-ref-icon svg {
		height: 46px;
		width: 46px;
	}
}

@media (max-width: 360px) {
	.shaolin-ref-pain-tags {
		grid-template-columns: 1fr;
	}
}

/* Unified readable frame for public page content. */
:root {
	--shaolin-readable-gutter: clamp(28px, 8vw, 180px);
	--shaolin-readable-frame: min(calc(100vw - var(--shaolin-readable-gutter)), 1360px);
}

.shaolin-ref-header .shaolin-header-inner,
.shaolin-ref-header .shaolin-mobile-links,
.shaolin-ref-home .alignwide,
.shaolin-ref-pain-hero .shaolin-ref-hero-grid,
.shaolin-ref-pain-proof,
.shaolin-ref-china-inner,
.shaolin-ref-footer-grid,
.shaolin-ref-footer-bottom,
.shaolin-promo-page > .alignwide,
.shaolin-promo-page .shaolin-promo-hero-grid,
.shaolin-archive-page > .alignwide,
.shaolin-archive-page > .wp-block-query,
.shaolin-archive-page > .wp-block-shortcode,
.shaolin-archive-page .alignwide,
.shaolin-single-page > .alignwide,
.shaolin-single-page .alignwide,
.shaolin-single-page .shaolin-content-wrap,
.shaolin-directory-page > .shaolin-directory-hero,
.shaolin-directory-page > .shaolin-directory-switch,
.shaolin-directory-page > .shaolin-directory-intro,
.shaolin-directory-page > .shaolin-directory-list-head,
.shaolin-directory-page > .wp-block-query,
.shaolin-directory-page > .wp-block-shortcode,
.shaolin-directory-page > .shaolin-directory-cta,
.shaolin-service-catalog,
.shaolin-program-catalog,
.shaolin-contact-hero,
.shaolin-contact-map-section,
.shaolin-contact-visit,
.shaolin-contact-gallery,
.shaolin-contact-final,
.shaolin-contact-showcase,
.shaolin-page-hero {
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--shaolin-readable-frame) !important;
	width: var(--shaolin-readable-frame) !important;
}

.shaolin-ref-home > .shaolin-ref-pain-hero {
	--shaolin-pain-frame: var(--shaolin-readable-frame);
}

.shaolin-ref-pain-hero .shaolin-ref-actions {
	gap: clamp(10px, 1vw, 14px);
}

.shaolin-ref-pain-hero .shaolin-ref-btn-primary {
	min-width: min(100%, 340px);
}

.shaolin-ref-pain-hero .shaolin-ref-btn-outline {
	min-width: min(100%, 232px);
}

.shaolin-ref-pain-proof {
	bottom: 0 !important;
}

.shaolin-ref-section,
.shaolin-service-catalog,
.shaolin-program-catalog,
.shaolin-directory-page [id],
.shaolin-contact-page [id] {
	scroll-margin-top: calc(var(--shaolin-header-offset, 104px) + 24px);
}

.shaolin-ref-home > .shaolin-ref-hero,
.shaolin-ref-china,
.shaolin-ref-footer,
.shaolin-promo-page .shaolin-promo-hero {
	max-width: none !important;
	width: 100% !important;
}

@media (max-width: 980px) {
	:root {
		--shaolin-readable-gutter: clamp(28px, 7vw, 72px);
	}
}

@media (max-width: 760px) {
	:root {
		--shaolin-readable-frame: min(calc(100vw - 28px), 560px);
	}
}

/* Compact needle-knife block after the trust section. */
.shaolin-ref-home .shaolin-ref-needle-knife {
	background:
		linear-gradient(120deg, rgba(9, 35, 29, 0.98), rgba(20, 75, 62, 0.93)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/china-temple-dark-banner.jpg") right center / cover no-repeat !important;
	border: 1px solid rgba(209, 167, 95, 0.22);
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(38, 28, 18, 0.14) !important;
	display: grid !important;
	gap: clamp(24px, 3vw, 40px) !important;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.85fr) !important;
	margin-top: clamp(36px, 4vw, 64px) !important;
	max-width: min(var(--shaolin-readable-frame), 1160px) !important;
	overflow: hidden;
	padding: clamp(28px, 3.2vw, 48px) !important;
	position: relative;
	width: min(var(--shaolin-readable-frame), 1160px) !important;
}

.shaolin-ref-home .shaolin-ref-needle-knife::after {
	background: radial-gradient(circle at 82% 18%, rgba(209, 167, 95, 0.16), transparent 34%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.shaolin-ref-home .shaolin-ref-needle-knife > * {
	position: relative;
	z-index: 1;
}

.shaolin-ref-home .shaolin-ref-needle-intro {
	align-items: start;
	display: grid;
	gap: clamp(18px, 2vw, 26px);
	grid-template-columns: 104px minmax(0, 1fr);
}

.shaolin-ref-home .shaolin-ref-needle-mark {
	font-size: clamp(44px, 4vw, 62px) !important;
	min-height: 104px !important;
	width: 104px !important;
}

.shaolin-ref-home .shaolin-ref-needle-knife h2 {
	font-size: clamp(34px, 3.1vw, 50px) !important;
	line-height: 1.04 !important;
	max-width: 520px !important;
}

.shaolin-ref-home .shaolin-ref-needle-intro p {
	font-size: clamp(16px, 0.96vw, 18px) !important;
	line-height: 1.55 !important;
	margin-top: 14px !important;
	max-width: 560px !important;
}

.shaolin-ref-home .shaolin-ref-needle-flow {
	align-self: stretch;
	display: grid !important;
	gap: 12px !important;
	grid-template-columns: 1fr !important;
}

.shaolin-ref-home .shaolin-ref-needle-flow div {
	background: rgba(255, 248, 235, 0.055);
	border: 1px solid rgba(255, 248, 235, 0.14) !important;
	display: grid !important;
	gap: 14px !important;
	grid-template-columns: minmax(168px, 0.42fr) minmax(0, 1fr);
	min-height: 0 !important;
	padding: clamp(16px, 1.45vw, 22px) !important;
}

.shaolin-ref-home .shaolin-ref-needle-flow strong {
	font-size: clamp(17px, 0.98vw, 20px) !important;
	line-height: 1.18 !important;
}

.shaolin-ref-home .shaolin-ref-needle-flow p {
	font-size: clamp(15px, 0.86vw, 17px) !important;
	line-height: 1.5 !important;
}

.shaolin-ref-home .shaolin-ref-needle-note {
	background: rgba(255, 248, 235, 0.07);
	border: 1px solid rgba(255, 248, 235, 0.14) !important;
	color: rgba(255, 248, 235, 0.86) !important;
	font-size: clamp(15px, 0.92vw, 17px) !important;
	grid-column: 1 / -1;
	line-height: 1.5 !important;
	margin: 0 !important;
	padding: clamp(16px, 1.6vw, 22px) !important;
}

@media (max-width: 980px) {
	.shaolin-ref-home .shaolin-ref-needle-knife {
		grid-template-columns: 1fr !important;
		max-width: var(--shaolin-readable-frame) !important;
		width: var(--shaolin-readable-frame) !important;
	}
}

@media (max-width: 760px) {
	.shaolin-ref-home .shaolin-ref-needle-knife {
		gap: 18px !important;
		margin-top: 32px !important;
		padding: 22px 18px !important;
	}

	.shaolin-ref-home .shaolin-ref-needle-intro {
		grid-template-columns: 72px minmax(0, 1fr);
	}

	.shaolin-ref-home .shaolin-ref-needle-mark {
		font-size: 34px !important;
		min-height: 72px !important;
		width: 72px !important;
	}

	.shaolin-ref-home .shaolin-ref-needle-knife h2 {
		font-size: clamp(28px, 8vw, 36px) !important;
	}

	.shaolin-ref-home .shaolin-ref-needle-flow div {
		grid-template-columns: 1fr;
	}
}

/* Red fact ticker between the hero and the trust section. */
.shaolin-ref-pain-ticker {
	background:
		linear-gradient(135deg, rgba(170, 70, 56, 0.97), rgba(126, 42, 37, 0.98)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 760px auto;
	border: 0;
	box-sizing: border-box;
	color: #fff8eb;
	margin: 0 !important;
	max-width: none !important;
	overflow: hidden;
	position: relative;
	width: 100% !important;
	z-index: 2;
}

.shaolin-ref-pain-ticker-track {
	align-items: center;
	animation: shaolin-pain-ticker 28s linear infinite;
	display: flex;
	gap: 0;
	min-width: max-content;
	white-space: nowrap;
	will-change: transform;
}

.shaolin-ref-pain-ticker span {
	align-items: center;
	display: inline-flex;
	font-family: "Manrope", system-ui, sans-serif;
	font-size: clamp(13px, 0.86vw, 16px);
	font-weight: 900;
	gap: 12px;
	line-height: 1;
	padding: 13px 24px;
}

.shaolin-ref-pain-ticker span::before {
	background: rgba(255, 248, 235, 0.72);
	border-radius: 999px;
	content: "";
	height: 6px;
	width: 6px;
}

@keyframes shaolin-pain-ticker {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@media (min-width: 981px) {
	.shaolin-ref-home > .shaolin-ref-pain-hero {
		position: relative;
	}

	.shaolin-ref-pain-hero .shaolin-ref-hero-grid {
		padding-top: clamp(16px, 1.8vw, 28px) !important;
		padding-bottom: 184px !important;
	}

	.shaolin-ref-pain-hero h1 {
		font-size: clamp(44px, 3.45vw, 66px) !important;
		max-width: 760px !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-hero-copy > p {
		font-size: clamp(15px, 0.9vw, 18px) !important;
		line-height: 1.42 !important;
		margin-top: 14px !important;
		max-width: 680px !important;
	}

	.shaolin-ref-pain-tags {
		gap: 10px;
		margin-top: 14px;
		max-width: 688px;
	}

	.shaolin-ref-pain-tags a {
		grid-template-columns: 38px minmax(0, 1fr);
		min-height: 64px;
		padding: 8px 12px;
	}

	.shaolin-ref-pain-icon svg {
		height: 38px;
		width: 38px;
	}

	.shaolin-ref-pain-hero .shaolin-ref-promo {
		margin: 16px 0 12px !important;
		min-height: 92px;
		padding: 16px 24px !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-promo::after {
		font-size: clamp(58px, 3.8vw, 78px);
	}

	.shaolin-ref-pain-hero .shaolin-ref-promo strong {
		font-size: clamp(28px, 2.22vw, 38px) !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-promo span {
		font-size: clamp(14px, 0.9vw, 17px) !important;
	}

	.shaolin-ref-pain-hero .shaolin-ref-actions {
		position: relative;
		z-index: 5;
	}

	.shaolin-ref-pain-hero .shaolin-ref-btn {
		min-height: 52px !important;
	}

}

@media (min-width: 1440px) {
	.shaolin-ref-pain-hero .shaolin-ref-actions {
		flex-wrap: nowrap;
		gap: 10px;
	}

	.shaolin-ref-pain-hero .shaolin-ref-btn {
		font-size: 15px !important;
		gap: 12px;
		padding: 0 18px !important;
		white-space: nowrap;
	}

	.shaolin-ref-pain-hero .shaolin-ref-btn-primary {
		min-width: 316px;
	}

	.shaolin-ref-pain-hero .shaolin-ref-btn-outline {
		min-width: 218px;
	}
}

/* Final page polish: stable hero spacing, real clinic photos, compact reviews and contacts. */
.shaolin-ref-home > .shaolin-ref-pain-hero {
	min-height: 0 !important;
	padding-bottom: 0 !important;
}

.shaolin-ref-pain-hero {
	--shaolin-hero-proof-gap: clamp(22px, 2.1vw, 34px);
}

.shaolin-ref-pain-hero .shaolin-ref-hero-grid {
	min-height: 0 !important;
	padding-bottom: 0 !important;
}

.shaolin-ref-pain-hero .shaolin-ref-hero-copy > .shaolin-ref-pain-proof {
	bottom: auto !important;
	box-sizing: border-box !important;
	left: auto !important;
	margin: var(--shaolin-hero-proof-gap) 0 var(--shaolin-hero-proof-gap) !important;
	max-width: min(var(--shaolin-pain-frame), calc(100vw - 32px)) !important;
	position: relative !important;
	transform: none !important;
	width: min(var(--shaolin-pain-frame), calc(100vw - 32px)) !important;
	z-index: 5;
}

.shaolin-ref-clinic-photos .shaolin-ref-heading-row {
	align-items: end;
	gap: clamp(18px, 3vw, 48px);
	margin-bottom: clamp(18px, 2.3vw, 32px);
}

.shaolin-ref-clinic-photos .shaolin-ref-heading-row p {
	color: rgba(25, 31, 28, 0.66);
	font-size: clamp(16px, 0.95vw, 19px);
	font-weight: 760;
	line-height: 1.45;
	margin: 0;
	max-width: 520px;
	text-wrap: balance;
}

.shaolin-ref-clinic-photo-grid {
	display: grid;
	gap: clamp(12px, 1vw, 18px);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.shaolin-ref-clinic-photo-grid figure {
	aspect-ratio: 0.72 / 1;
	background: #17352e;
	border: 1px solid rgba(31, 47, 42, 0.12);
	border-radius: 8px;
	box-shadow: 0 14px 28px rgba(38, 28, 18, 0.1);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.shaolin-ref-clinic-photo-grid img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-ref-clinic-photo-grid figure:nth-child(1) img {
	object-position: 50% 48%;
}

.shaolin-ref-clinic-photo-grid figure:nth-child(2) img {
	object-position: 50% 55%;
}

.shaolin-ref-clinic-photo-grid figure:nth-child(3) img {
	object-position: 50% 38%;
}

.shaolin-ref-clinic-photo-grid figure:nth-child(4) img {
	object-position: 50% 50%;
}

.shaolin-ref-clinic-photo-grid figcaption {
	background: linear-gradient(180deg, transparent, rgba(12, 33, 28, 0.86));
	bottom: 0;
	color: #fffdf8;
	font-size: clamp(15px, 0.9vw, 18px);
	font-weight: 900;
	left: 0;
	line-height: 1.2;
	padding: 54px 18px 16px;
	position: absolute;
	right: 0;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.25);
}

.shaolin-ref-reviews {
	text-align: center;
}

.shaolin-ref-reviews .shaolin-ref-review-slider {
	max-width: min(var(--shaolin-readable-frame), 960px) !important;
	padding: clamp(28px, 3vw, 42px) !important;
}

.shaolin-ref-reviews .shaolin-ref-review {
	gap: clamp(18px, 2vw, 30px) !important;
	grid-template-columns: 58px minmax(112px, 150px) minmax(0, 1fr) minmax(150px, 190px) !important;
	text-align: left;
}

.shaolin-ref-reviews .shaolin-ref-quote {
	font-size: clamp(54px, 4.6vw, 84px) !important;
}

.shaolin-ref-reviews .shaolin-ref-review p {
	font-size: clamp(18px, 1.2vw, 23px) !important;
	line-height: 1.55 !important;
}

.shaolin-ref-dots button::before,
.shaolin-ref-dots span::before {
	border-radius: 999px !important;
	height: 10px !important;
	transform: none !important;
	width: 10px !important;
}

.shaolin-ref-dots button.is-active::before,
.shaolin-ref-dots span.is-active::before {
	background: var(--shaolin-v4-red) !important;
	box-shadow: 0 0 0 5px rgba(170, 58, 48, 0.12);
	transform: none !important;
}

.shaolin-contact-hero {
	align-items: center;
	gap: clamp(28px, 4vw, 56px) !important;
	grid-template-columns: minmax(420px, 0.82fr) minmax(560px, 1fr) !important;
	margin-bottom: clamp(30px, 3.5vw, 54px) !important;
}

.shaolin-contact-hero-copy {
	justify-content: center;
	min-height: 0 !important;
	padding: clamp(34px, 3.8vw, 58px) !important;
}

.shaolin-contact-hero-copy h1 {
	font-size: clamp(44px, 3.8vw, 74px) !important;
	line-height: 1.02 !important;
	margin-bottom: clamp(16px, 1.4vw, 22px) !important;
	max-width: 720px !important;
}

.shaolin-contact-hero-copy p:not(.shaolin-eyebrow) {
	font-size: clamp(17px, 0.98vw, 20px) !important;
	line-height: 1.58 !important;
	margin-bottom: clamp(22px, 2vw, 30px) !important;
	max-width: 660px !important;
}

.shaolin-contact-entrance {
	align-self: center;
	aspect-ratio: 16 / 9 !important;
	min-height: 0 !important;
}

.shaolin-contact-entrance img {
	object-position: 50% 52%;
}

.shaolin-contact-map-section {
	align-items: start !important;
	grid-template-columns: minmax(0, 1fr) minmax(330px, 0.52fr) !important;
}

.shaolin-contact-map-card {
	min-height: 0 !important;
}

.shaolin-contact-map-embed {
	height: clamp(340px, 34vw, 500px) !important;
	min-height: 0 !important;
}

.shaolin-contact-map-frame {
	height: 100% !important;
	min-height: 0 !important;
}

.shaolin-contact-hero h1,
.shaolin-contact-route-card h2,
.shaolin-contact-visit h2,
.shaolin-contact-final h2 {
	line-height: 1.06 !important;
	text-wrap: balance;
}

@media (min-width: 981px) {
	.shaolin-ref-pain-hero .shaolin-ref-hero-grid {
		padding-top: clamp(16px, 1.8vw, 28px) !important;
	}
}

@media (max-width: 1180px) {
	.shaolin-ref-clinic-photo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-ref-reviews .shaolin-ref-review {
		grid-template-columns: 48px minmax(100px, 140px) minmax(0, 1fr) !important;
	}

	.shaolin-ref-reviews .shaolin-ref-review-person {
		grid-column: 3;
	}
}

@media (max-width: 980px) {
	.shaolin-ref-pain-hero {
		--shaolin-hero-proof-gap: 18px;
	}

	.shaolin-ref-pain-hero .shaolin-ref-hero-copy > .shaolin-ref-pain-proof {
		margin: var(--shaolin-hero-proof-gap) auto var(--shaolin-hero-proof-gap) !important;
		width: var(--shaolin-pain-frame) !important;
	}

	.shaolin-ref-clinic-photos .shaolin-ref-heading-row {
		align-items: start;
	}

	.shaolin-ref-reviews .shaolin-ref-review {
		grid-template-columns: 1fr !important;
		text-align: center;
	}

	.shaolin-ref-reviews .shaolin-ref-review-person {
		grid-column: auto;
		justify-content: center;
	}

	.shaolin-contact-map-section {
		grid-template-columns: 1fr !important;
	}

	.shaolin-contact-hero {
		grid-template-columns: 1fr !important;
	}

	.shaolin-contact-map-embed {
		height: clamp(380px, 50vw, 520px) !important;
	}
}

@media (max-width: 700px) {
	.shaolin-ref-clinic-photo-grid {
		grid-template-columns: 1fr;
	}

	.shaolin-ref-clinic-photo-grid figure {
		aspect-ratio: 4 / 5;
	}

	.shaolin-contact-map-embed {
		height: clamp(320px, 82vw, 420px) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shaolin-ref-pain-ticker-track {
		animation-duration: 0.01ms;
	}
}

/* Needle-knife service band: full-width color, clinic facts inside the readable frame. */
.shaolin-ref-home .shaolin-ref-needle-knife {
	align-items: start;
	background:
		linear-gradient(115deg, rgba(7, 31, 27, 0.99) 0%, rgba(15, 61, 52, 0.97) 58%, rgba(93, 38, 32, 0.88) 125%),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 920px auto repeat !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: #fff8eb;
	display: grid !important;
	gap: clamp(22px, 2.5vw, 34px) clamp(30px, 4vw, 64px) !important;
	grid-template-columns: minmax(0, 0.94fr) minmax(360px, 0.68fr) !important;
	margin: clamp(42px, 4.5vw, 68px) calc(50% - 50vw) clamp(44px, 4.8vw, 76px) !important;
	max-width: none !important;
	overflow: hidden;
	padding:
		clamp(42px, 4.8vw, 74px)
		max(24px, calc((100vw - var(--shaolin-readable-frame)) / 2)) !important;
	position: relative;
	width: 100vw !important;
}

.shaolin-ref-home .shaolin-ref-needle-knife::before {
	background:
		linear-gradient(90deg, rgba(255, 248, 235, 0.055) 1px, transparent 1px),
		linear-gradient(0deg, rgba(255, 248, 235, 0.038) 1px, transparent 1px);
	background-size: 132px 132px;
	content: "";
	inset: 0;
	opacity: 0.34;
	pointer-events: none;
	position: absolute;
}

.shaolin-ref-home .shaolin-ref-needle-knife::after {
	background: linear-gradient(90deg, rgba(7, 31, 27, 0) 0%, rgba(7, 31, 27, 0.32) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.shaolin-ref-home .shaolin-ref-needle-knife > * {
	min-width: 0;
	position: relative;
	z-index: 1;
}

.shaolin-ref-needle-copy {
	align-content: start;
	display: grid;
	gap: clamp(15px, 1.6vw, 22px);
	max-width: 820px;
}

.shaolin-ref-needle-label {
	color: #d8b46d !important;
	font-size: clamp(17px, 1vw, 21px) !important;
	font-weight: 900;
	line-height: 1.1 !important;
	margin: 0 !important;
}

.shaolin-ref-home .shaolin-ref-needle-knife h2 {
	color: #fff8eb !important;
	font-family: "Literata", Georgia, serif;
	font-size: clamp(38px, 4.2vw, 68px) !important;
	font-weight: 900;
	letter-spacing: 0 !important;
	line-height: 0.98 !important;
	margin: 0 !important;
	max-width: 800px !important;
	text-wrap: balance;
}

.shaolin-ref-needle-copy > p:not(.shaolin-ref-needle-label) {
	color: rgba(255, 248, 235, 0.82) !important;
	font-size: clamp(17px, 1.05vw, 20px) !important;
	font-weight: 720;
	line-height: 1.52 !important;
	margin: 0 !important;
	max-width: 690px;
	text-wrap: pretty;
}

.shaolin-ref-needle-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 4px;
}

.shaolin-ref-needle-actions .shaolin-ref-btn-primary {
	background: #8c3029 !important;
	border-color: rgba(255, 248, 235, 0.2) !important;
	color: #fff8eb !important;
}

.shaolin-ref-needle-actions .shaolin-ref-btn-outline {
	background: rgba(255, 248, 235, 0.1) !important;
	border-color: rgba(255, 248, 235, 0.34) !important;
	color: #fff8eb !important;
}

.shaolin-ref-needle-actions .shaolin-ref-btn:hover,
.shaolin-ref-needle-actions .shaolin-ref-btn:focus-visible {
	transform: translateY(-2px);
}

.shaolin-ref-needle-aside {
	display: grid;
	gap: 12px;
	grid-column: 2;
	grid-row: 1 / span 2;
}

.shaolin-ref-needle-media {
	background: #fff8eb;
	border: 1px solid rgba(255, 248, 235, 0.22);
	border-radius: 8px;
	box-shadow: 0 18px 46px rgba(2, 17, 14, 0.22);
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	margin: 0;
	min-height: clamp(300px, 27vw, 430px);
	overflow: hidden;
}

.shaolin-ref-needle-media img {
	display: block;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: 50% 52%;
	width: 100%;
}

.shaolin-ref-needle-media figcaption {
	background: #fff8eb;
	border-top: 1px solid rgba(25, 31, 28, 0.12);
	color: var(--shaolin-jade);
	display: grid;
	gap: 4px;
	padding: 14px 18px;
}

.shaolin-ref-needle-media figcaption strong {
	font-family: "Literata", Georgia, serif;
	font-size: clamp(20px, 1.25vw, 25px);
	line-height: 1.08;
}

.shaolin-ref-needle-media figcaption span {
	color: rgba(25, 31, 28, 0.72);
	font-size: 15px;
	font-weight: 760;
	line-height: 1.45;
}

.shaolin-ref-needle-care {
	background: rgba(255, 248, 235, 0.08);
	border: 1px solid rgba(255, 248, 235, 0.16);
	border-radius: 8px;
	padding: clamp(16px, 1.5vw, 22px);
}

.shaolin-ref-needle-care h3 {
	color: #fff8eb;
	font-family: "Literata", Georgia, serif;
	font-size: clamp(22px, 1.55vw, 30px);
	line-height: 1.08;
	margin: 0 0 12px;
}

.shaolin-ref-needle-care ul {
	display: grid;
	gap: 0 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.shaolin-ref-needle-care li {
	border-top: 1px solid rgba(255, 248, 235, 0.15);
	color: rgba(255, 248, 235, 0.84);
	font-size: clamp(15px, 0.9vw, 17px);
	font-weight: 780;
	line-height: 1.34;
	padding: 9px 0;
}

.shaolin-ref-needle-flow {
	border-top: 1px solid rgba(255, 248, 235, 0.2);
	display: grid !important;
	gap: 0 !important;
	grid-column: 1;
	grid-row: 2;
	grid-template-columns: 1fr !important;
	margin-top: 0;
}

.shaolin-ref-home .shaolin-ref-needle-flow div {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid rgba(255, 248, 235, 0.16) !important;
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: 1fr !important;
	min-height: 0 !important;
	padding: clamp(16px, 1.55vw, 22px) 0 0 !important;
}

.shaolin-ref-home .shaolin-ref-needle-flow div:first-child {
	border-top: 0 !important;
}

.shaolin-ref-home .shaolin-ref-needle-flow strong {
	color: #fff8eb;
	font-family: "Literata", Georgia, serif;
	font-size: clamp(21px, 1.35vw, 28px) !important;
	font-weight: 900;
	line-height: 1.06 !important;
}

.shaolin-ref-home .shaolin-ref-needle-flow p {
	color: rgba(255, 248, 235, 0.74) !important;
	font-size: clamp(15px, 0.86vw, 16px) !important;
	font-weight: 690;
	line-height: 1.55 !important;
	margin: 0 !important;
	max-width: 34ch;
}

@media (max-width: 1180px) {
	.shaolin-ref-home .shaolin-ref-needle-knife {
		grid-template-columns: 1fr !important;
	}

	.shaolin-ref-needle-copy {
		max-width: 860px;
	}

	.shaolin-ref-needle-aside {
		grid-column: auto;
		grid-row: auto;
		grid-template-columns: minmax(0, 1fr) minmax(280px, 0.78fr);
	}

	.shaolin-ref-needle-flow {
		grid-column: 1 / -1;
		grid-row: auto;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.shaolin-ref-home .shaolin-ref-needle-flow div {
		border-left: 1px solid rgba(255, 248, 235, 0.16) !important;
		border-top: 0 !important;
		padding: clamp(18px, 2vw, 26px) clamp(18px, 2vw, 28px) 0 !important;
	}

	.shaolin-ref-home .shaolin-ref-needle-flow div:first-child {
		border-left: 0 !important;
		padding-left: 0 !important;
	}
}

@media (max-width: 760px) {
	.shaolin-ref-home .shaolin-ref-needle-knife {
		gap: 22px !important;
		margin-bottom: 42px !important;
		margin-top: 34px !important;
		padding:
			30px
			max(14px, calc((100vw - var(--shaolin-readable-frame)) / 2)) !important;
	}

	.shaolin-ref-home .shaolin-ref-needle-knife h2 {
		font-size: clamp(29px, 8vw, 40px) !important;
	}

	.shaolin-ref-needle-copy > p:not(.shaolin-ref-needle-label) {
		font-size: 17px !important;
	}

	.shaolin-ref-needle-aside,
	.shaolin-ref-needle-care ul,
	.shaolin-ref-needle-flow {
		grid-template-columns: 1fr !important;
	}

	.shaolin-ref-needle-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.shaolin-ref-needle-actions .shaolin-ref-btn {
		width: 100%;
	}

	.shaolin-ref-needle-media {
		min-height: 0;
	}

	.shaolin-ref-needle-media img {
		aspect-ratio: 4 / 3;
		height: auto;
	}

	.shaolin-ref-home .shaolin-ref-needle-flow div {
		border-left: 0 !important;
		border-top: 1px solid rgba(255, 248, 235, 0.16) !important;
		padding: 18px 0 0 !important;
	}

	.shaolin-ref-home .shaolin-ref-needle-flow div:first-child {
		border-top: 0 !important;
	}

	.shaolin-ref-home .shaolin-ref-about-stats strong {
		font-size: clamp(26px, 8vw, 34px);
	}
}

/* Trust block stats: vertical list under the clinic photo, not squeezed into square tiles. */
.shaolin-ref-about-media {
	align-content: start;
	grid-template-columns: 1fr !important;
}

.shaolin-ref-about-stats {
	display: grid;
	gap: 8px;
	grid-template-columns: 1fr !important;
	margin-top: 2px;
}

.shaolin-ref-about-stats div {
	align-content: center;
	align-items: start;
	border-radius: 8px;
	display: grid;
	gap: 8px;
	grid-template-columns: 1fr;
	min-height: 96px;
	padding: 16px 20px;
	text-align: left;
}

.shaolin-ref-about-stats strong {
	font-size: clamp(40px, 4.2vw, 58px);
	letter-spacing: 0;
	line-height: 0.95;
	max-width: 100%;
	overflow-wrap: normal;
}

.shaolin-ref-about-stats span {
	font-size: clamp(12px, 0.82vw, 15px);
	line-height: 1.22;
	margin-top: 0;
	max-width: 100%;
}

@media (max-width: 1180px) {
	.shaolin-ref-about-media {
		justify-self: center;
		max-width: min(100%, 420px);
		padding-bottom: 0;
	}
}

@media (max-width: 760px) {
	.shaolin-ref-about-media {
		max-width: none;
		padding: 14px 14px 0;
	}

	.shaolin-ref-about-stats div {
		gap: 7px;
		min-height: 88px;
		padding: 14px 16px;
	}

	.shaolin-ref-about-stats strong {
		font-size: clamp(38px, 12vw, 52px);
	}

	.shaolin-ref-about-stats span {
		font-size: 12px;
	}
}

/* Final about/legal layer. */
.shaolin-about-page {
	background:
		linear-gradient(180deg, rgba(247, 244, 237, 0.9), rgba(247, 244, 237, 0.98)),
		var(--shaolin-paper);
	margin: 0;
	overflow: hidden;
	padding: clamp(28px, 5vw, 72px) 0 clamp(44px, 7vw, 96px);
}

.shaolin-about-page .alignwide,
.shaolin-about-pain-inner {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--shaolin-readable-frame) !important;
	width: var(--shaolin-readable-frame) !important;
}

.shaolin-about-hero {
	align-items: stretch;
	display: grid;
	gap: clamp(24px, 4vw, 54px);
	grid-template-columns: minmax(0, 0.86fr) minmax(480px, 1.14fr);
	min-height: clamp(520px, 62vw, 760px);
}

.shaolin-about-hero > *,
.shaolin-about-leadership > *,
.shaolin-about-pain-inner > *,
.shaolin-about-final > * {
	min-width: 0;
}

.shaolin-about-hero-copy {
	align-content: center;
	display: grid;
	gap: 24px;
	padding: clamp(32px, 5vw, 76px) 0;
}

.shaolin-about-hero h1,
.shaolin-about-leadership h2,
.shaolin-about-section-head h2,
.shaolin-about-pain h2,
.shaolin-about-visit h2,
.shaolin-about-final h2 {
	color: var(--shaolin-jade);
	font-family: "Literata", Georgia, serif;
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 0.98;
	margin: 0;
	text-wrap: balance;
}

.shaolin-about-hero h1 {
	font-size: clamp(50px, 6vw, 88px);
	max-width: 12ch;
}

.shaolin-about-hero-copy > p:not(.shaolin-eyebrow),
.shaolin-about-leadership p,
.shaolin-about-section-head p,
.shaolin-about-pain p,
.shaolin-about-final p,
.shaolin-about-visit-steps p {
	color: rgba(25, 31, 28, 0.74);
	font-size: clamp(17px, 1.15vw, 21px);
	line-height: 1.58;
	margin: 0;
	text-wrap: pretty;
}

.shaolin-about-hero-copy > p:not(.shaolin-eyebrow) {
	max-width: 620px;
	overflow-wrap: break-word;
}

.shaolin-about-actions,
.shaolin-about-final-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.shaolin-about-hero-media {
	border-radius: 8px;
	box-shadow: 0 20px 58px rgba(52, 38, 20, 0.18);
	margin: 0;
	min-height: 100%;
	overflow: hidden;
}

.shaolin-about-hero-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: right center;
	width: 100%;
}

.shaolin-about-facts {
	background: rgba(255, 253, 248, 0.94);
	border: 1px solid rgba(25, 31, 28, 0.1);
	border-radius: 8px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(14px, 2vw, 28px);
	overflow: hidden;
}

.shaolin-about-facts div {
	align-content: center;
	border-right: 1px solid rgba(25, 31, 28, 0.1);
	display: grid;
	gap: 8px;
	min-height: 132px;
	padding: 24px clamp(18px, 2.5vw, 34px);
}

.shaolin-about-facts div:last-child {
	border-right: 0;
}

.shaolin-about-facts strong {
	color: var(--shaolin-jade);
	font-family: "Literata", Georgia, serif;
	font-size: clamp(28px, 3vw, 44px);
	font-weight: 900;
	line-height: 0.95;
	white-space: nowrap;
}

.shaolin-about-facts span {
	color: rgba(25, 31, 28, 0.68);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.35;
}

.shaolin-about-leadership,
.shaolin-about-gallery,
.shaolin-about-visit,
.shaolin-about-final {
	margin-top: clamp(54px, 8vw, 108px);
}

.shaolin-about-leadership {
	align-items: start;
	display: grid;
	gap: clamp(24px, 4vw, 60px);
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr);
}

.shaolin-about-leadership-copy,
.shaolin-about-methods {
	display: grid;
	gap: 20px;
}

.shaolin-about-leadership h2,
.shaolin-about-section-head h2,
.shaolin-about-pain h2,
.shaolin-about-visit h2,
.shaolin-about-final h2 {
	font-size: clamp(38px, 5vw, 72px);
	max-width: 760px;
}

.shaolin-about-leadership-copy p {
	max-width: 760px;
}

.shaolin-about-methods {
	background: var(--shaolin-jade);
	border-radius: 8px;
	color: rgba(255, 250, 240, 0.78);
	padding: clamp(24px, 3vw, 38px);
}

.shaolin-about-methods h3 {
	color: #fffaf0;
	font-family: "Literata", Georgia, serif;
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.05;
	margin: 0;
}

.shaolin-about-methods ul,
.shaolin-about-pain ul {
	display: grid;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.shaolin-about-methods li {
	border-top: 1px solid rgba(255, 250, 240, 0.16);
	display: grid;
	gap: 6px;
	padding: 18px 0;
}

.shaolin-about-methods strong {
	color: #fffaf0;
	font-size: 17px;
}

.shaolin-about-methods span {
	font-size: 15px;
	line-height: 1.48;
}

.shaolin-about-section-head {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: clamp(22px, 3vw, 36px);
}

.shaolin-about-section-head p {
	max-width: 420px;
}

.shaolin-about-photo-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: 1.16fr 0.9fr 0.9fr 1fr;
}

.shaolin-about-photo-grid img {
	aspect-ratio: 4 / 5;
	border-radius: 8px;
	box-shadow: 0 14px 38px rgba(52, 38, 20, 0.14);
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.shaolin-about-photo-grid img.is-tall {
	aspect-ratio: 4 / 6;
	grid-row: span 2;
}

.shaolin-about-pain {
	background:
		linear-gradient(120deg, rgba(9, 35, 29, 0.98), rgba(18, 68, 57, 0.94)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/china-temple-dark-banner.jpg") right center / cover no-repeat;
	color: #fffaf0;
	margin-top: clamp(60px, 8vw, 112px);
	padding: clamp(48px, 7vw, 92px) 0;
}

.shaolin-about-pain-inner {
	align-items: start;
	display: grid;
	gap: clamp(28px, 5vw, 70px);
	grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.8fr);
}

.shaolin-about-pain h2,
.shaolin-about-pain .shaolin-eyebrow {
	color: #fffaf0;
}

.shaolin-about-pain p {
	color: rgba(255, 250, 240, 0.78);
	max-width: 680px;
}

.shaolin-about-pain li {
	border-bottom: 1px solid rgba(255, 250, 240, 0.14);
	color: rgba(255, 250, 240, 0.9);
	font-size: clamp(17px, 1.3vw, 22px);
	font-weight: 800;
	line-height: 1.35;
	padding: 16px 0;
}

.shaolin-about-visit-steps {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.shaolin-about-visit-steps article {
	background: rgba(255, 253, 248, 0.9);
	border: 1px solid rgba(25, 31, 28, 0.1);
	border-radius: 8px;
	display: grid;
	gap: 14px;
	padding: clamp(20px, 2.5vw, 34px);
}

.shaolin-about-visit-steps span {
	align-items: center;
	background: var(--shaolin-red);
	border-radius: 999px;
	color: #fffaf0;
	display: inline-flex;
	font-weight: 900;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.shaolin-about-visit-steps h3 {
	color: var(--shaolin-jade);
	font-family: "Literata", Georgia, serif;
	font-size: clamp(26px, 2.5vw, 38px);
	line-height: 1.08;
	margin: 0;
}

.shaolin-about-final {
	align-items: center;
	background: rgba(126, 42, 37, 0.96);
	border-radius: 8px;
	color: #fffaf0;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: clamp(28px, 4vw, 48px);
}

.shaolin-about-final h2 {
	color: #fffaf0;
	font-size: clamp(34px, 4vw, 60px);
	max-width: 720px;
}

.shaolin-about-final p {
	color: rgba(255, 250, 240, 0.78);
	margin-top: 12px;
}

.shaolin-about-final .shaolin-ref-btn-outline {
	background: #fffaf0;
	border-color: rgba(255, 250, 240, 0.2);
	color: var(--shaolin-jade);
}

.shaolin-ref-footer-legal {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	justify-content: flex-end;
}

.shaolin-ref-footer-legal a {
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.shaolin-ref-footer-license {
	border-top: 1px solid rgba(255, 250, 240, 0.14);
	color: rgba(255, 250, 240, 0.78) !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
	margin-top: 12px !important;
	max-width: 42ch;
	padding-top: 12px;
}

.shaolin-ref-footer {
	padding-bottom: 20px;
	padding-top: 36px;
}

.shaolin-ref-footer-grid {
	gap: 28px;
}

.shaolin-ref-footer-brand img {
	max-width: 176px;
}

.shaolin-ref-footer p {
	font-size: 14px;
	line-height: 1.5;
	margin-top: 14px;
}

.shaolin-ref-footer h3 {
	font-size: 16px;
	margin-bottom: 11px;
}

.shaolin-ref-footer-col {
	gap: 8px;
}

.shaolin-ref-footer-col a,
.shaolin-ref-footer-bottom p {
	font-size: 14px;
	line-height: 1.45;
}

.shaolin-ref-footer-bottom {
	margin-top: 24px;
	padding-top: 14px;
}

@media (max-width: 780px) {
	.shaolin-ref-footer {
		padding-bottom: 18px;
		padding-top: 28px;
	}

	.shaolin-ref-footer-grid {
		align-items: start;
		display: grid;
		gap: 22px 18px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-ref-footer-brand {
		grid-column: 1 / -1;
	}

	.shaolin-ref-footer-brand img {
		max-width: 168px;
	}

	.shaolin-ref-footer h3 {
		margin-bottom: 9px;
	}

	.shaolin-ref-footer-col {
		gap: 7px;
	}

	.shaolin-ref-footer-col a {
		font-size: 12px;
		line-height: 1.35;
	}

	.shaolin-ref-footer-bottom {
		gap: 8px;
		margin-top: 22px;
		padding-top: 12px;
	}
}

.shaolin-content-wrap .shaolin-legal-document {
	background: rgba(255, 253, 248, 0.86);
	border: 1px solid rgba(25, 31, 28, 0.1);
	border-radius: 8px;
	padding: clamp(24px, 4vw, 56px);
}

.shaolin-content-wrap .shaolin-legal-document h2 {
	border-top: 1px solid rgba(25, 31, 28, 0.12);
	margin-top: clamp(28px, 4vw, 46px);
	padding-top: clamp(22px, 3vw, 34px);
}

.shaolin-content-wrap .shaolin-legal-document h2:first-child {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

.shaolin-content-wrap .shaolin-legal-document p {
	max-width: 82ch;
}

@media (max-width: 1180px) {
	.shaolin-about-hero,
	.shaolin-about-leadership,
	.shaolin-about-pain-inner {
		grid-template-columns: 1fr;
	}

	.shaolin-about-hero {
		min-height: auto;
	}

	.shaolin-about-hero-copy {
		padding-bottom: 0;
	}

	.shaolin-about-hero h1 {
		max-width: 13ch;
	}

	.shaolin-about-hero-media {
		aspect-ratio: 16 / 9;
	}

	.shaolin-about-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-about-facts div:nth-child(2n) {
		border-right: 0;
	}

	.shaolin-about-photo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.shaolin-about-page {
		padding-top: 18px;
	}

	.shaolin-about-hero {
		gap: 18px;
	}

	.shaolin-about-hero-copy {
		padding: 22px 0 0;
	}

	.shaolin-about-hero h1 {
		font-size: clamp(42px, 13vw, 64px);
		max-width: 10.5ch;
	}

	.shaolin-about-hero-copy > p:not(.shaolin-eyebrow) {
		max-width: 100%;
	}

	.shaolin-about-actions,
	.shaolin-about-final-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.shaolin-about-actions .shaolin-ref-btn,
	.shaolin-about-final-actions .shaolin-ref-btn {
		width: 100%;
	}

	.shaolin-about-facts,
	.shaolin-about-visit-steps,
	.shaolin-about-photo-grid {
		grid-template-columns: 1fr;
	}

	.shaolin-about-facts div {
		border-right: 0;
		border-top: 1px solid rgba(25, 31, 28, 0.1);
		min-height: 104px;
	}

	.shaolin-about-facts div:first-child {
		border-top: 0;
	}

	.shaolin-about-section-head,
	.shaolin-about-final {
		align-items: stretch;
		flex-direction: column;
	}

	.shaolin-about-photo-grid img,
	.shaolin-about-photo-grid img.is-tall {
		aspect-ratio: 4 / 3;
		grid-row: auto;
	}

	.shaolin-about-pain-inner {
		gap: 22px;
	}

	.shaolin-ref-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	.shaolin-ref-footer-legal {
		justify-content: flex-start;
	}

	.shaolin-ref-footer-legal a {
		white-space: normal;
	}
}

@media (max-width: 780px) {
	.shaolin-generic-page .shaolin-page-hero h1 {
		font-size: clamp(34px, 10vw, 44px) !important;
		line-height: 1.02 !important;
		max-width: 100% !important;
		overflow-wrap: anywhere;
	}

	.shaolin-content-wrap .shaolin-legal-document {
		padding: 24px 22px;
	}

	.shaolin-content-wrap .shaolin-legal-document p {
		font-size: 16px;
		line-height: 1.62;
		overflow-wrap: anywhere;
	}
}

/* Reviews archive and services first-screen polish. */
.shaolin-reviews-redesign {
	background:
		linear-gradient(180deg, rgba(247, 244, 237, 0.9), rgba(247, 244, 237, 0.98)),
		var(--shaolin-paper);
	overflow: hidden;
	padding-bottom: clamp(44px, 6vw, 88px);
	padding-top: clamp(18px, 2vw, 32px) !important;
}

.shaolin-reviews-archive .shaolin-reviews-hero {
	background:
		linear-gradient(90deg, rgba(255, 253, 248, 0.98) 0%, rgba(255, 253, 248, 0.94) 50%, rgba(255, 253, 248, 0.66) 74%, rgba(255, 253, 248, 0.32) 100%),
		url("/wp-content/themes/shaolin/assets/images/premium/processed/clinic-home-real-1.webp") right center / min(520px, 42%) auto no-repeat,
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1120px auto repeat;
	border: 1px solid rgba(25, 31, 28, 0.1);
	border-radius: 8px;
	box-shadow: none;
	margin-bottom: clamp(22px, 3vw, 42px) !important;
	padding: clamp(30px, 4vw, 54px) clamp(24px, 4vw, 54px) !important;
}

.shaolin-reviews-archive .shaolin-reviews-hero::after {
	opacity: 0.12;
}

.shaolin-reviews-archive .shaolin-reviews-hero h1 {
	color: var(--shaolin-jade) !important;
	font-size: clamp(42px, 4.4vw, 72px) !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	margin: 0 0 14px !important;
	max-width: 11ch;
	text-wrap: balance;
}

.shaolin-reviews-archive .shaolin-reviews-hero p:not(.shaolin-eyebrow) {
	color: rgba(25, 31, 28, 0.74) !important;
	font-size: clamp(17px, 1vw, 20px) !important;
	line-height: 1.54 !important;
	margin: 0 !important;
	max-width: 660px;
}

.shaolin-reviews-lead {
	align-items: start;
	display: grid !important;
	gap: clamp(20px, 3vw, 42px);
	grid-template-columns: minmax(380px, 0.74fr) minmax(0, 1fr);
	margin-bottom: clamp(30px, 5vw, 72px) !important;
}

.shaolin-reviews-lead > *,
.shaolin-native-review-side > * {
	min-width: 0;
}

.shaolin-yandex-reviews-panel {
	display: grid;
	gap: 14px;
}

.shaolin-yandex-reviews-card,
.shaolin-native-review-side {
	background:
		linear-gradient(135deg, rgba(255, 253, 248, 0.95), rgba(246, 236, 214, 0.82)),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1000px auto repeat;
	border: 1px solid rgba(25, 31, 28, 0.11);
	border-radius: 8px;
	box-sizing: border-box;
}

.shaolin-yandex-reviews-card {
	padding: clamp(20px, 2.2vw, 30px);
}

.shaolin-yandex-reviews-card span {
	color: var(--shaolin-red);
	display: block;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.2;
	margin-bottom: 10px;
}

.shaolin-yandex-reviews-card h2,
.shaolin-native-review-side h2 {
	color: var(--shaolin-jade);
	font-family: "Literata", Georgia, serif;
	font-size: clamp(28px, 2.4vw, 44px);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0;
	text-wrap: balance;
}

.shaolin-yandex-reviews-card p,
.shaolin-native-review-side-head p {
	color: rgba(25, 31, 28, 0.72);
	font-size: clamp(15.5px, 0.92vw, 17px);
	line-height: 1.5;
	margin: 10px 0 18px;
	max-width: 54ch;
}

.shaolin-reviews-lead .shaolin-yandex-reviews-widget {
	border: 1px solid rgba(25, 31, 28, 0.12);
	border-radius: 8px;
	box-shadow: none;
	height: clamp(520px, 42vw, 640px) !important;
	overflow: hidden;
	width: 100%;
}

.shaolin-reviews-lead .shaolin-yandex-reviews-widget iframe {
	border: 0;
	border-radius: 8px;
}

.shaolin-native-review-side {
	padding: clamp(18px, 2.2vw, 30px);
}

.shaolin-native-review-side-head {
	align-items: end;
	border-bottom: 1px solid rgba(25, 31, 28, 0.12);
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 14px;
	padding-bottom: 16px;
}

.shaolin-native-review-side-head p {
	margin: 0;
	max-width: 33ch;
}

.shaolin-native-review-side .shaolin-native-review-query {
	margin: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

.shaolin-native-review-list {
	display: grid !important;
	gap: 10px !important;
	grid-auto-rows: minmax(112px, 1fr);
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.shaolin-native-review-list .wp-block-post {
	margin: 0 !important;
	min-width: 0;
}

.shaolin-native-review-side .shaolin-native-review-card {
	align-content: start;
	background: rgba(255, 253, 248, 0.84);
	border: 1px solid rgba(25, 31, 28, 0.09);
	border-radius: 8px;
	box-shadow: none;
	box-sizing: border-box;
	display: grid;
	gap: 6px;
	height: 100%;
	min-height: 112px;
	overflow: hidden;
	padding: 14px 16px;
}

.shaolin-native-review-side .shaolin-native-review-card h2 {
	color: var(--shaolin-ink);
	font-family: "Literata", Georgia, serif;
	font-size: clamp(20px, 1.2vw, 25px);
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.shaolin-native-review-side .shaolin-native-review-card .wp-block-post-excerpt,
.shaolin-native-review-side .shaolin-native-review-card .wp-block-post-excerpt__excerpt {
	margin: 0 !important;
}

.shaolin-native-review-side .shaolin-native-review-card .wp-block-post-excerpt__excerpt {
	color: rgba(25, 31, 28, 0.76);
	display: -webkit-box;
	font-size: clamp(15px, 0.9vw, 16.5px);
	line-height: 1.43;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.shaolin-services-refresh .shaolin-directory-hero {
	align-items: center;
	background:
		linear-gradient(90deg, rgba(255, 253, 248, 0.98) 0%, rgba(255, 253, 248, 0.94) 48%, rgba(255, 253, 248, 0.76) 70%, rgba(255, 253, 248, 0.52) 100%),
		url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 1100px auto repeat;
	border-bottom: 1px solid rgba(25, 31, 28, 0.1) !important;
	column-gap: clamp(24px, 4vw, 58px);
	grid-template-columns: minmax(0, 0.96fr) minmax(320px, 0.46fr) !important;
	margin-bottom: clamp(24px, 3vw, 42px) !important;
	max-width: none !important;
	min-height: 0 !important;
	padding:
		clamp(30px, 4.2vw, 58px)
		max(20px, calc((100vw - var(--shaolin-readable-frame)) / 2))
		clamp(28px, 3.6vw, 50px) !important;
	width: 100% !important;
}

.shaolin-services-refresh .shaolin-directory-hero::before {
	opacity: 0.2;
}

.shaolin-services-refresh .shaolin-directory-copy {
	max-width: 760px;
}

.shaolin-services-refresh .shaolin-directory-copy h1 {
	color: var(--shaolin-jade) !important;
	font-size: clamp(42px, 4.4vw, 68px) !important;
	letter-spacing: 0 !important;
	line-height: 1.02 !important;
	margin: 0 0 14px !important;
	max-width: 12ch;
}

.shaolin-services-refresh .shaolin-directory-copy p {
	color: rgba(25, 31, 28, 0.74) !important;
	font-size: clamp(17px, 1vw, 20px) !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	max-width: 620px !important;
}

.shaolin-directory-facts {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: clamp(18px, 2vw, 26px) 0 0;
	max-width: 760px;
	padding: 0;
}

.shaolin-directory-facts li {
	border-top: 1px solid rgba(25, 31, 28, 0.13);
	display: grid;
	gap: 5px;
	min-height: 72px;
	padding: 13px 14px 0 0;
}

.shaolin-directory-facts strong {
	color: var(--shaolin-red);
	font-family: "Literata", Georgia, serif;
	font-size: clamp(21px, 1.35vw, 29px);
	line-height: 1.05;
}

.shaolin-directory-facts span {
	color: rgba(25, 31, 28, 0.68);
	font-size: clamp(14px, 0.84vw, 16px);
	font-weight: 800;
	line-height: 1.28;
}

.shaolin-services-refresh .shaolin-directory-actions {
	margin-top: clamp(18px, 2vw, 28px);
}

.shaolin-services-refresh .shaolin-directory-visual {
	align-self: center;
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	box-shadow: none;
	max-height: 350px;
	min-height: 0;
}

.shaolin-services-refresh .shaolin-directory-visual img {
	height: 100% !important;
	min-height: 0 !important;
	object-position: center;
}

@media (max-width: 980px) {
	.shaolin-reviews-lead,
	.shaolin-services-refresh .shaolin-directory-hero {
		grid-template-columns: 1fr !important;
	}

	.shaolin-native-review-side-head {
		align-items: start;
		display: grid;
	}

	.shaolin-services-refresh .shaolin-directory-visual {
		max-height: 260px;
		width: 100%;
	}
}

@media (max-width: 760px) {
	.shaolin-reviews-redesign {
		padding-top: 14px !important;
	}

	.shaolin-reviews-archive .shaolin-reviews-hero {
		background:
			linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(255, 253, 248, 0.9)),
			url("/wp-content/themes/shaolin/assets/images/premium/redo/rice-paper-ink-bg.jpg") center / 820px auto repeat;
		padding: 24px 20px !important;
	}

	.shaolin-reviews-archive .shaolin-reviews-hero h1,
	.shaolin-services-refresh .shaolin-directory-copy h1 {
		font-size: clamp(36px, 10vw, 46px) !important;
		max-width: 100%;
	}

	.shaolin-reviews-lead {
		gap: 16px;
	}

	.shaolin-reviews-lead .shaolin-yandex-reviews-widget {
		height: 560px !important;
	}

	.shaolin-native-review-side,
	.shaolin-yandex-reviews-card {
		padding: 20px 18px;
	}

	.shaolin-native-review-list {
		grid-auto-rows: minmax(108px, auto);
	}

	.shaolin-native-review-side .shaolin-native-review-card h2 {
		white-space: normal;
	}

	.shaolin-services-refresh .shaolin-directory-hero {
		padding: 24px 14px 30px !important;
	}

	.shaolin-directory-facts {
		grid-template-columns: 1fr;
	}

	.shaolin-directory-facts li {
		min-height: 0;
		padding: 11px 0;
	}

	.shaolin-services-refresh .shaolin-directory-actions .shaolin-ref-btn {
		justify-content: center;
		width: 100%;
	}

	.shaolin-services-refresh .shaolin-directory-visual {
		aspect-ratio: 16 / 9;
		max-height: 210px;
	}
}

/* Mobile header experience mark. */
.shaolin-mobile-experience {
	display: none;
}

@media (max-width: 760px) {
	.shaolin-ref-header .shaolin-header-inner {
		align-items: center !important;
		gap: 12px !important;
		justify-content: flex-start !important;
		padding-right: 0 !important;
	}

	.shaolin-ref-header .shaolin-brand {
		flex: 0 1 auto;
		min-width: 0;
	}

	.shaolin-mobile-experience {
		align-content: center;
		align-self: center;
		border-left: 1px solid rgba(126, 42, 37, 0.22);
		display: grid;
		flex: 0 1 auto;
		gap: 2px;
		justify-items: start;
		margin-left: 0;
		min-width: 0;
		padding-left: 12px;
		text-align: left;
	}

	.shaolin-mobile-experience strong {
		color: var(--shaolin-red);
		display: block;
		font-family: "Literata", Georgia, serif;
		font-size: clamp(18px, 4.9vw, 21px);
		font-weight: 900;
		letter-spacing: 0;
		line-height: 1.02;
		white-space: nowrap;
	}

	.shaolin-mobile-experience span {
		color: rgba(18, 53, 47, 0.78);
		display: block;
		font-size: clamp(11px, 3vw, 13px);
		font-weight: 900;
		line-height: 1.16;
		max-width: 16ch;
		text-wrap: balance;
	}
}

@media (max-width: 374px) {
	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		max-width: min(154px, 44vw) !important;
		width: min(154px, 44vw) !important;
	}

	.shaolin-mobile-experience {
		flex-basis: auto;
		min-width: 108px;
		padding-left: 9px;
	}

	.shaolin-mobile-experience strong {
		font-size: 18px;
	}

	.shaolin-mobile-experience span {
		font-size: 11px;
		max-width: 13ch;
	}
}

/* About page rebuild. */
.shaolin-about-info-page {
	background:
		linear-gradient(180deg, rgba(247, 244, 237, 0.96), rgba(255, 253, 248, 0.98) 46%, rgba(247, 244, 237, 0.96)),
		var(--shaolin-paper);
	color: var(--shaolin-ink);
	padding-top: clamp(24px, 4vw, 56px);
}

.shaolin-about-info-page .alignwide,
.shaolin-about-info-band-inner {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--shaolin-readable-frame) !important;
	width: var(--shaolin-readable-frame) !important;
}

.shaolin-about-info-page h1,
.shaolin-about-info-page h2,
.shaolin-about-info-page h3 {
	color: var(--shaolin-jade);
	font-family: "Literata", Georgia, serif;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0;
	text-wrap: balance;
}

.shaolin-about-info-page p {
	color: rgba(25, 31, 28, 0.74);
	line-height: 1.62;
	margin: 0;
	text-wrap: pretty;
}

.shaolin-about-info-page a:not(.shaolin-ref-btn) {
	color: var(--shaolin-jade);
	font-weight: 800;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.shaolin-about-info-hero {
	align-items: stretch;
	display: grid;
	gap: clamp(22px, 4vw, 58px);
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.58fr);
	padding-bottom: clamp(22px, 4vw, 46px);
}

.shaolin-about-info-hero-copy {
	align-content: center;
	display: grid;
	gap: clamp(18px, 2.4vw, 28px);
	min-height: clamp(320px, 34vw, 500px);
}

.shaolin-about-info-hero h1 {
	font-size: clamp(44px, 5.2vw, 78px);
	max-width: 13ch;
}

.shaolin-about-info-hero-copy > p {
	font-size: clamp(18px, 1.28vw, 22px);
	max-width: 760px;
}

.shaolin-about-info-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.shaolin-about-info-side {
	align-self: center;
	display: grid;
	gap: 16px;
	min-width: 0;
}

.shaolin-about-info-visual {
	aspect-ratio: 4 / 3;
	background: rgba(18, 53, 47, 0.1);
	border: 1px solid rgba(25, 31, 28, 0.12);
	border-radius: 8px;
	box-shadow: 0 24px 72px rgba(13, 38, 33, 0.16);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.shaolin-about-info-visual::after {
	background: linear-gradient(180deg, rgba(18, 53, 47, 0) 62%, rgba(18, 53, 47, 0.18));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.shaolin-about-info-visual img {
	display: block !important;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.shaolin-about-info-legal {
	align-self: stretch;
	background: var(--shaolin-jade);
	border-radius: 8px;
	box-shadow: 0 8px 0 rgba(126, 42, 37, 0.16);
	color: rgba(255, 250, 240, 0.78);
	display: grid;
	gap: 12px;
	padding: clamp(20px, 2.2vw, 30px);
}

.shaolin-about-info-legal span {
	color: rgba(255, 250, 240, 0.7);
	font-size: 13px;
	font-weight: 900;
}

.shaolin-about-info-legal strong {
	color: #fffaf0;
	font-family: "Literata", Georgia, serif;
	font-size: clamp(28px, 2.4vw, 38px);
	line-height: 1;
}

.shaolin-about-info-legal p {
	border-top: 1px solid rgba(255, 250, 240, 0.16);
	color: rgba(255, 250, 240, 0.78);
	font-size: 15px;
	padding-top: 14px;
}

.shaolin-about-info-facts {
	background: rgba(255, 253, 248, 0.94);
	border: 1px solid rgba(25, 31, 28, 0.1);
	border-radius: 8px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	overflow: hidden;
}

.shaolin-about-info-facts div {
	align-content: center;
	border-right: 1px solid rgba(25, 31, 28, 0.1);
	display: grid;
	gap: 8px;
	min-height: 118px;
	padding: clamp(18px, 2.2vw, 30px);
}

.shaolin-about-info-facts div:last-child {
	border-right: 0;
}

.shaolin-about-info-facts strong {
	color: var(--shaolin-red);
	font-family: "Literata", Georgia, serif;
	font-size: clamp(34px, 3.4vw, 56px);
	font-weight: 900;
	line-height: 0.95;
	white-space: nowrap;
}

.shaolin-about-info-facts span {
	color: rgba(25, 31, 28, 0.68);
	font-size: 14px;
	font-weight: 850;
	line-height: 1.35;
}

.shaolin-about-info-section,
.shaolin-about-info-details,
.shaolin-about-info-final {
	margin-top: clamp(46px, 7vw, 104px);
}

.shaolin-about-info-section {
	display: grid;
	gap: clamp(24px, 4vw, 50px);
	grid-template-columns: 1fr;
}

.shaolin-about-info-section-head {
	align-items: end;
	column-gap: clamp(56px, 7vw, 128px);
	display: grid;
	grid-template-columns: minmax(420px, 0.46fr) minmax(0, 1fr);
	row-gap: 14px;
}

.shaolin-about-info-section h2,
.shaolin-about-info-band h2,
.shaolin-about-info-details h2,
.shaolin-about-info-final h2 {
	font-size: clamp(34px, 4.8vw, 70px);
}

.shaolin-about-info-section-head h2 {
	font-size: clamp(34px, 3.8vw, 58px);
	line-height: 1.05;
	max-width: 12ch;
}

.shaolin-about-info-section-head p {
	font-size: clamp(16px, 1vw, 18px);
	max-width: 520px;
}

.shaolin-about-info-prose {
	display: grid;
	gap: clamp(18px, 4vw, 64px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shaolin-about-info-prose p {
	font-size: clamp(18px, 1.2vw, 21px);
	max-width: 64ch;
}

.shaolin-about-info-methods {
	display: grid;
	gap: 0;
}

.shaolin-about-info-methods article {
	border-top: 1px solid rgba(25, 31, 28, 0.13);
	display: grid;
	column-gap: clamp(24px, 3vw, 48px);
	row-gap: 10px;
	grid-template-columns: minmax(320px, 0.36fr) minmax(0, 1fr);
	padding: clamp(18px, 2.4vw, 28px) 0;
}

.shaolin-about-info-methods article:last-child {
	border-bottom: 1px solid rgba(25, 31, 28, 0.13);
}

.shaolin-about-info-methods h3 {
	font-size: clamp(24px, 1.8vw, 32px);
	line-height: 1.08;
}

.shaolin-about-info-methods p {
	font-size: 16px;
	max-width: 64ch;
}

.shaolin-about-info-band {
	background:
		linear-gradient(135deg, rgba(18, 53, 47, 0.98), rgba(10, 37, 31, 0.98)),
		var(--shaolin-jade);
	color: rgba(255, 250, 240, 0.78);
	margin-top: clamp(52px, 8vw, 112px);
	padding: clamp(42px, 6vw, 88px) 0;
}

.shaolin-about-info-band-inner {
	align-items: start;
	display: grid;
	gap: clamp(24px, 4vw, 70px);
	grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.56fr);
}

.shaolin-about-info-band h2 {
	color: #fffaf0;
	margin-bottom: 16px;
	max-width: 720px;
}

.shaolin-about-info-band p {
	color: rgba(255, 250, 240, 0.78);
	font-size: clamp(17px, 1.15vw, 20px);
	max-width: 72ch;
}

.shaolin-about-info-band ul,
.shaolin-about-info-details ul {
	display: grid;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.shaolin-about-info-band li {
	border-top: 1px solid rgba(255, 250, 240, 0.18);
	color: #fffaf0;
	font-size: 16px;
	font-weight: 850;
	line-height: 1.42;
	padding: 14px 0;
}

.shaolin-about-info-steps {
	counter-reset: about-step;
	display: grid;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.shaolin-about-info-steps li {
	border-top: 1px solid rgba(25, 31, 28, 0.13);
	counter-increment: about-step;
	display: grid;
	gap: 10px;
	grid-template-columns: 86px minmax(170px, 0.28fr) minmax(0, 1fr);
	padding: clamp(18px, 2.4vw, 28px) 0;
}

.shaolin-about-info-steps li:last-child {
	border-bottom: 1px solid rgba(25, 31, 28, 0.13);
}

.shaolin-about-info-steps li::before {
	color: var(--shaolin-red);
	content: counter(about-step, decimal-leading-zero);
	font-family: "Literata", Georgia, serif;
	font-size: clamp(28px, 3vw, 46px);
	font-weight: 900;
	line-height: 1;
}

.shaolin-about-info-steps strong {
	color: var(--shaolin-jade);
	font-size: 18px;
	line-height: 1.25;
}

.shaolin-about-info-steps p {
	font-size: 16px;
	max-width: 62ch;
}

.shaolin-about-info-details {
	display: grid;
	gap: clamp(22px, 4vw, 56px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shaolin-about-info-details > div {
	background: rgba(255, 253, 248, 0.9);
	border: 1px solid rgba(25, 31, 28, 0.1);
	border-radius: 8px;
	padding: clamp(24px, 3vw, 36px);
}

.shaolin-about-info-details h2 {
	font-size: clamp(30px, 3.2vw, 48px);
	margin-bottom: 20px;
}

.shaolin-about-info-details li {
	border-top: 1px solid rgba(25, 31, 28, 0.1);
	display: grid;
	gap: 12px;
	grid-template-columns: 118px minmax(0, 1fr);
	padding: 14px 0;
}

.shaolin-about-info-details li:first-child {
	border-top: 0;
	padding-top: 0;
}

.shaolin-about-info-details strong {
	color: rgba(25, 31, 28, 0.62);
	font-size: 13px;
	font-weight: 900;
	line-height: 1.35;
}

.shaolin-about-info-details span {
	color: rgba(25, 31, 28, 0.78);
	font-size: 15px;
	font-weight: 750;
	line-height: 1.45;
}

.shaolin-about-info-final {
	align-items: end;
	background:
		linear-gradient(135deg, rgba(255, 253, 248, 0.96), rgba(238, 226, 206, 0.82)),
		var(--shaolin-porcelain);
	border: 1px solid rgba(25, 31, 28, 0.1);
	border-radius: 8px;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: clamp(26px, 4vw, 46px);
}

.shaolin-about-info-final p {
	font-size: 16px;
	margin-top: 12px;
	max-width: 68ch;
}

@media (max-width: 1180px) {
	.shaolin-about-info-hero,
	.shaolin-about-info-section,
	.shaolin-about-info-band-inner,
	.shaolin-about-info-details {
		grid-template-columns: 1fr;
	}

	.shaolin-about-info-hero-copy {
		min-height: auto;
	}

	.shaolin-about-info-side {
		align-items: stretch;
		grid-template-columns: minmax(0, 1fr) minmax(280px, 0.58fr);
	}

	.shaolin-about-info-visual {
		min-height: 320px;
	}

	.shaolin-about-info-hero h1 {
		max-width: 14ch;
	}

	.shaolin-about-info-section-head {
		grid-template-columns: 1fr;
		position: static;
	}

	.shaolin-about-info-section-head p {
		max-width: 720px;
	}

	.shaolin-about-info-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shaolin-about-info-facts div:nth-child(2n) {
		border-right: 0;
	}

	.shaolin-about-info-facts div:nth-child(n + 3) {
		border-top: 1px solid rgba(25, 31, 28, 0.1);
	}
}

@media (max-width: 780px) {
	.shaolin-about-info-page {
		padding-top: 22px;
	}

	.shaolin-about-info-page .alignwide,
	.shaolin-about-info-band-inner {
		max-width: var(--shaolin-readable-frame) !important;
		width: var(--shaolin-readable-frame) !important;
	}

	.shaolin-about-info-hero {
		gap: 18px;
		padding-bottom: 18px;
	}

	.shaolin-about-info-hero-copy {
		gap: 14px;
	}

	.shaolin-about-info-side {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.shaolin-about-info-visual {
		min-height: 0;
	}

	.shaolin-about-info-hero h1 {
		font-size: clamp(34px, 9.4vw, 42px);
		line-height: 1.04;
		max-width: 11.5ch;
	}

	.shaolin-about-info-hero-copy > p,
	.shaolin-about-info-prose p {
		font-size: 16px;
		line-height: 1.54;
	}

	.shaolin-about-info-actions,
	.shaolin-about-info-final,
	.shaolin-about-info-final .shaolin-about-info-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.shaolin-about-info-actions .shaolin-ref-btn {
		width: 100%;
	}

	.shaolin-about-info-legal {
		box-shadow: none;
		padding: 22px;
	}

	.shaolin-about-info-facts {
		grid-template-columns: 1fr;
	}

	.shaolin-about-info-facts div,
	.shaolin-about-info-facts div:nth-child(2n) {
		border-right: 0;
	}

	.shaolin-about-info-facts div {
		border-top: 1px solid rgba(25, 31, 28, 0.1);
		min-height: 96px;
	}

	.shaolin-about-info-facts div:first-child {
		border-top: 0;
	}

	.shaolin-about-info-section,
	.shaolin-about-info-details,
	.shaolin-about-info-final {
		margin-top: 42px;
	}

	.shaolin-about-info-band {
		margin-top: 46px;
		padding: 36px 0;
	}

	.shaolin-about-info-section h2,
	.shaolin-about-info-band h2,
	.shaolin-about-info-final h2 {
		font-size: clamp(34px, 9.4vw, 44px);
	}

	.shaolin-about-info-section-head {
		grid-template-columns: 1fr;
	}

	.shaolin-about-info-section-head h2 {
		max-width: 11.5ch;
	}

	.shaolin-about-info-prose {
		grid-template-columns: 1fr;
	}

	.shaolin-about-info-methods article,
	.shaolin-about-info-steps li,
	.shaolin-about-info-details li {
		grid-template-columns: 1fr;
	}

	.shaolin-about-info-methods h3,
	.shaolin-about-info-steps strong {
		font-size: 22px;
	}

	.shaolin-about-info-details > div {
		padding: 22px;
	}
}

/* Final product-grade header and controls pass. */
:root {
	--shaolin-control-radius: 8px;
	--shaolin-control-height: 54px;
	--shaolin-control-pad-x: clamp(18px, 1.2vw, 26px);
	--shaolin-control-font: clamp(15px, calc(14px + 0.16vw), 17px);
	--shaolin-control-primary: #7e2a25;
	--shaolin-control-primary-hover: #68201d;
	--shaolin-control-secondary: #12352f;
}

.shaolin-ref-btn,
.wp-block-button__link,
.shaolin-row-button,
.shaolin-header-cta,
.shaolin-ref-header .shaolin-header-cta,
.shaolin-consult-form input[type="submit"] {
	align-items: center !important;
	border-radius: var(--shaolin-control-radius) !important;
	box-shadow: none !important;
	box-sizing: border-box;
	display: inline-flex !important;
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: var(--shaolin-control-font) !important;
	font-weight: 900 !important;
	justify-content: center !important;
	letter-spacing: 0 !important;
	line-height: 1.1 !important;
	min-height: var(--shaolin-control-height) !important;
	padding: 0 var(--shaolin-control-pad-x) !important;
	text-decoration: none !important;
	text-transform: none !important;
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease,
		transform 160ms ease,
		box-shadow 160ms ease !important;
}

.shaolin-ref-btn.shaolin-ref-btn-primary,
.wp-block-button:not(.shaolin-button-secondary) .wp-block-button__link,
.shaolin-ref-header .shaolin-header-cta {
	background: linear-gradient(180deg, #8b2f28 0%, var(--shaolin-control-primary) 100%) !important;
	border: 1px solid rgba(126, 42, 37, 0.62) !important;
	color: var(--shaolin-porcelain) !important;
}

.shaolin-ref-btn.shaolin-ref-btn-primary:hover,
.shaolin-ref-btn.shaolin-ref-btn-primary:focus-visible,
.wp-block-button:not(.shaolin-button-secondary) .wp-block-button__link:hover,
.wp-block-button:not(.shaolin-button-secondary) .wp-block-button__link:focus-visible,
.shaolin-ref-header .shaolin-header-cta:hover,
.shaolin-ref-header .shaolin-header-cta:focus-visible {
	background: linear-gradient(180deg, #96352e 0%, var(--shaolin-control-primary-hover) 100%) !important;
	border-color: rgba(126, 42, 37, 0.82) !important;
	box-shadow: 0 4px 0 rgba(86, 27, 23, 0.24) !important;
	color: var(--shaolin-porcelain) !important;
	transform: translateY(-1px) !important;
}

.shaolin-ref-btn.shaolin-ref-btn-outline,
.shaolin-button-secondary .wp-block-button__link,
.shaolin-row-button {
	background: rgba(255, 253, 248, 0.9) !important;
	border: 1px solid rgba(18, 53, 47, 0.34) !important;
	color: var(--shaolin-control-secondary) !important;
}

.shaolin-ref-btn.shaolin-ref-btn-outline:hover,
.shaolin-ref-btn.shaolin-ref-btn-outline:focus-visible,
.shaolin-button-secondary .wp-block-button__link:hover,
.shaolin-button-secondary .wp-block-button__link:focus-visible,
.shaolin-row-button:hover,
.shaolin-row-button:focus-visible {
	background: var(--shaolin-porcelain) !important;
	border-color: rgba(18, 53, 47, 0.58) !important;
	box-shadow: 0 4px 0 rgba(18, 53, 47, 0.16) !important;
	color: var(--shaolin-jade) !important;
	transform: translateY(-1px) !important;
}

.shaolin-ref-btn:active,
.wp-block-button__link:active,
.shaolin-row-button:active,
.shaolin-ref-header .shaolin-header-cta:active {
	box-shadow: 0 1px 0 rgba(18, 53, 47, 0.18) !important;
	transform: translateY(1px) !important;
}

.shaolin-ref-btn:focus-visible,
.wp-block-button__link:focus-visible,
.shaolin-row-button:focus-visible,
.shaolin-ref-header .shaolin-header-cta:focus-visible,
.shaolin-ref-header .wp-block-navigation a:focus-visible {
	outline: 3px solid rgba(169, 130, 74, 0.5) !important;
	outline-offset: 4px !important;
}

.shaolin-ref-btn::after,
.wp-block-button__link::after {
	content: none !important;
}

@media (min-width: 981px) {
	:root {
		--shaolin-header-offset: 108px;
	}

	.shaolin-site-header.shaolin-ref-header {
		background:
			linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(247, 244, 237, 0.96)) !important;
		border-bottom: 1px solid rgba(18, 53, 47, 0.15) !important;
		box-shadow: 0 8px 18px rgba(18, 53, 47, 0.07) !important;
	}

	.shaolin-ref-header .shaolin-header-inner {
		gap: clamp(18px, 1.8vw, 34px) !important;
		grid-template-columns: minmax(260px, 356px) minmax(0, 1fr) auto !important;
		min-height: var(--shaolin-header-offset) !important;
		padding-bottom: 16px !important;
		padding-top: 16px !important;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		max-width: clamp(320px, 20vw, 360px) !important;
		width: clamp(320px, 20vw, 360px) !important;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: clamp(74px, 4.6vw, 82px) !important;
	}

	.shaolin-ref-header .wp-block-navigation__container {
		column-gap: clamp(14px, 1.15vw, 24px) !important;
		row-gap: 8px !important;
	}

	.shaolin-ref-header .wp-block-navigation a {
		color: rgba(18, 53, 47, 0.9) !important;
		font-size: clamp(16px, calc(15px + 0.18vw), 18.5px) !important;
		font-weight: 900 !important;
		line-height: 1.15 !important;
		padding: 13px 2px !important;
	}

	.shaolin-ref-header .wp-block-navigation a::after {
		background: linear-gradient(90deg, rgba(126, 42, 37, 0), rgba(126, 42, 37, 0.9), rgba(126, 42, 37, 0)) !important;
		bottom: 5px !important;
		height: 2px !important;
	}

	.shaolin-ref-header .wp-block-navigation a:hover,
	.shaolin-ref-header .wp-block-navigation a:focus-visible {
		color: var(--shaolin-red) !important;
	}

	.shaolin-ref-header .shaolin-nav-promo .wp-block-navigation-item__content,
	.shaolin-ref-header .shaolin-nav-promo a {
		background: var(--shaolin-red) !important;
		border: 1px solid rgba(126, 42, 37, 0.58) !important;
		border-radius: var(--shaolin-control-radius) !important;
		box-shadow: none !important;
		color: var(--shaolin-porcelain) !important;
		font-size: clamp(16px, calc(15px + 0.18vw), 18px) !important;
		letter-spacing: 0 !important;
		padding: 12px 16px !important;
	}

	.shaolin-ref-header .shaolin-nav-promo .wp-block-navigation-item__content:hover,
	.shaolin-ref-header .shaolin-nav-promo a:hover,
	.shaolin-ref-header .shaolin-nav-promo .wp-block-navigation-item__content:focus-visible,
	.shaolin-ref-header .shaolin-nav-promo a:focus-visible {
		background: var(--shaolin-control-primary-hover) !important;
		color: var(--shaolin-porcelain) !important;
		transform: translateY(-1px) !important;
	}

	.shaolin-ref-header .shaolin-nav-promo .wp-block-navigation-item__content::after,
	.shaolin-ref-header .shaolin-nav-promo a::after {
		content: none !important;
	}

	.shaolin-ref-header .shaolin-header-cta {
		font-size: clamp(16px, calc(15px + 0.18vw), 18px) !important;
		min-height: 56px !important;
		min-width: 154px !important;
		padding-left: 22px !important;
		padding-right: 22px !important;
	}
}

@media (min-width: 1600px) {
	:root {
		--shaolin-header-offset: 112px;
	}

	.shaolin-ref-header .shaolin-header-inner {
		min-height: var(--shaolin-header-offset) !important;
	}

	.shaolin-ref-header .wp-block-navigation a {
		font-size: clamp(18px, calc(16px + 0.16vw), 19px) !important;
	}
}

@media (max-width: 720px) {
	:root {
		--shaolin-control-height: 50px;
		--shaolin-control-pad-x: 18px;
		--shaolin-control-font: 15px;
	}

	.shaolin-ref-header .shaolin-header-cta {
		display: none !important;
	}

	.shaolin-ref-header .shaolin-mobile-links a {
		font-size: 13px !important;
		min-height: 30px !important;
	}

	.shaolin-about-info-actions .shaolin-ref-btn,
	.shaolin-promo-actions .shaolin-ref-btn,
	.shaolin-promo-final-actions .shaolin-ref-btn,
	.shaolin-ref-needle-actions .shaolin-ref-btn,
	.shaolin-ref-pain-hero .shaolin-ref-btn {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shaolin-ref-btn,
	.wp-block-button__link,
	.shaolin-row-button,
	.shaolin-header-cta,
	.shaolin-ref-header .wp-block-navigation a {
		transition: none !important;
	}
}

/* Product-grade typography, focus, and touch target hardening. */
:root {
	--shaolin-font-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--shaolin-font-display: "Literata", Georgia, "Times New Roman", serif;
	--shaolin-type-caption: 0.875rem;
	--shaolin-type-small: 0.9375rem;
	--shaolin-type-body: 1.0625rem;
	--shaolin-type-lead: clamp(1.0625rem, calc(1rem + 0.36vw), 1.375rem);
	--shaolin-type-card-title: clamp(1.25rem, calc(1.08rem + 0.54vw), 1.5rem);
	--shaolin-type-h3: clamp(1.375rem, calc(1.16rem + 0.72vw), 1.8rem);
	--shaolin-type-h2: clamp(2rem, calc(1.5rem + 2vw), 3.625rem);
	--shaolin-type-h1: clamp(2.625rem, calc(1.95rem + 3vw), 4.875rem);
	--shaolin-leading-body: 1.62;
	--shaolin-leading-lead: 1.5;
	--shaolin-leading-heading: 1.06;
	--shaolin-leading-title: 1.18;
	--shaolin-focus-ring: rgba(169, 130, 74, 0.82);
	--shaolin-focus-halo: rgba(169, 130, 74, 0.22);
	--shaolin-control-height: 3.375rem;
	--shaolin-control-pad-x: clamp(1.125rem, 0.9rem + 0.9vw, 1.625rem);
	--shaolin-control-font: clamp(1rem, calc(0.95rem + 0.18vw), 1.125rem);
}

html {
	font-size: 100%;
	text-size-adjust: 100%;
}

body {
	font-family: var(--shaolin-font-body);
	font-size: var(--shaolin-type-body);
	font-kerning: normal;
	font-optical-sizing: auto;
	line-height: var(--shaolin-leading-body);
	text-rendering: optimizeLegibility;
}

button,
input,
select,
textarea {
	font-family: var(--shaolin-font-body);
	font-size: 1rem;
}

body :where(h1, h2, h3) {
	font-family: var(--shaolin-font-display);
	font-kerning: normal;
	font-optical-sizing: auto;
	letter-spacing: 0 !important;
	text-wrap: balance;
}

body :where(p, li, dd, figcaption) {
	text-wrap: pretty;
}

.shaolin-ref-hero h1,
.shaolin-promo-hero h1,
.shaolin-directory-hero h1,
.shaolin-contact-hero h1,
.shaolin-about-info-hero h1,
.shaolin-page-hero h1,
.shaolin-price-hero h1,
.shaolin-reviews-hero h1 {
	font-size: var(--shaolin-type-h1) !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	line-height: var(--shaolin-leading-heading) !important;
}

.shaolin-ref-section h2,
.shaolin-promo-page h2,
.shaolin-single-page h2,
.shaolin-archive-page h2,
.shaolin-contact-page h2,
.shaolin-about-info-section h2,
.shaolin-about-info-band h2,
.shaolin-about-info-final h2,
.shaolin-catalog-head h2,
.shaolin-price-page h2 {
	font-size: var(--shaolin-type-h2) !important;
	font-weight: 760 !important;
	letter-spacing: 0 !important;
	line-height: var(--shaolin-leading-heading) !important;
}

.shaolin-ref-section h3,
.shaolin-promo-page h3:not(.shaolin-ref-footer-col h3),
.shaolin-single-page h3:not(.shaolin-ref-footer-col h3),
.shaolin-archive-page h3:not(.shaolin-ref-footer-col h3),
.shaolin-about-info-methods h3,
.shaolin-about-info-steps strong,
.shaolin-program-body h3 {
	font-family: var(--shaolin-font-display) !important;
	font-size: var(--shaolin-type-h3) !important;
	font-weight: 760 !important;
	letter-spacing: 0 !important;
	line-height: var(--shaolin-leading-title) !important;
}

.shaolin-ref-hero-copy > p,
.shaolin-promo-hero-copy > p:not(.shaolin-promo-kicker),
.shaolin-directory-hero p,
.shaolin-contact-hero-copy > p,
.shaolin-about-info-hero-copy > p,
.shaolin-page-hero p,
.shaolin-catalog-head p,
.shaolin-about-info-section-head p,
.shaolin-ref-about-lead {
	font-size: var(--shaolin-type-lead) !important;
	line-height: var(--shaolin-leading-lead) !important;
	max-width: 68ch;
}

.shaolin-service-group > h3,
.shaolin-service-main h4,
.shaolin-ref-service-card strong,
.shaolin-price-row strong,
.shaolin-program-composition-list span {
	font-family: var(--shaolin-font-body) !important;
	font-size: var(--shaolin-type-card-title) !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
	line-height: var(--shaolin-leading-title) !important;
}

.shaolin-service-main p,
.shaolin-program-body p,
.shaolin-price-row p,
.shaolin-ref-service-card p,
.shaolin-about-info-prose p,
.shaolin-contact-page p,
.shaolin-generic-page p,
.shaolin-article-page p {
	font-size: var(--shaolin-type-body) !important;
	line-height: var(--shaolin-leading-body) !important;
}

.shaolin-ref-btn,
.wp-block-button__link,
.shaolin-row-button,
.shaolin-header-cta,
.shaolin-ref-header .shaolin-header-cta,
.shaolin-consult-form input[type="submit"] {
	border-radius: var(--shaolin-control-radius) !important;
	font-family: var(--shaolin-font-body) !important;
	font-size: var(--shaolin-control-font) !important;
	font-weight: 850 !important;
	line-height: 1.14 !important;
	min-height: var(--shaolin-control-height) !important;
	padding-inline: var(--shaolin-control-pad-x) !important;
	text-align: center;
}

.shaolin-ref-btn.shaolin-ref-btn-primary,
.wp-block-button:not(.shaolin-button-secondary) .wp-block-button__link,
.shaolin-ref-header .shaolin-header-cta {
	background: var(--shaolin-control-primary) !important;
	box-shadow: inset 0 -2px 0 rgba(86, 27, 23, 0.22) !important;
}

.shaolin-ref-btn.shaolin-ref-btn-primary:hover,
.shaolin-ref-btn.shaolin-ref-btn-primary:focus-visible,
.wp-block-button:not(.shaolin-button-secondary) .wp-block-button__link:hover,
.wp-block-button:not(.shaolin-button-secondary) .wp-block-button__link:focus-visible,
.shaolin-ref-header .shaolin-header-cta:hover,
.shaolin-ref-header .shaolin-header-cta:focus-visible {
	background: var(--shaolin-control-primary-hover) !important;
	box-shadow: inset 0 -2px 0 rgba(86, 27, 23, 0.28) !important;
}

.shaolin-ref-btn.shaolin-ref-btn-outline,
.shaolin-button-secondary .wp-block-button__link,
.shaolin-row-button {
	box-shadow: inset 0 0 0 1px rgba(18, 53, 47, 0.08) !important;
}

.shaolin-ref-btn:focus-visible,
.wp-block-button__link:focus-visible,
.shaolin-row-button:focus-visible,
.shaolin-ref-header .shaolin-header-cta:focus-visible,
.shaolin-ref-header .wp-block-navigation a:focus-visible,
.shaolin-mobile-links a:focus-visible,
.shaolin-ref-pain-tags a:focus-visible,
.shaolin-ref-pain-proof a:focus-visible,
.shaolin-ref-footer-col a:focus-visible,
.shaolin-consult-close:focus-visible,
.shaolin-consult-form input:focus-visible {
	box-shadow: 0 0 0 5px var(--shaolin-focus-halo) !important;
	outline: 3px solid var(--shaolin-focus-ring) !important;
	outline-offset: 3px !important;
}

.shaolin-ref-pain-tags a:focus-visible,
.shaolin-ref-pain-proof a:focus-visible,
.shaolin-ref-footer-col a:focus-visible {
	background: var(--shaolin-porcelain) !important;
	border-color: rgba(126, 42, 37, 0.34) !important;
}

.shaolin-ref-footer-col {
	gap: 0.5rem !important;
}

.shaolin-ref-footer-col a {
	align-items: center;
	border-radius: 0.375rem;
	color: rgba(247, 244, 237, 0.9) !important;
	display: inline-flex;
	font-size: var(--shaolin-type-small) !important;
	line-height: 1.45 !important;
	min-height: 1.75rem;
	overflow-wrap: anywhere;
	padding-block: 0.125rem;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.shaolin-ref-footer-col h3 {
	font-family: var(--shaolin-font-body) !important;
	font-size: var(--shaolin-type-body) !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
}

.shaolin-ref-footer-license,
.shaolin-ref-footer-bottom p,
.shaolin-consult-policy,
.shaolin-consult-error {
	font-size: var(--shaolin-type-caption) !important;
	line-height: 1.55 !important;
}

@media (min-width: 981px) {
	.shaolin-ref-header .wp-block-navigation a {
		font-size: var(--shaolin-control-font) !important;
		line-height: 1.16 !important;
		min-height: 2.75rem;
		padding-block: 0.75rem !important;
	}

	.shaolin-ref-header .shaolin-nav-promo .wp-block-navigation-item__content,
	.shaolin-ref-header .shaolin-nav-promo a,
	.shaolin-ref-header .shaolin-header-cta {
		font-size: var(--shaolin-control-font) !important;
	}
}

@media (max-width: 720px) {
	:root {
		--shaolin-control-height: 3.25rem;
		--shaolin-control-font: 1rem;
		--shaolin-type-h2: clamp(2rem, calc(1.55rem + 2.6vw), 2.5rem);
		--shaolin-type-h1: clamp(2.625rem, calc(2rem + 3vw), 3rem);
	}

	.shaolin-ref-header .shaolin-mobile-links a {
		font-size: var(--shaolin-type-small) !important;
		line-height: 1.2 !important;
		min-height: 2.5rem !important;
		padding-inline: 0.25rem !important;
	}

	.shaolin-ref-footer-col {
		gap: 0.375rem !important;
	}

	.shaolin-ref-footer-col a {
		font-size: 1rem !important;
		min-height: 2rem;
		padding-block: 0.25rem;
	}

	.shaolin-ref-footer-col h3 {
		font-size: 1.0625rem !important;
	}
}

/* Final typography target-size calibration. */
:root {
	--shaolin-type-page-title: clamp(2.5rem, calc(2rem + 1.9vw), 3.5rem);
	--shaolin-type-contact-title: clamp(2.75rem, calc(2rem + 1.8vw), 3.5rem);
}

.shaolin-generic-page .shaolin-page-hero h1,
.shaolin-article-page .shaolin-page-hero h1,
.shaolin-documents-archive .shaolin-page-hero h1,
.shaolin-single-page:not(.shaolin-about-info-page, .shaolin-contact-page) .shaolin-page-hero h1 {
	font-size: var(--shaolin-type-page-title) !important;
	line-height: 1.08 !important;
	max-width: min(100%, 860px);
}

.shaolin-contact-hero h1 {
	font-size: var(--shaolin-type-contact-title) !important;
	line-height: 1.08 !important;
	max-width: 13ch;
}

.shaolin-ref-heading-row > a,
.shaolin-text-link,
.shaolin-catalog-link {
	align-items: center;
	display: inline-flex;
	min-height: 1.75rem;
}

.shaolin-ref-review-arrow,
.shaolin-ref-review-pause {
	min-height: 2.75rem !important;
	min-width: 2.75rem !important;
	width: 2.75rem !important;
}

.shaolin-ref-footer-brand > a {
	align-items: center;
	display: inline-flex;
	line-height: 0;
	min-height: 3rem;
}

.shaolin-ref-footer-brand p a,
.shaolin-about-info-legal a,
.shaolin-about-info-page a:not(.shaolin-ref-btn) {
	align-items: center;
	display: inline-flex;
	min-height: 1.75rem;
}

.shaolin-contact-map-section > div > a,
.shaolin-contact-map-embed > a,
.shaolin-yandex-reviews-widget > a {
	align-items: center !important;
	display: inline-flex !important;
	line-height: 1.2 !important;
	min-height: 1.5rem !important;
}

/* Cookie consent and analytics consent controls. */
.shaolin-cookie-consent {
	bottom: max(1rem, env(safe-area-inset-bottom));
	color: var(--shaolin-ink);
	left: 50%;
	max-width: min(100vw - 2rem, 68rem);
	position: fixed;
	transform: translate3d(-50%, 0.75rem, 0);
	transition: opacity 180ms ease, transform 180ms ease;
	width: calc(100vw - 2rem);
	z-index: 1000;
}

.shaolin-cookie-consent[hidden] {
	display: none;
}

.shaolin-cookie-consent.is-visible {
	opacity: 1;
	transform: translate3d(-50%, 0, 0);
}

.shaolin-cookie-consent-inner {
	align-items: center;
	background: rgba(255, 253, 248, 0.98);
	border: 1px solid rgba(18, 53, 47, 0.16);
	border-radius: 8px;
	box-shadow: 0 1.125rem 3rem rgba(25, 31, 28, 0.18);
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 1rem;
}

.shaolin-cookie-consent-copy {
	display: grid;
	gap: 0.45rem;
}

.shaolin-cookie-consent-copy strong {
	font-family: var(--shaolin-font-body);
	font-size: 1rem;
	font-weight: 850;
	line-height: 1.2;
}

.shaolin-cookie-consent-copy p {
	font-family: var(--shaolin-font-body);
	font-size: var(--shaolin-type-caption);
	line-height: 1.5;
	margin: 0;
	max-width: 74ch;
}

.shaolin-cookie-consent-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.8rem;
}

.shaolin-cookie-consent-links a,
.shaolin-cookie-settings {
	align-items: center;
	border-radius: 0.375rem;
	color: var(--shaolin-jade);
	display: inline-flex;
	font-family: var(--shaolin-font-body);
	font-size: var(--shaolin-type-caption);
	font-weight: 760;
	line-height: 1.25;
	min-height: 1.75rem;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.shaolin-cookie-consent-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	justify-content: flex-end;
}

.shaolin-cookie-consent-actions .shaolin-ref-btn,
.shaolin-cookie-secondary {
	min-height: 2.875rem !important;
	white-space: nowrap;
}

.shaolin-cookie-secondary,
.shaolin-cookie-settings {
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0;
}

.shaolin-cookie-secondary {
	border: 1px solid rgba(18, 53, 47, 0.18);
	border-radius: var(--shaolin-control-radius);
	color: var(--shaolin-jade);
	font-family: var(--shaolin-font-body);
	font-size: var(--shaolin-control-font);
	font-weight: 850;
	padding-inline: 1rem;
}

.shaolin-cookie-secondary:hover,
.shaolin-cookie-secondary:focus-visible {
	background: rgba(18, 53, 47, 0.06);
}

.shaolin-cookie-consent-links a:focus-visible,
.shaolin-cookie-secondary:focus-visible,
.shaolin-cookie-settings:focus-visible {
	box-shadow: 0 0 0 5px var(--shaolin-focus-halo) !important;
	outline: 3px solid var(--shaolin-focus-ring) !important;
	outline-offset: 3px !important;
}

.shaolin-ref-footer-col .shaolin-cookie-settings {
	color: rgba(247, 244, 237, 0.9);
	font-size: var(--shaolin-type-small);
	justify-self: start;
	min-height: 1.75rem;
	padding-block: 0.125rem;
	text-align: left;
}

@media (max-width: 720px) {
	.shaolin-cookie-consent {
		bottom: max(0.75rem, env(safe-area-inset-bottom));
		max-width: calc(100vw - 1rem);
		width: calc(100vw - 1rem);
	}

	.shaolin-cookie-consent-inner {
		align-items: stretch;
		grid-template-columns: 1fr;
		padding: 0.875rem;
	}

	.shaolin-cookie-consent-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.shaolin-cookie-consent-actions .shaolin-ref-btn,
	.shaolin-cookie-secondary {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.shaolin-cookie-consent {
		transition: none;
	}
}

/* Desktop brand experience mark. */
.shaolin-brand-cluster {
	align-items: center;
	display: flex;
	min-width: 0;
}

.shaolin-desktop-experience {
	display: none;
}

@media (min-width: 1180px) {
	.shaolin-ref-header .shaolin-header-inner {
		grid-template-columns: minmax(430px, 500px) minmax(0, 1fr) auto !important;
	}

	.shaolin-brand-cluster {
		gap: clamp(14px, 1.15vw, 20px);
	}

	.shaolin-desktop-experience {
		align-content: center;
		align-self: center;
		border-left: 1px solid rgba(126, 42, 37, 0.24);
		display: grid;
		flex: 0 0 auto;
		gap: 3px;
		justify-items: start;
		padding-left: clamp(14px, 1vw, 18px);
		text-align: left;
	}

	.shaolin-desktop-experience strong {
		color: var(--shaolin-red);
		display: block;
		font-family: var(--shaolin-font-display);
		font-size: clamp(20px, calc(18px + 0.35vw), 24px);
		font-weight: 900;
		letter-spacing: 0;
		line-height: 1.02;
		white-space: nowrap;
	}

	.shaolin-desktop-experience span {
		color: rgba(18, 53, 47, 0.78);
		display: block;
		font-family: var(--shaolin-font-body);
		font-size: clamp(12px, calc(11px + 0.15vw), 14px);
		font-weight: 900;
		letter-spacing: 0;
		line-height: 1.16;
		white-space: nowrap;
	}
}

@media (min-width: 1180px) and (max-width: 1380px) {
	.shaolin-ref-header .shaolin-header-inner {
		gap: clamp(14px, 1.25vw, 22px) !important;
		grid-template-columns: minmax(394px, 430px) minmax(0, 1fr) auto !important;
	}

	.shaolin-ref-header .shaolin-brand,
	.shaolin-ref-header .shaolin-brand img {
		max-width: clamp(286px, 23vw, 314px) !important;
		width: clamp(286px, 23vw, 314px) !important;
	}

	.shaolin-ref-header .shaolin-brand img {
		height: clamp(64px, 5vw, 72px) !important;
	}

	.shaolin-desktop-experience strong {
		font-size: clamp(18px, 1.55vw, 21px);
	}

	.shaolin-desktop-experience span {
		font-size: 12px;
	}
}

@media (max-width: 760px) {
	.shaolin-brand-cluster {
		flex: 0 1 auto;
	}
}

