/* ============================================================
 * Privato — service.css
 * Service landing components for priv_service singles.
 * ============================================================ */

:root {
	--pc-service-sub-2: #4a4036;
	--pc-service-font-display: "Prata", "Noto Serif Thai", Georgia, "Times New Roman", serif;
	--pc-r-review: 14px;
	--pc-sh-hairline: 0 1px 2px rgba(75, 55, 40, .05), 0 18px 40px rgba(75, 55, 40, .10);
	--pc-sh-service: 0 1px 2px rgba(75, 55, 40, .06), 0 12px 32px rgba(75, 55, 40, .14);
	--pc-sh-review: 0 4px 18px rgba(155, 121, 73, .08);
}

.up-service {
	background: var(--pc-page);
	color: var(--pc-ink);
}

.up-service .container {
	max-width: var(--pc-max);
	margin: 0 auto;
	padding: 0 16px;
}

@media (min-width: 768px) {
	.up-service .container { padding: 0 24px; }
}

.up-service .pc-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 11px 20px;
	border-radius: var(--pc-r-pill);
	background: var(--pc-mocha-dk);
	color: var(--pc-white);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition: background .2s, transform .2s;
}

@media (min-width: 768px) {
	.up-service .pc-pill {
		padding: 12px 22px;
		font-size: 14px;
	}
}

.up-service .pc-pill:hover {
	background: var(--pc-mocha-dk-hover);
	transform: translateY(-1px);
	opacity: 1;
}

.up-section {
	padding: 48px 0;
}

@media (min-width: 768px) {
	.up-section { padding: 64px 0; }
}

@media (min-width: 1024px) {
	.up-section { padding: 80px 0; }
}

.up-section--ivory { background: var(--pc-ivory); }
.up-section--cream { background: var(--pc-cream-warm); }
.up-section--sand { background: var(--pc-sand); }
.up-section--white { background: var(--pc-white); }

.up-section[id] {
	scroll-margin-top: 100px;
}

.up-rule {
	display: block;
	width: 48px;
	height: 1px;
	margin: 0 auto 20px;
	background: var(--pc-mocha);
}

@media (min-width: 768px) {
	.up-rule {
		width: 64px;
		margin-bottom: 28px;
	}
}

.up-header {
	max-width: 820px;
	margin: 0 auto 40px;
	text-align: center;
}

.up-h2 {
	margin: 0 0 16px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: .2px;
}

@media (min-width: 768px) {
	.up-h2 {
		margin-bottom: 20px;
		font-size: 38px;
	}
}

@media (min-width: 1280px) {
	.up-h2 { font-size: 44px; }
}

.up-lead {
	max-width: 720px;
	margin-right: auto;
	margin-left: auto;
	color: var(--pc-sub-1);
	font-size: 16px;
	line-height: 1.85;
}

@media (min-width: 768px) {
	.up-lead {
		font-size: 17px;
		line-height: 1.9;
	}
}

.up-hero {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100svh - 80px);
	padding: 20px 0;
	overflow: hidden;
	background: linear-gradient(180deg, var(--pc-peach-a) 0%, var(--pc-peach-b) 100%);
}

@media (min-width: 768px) {
	.up-hero { padding: 24px 0; }
}

@media (min-width: 1024px) {
	.up-hero {
		min-height: calc(100svh - 120px);
		padding: 28px 0;
	}
}

.up-hero > .container {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

@media (min-width: 1024px) {
	.up-hero > .container { gap: 22px; }
}

.up-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	align-items: center;
}

@media (min-width: 900px) {
	.up-hero__grid {
		grid-template-columns: 1.1fr 1fr;
		gap: 40px;
	}
}

.up-hero__copy {
	text-align: center;
}

@media (min-width: 900px) {
	.up-hero__copy { text-align: left; }
}

.up-hero__h1 {
	margin: 0 0 12px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: 0;
}

@media (min-width: 768px) {
	.up-hero__h1 {
		margin-bottom: 14px;
		font-size: 30px;
	}
}

@media (min-width: 1024px) {
	.up-hero__h1 { font-size: 34px; }
}

@media (min-width: 1280px) {
	.up-hero__h1 { font-size: 38px; }
}

.up-hero__sub {
	max-width: 560px;
	margin: 0 auto;
	color: var(--pc-sub-1);
	font-size: 14px;
	line-height: 1.6;
}

@media (min-width: 900px) {
	.up-hero__sub {
		margin: 0;
		font-size: 15px;
	}
}

@media (min-width: 1280px) {
	.up-hero__sub {
		font-size: 15.5px;
		line-height: 1.65;
	}
}

.up-hero__media {
	position: relative;
}

.up-hero__frame {
	position: relative;
	max-height: 36vh;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	border-radius: var(--pc-r-photo);
	background: var(--pc-cream);
	box-shadow: var(--pc-sh-hairline);
}

@media (min-width: 900px) {
	.up-hero__frame {
		max-height: 52vh;
		aspect-ratio: 4 / 3;
	}
}

@media (min-width: 1280px) {
	.up-hero__frame {
		max-height: 56vh;
		aspect-ratio: 3 / 2;
	}
}

.up-hero__frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.up-hero__stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.up-hero__stats {
		grid-template-columns: repeat(4, 1fr);
		gap: 10px;
		margin-top: 18px;
	}
}

@media (min-width: 1024px) {
	.up-hero__stats {
		gap: 12px;
		margin-top: 20px;
	}
}

.up-stat {
	position: relative;
	padding: 12px 10px 10px;
	overflow: hidden;
	text-align: center;
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-card);
	background: linear-gradient(135deg, rgba(255, 255, 255, .92) 0%, var(--pc-cream-warm) 100%);
	box-shadow: 0 1px 2px rgba(75, 55, 40, .04), 0 10px 26px rgba(75, 55, 40, .06);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

@media (min-width: 768px) {
	.up-stat { padding: 14px 12px 12px; }
}

@media (min-width: 1024px) {
	.up-stat { padding: 16px 14px 14px; }
}

.up-stat::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 32px;
	height: 2px;
	background: var(--pc-mocha-dk);
	transform: translateX(-50%);
}

.up-stat:hover {
	border-color: var(--pc-line-warm-deep);
	box-shadow: 0 4px 8px rgba(75, 55, 40, .06), 0 18px 40px rgba(75, 55, 40, .10);
	transform: translateY(-2px);
}

.up-stat__metric {
	margin: 0;
}

.up-stat__num {
	display: block;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .5px;
}

@media (min-width: 768px) {
	.up-stat__num { font-size: 30px; }
}

@media (min-width: 1024px) {
	.up-stat__num { font-size: 34px; }
}

@media (min-width: 1280px) {
	.up-stat__num { font-size: 38px; }
}

.up-stat__unit {
	margin-left: 3px;
	color: var(--pc-mocha-dk);
	font-family: var(--pc-font-body);
	font-size: .38em;
	font-weight: 500;
	letter-spacing: .5px;
	vertical-align: baseline;
}

.up-stat__label {
	display: block;
	margin: 6px 0 0;
	padding-top: 6px;
	color: var(--pc-sub-1);
	border-top: 1px solid var(--pc-line-warm);
	font-size: 11px;
	line-height: 1.4;
}

@media (min-width: 768px) {
	.up-stat__label {
		margin-top: 8px;
		padding-top: 8px;
		font-size: 11.5px;
	}
}

@media (min-width: 1024px) {
	.up-stat__label {
		font-size: 12px;
		line-height: 1.45;
	}
}

.up-toc-wrap {
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 16px;
}

.up-toc {
	position: relative;
	padding: 22px;
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-card);
	background: linear-gradient(135deg, var(--pc-white) 0%, var(--pc-ivory) 100%);
	box-shadow: 0 1px 2px rgba(75, 55, 40, .04), 0 14px 34px rgba(75, 55, 40, .07);
}

@media (min-width: 768px) {
	.up-toc { padding: 26px 30px; }
}

.up-toc__details {
	margin: 0;
}

.up-toc__summary {
	position: absolute;
	top: 17px;
	right: 17px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	cursor: pointer;
	list-style: none;
}

@media (min-width: 768px) {
	.up-toc__summary {
		top: 21px;
		right: 25px;
	}
}

.up-toc__summary::-webkit-details-marker,
.up-faq__q::-webkit-details-marker {
	display: none;
}

.up-toc__summary::marker,
.up-faq__q::marker {
	content: "";
}

.up-toc__title {
	margin: 0 44px 14px 0;
	color: var(--pc-ink);
	font-family: var(--pc-font-body);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.4;
}

@media (min-width: 768px) {
	.up-toc__title { font-size: 21px; }
}

.up-toc__chevron {
	flex-shrink: 0;
	width: 12px;
	height: 12px;
	border-right: 2px solid var(--pc-mocha-dk);
	border-bottom: 2px solid var(--pc-mocha-dk);
	transform: rotate(-45deg);
	transition: transform .2s ease;
}

.up-toc__details[open] .up-toc__chevron {
	transform: rotate(45deg);
}

.up-toc__list {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: up-toc-item;
}

@media (min-width: 640px) {
	.up-toc__list { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}

.up-toc__list li {
	margin: 0;
	padding: 0;
	break-inside: avoid;
	counter-increment: up-toc-item;
}

.up-toc__list a {
	display: flex;
	gap: 10px;
	padding: 10px 0;
	color: var(--pc-sub-1);
	border-bottom: 1px solid rgba(155, 121, 73, .12);
	font-size: 14px;
	line-height: 1.55;
	text-decoration: none;
}

@media (min-width: 768px) {
	.up-toc__list a { font-size: 15px; }
}

.up-toc__list a::before {
	content: counter(up-toc-item, decimal-leading-zero);
	flex-shrink: 0;
	min-width: 24px;
	padding-top: 3px;
	color: var(--pc-mocha);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	font-weight: 500;
	letter-spacing: .5px;
}

.up-toc__list a:hover {
	color: var(--pc-mocha-dk);
	opacity: 1;
}

.up-prose,
.up-definition__body {
	max-width: 760px;
	margin: 0 auto;
	color: var(--pc-sub-1);
	font-size: 15px;
	line-height: 1.85;
}

@media (min-width: 768px) {
	.up-prose,
	.up-definition__body {
		font-size: 16px;
		line-height: 1.9;
	}
}

.up-prose:not(:last-child) {
	margin-bottom: 28px;
}

.up-prose p,
.up-definition__body p {
	margin: 0 0 16px;
}

.up-prose p:last-child,
.up-definition__body p:last-child {
	margin-bottom: 0;
}

.up-prose ul,
.up-definition__body ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.up-prose li,
.up-definition__body li {
	position: relative;
	padding-left: 22px;
}

.up-prose li::before,
.up-definition__body li::before {
	content: "";
	position: absolute;
	top: 11px;
	left: 6px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pc-mocha);
}

.up-prose strong,
.up-definition__body strong {
	color: var(--pc-ink);
	font-weight: 500;
}

.up-definition__answer {
	max-width: 820px;
	margin: 0 auto 28px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	letter-spacing: .2px;
}

@media (min-width: 768px) {
	.up-definition__answer {
		margin-bottom: 32px;
		font-size: 26px;
	}
}

@media (min-width: 1280px) {
	.up-definition__answer { font-size: 28px; }
}

.up-definition__split {
	display: grid;
	grid-template-areas:
		"header"
		"media"
		"text";
	grid-template-columns: 1fr;
	row-gap: 20px;
	align-items: stretch;
	margin: 0 auto 28px;
}

@media (min-width: 768px) {
	.up-definition__split {
		grid-template-areas:
			"media ."
			"media header"
			"media text"
			"media .";
		grid-template-columns: minmax(260px, 2fr) 3fr;
		grid-template-rows: 1fr auto auto 1fr;
		column-gap: 36px;
		row-gap: 16px;
		margin-bottom: 32px;
	}
}

@media (min-width: 1280px) {
	.up-definition__split { column-gap: 48px; }
}

.up-definition__split > .up-header {
	grid-area: header;
	max-width: none;
	margin: 0;
	text-align: left;
}

.up-definition__split > .up-header .up-rule {
	margin: 0 0 16px;
}

.up-definition__media {
	grid-area: media;
	margin: 0;
	overflow: hidden;
	border-radius: var(--pc-r-photo);
	background: var(--pc-cream-warm);
	box-shadow: var(--pc-sh-hairline);
}

.up-definition__media img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: contain;
	object-position: center;
}

.up-definition__text {
	grid-area: text;
}

.up-definition__split .up-definition__answer {
	max-width: none;
	margin: 0 0 16px;
	color: var(--pc-sub-1);
	font-family: var(--pc-font-body);
	font-size: 16px;
	line-height: 1.9;
	text-align: left;
	letter-spacing: 0;
}

.up-definition__split .up-definition__body {
	max-width: none;
	margin: 0;
}

.up-compare {
	overflow-x: auto;
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-card);
	background: var(--pc-white);
	box-shadow: var(--pc-sh-review);
	-webkit-overflow-scrolling: touch;
}

.up-compare table {
	width: 100%;
	min-width: 680px;
	border-collapse: collapse;
	font-size: 14px;
}

.up-compare th,
.up-compare td {
	padding: 18px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--pc-line-warm);
	line-height: 1.6;
}

.up-compare thead th {
	color: var(--pc-mocha-dk-hover);
	border-bottom: 1px solid var(--pc-line-warm-deep);
	background: var(--pc-ivory);
	font-family: var(--pc-service-font-display);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.up-compare tbody tr:last-child th,
.up-compare tbody tr:last-child td {
	border-bottom: 0;
}

.up-compare tbody th {
	color: var(--pc-ink);
	background: rgba(246, 230, 201, .18);
	font-family: var(--pc-service-font-display);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: .2px;
}

.up-compare td {
	color: var(--pc-sub-1);
}

.up-compare--featured tbody tr:first-child th,
.up-compare--featured tbody tr:first-child td {
	background: linear-gradient(180deg, rgba(155, 121, 73, .05), transparent);
}

.up-compare--featured tbody tr:first-child th {
	color: var(--pc-mocha-dk);
}

.up-compare__scroll-hint {
	display: block;
	margin-top: 10px;
	color: var(--pc-muted);
	font-size: 12px;
	text-align: center;
	letter-spacing: .5px;
}

@media (min-width: 900px) {
	.up-compare__scroll-hint { display: none; }
}

.up-suit {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	max-width: 1040px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.up-suit {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
}

.up-suit__col {
	padding: 28px 24px;
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-card);
	background: var(--pc-white);
}

@media (min-width: 768px) {
	.up-suit__col { padding: 36px 32px; }
}

.up-suit__col h3 {
	margin: 0 0 18px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .2px;
}

@media (min-width: 768px) {
	.up-suit__col h3 { font-size: 26px; }
}

.up-suit__col ul {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.up-suit__col li {
	position: relative;
	padding-left: 28px;
	color: var(--pc-sub-1);
	font-size: 15px;
	line-height: 1.7;
}

.up-suit__col--yes li::before {
	content: "";
	position: absolute;
	top: 7px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: rgba(155, 121, 73, .14);
	background-image: radial-gradient(circle, var(--pc-mocha-dk) 0 4px, transparent 4px);
}

.up-suit__col--no li::before {
	content: "";
	position: absolute;
	top: 7px;
	left: 0;
	width: 14px;
	height: 14px;
	border: 1px solid var(--pc-line-warm-deep);
	border-radius: 50%;
	background: var(--pc-ivory);
}

.up-benefits,
.up-why-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) {
	.up-benefits,
	.up-why-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.up-benefits {
		grid-template-columns: repeat(5, 1fr);
		gap: 16px;
	}

	.up-why-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 20px;
	}
}

.up-benefit,
.up-why-card {
	position: relative;
	height: 100%;
	padding: 24px 20px 22px;
	overflow: hidden;
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-card);
	background: var(--pc-white);
	transition: transform .3s, box-shadow .3s, border-color .3s;
}

.up-why-card {
	padding: 28px 24px;
}

.up-benefit:hover,
.up-why-card:hover {
	border-color: var(--pc-line-warm-deep);
	box-shadow: var(--pc-sh-card-hover);
	transform: translateY(-3px);
}

.up-benefit .num,
.up-why-card__num {
	display: block;
	color: var(--pc-mocha-dk);
	font-family: var(--pc-font-italic);
	font-style: italic;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 1px;
}

.up-benefit .num {
	margin-bottom: 8px;
	font-size: 44px;
}

.up-why-card__num {
	margin-bottom: 14px;
	font-size: 24px;
}

.up-benefit h3,
.up-why-card h3 {
	margin: 0 0 8px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .2px;
}

.up-why-card h3 {
	margin-bottom: 10px;
	font-size: 20px;
}

.up-benefit p,
.up-why-card p {
	margin: 0;
	color: var(--pc-service-sub-2);
	font-size: 14px;
	line-height: 1.7;
}

.up-why-card p {
	line-height: 1.75;
}

.up-results {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	max-width: 840px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) {
	.up-results { gap: 16px; }
}

.up-results__item {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 18px;
	align-items: start;
	padding: 22px;
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-card);
	background: var(--pc-white);
	transition: transform .25s, box-shadow .25s, border-color .25s;
}

.up-results__item:hover {
	border-color: var(--pc-line-warm-deep);
	box-shadow: var(--pc-sh-service);
	transform: translateY(-2px);
}

.up-results__num {
	padding-right: 14px;
	color: var(--pc-mocha);
	border-right: 1px solid var(--pc-line-warm);
	font-family: var(--pc-font-italic);
	font-size: 32px;
	font-style: italic;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 1px;
}

.up-results__body h3 {
	margin: 0 0 6px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .2px;
}

@media (min-width: 768px) {
	.up-results__body h3 { font-size: 20px; }
}

.up-results__body p {
	margin: 0;
	color: var(--pc-service-sub-2);
	font-size: 14px;
	line-height: 1.75;
}

@media (min-width: 768px) {
	.up-results__body p {
		font-size: 15px;
		line-height: 1.8;
	}
}

#expected-results {
	padding-bottom: 28px;
}

#expected-results + #results-timeline {
	padding-top: 28px;
}

@media (min-width: 768px) {
	#expected-results { padding-bottom: 36px; }
	#expected-results + #results-timeline { padding-top: 36px; }
}

@media (min-width: 1024px) {
	#expected-results { padding-bottom: 44px; }
	#expected-results + #results-timeline { padding-top: 44px; }
}

.up-timeline {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.up-timeline::before {
	content: "";
	position: absolute;
	top: 8px;
	bottom: 8px;
	left: 14px;
	width: 1px;
	background: linear-gradient(180deg, transparent 0%, var(--pc-line-warm-deep) 10%, var(--pc-line-warm-deep) 90%, transparent 100%);
}

@media (min-width: 768px) {
	.up-timeline::before { left: 18px; }
}

.up-tl-row {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 6px;
	padding: 18px 0 18px 44px;
}

@media (min-width: 768px) {
	.up-tl-row {
		grid-template-columns: 220px 1fr;
		gap: 28px;
		align-items: baseline;
		padding-left: 56px;
	}
}

.up-tl-row::before {
	content: "";
	position: absolute;
	top: 28px;
	left: 7px;
	width: 15px;
	height: 15px;
	border: 2px solid var(--pc-mocha-dk);
	border-radius: 50%;
	background: var(--pc-white);
	box-shadow: 0 0 0 4px var(--pc-cream-warm);
}

@media (min-width: 768px) {
	.up-tl-row::before { left: 11px; }
}

.up-tl-row__period {
	margin: 0;
	color: var(--pc-mocha-dk-hover);
	font-family: var(--pc-service-font-display);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .3px;
}

@media (min-width: 768px) {
	.up-tl-row__period { font-size: 20px; }
}

.up-tl-row__text {
	color: var(--pc-sub-1);
	font-size: 15px;
	line-height: 1.8;
}

.up-ba {
	max-width: 1040px;
	margin: 0 auto;
}

.up-ba--composite {
	display: grid;
	max-width: 920px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

@media (max-width: 720px) {
	.up-ba--composite { grid-template-columns: 1fr; }
}

.up-ba__pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.up-ba__pair + .up-ba__pair {
	margin-top: 16px;
}

@media (max-width: 640px) {
	.up-ba__pair { grid-template-columns: 1fr; }
}

.up-ba-card {
	position: relative;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-review);
	background: var(--pc-white);
	box-shadow: var(--pc-sh-review);
	transition: transform .3s, box-shadow .3s, border-color .3s;
}

.up-ba-card:hover {
	border-color: var(--pc-line-warm-deep);
	box-shadow: var(--pc-sh-card-hover);
	transform: translateY(-4px);
}

.up-ba-card__img {
	display: block;
	width: 100%;
	height: auto;
	background: var(--pc-cream);
}

.up-ba-card--composite .up-ba-card__img {
	aspect-ratio: 10 / 9;
	object-fit: contain;
}

.up-ba-card__label {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 6px 12px;
	color: var(--pc-white);
	border-radius: var(--pc-r-pill);
	background: rgba(0, 0, 0, .62);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.up-ba__caption {
	grid-column: 1 / -1;
	margin: 2px 0 0;
	color: var(--pc-dark);
	font-size: 13px;
	line-height: 1.7;
	text-align: center;
}

.up-bridge {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	max-width: 1040px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.up-bridge {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
}

.up-bridge__col {
	padding: 28px 24px;
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-card);
	background: linear-gradient(180deg, var(--pc-white), var(--pc-cream-warm));
	box-shadow: var(--pc-sh-review);
}

@media (min-width: 768px) {
	.up-bridge__col { padding: 36px 32px; }
}

.up-bridge__label {
	display: block;
	margin-bottom: 10px;
	color: var(--pc-mocha-dk);
	font-family: var(--pc-font-italic);
	font-size: 16px;
	font-style: italic;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.up-bridge__col h3 {
	margin: 0 0 16px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: .2px;
}

.up-bridge__col ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.up-bridge__col li {
	position: relative;
	padding-left: 22px;
	color: var(--pc-sub-1);
	font-size: 15px;
	line-height: 1.75;
}

.up-bridge__col li::before {
	content: "-";
	position: absolute;
	top: 0;
	left: 0;
	color: var(--pc-mocha);
	font-weight: 500;
}

.up-journey {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	max-width: 840px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	counter-reset: jstep;
}

.up-journey__item {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 18px;
	align-items: center;
	padding: 16px 20px;
	color: var(--pc-sub-1);
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-card);
	background: var(--pc-white);
	font-size: 15px;
	line-height: 1.6;
	counter-increment: jstep;
	transition: transform .25s, box-shadow .25s, border-color .25s;
}

.up-journey__item:hover {
	border-color: var(--pc-line-warm-deep);
	box-shadow: var(--pc-sh-service);
	transform: translateX(4px);
}

.up-journey__item::before {
	content: counter(jstep);
	padding-right: 14px;
	color: var(--pc-mocha-dk);
	border-right: 1px solid var(--pc-line-warm);
	font-family: var(--pc-font-italic);
	font-size: 22px;
	font-style: italic;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}

.up-price__intro {
	max-width: 820px;
	margin: 0 auto 32px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.45;
	text-align: center;
	letter-spacing: .2px;
}

@media (min-width: 768px) {
	.up-price__intro { font-size: 26px; }
}

.up-price__factors {
	max-width: 820px;
	margin: 0 auto 28px;
	padding: 28px 24px;
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-card);
	background: var(--pc-white);
	box-shadow: var(--pc-sh-review);
}

@media (min-width: 768px) {
	.up-price__factors { padding: 36px 40px; }
}

.up-price__factors h3 {
	margin: 0 0 18px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 20px;
	font-weight: 400;
	letter-spacing: .2px;
}

.up-price__factors ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) {
	.up-price__factors ul {
		grid-template-columns: 1fr 1fr;
		gap: 14px 24px;
	}
}

.up-price__factors li {
	position: relative;
	padding-left: 22px;
	color: var(--pc-sub-1);
	font-size: 15px;
	line-height: 1.6;
}

.up-price__factors li::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 10px;
	height: 1px;
	background: var(--pc-mocha-dk);
}

.up-price__fallback {
	max-width: 680px;
	margin: 0 auto 24px;
	color: var(--pc-sub-1);
	font-size: 15px;
	line-height: 1.85;
	text-align: center;
}

.up-price__inquiry {
	margin: 0;
	text-align: center;
}

.up-doctor {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	align-items: start;
	max-width: 960px;
	margin: 0 auto;
	padding: 28px;
	border: 1px solid var(--pc-line-warm);
	border-radius: var(--pc-r-card);
	background: var(--pc-white);
}

@media (min-width: 768px) {
	.up-doctor {
		grid-template-columns: 280px 1fr;
		gap: 40px;
		padding: 36px;
	}
}

@media (min-width: 1024px) {
	.up-doctor {
		grid-template-columns: 320px 1fr;
		padding: 44px;
	}
}

.up-doctor__photo {
	max-width: 280px;
	margin: 0 auto;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	border-radius: var(--pc-r-photo);
	background: linear-gradient(180deg, var(--pc-ivory), var(--pc-cream));
	box-shadow: var(--pc-sh-hairline);
}

.up-doctor__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.up-doctor__name {
	margin: 0 0 6px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: .2px;
}

@media (min-width: 768px) {
	.up-doctor__name { font-size: 32px; }
}

.up-doctor__title {
	margin: 0 0 18px;
	color: var(--pc-mocha-dk);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.up-doctor__body {
	margin: 0 0 20px;
	color: var(--pc-sub-1);
	font-size: 15px;
	line-height: 1.85;
}

.up-doctor__creds {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.up-doctor__creds li {
	position: relative;
	padding-left: 24px;
	color: var(--pc-sub-1);
	font-size: 14px;
	line-height: 1.65;
}

.up-doctor__creds li::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 12px;
	height: 1px;
	background: var(--pc-mocha-dk);
}

.up-doctor__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--pc-mocha-dk);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .3px;
	text-decoration: none;
}

.up-doctor__link::after {
	content: ">";
	transition: transform .25s;
}

.up-doctor__link:hover {
	color: var(--pc-mocha-dk-hover);
	opacity: 1;
}

.up-doctor__link:hover::after {
	transform: translateX(4px);
}

.up-why-media {
	max-width: 920px;
	margin: 0 auto 28px;
	overflow: hidden;
	border-radius: var(--pc-r-photo);
	background: var(--pc-cream-warm);
	box-shadow: var(--pc-sh-hairline);
}

@media (min-width: 768px) {
	.up-why-media { margin-bottom: 34px; }
}

.up-why-media img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center;
}

.up-faq {
	max-width: 840px;
	margin: 0 auto;
}

.up-faq__item {
	border-bottom: 1px solid var(--pc-line-warm);
}

.up-faq__item[open] summary {
	color: var(--pc-mocha-dk-hover);
}

.up-faq__q {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 4px;
	color: var(--pc-ink);
	cursor: pointer;
	font-family: var(--pc-service-font-display);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	list-style: none;
	letter-spacing: .2px;
	transition: color .25s;
}

@media (min-width: 768px) {
	.up-faq__q {
		padding: 24px 4px;
		font-size: 20px;
	}
}

.up-faq__q::after {
	content: "";
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(4px) rotate(45deg);
	transition: transform .3s;
}

.up-faq__item[open] .up-faq__q::after {
	transform: translateY(8px) rotate(225deg);
}

.up-faq__a {
	max-width: 760px;
	padding: 0 4px 24px;
	color: var(--pc-sub-1);
	font-size: 15px;
	line-height: 1.85;
}

@media (min-width: 768px) {
	.up-faq__a {
		font-size: 16px;
		line-height: 1.9;
	}
}

.up-faq__a p {
	margin: 0 0 12px;
}

.up-faq__a p:last-child {
	margin-bottom: 0;
}

.up-faq__a ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.up-faq__a li {
	position: relative;
	padding-left: 22px;
	line-height: 1.75;
}

.up-faq__a li::before {
	content: "";
	position: absolute;
	top: .82em;
	left: 5px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pc-mocha-dk);
}

@media (max-width: 520px) {
	.up-hero__stats,
	.up-results__item,
	.up-journey__item {
		grid-template-columns: 1fr;
	}

	.up-results__num,
	.up-journey__item::before {
		width: max-content;
		padding-right: 0;
		padding-bottom: 8px;
		border-right: 0;
		border-bottom: 1px solid var(--pc-line-warm);
	}

	.up-compare table {
		min-width: 620px;
	}
}

/* Services hub archive */
.pc-services-hub {
	--pc-services-hub-mocha-dk: #7a5248;
	--pc-services-hub-mocha-dk-hover: #5e3e34;
	--pc-services-hub-mocha: #7c5e36;
	background: var(--pc-page);
	color: var(--pc-ink);
}

.pc-services-hub .container {
	max-width: var(--pc-max);
	margin: 0 auto;
	padding: 0 16px;
}

@media (min-width: 768px) {
	.pc-services-hub .container { padding: 0 24px; }
}

.pc-services-hub .pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	max-width: 100%;
	padding: 11px 20px;
	border-radius: var(--pc-r-pill);
	background: var(--pc-services-hub-mocha-dk);
	color: var(--pc-white);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background .2s, transform .2s;
}

.pc-services-hub .pill:hover {
	background: var(--pc-services-hub-mocha-dk-hover);
	transform: translateY(-1px);
	opacity: 1;
}

.pc-services-hub .pill--ghost {
	border: 1px solid var(--pc-services-hub-mocha-dk);
	background: transparent;
	color: var(--pc-services-hub-mocha-dk);
}

.pc-services-hub .pill--ghost:hover {
	background: var(--pc-services-hub-mocha-dk);
	color: var(--pc-white);
}

.pc-services-hub .pill--line {
	background: #0e6234;
}

.pc-services-hub .pill--line:hover {
	background: #0a4d29;
}

.pc-services-hub__hero {
	padding: 48px 0 36px;
	background: var(--pc-peach-grad);
	text-align: center;
}

@media (min-width: 768px) {
	.pc-services-hub__hero { padding: 64px 0 52px; }
}

@media (min-width: 1024px) {
	.pc-services-hub__hero { padding: 80px 0 64px; }
}

.pc-services-hub .hero__eyebrow {
	display: block;
	margin-bottom: 14px;
	color: var(--pc-services-hub-mocha);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 4px;
	line-height: 1;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.pc-services-hub .hero__eyebrow { font-size: 13px; }
}

.pc-services-hub__hero h1 {
	max-width: 820px;
	margin: 0 auto 6px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 36px;
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: .5px;
}

@media (min-width: 768px) {
	.pc-services-hub__hero h1 { font-size: 54px; }
}

@media (min-width: 1280px) {
	.pc-services-hub__hero h1 { font-size: 64px; }
}

.pc-services-hub .hero__script {
	display: block;
	margin-top: 8px;
	background: var(--pc-gold-grad);
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 1px 0 rgba(184, 151, 79, .18));
	font-family: var(--pc-font-italic);
	font-size: 24px;
	font-style: italic;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 1.2px;
	-webkit-background-clip: text;
}

@media (min-width: 768px) {
	.pc-services-hub .hero__script {
		font-size: 32px;
		letter-spacing: 1.6px;
	}
}

@media (min-width: 1280px) {
	.pc-services-hub .hero__script {
		font-size: 38px;
		letter-spacing: 2px;
	}
}

.pc-services-hub .hero__sub {
	max-width: 640px;
	margin: 24px auto 0;
	color: var(--pc-sub-1);
	font-size: 15px;
	line-height: 1.85;
}

@media (min-width: 768px) {
	.pc-services-hub .hero__sub {
		font-size: 16px;
		line-height: 1.9;
	}
}

.pc-services-hub__featured {
	padding: 56px 0 32px;
}

@media (min-width: 768px) {
	.pc-services-hub__featured { padding: 72px 0 40px; }
}

@media (min-width: 1024px) {
	.pc-services-hub__featured { padding: 96px 0 48px; }
}

.pc-services-hub .featured__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	align-items: center;
	max-width: 1040px;
	margin: 0 auto;
}

@media (min-width: 900px) {
	.pc-services-hub .featured__grid {
		grid-template-columns: 380px 1fr;
		gap: 56px;
	}
}

@media (min-width: 1280px) {
	.pc-services-hub .featured__grid {
		grid-template-columns: 420px 1fr;
		gap: 72px;
	}
}

.pc-services-hub .featured__media {
	position: relative;
	width: min(320px, 82%);
	margin: 0 auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: var(--pc-gold-ring);
	box-shadow:
		0 2px 4px rgba(75, 55, 40, .06),
		0 24px 56px rgba(75, 55, 40, .14),
		inset 0 1px 1px rgba(255, 243, 219, .55),
		inset 0 -1px 1px rgba(80, 55, 30, .18);
	isolation: isolate;
}

@media (min-width: 900px) {
	.pc-services-hub .featured__media {
		width: 380px;
		margin: 0;
	}
}

@media (min-width: 1280px) {
	.pc-services-hub .featured__media { width: 420px; }
}

.pc-services-hub .featured__media::before {
	content: "";
	position: absolute;
	inset: 6px;
	border-radius: 50%;
	background: var(--pc-white);
	box-shadow: 0 0 0 .5px rgba(168, 133, 87, .25);
}

.pc-services-hub .featured__image {
	position: absolute;
	inset: 11px;
	width: calc(100% - 22px);
	height: calc(100% - 22px);
	border-radius: 50%;
	object-fit: cover;
	object-position: center top;
}

.pc-services-hub .featured__badge {
	position: absolute;
	right: -8px;
	bottom: 24px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 108px;
	height: 108px;
	border: 1px solid var(--pc-line-warm);
	border-radius: 50%;
	background: var(--pc-white);
	box-shadow: 0 1px 2px rgba(75, 55, 40, .08), 0 10px 22px rgba(75, 55, 40, .12);
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 18px;
	letter-spacing: 1.2px;
	line-height: 1;
}

@media (min-width: 1280px) {
	.pc-services-hub .featured__badge {
		width: 120px;
		height: 120px;
		font-size: 20px;
	}
}

.pc-services-hub .featured__copy {
	text-align: center;
}

@media (min-width: 900px) {
	.pc-services-hub .featured__copy { text-align: left; }
}

.pc-services-hub .featured__eyebrow,
.pc-services-hub .bridge__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
	color: var(--pc-services-hub-mocha-dk);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 6px;
	line-height: 1;
	text-transform: uppercase;
}

.pc-services-hub .featured__eyebrow::before,
.pc-services-hub .featured__eyebrow::after,
.pc-services-hub .bridge__eyebrow::before,
.pc-services-hub .bridge__eyebrow::after {
	content: "";
	width: 32px;
	height: 1px;
	background: rgba(155, 121, 73, .38);
}

@media (min-width: 900px) {
	.pc-services-hub .featured__eyebrow::before { display: none; }
}

.pc-services-hub__featured h2 {
	margin: 0 0 14px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: .3px;
}

@media (min-width: 768px) {
	.pc-services-hub__featured h2 { font-size: 40px; }
}

@media (min-width: 1280px) {
	.pc-services-hub__featured h2 { font-size: 46px; }
}

.pc-services-hub .featured__lede {
	max-width: 540px;
	margin: 0 auto 22px;
	color: var(--pc-sub-1);
	font-size: 15.5px;
	line-height: 1.9;
}

@media (min-width: 768px) {
	.pc-services-hub .featured__lede { font-size: 16px; }
}

@media (min-width: 900px) {
	.pc-services-hub .featured__lede { margin: 0 0 24px; }
}

.pc-services-hub .featured__row,
.pc-services-hub .bridge__row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	align-items: center;
}

@media (min-width: 900px) {
	.pc-services-hub .featured__row { justify-content: flex-start; }
}

.pc-services-hub .section-head {
	max-width: 760px;
	margin: 0 auto 36px;
	padding: 0 16px;
	text-align: center;
}

@media (min-width: 768px) {
	.pc-services-hub .section-head { margin-bottom: 48px; }
}

.pc-services-hub .section-head__eyebrow {
	display: block;
	margin-bottom: 14px;
	color: var(--pc-services-hub-mocha);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 4px;
	line-height: 1;
	text-transform: uppercase;
}

.pc-services-hub .zigzag-h2 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin: 0;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: .3px;
}

@media (min-width: 768px) {
	.pc-services-hub .zigzag-h2 {
		gap: 24px;
		font-size: 38px;
	}
}

@media (min-width: 1280px) {
	.pc-services-hub .zigzag-h2 { font-size: 44px; }
}

.pc-services-hub .zigzag-h2::before,
.pc-services-hub .zigzag-h2::after {
	content: "";
	flex: 1;
	max-width: 60px;
	height: 14px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 14' preserveAspectRatio='none'><path d='M0 7 L5 1 L10 7 L15 1 L20 7' fill='none' stroke='%239B7949' stroke-width='1.2' opacity='.85'/></svg>") repeat-x center / 20px 14px;
}

@media (min-width: 768px) {
	.pc-services-hub .zigzag-h2::before,
	.pc-services-hub .zigzag-h2::after { max-width: 120px; }
}

@media (min-width: 1024px) {
	.pc-services-hub .zigzag-h2::before,
	.pc-services-hub .zigzag-h2::after { max-width: 180px; }
}

.pc-services-hub__categories {
	padding: 48px 0;
}

@media (min-width: 768px) {
	.pc-services-hub__categories { padding: 64px 0; }
}

@media (min-width: 1024px) {
	.pc-services-hub__categories { padding: 80px 0 96px; }
}

.pc-services-hub .services__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 36px 24px;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) {
	.pc-services-hub .services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 48px 32px;
	}
}

@media (min-width: 1024px) {
	.pc-services-hub .services__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 64px 40px;
	}
}

.pc-services-hub .svc {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	padding: 0 8px;
	text-align: center;
}

.pc-services-hub .svc__media {
	position: relative;
	width: min(220px, 72%);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: var(--pc-gold-ring);
	box-shadow:
		0 1px 2px rgba(75, 55, 40, .05),
		0 18px 40px rgba(75, 55, 40, .10),
		inset 0 1px 1px rgba(255, 243, 219, .55),
		inset 0 -1px 1px rgba(80, 55, 30, .18);
	isolation: isolate;
	transition: transform .35s cubic-bezier(.2, .8, .2, 1), filter .4s;
}

@media (min-width: 768px) {
	.pc-services-hub .svc__media { width: min(240px, 82%); }
}

@media (min-width: 1024px) {
	.pc-services-hub .svc__media { width: 240px; }
}

.pc-services-hub .svc__media::before {
	content: "";
	position: absolute;
	inset: 5px;
	border-radius: 50%;
	background: var(--pc-white);
	box-shadow: 0 0 0 .5px rgba(168, 133, 87, .25);
	pointer-events: none;
}

.pc-services-hub .svc__image {
	position: absolute;
	inset: 9px;
	width: calc(100% - 18px);
	height: calc(100% - 18px);
	border-radius: 50%;
	object-fit: cover;
	object-position: center top;
	transition: transform 1s cubic-bezier(.2, .8, .2, 1), filter .4s;
}

.pc-services-hub .svc__badge {
	position: absolute;
	right: -4px;
	bottom: 14px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 88px;
	height: 88px;
	border: 1px solid var(--pc-line-warm);
	border-radius: 50%;
	background: var(--pc-white);
	box-shadow: 0 1px 2px rgba(75, 55, 40, .08), 0 8px 18px rgba(75, 55, 40, .10);
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 1.2px;
}

@media (min-width: 768px) {
	.pc-services-hub .svc__badge {
		right: -6px;
		bottom: 16px;
		width: 96px;
		height: 96px;
		font-size: 17px;
	}
}

.pc-services-hub .svc:hover .svc__media { transform: translateY(-4px); }

.pc-services-hub .svc:hover .svc__image {
	filter: saturate(1.04) contrast(1.02);
	transform: scale(1.04);
}

.pc-services-hub .svc__title {
	margin: 24px 0 4px;
	color: var(--pc-services-hub-mocha-dk);
	font-family: var(--pc-service-font-display);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: .4px;
}

@media (min-width: 768px) {
	.pc-services-hub .svc__title {
		margin-top: 28px;
		font-size: 22px;
	}
}

.pc-services-hub .svc__title-sub {
	display: block;
	margin-bottom: 14px;
	color: var(--pc-services-hub-mocha);
	font-family: var(--pc-font-body);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 3px;
	line-height: 1;
	text-transform: uppercase;
}

.pc-services-hub .svc__copy {
	max-width: 340px;
	color: var(--pc-sub-1);
	font-size: 15px;
	line-height: 1.85;
}

@media (min-width: 768px) {
	.pc-services-hub .svc__copy {
		font-size: 15.5px;
		line-height: 1.9;
	}
}

.pc-services-hub .svc__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 18px;
	color: var(--pc-services-hub-mocha-dk);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .4px;
	text-decoration: underline;
	text-decoration-color: rgba(155, 121, 73, .5);
	text-underline-offset: 4px;
}

.pc-services-hub .svc__cta:hover {
	color: var(--pc-services-hub-mocha-dk-hover);
	text-decoration-color: var(--pc-services-hub-mocha-dk-hover);
}

.pc-services-hub .svc__cta::after {
	content: ">";
	font-family: Georgia, serif;
	font-size: 16px;
	line-height: 1;
}

.pc-services-hub__consult {
	padding: 48px 0;
	border-top: 1px solid var(--pc-line-warm);
	background: var(--pc-cream-warm);
	text-align: center;
}

@media (min-width: 768px) {
	.pc-services-hub__consult { padding: 64px 0; }
}

.pc-services-hub .bridge__eyebrow {
	justify-content: center;
	margin-bottom: 16px;
}

.pc-services-hub__consult h2 {
	max-width: 680px;
	margin: 0 auto 12px;
	color: var(--pc-ink);
	font-family: var(--pc-service-font-display);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: .3px;
}

@media (min-width: 768px) {
	.pc-services-hub__consult h2 { font-size: 32px; }
}

@media (min-width: 1280px) {
	.pc-services-hub__consult h2 { font-size: 38px; }
}

.pc-services-hub__consult p {
	max-width: 580px;
	margin: 0 auto 22px;
	color: var(--pc-service-sub-2);
	font-size: 15px;
	line-height: 1.85;
}

@media (prefers-reduced-motion: reduce) {
	.up-service *,
	.up-service *::before,
	.up-service *::after,
	.pc-services-hub *,
	.pc-services-hub *::before,
	.pc-services-hub *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
