.prime-reviews {
	--prm-primary: #ff5c36;
	--prm-secondary: #059473;
	--prm-accent: #2980b9;
	--prm-heading: #101b19;
	--prm-body: #4b5b57;
	--prm-white: #ffffff;
	--prm-surface: #fbfdfc;
	--prm-line: rgba(16, 27, 25, .11);
	position: relative;
	padding: clamp(78px, 9vw, 132px) 0 clamp(70px, 8vw, 116px);
	overflow: hidden;
	color: var(--prm-white);
	background:
		radial-gradient(circle at 88% 8%, rgba(255, 92, 54, .26), transparent 27%),
		radial-gradient(circle at 8% 92%, rgba(41, 128, 185, .2), transparent 30%),
		linear-gradient(135deg, #059473 0%, #078b72 54%, #069c80 100%);
	border-block: 1px solid rgba(255, 255, 255, .08);
	isolation: isolate;
}

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

.prime-reviews::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background-image: radial-gradient(rgba(255, 255, 255, .2) .75px, transparent .75px);
	background-size: 22px 22px;
	-webkit-mask-image: linear-gradient(110deg, #000 0%, transparent 58%);
	mask-image: linear-gradient(110deg, #000 0%, transparent 58%);
	opacity: .46;
}

.prime-reviews::after {
	content: "";
	position: absolute;
	top: -290px;
	right: -180px;
	z-index: -1;
	width: 560px;
	height: 560px;
	pointer-events: none;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 50%;
	box-shadow: 0 0 0 72px rgba(255, 255, 255, .025), 0 0 0 145px rgba(255, 255, 255, .018);
}

.prime-reviews__orb {
	position: absolute;
	z-index: -1;
	pointer-events: none;
	border-radius: 50%;
	filter: blur(4px);
}

.prime-reviews__orb--one {
	top: -190px;
	right: 8%;
	width: 380px;
	height: 380px;
	background: radial-gradient(circle, rgba(255, 92, 54, .32), rgba(255, 92, 54, 0) 68%);
}

.prime-reviews__orb--two {
	bottom: -270px;
	left: -70px;
	width: 470px;
	height: 470px;
	background: radial-gradient(circle, rgba(41, 128, 185, .23), rgba(41, 128, 185, 0) 70%);
}

.prime-reviews__inner {
	position: relative;
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
}

.prime-reviews__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(215px, 248px);
	align-items: end;
	gap: clamp(38px, 7vw, 104px);
	margin-bottom: clamp(42px, 5vw, 68px);
}

.prime-reviews__heading { max-width: 760px; }

.prime-reviews__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px !important;
	color: rgba(255, 255, 255, .72) !important;
	font-family: 'Lexend', sans-serif;
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: .18em;
	line-height: 1.2 !important;
	text-transform: uppercase;
}

.prime-reviews__eyebrow span {
	width: 34px;
	height: 2px;
	background: var(--prm-primary);
	box-shadow: 11px 0 0 -0.5px rgba(255, 255, 255, .42);
}

.prime-reviews__header h2 {
	max-width: 720px;
	margin: 0 0 20px !important;
	color: var(--prm-white) !important;
	font-family: 'Tenor Sans', serif;
	font-size: clamp(42px, 5.2vw, 68px) !important;
	font-weight: 400;
	letter-spacing: -.035em;
	line-height: 1.02 !important;
	text-wrap: balance;
}

.prime-reviews__heading > p:last-child {
	max-width: 650px;
	margin: 0 !important;
	color: rgba(255, 255, 255, .74) !important;
	font-family: 'Lexend', sans-serif;
	font-size: 15px !important;
	line-height: 1.75 !important;
}

.prime-reviews__summary {
	display: grid;
	min-width: 0;
	padding: 23px 24px 21px;
	color: var(--prm-white) !important;
	text-decoration: none !important;
	background: linear-gradient(145deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .07));
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 22px;
	box-shadow: 0 22px 60px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .14);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.prime-reviews__summary-label {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 16px;
	color: rgba(255, 255, 255, .78);
	font-family: 'Lexend', sans-serif;
	font-size: 11px;
	font-weight: 650;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.prime-reviews__google-mark {
	display: grid;
	width: 25px;
	height: 25px;
	color: #4285f4;
	font-family: Arial, sans-serif;
	font-size: 15px;
	font-weight: 800;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .13);
	place-items: center;
}

.prime-reviews__summary-score {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.prime-reviews__summary-score strong {
	color: var(--prm-white);
	font-family: 'Tenor Sans', serif;
	font-size: 46px;
	font-weight: 400;
	letter-spacing: -.055em;
	line-height: .95;
}

.prime-reviews__summary-score small {
	color: rgba(255, 255, 255, .62);
	font-family: 'Lexend', sans-serif;
	font-size: 11px;
}

.prime-reviews__summary-stars {
	margin: 10px 0 13px;
	color: #ffb24a;
	font-size: 15px;
	letter-spacing: 3px;
	line-height: 1;
}

.prime-reviews__summary-count {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 13px;
	color: rgba(255, 255, 255, .76);
	font-family: 'Lexend', sans-serif;
	font-size: 11px;
	border-top: 1px solid rgba(255, 255, 255, .15);
}

.prime-reviews__summary-count svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.prime-reviews__viewport { overflow: hidden; }

.prime-reviews__track {
	display: grid;
	grid-template-columns: repeat(var(--prm-columns), minmax(0, 1fr));
	gap: 22px;
}

.prime-reviews--carousel .prime-reviews__viewport {
	overflow-x: auto;
	padding: 8px 4px 38px;
	scroll-behavior: smooth;
	scroll-padding-inline: 4px;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
}

.prime-reviews--carousel .prime-reviews__viewport::-webkit-scrollbar { display: none; }
.prime-reviews--carousel .prime-reviews__track { display: flex; }

.prime-reviews--carousel .prime-review-card {
	flex: 0 0 calc((100% - (22px * (var(--prm-columns) - 1))) / var(--prm-columns));
	scroll-snap-align: start;
}

.prime-review-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 420px;
	padding: clamp(27px, 3vw, 34px);
	overflow: hidden;
	color: var(--prm-body);
	background: linear-gradient(160deg, #ffffff 0%, var(--prm-surface) 100%);
	border: 1px solid rgba(255, 255, 255, .8);
	border-radius: 24px;
	box-shadow: 0 26px 70px rgba(0, 17, 13, .24), inset 0 0 0 1px rgba(16, 27, 25, .06);
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.prime-review-card::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--prm-primary) 0 34%, var(--prm-secondary) 34% 68%, var(--prm-accent) 68%);
}

.prime-review-card::after {
	content: "";
	position: absolute;
	top: -105px;
	right: -105px;
	width: 190px;
	height: 190px;
	pointer-events: none;
	background: radial-gradient(circle, rgba(5, 148, 115, .1), rgba(5, 148, 115, 0) 70%);
	border-radius: 50%;
}

.prime-review-card__top {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.prime-review-card__stars {
	color: var(--prm-primary);
	font-size: 14px;
	letter-spacing: 2.5px;
	line-height: 1;
}

.prime-review-card__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 35px;
	height: 27px;
	padding: 0 8px;
	color: rgba(7, 78, 66, .68);
	font-family: 'Lexend', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	background: rgba(5, 148, 115, .08);
	border: 1px solid rgba(5, 148, 115, .11);
	border-radius: 999px;
}

.prime-review-card blockquote {
	position: relative;
	flex: 1;
	margin: 40px 0 30px;
	padding: 0;
	border: 0;
}

.prime-review-card blockquote p {
	position: relative;
	z-index: 1;
	margin: 0 !important;
	color: var(--prm-body) !important;
	font-family: 'Lexend', sans-serif;
	font-size: clamp(14px, 1.15vw, 16px) !important;
	font-style: normal !important;
	font-weight: 400;
	letter-spacing: -.005em;
	line-height: 1.78 !important;
}

.prime-review-card__quote {
	position: absolute;
	top: -49px;
	left: -5px;
	color: rgba(5, 148, 115, .13);
	font-family: Georgia, serif;
	font-size: 100px;
	line-height: 1;
}

.prime-review-card footer {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 21px;
	border-top: 1px solid var(--prm-line);
}

.prime-review-card__author {
	display: flex;
	align-items: center;
	min-width: 0;
	gap: 11px;
}

.prime-review-card__author img,
.prime-review-card__avatar-fallback {
	display: grid;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	place-items: center;
}

.prime-review-card__author img { object-fit: cover; }

.prime-review-card__avatar-fallback {
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	background: var(--prm-secondary);
}

.prime-review-card__author > div {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.prime-review-card__author strong,
.prime-review-card__author-link {
	overflow: hidden;
	color: var(--prm-heading) !important;
	font-family: 'Lexend', sans-serif;
	font-size: 12px;
	font-weight: 680;
	line-height: 1.35;
	text-decoration: none !important;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.prime-review-card__author time,
.prime-review-card__author small {
	color: #74817e;
	font-family: 'Lexend', sans-serif;
	font-size: 10px;
	line-height: 1.35;
}

.prime-review-card__source {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 6px;
	padding: 7px 9px;
	color: #355b7b !important;
	font-family: 'Lexend', sans-serif;
	font-size: 10px;
	font-weight: 650;
	line-height: 1;
	text-decoration: none !important;
	background: #f3f7fa;
	border: 1px solid rgba(41, 128, 185, .13);
	border-radius: 999px;
	transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.prime-review-card__source svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.prime-review-card__google-g {
	display: grid;
	width: 18px;
	height: 18px;
	color: #4285f4;
	font-family: Arial, sans-serif;
	font-size: 12px;
	font-weight: 800;
	background: #fff;
	border: 1px solid rgba(17, 17, 17, .09);
	border-radius: 50%;
	place-items: center;
}

.prime-reviews__controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	margin-top: 26px;
}

.prime-reviews__controls[hidden] { display: none !important; }

.prime-reviews__controls button {
	display: grid;
	width: 48px;
	height: 48px;
	padding: 0;
	color: #fff;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .32);
	border-radius: 50%;
	cursor: pointer;
	place-items: center;
	transition: transform .2s ease, color .2s ease, background .2s ease, border-color .2s ease, opacity .2s ease;
}

.prime-reviews__controls button:disabled {
	cursor: default;
	opacity: .35;
}

.prime-reviews__controls svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.prime-reviews__controls > span {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 80px;
	color: rgba(255, 255, 255, .72);
	font-size: 12px;
}

.prime-reviews__controls b { color: #fff; font-size: 15px; }

.prime-reviews__controls i {
	flex: 1;
	height: 1px;
	background: rgba(255, 255, 255, .38);
}

.prime-reviews__controls em { font-style: normal; }

.prm-admin-only-empty {
	margin: 20px;
	padding: 15px;
	color: #111;
	background: #fff;
	border-left: 4px solid #ff5c36;
	border-radius: 6px;
}

.prime-reviews a:focus-visible,
.prime-reviews button:focus-visible {
	outline: 3px solid #ffbd73;
	outline-offset: 4px;
}

@media (hover: hover) {
	.prime-reviews__summary:hover {
		color: var(--prm-white) !important;
		background: linear-gradient(145deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .1));
		border-color: rgba(255, 255, 255, .34);
		transform: translateY(-4px);
	}

	.prime-review-card:hover {
		border-color: rgba(255, 255, 255, 1);
		box-shadow: 0 34px 85px rgba(0, 17, 13, .32), inset 0 0 0 1px rgba(16, 27, 25, .05);
		transform: translateY(-7px);
	}

	.prime-review-card__author-link:hover { color: var(--prm-secondary) !important; }

	.prime-review-card__source:hover {
		color: #fff !important;
		background: var(--prm-accent);
		border-color: var(--prm-accent);
	}

	.prime-reviews__controls button:hover:not(:disabled) {
		color: #fff;
		background: var(--prm-primary);
		border-color: var(--prm-primary);
		transform: translateY(-2px);
	}
}

@media (max-width: 980px) {
	.prime-reviews__header {
		grid-template-columns: minmax(0, 1fr) 215px;
		gap: 34px;
	}

	.prime-reviews__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.prime-reviews--carousel .prime-review-card { flex-basis: calc((100% - 22px) / 2); }
	.prime-review-card footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 720px) {
	.prime-reviews {
		padding: 72px 0 68px;
		background:
			radial-gradient(circle at 100% 0%, rgba(255, 92, 54, .28), transparent 32%),
			linear-gradient(150deg, #059473 0%, #078b72 58%, #069c80 100%);
	}

	.prime-reviews__inner { width: min(100% - 32px, 1180px); }

	.prime-reviews__header {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 30px;
		margin-bottom: 36px;
	}

	.prime-reviews__header h2 { font-size: clamp(38px, 11vw, 52px) !important; }
	.prime-reviews__summary { width: min(100%, 420px); }
	.prime-reviews__track { grid-template-columns: 1fr; }
	.prime-reviews--carousel .prime-review-card { flex-basis: min(90%, 390px); }
	.prime-review-card { min-height: 400px; }
	.prime-reviews__controls { justify-content: center; }
}

@media (max-width: 440px) {
	.prime-reviews__inner { width: min(100% - 24px, 1180px); }
	.prime-reviews__heading > p:last-child { font-size: 14px !important; }
	.prime-reviews--carousel .prime-reviews__viewport { margin-right: -12px; padding-right: 12px; }
	.prime-reviews--carousel .prime-review-card { flex-basis: 92%; }
	.prime-review-card { min-height: 410px; padding: 26px 23px; border-radius: 21px; }
	.prime-review-card blockquote p { font-size: 14px !important; }
	.prime-review-card__source span:nth-child(2) { display: none; }
	.prime-review-card footer { align-items: center; flex-direction: row; }
}

@media (prefers-reduced-motion: reduce) {
	.prime-reviews__viewport { scroll-behavior: auto !important; }
	.prime-review-card,
	.prime-reviews__controls button,
	.prime-reviews__summary { transition: none; }
}
