/*
 * EN Home (W01) — approved v1.2 composition rebuilt as live HTML.
 *
 * Desktop (≥881px): the approved 1199px framed composition. Every measurement is
 * written in --u, one pixel of the approved 1197px frame interior, so between 881px
 * and 1199px the composition scales exactly as the approved prototype did.
 * Mobile (≤880px): the approved 390px stacked composition.
 * Geometry was measured from screenshots/index_{desktop,mobile}.png.
 */

.rico-page-home {
	--u: calc(100cqw / 1197);
	--frame-line: var(--gold);
}

/* ---------- Frame and header (desktop) ---------- */
.rico-page-home .site-header--home {
	background: transparent;
	border-bottom: 0;
}
.rico-page-home .site-header--home .header-inner {
	container-type: inline-size;
	position: relative;
	max-width: var(--frame);
	height: auto;
	aspect-ratio: 1199 / 89;
	padding: 0;
	gap: 0;
	background: #080604;
	border: 1px solid var(--frame-line);
	border-bottom: 0;
	border-radius: 10px 0 0 0;
}
.rico-page-home .site-header--home .brand {
	position: static;
	width: auto;
}
.rico-page-home .site-header--home .brand img {
	top: calc(-7 * var(--u));
	left: calc(44 * var(--u));
	width: calc(240 * var(--u));
	filter: drop-shadow(0 6px 8px #000c);
}
.rico-page-home .site-header--home .desktop-nav {
	margin: 0 calc(29 * var(--u)) 0 auto;
}
.rico-page-home .site-header--home .desktop-nav ul {
	gap: calc(35 * var(--u));
}
.rico-page-home .site-header--home .desktop-nav a {
	font-size: max(11.5px, calc(12.4 * var(--u)));
	letter-spacing: calc(-0.25 * var(--u));
	padding: calc(13 * var(--u)) 0;
}
.rico-page-home .site-header--home .desktop-nav a[aria-current="page"]::after {
	bottom: calc(6 * var(--u));
	height: max(2px, calc(2.5 * var(--u)));
}
.rico-page-home .site-header--home .header-actions {
	gap: calc(12 * var(--u));
	align-self: flex-start;
	padding-top: calc(21 * var(--u));
	padding-right: calc(24 * var(--u)); /* CP-22: the phone button no longer touches the frame's right edge */
}
.rico-page-home .site-header--home .call-btn,
.rico-page-home .site-header--home .header-request {
	flex: none;
}
.rico-page-home .site-header--home .call-btn {
	min-width: calc(170 * var(--u));
	min-height: max(44px, calc(48 * var(--u)));
	justify-content: center;
	gap: calc(12 * var(--u));
	padding: 0;
	border-radius: 4px;
	font-size: max(14px, calc(17 * var(--u)));
	background: #080808;
}
.rico-page-home .site-header--home .call-btn .rico-icon {
	font-size: calc(23 * var(--u));
}
.rico-page-home .site-header--home .header-request {
	min-width: calc(152 * var(--u));
	min-height: max(44px, calc(48 * var(--u)));
	padding: 0 calc(8 * var(--u));
	gap: calc(14 * var(--u));
	font-size: max(12px, calc(13.5 * var(--u)));
}

/* ---------- Hero (desktop) ---------- */
.rico-page-home .home-frame {
	display: block;
	max-width: var(--frame);
	margin: 0 auto;
}
.rico-page-home .home-hero {
	container-type: inline-size;
	position: relative;
	overflow: hidden;
	background: #050505;
	border: 1px solid var(--frame-line);
	border-bottom: 0;
	border-radius: 12px 0 0 0;
	isolation: isolate;
}
.rico-page-home .home-hero__media {
	position: absolute;
	inset: 0 0 auto 0;
	z-index: -1;
}
.rico-page-home .home-hero__media img {
	width: 100%;
	height: auto;
}
.rico-page-home .home-hero__content {
	position: relative;
	padding: calc(70 * var(--u)) 0 0 calc(48 * var(--u));
}

.rico-page-home .home-hero__eyebrow {
	position: relative;
	display: flex;
	flex-direction: column;
	margin-left: calc(270 * var(--u));
	font: 500 calc(17 * var(--u)) / calc(24 * var(--u)) var(--hero);
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: #ece8e1;
	text-shadow: 0 1px 3px #000, 0 0 8px rgb(0 0 0 / 0.8);
}
.rico-page-home .home-hero__eyebrow-place {
	color: var(--gold);
}
.rico-page-home .home-hero__eyebrow-rule {
	position: absolute;
	left: calc(-51 * var(--u));
	top: calc(26 * var(--u));
	width: calc(42 * var(--u));
	height: max(2px, calc(3 * var(--u)));
	background: var(--red-vivid);
}

.rico-page-home .home-hero__title {
	display: flex;
	flex-direction: column;
	margin-top: calc(-2 * var(--u));
	font-family: var(--hero);
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	filter: drop-shadow(0 calc(4 * var(--u)) calc(3 * var(--u)) rgb(0 0 0 / 0.85));
}
.rico-page-home .home-hero__title-line {
	display: block;
	width: max-content;
	padding-right: 0.08em; /* keeps the italic overhang inside the clipped gradient */
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.rico-page-home .home-hero__title-line--silver {
	font-size: calc(105 * var(--u));
	line-height: calc(96 * var(--u));
	letter-spacing: calc(0.4 * var(--u));
	background-image: linear-gradient(180deg, #ffffff 0%, #f4f4f4 38%, #c9c9c9 62%, #8d8d8d 100%);
}
.rico-page-home .home-hero__title-line--gold {
	font-size: calc(80 * var(--u));
	line-height: calc(68 * var(--u));
	letter-spacing: calc(-2.2 * var(--u));
	background-image: linear-gradient(180deg, #ffe76e 0%, #ffc531 42%, #f0a21c 70%, #c97a0c 100%);
}

.rico-page-home .home-hero__brush {
	width: calc(440 * var(--u));
	height: calc(31 * var(--u));
	margin: calc(10 * var(--u)) 0 0 calc(14 * var(--u));
	fill: var(--red-vivid);
}

.rico-page-home .home-hero__lede {
	max-width: calc(505 * var(--u));
	margin-top: calc(18 * var(--u));
	font-size: max(14px, calc(18.5 * var(--u)));
	line-height: calc(26 * var(--u));
	color: #f2efe9;
	text-shadow: 0 1px 3px rgb(0 0 0 / 0.6);
}

.rico-page-home .home-hero__actions {
	display: flex;
	gap: calc(17 * var(--u));
	margin-top: calc(22 * var(--u));
}
.rico-page-home .btn--hero {
	width: calc(272 * var(--u));
	min-height: max(44px, calc(54 * var(--u)));
	padding: 0;
	gap: calc(16 * var(--u));
	font-size: max(15px, calc(19 * var(--u)));
	font-weight: 600;
	border-radius: 3px;
}
.rico-page-home .btn-phone {
	display: inline-flex;
	align-items: center;
	gap: calc(14 * var(--u));
	width: calc(206 * var(--u));
	min-height: max(44px, calc(54 * var(--u)));
	padding: 0 calc(18 * var(--u));
	border: max(1px, calc(1.5 * var(--u))) solid var(--gold);
	border-radius: 3px;
	background: rgb(5 5 5 / 0.78);
	transition: background-color 0.2s;
}
.rico-page-home .btn-phone:hover {
	background: #1c1609;
}
.rico-page-home .btn-phone .rico-icon {
	font-size: calc(27 * var(--u));
	color: var(--gold);
}
.rico-page-home .btn-phone__text {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}
.rico-page-home .btn-phone__text strong {
	font-size: max(15px, calc(17.5 * var(--u)));
	white-space: nowrap;
	letter-spacing: calc(0.2 * var(--u));
}
.rico-page-home .btn-phone__text small {
	font-size: max(11px, calc(12 * var(--u)));
	color: #e9e5de;
}

.rico-page-home .home-hero__note {
	display: flex;
	align-items: center;
	gap: calc(11 * var(--u));
	margin-top: calc(15 * var(--u));
	font-size: max(12px, calc(12.6 * var(--u)));
	color: #ece8e1;
}
.rico-page-home .home-hero__note .rico-icon {
	font-size: calc(18 * var(--u));
	color: var(--gold);
}

/* ---------- Service paths (desktop) ---------- */
.rico-page-home .service-paths {
	display: grid;
	grid-template-columns: 373fr 378fr 379fr;
	gap: calc(14 * var(--u));
	margin: calc(28 * var(--u)) calc(11 * var(--u)) 0 calc(29 * var(--u));
}
.rico-page-home .path-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: calc(17 * var(--u));
	height: calc(106 * var(--u));
	padding-left: calc(15 * var(--u));
	overflow: hidden;
	border: 1px solid #b58d34;
	border-radius: 5px;
	background: linear-gradient(100deg, #070708 55%, #0d0d0e);
	transition: border-color 0.2s, box-shadow 0.2s;
}
.rico-page-home .path-card:hover {
	border-color: var(--gold-bright);
	box-shadow: 0 0 0 1px var(--gold-bright) inset;
}
.rico-page-home .path-card__icon {
	position: relative;
	z-index: 1;
	align-self: flex-start;
	margin-top: calc(17 * var(--u));
	font-size: calc(50 * var(--u));
	color: var(--red-vivid);
}
.rico-page-home .path-card__text {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	max-width: calc(150 * var(--u));
	font-size: max(11px, calc(14.2 * var(--u)));
	line-height: calc(18.5 * var(--u));
	color: #e9e5de;
	text-shadow: 0 1px 2px #000;
}
.rico-page-home .path-card__text strong {
	margin-bottom: calc(5 * var(--u));
	font: 600 calc(22.5 * var(--u)) / 1 var(--hero);
	letter-spacing: calc(0.3 * var(--u));
	text-transform: uppercase;
	white-space: nowrap;
	color: #fff;
}
.rico-page-home .path-card__thumb {
	position: absolute;
	top: 0;
	right: 0;
	width: auto;
	height: 100%;
	max-width: 44%;
	object-fit: cover;
	object-position: left center;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30%);
	mask-image: linear-gradient(90deg, transparent 0, #000 30%);
}
.rico-page-home .path-card__chevron {
	position: absolute;
	right: calc(12 * var(--u));
	top: 50%;
	z-index: 1;
	margin-top: calc(1 * var(--u));
	font-size: calc(22 * var(--u));
	color: var(--gold);
	filter: drop-shadow(0 1px 2px #000);
}

/* ---------- How it works band (desktop) ---------- */
.rico-page-home .process {
	display: flex;
	align-items: flex-start;
	height: calc(115 * var(--u));
	margin-top: 0;
	padding: calc(28 * var(--u)) 0 0 calc(60 * var(--u));
}
.rico-page-home .process__title {
	display: flex;
	align-items: center;
	gap: calc(14 * var(--u));
	flex: none;
	margin-top: calc(12 * var(--u));
	font: 600 calc(23 * var(--u)) / 1 var(--hero);
	letter-spacing: calc(1.2 * var(--u));
	text-transform: uppercase;
	color: var(--gold);
}
.rico-page-home .process__title::after {
	content: "";
	width: calc(47 * var(--u));
	height: max(2px, calc(3 * var(--u)));
	background: var(--red-vivid);
}
.rico-page-home .process__steps {
	display: grid;
	grid-template-columns: calc(283 * var(--u)) calc(307 * var(--u)) 1fr;
	margin-left: calc(14 * var(--u));
	flex: 1;
	counter-reset: none;
}
.rico-page-home .process__steps li {
	display: flex;
	align-items: flex-start;
	gap: calc(23 * var(--u));
}
.rico-page-home .process__num {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: calc(45 * var(--u));
	height: calc(45 * var(--u));
	margin-top: calc(-3 * var(--u));
	border: max(1.5px, calc(2.5 * var(--u))) solid #f2c418;
	border-radius: 50%;
	background: rgb(0 0 0 / 0.45);
	font: 700 calc(19 * var(--u)) / 1 var(--sans);
	color: #fff;
}
.rico-page-home .process__text {
	display: flex;
	flex-direction: column;
	font-size: max(11px, calc(12.8 * var(--u)));
	line-height: calc(18.5 * var(--u));
	color: #ece8e1;
}
.rico-page-home .process__line {
	display: block;
}
.rico-page-home .process__text strong {
	margin-bottom: calc(5 * var(--u));
	font: 600 calc(18.3 * var(--u)) / 1 var(--hero);
	color: #fff;
}

/* ---------- Continuation (prototype .home-continuation, unchanged) ---------- */
.rico-page-home .home-continuation {
	border-left: 1px solid var(--frame-line);
	border-right: 1px solid var(--frame-line);
}
.rico-page-home .coverage-strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 55px;
	padding: 46px 58px;
	background: linear-gradient(110deg, #0a0b0b 15%, #15120b 100%);
	border-top: 1px solid #524321;
	border-bottom: 1px solid #53411b;
}
.rico-page-home .coverage-strip h2 {
	margin: 4px 0 12px;
	font: 700 38px/1.04 var(--display);
	letter-spacing: 0.1px;
	text-transform: uppercase;
}
.rico-page-home .coverage-strip p:not(.eyebrow) {
	max-width: 600px;
	color: #d2cec6;
}
.rico-page-home .questions-band {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 35px;
	padding: 35px 58px 40px;
	background: #161515;
}
.rico-page-home .questions-band h2 {
	margin: 6px 0;
	font: 700 31px/1.08 var(--display);
}
.rico-page-home .faqs,
.rico-page-home .faqs .et_pb_text_inner { /* CP-27: in the Divi layout the details sit in the text module */
	display: grid;
	gap: 10px;
}
.rico-page-home .faqs details {
	padding: 7px 0;
	border-bottom: 1px solid #514a3e;
}
.rico-page-home .faqs summary {
	position: relative;
	padding: 6px 23px 9px 0;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.rico-page-home .faqs summary::-webkit-details-marker {
	display: none;
}
.rico-page-home .faqs summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	font-size: 22px;
	font-weight: 400;
	color: var(--gold);
}
.rico-page-home .faqs details[open] summary::after {
	content: "−";
}
.rico-page-home .faqs details p {
	margin: 1px 0 13px;
	font-size: 14px;
	color: #c5beb4;
}

/* Footer on Home sits outside the frame, as approved. */

/* ---------- Mobile composition (≤880px) ---------- */
@media (max-width: 880px) {
	.rico-page-home {
		--frame-inset: 10px;
		--pad: 15px;
	}
	.rico-page-home .site-header--home .header-inner {
		container-type: normal;
		aspect-ratio: auto;
		height: 96px;
		margin: 0 var(--frame-inset);
		padding: 20px 10px 0 0;
		border-radius: 18px 18px 0 0;
		background: #050505;
	}
	.rico-page-home .site-header--home .brand img {
		top: 2px;
		left: 22px;
		width: 118px;
	}
	.rico-page-home .site-header--home .header-actions {
		align-self: center;
		padding-top: 0;
		padding-right: 0;
		gap: 31px;
	}
	.rico-page-home .site-header--home .call-btn {
		width: 52px;
		min-width: 0;
		min-height: 49px;
		border-radius: 4px;
	}
	.rico-page-home .site-header--home .call-btn .rico-icon {
		font-size: 26px;
	}
	.rico-page-home .nav-toggle {
		width: 44px;
		font-size: 34px;
	}
	.rico-page-home .mobile-nav:not([hidden]) {
		margin: 0 var(--frame-inset);
		border: 1px solid var(--gold);
		border-top: 1px solid #32302d;
	}

	.rico-page-home .home-frame {
		max-width: none;
	}
	.rico-page-home .home-hero {
		container-type: normal;
		overflow: visible;
		/* Black only inside the frame lines; the page background shows outside them. */
		background: linear-gradient(#050505, #050505) center top / calc(100% - 2 * var(--frame-inset)) 100% no-repeat;
		border: 0;
		border-radius: 0;
	}
	.rico-page-home .home-hero__media {
		inset: 0 calc(var(--frame-inset) + 1px) auto;
		height: 292px;
		overflow: hidden;
		border-radius: 16px 0 0 0;
	}
	.rico-page-home .home-hero__media::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(180deg, rgb(5 5 5 / 0) 44%, rgb(5 5 5 / 0.88) 58%, #050505 70%),
			linear-gradient(90deg, rgb(5 5 5 / 0.3) 0, rgb(5 5 5 / 0) 30%);
	}
	.rico-page-home .home-hero__media img {
		width: 108%;
		max-width: none;
		height: calc(100% + 48px);
		margin: -48px 0 0 -4%;
		object-fit: cover;
		object-position: 0 35%;
		filter: saturate(1.3) contrast(1.08); /* approved mobile render is warmer than the source photo */
	}
	.rico-page-home .home-hero__content,
	.rico-page-home .service-paths {
		margin: 0 var(--frame-inset);
		border-left: 1px solid var(--frame-line);
		border-right: 1px solid var(--frame-line);
		background: #050505;
	}
	.rico-page-home .home-hero__content {
		padding: 165px var(--pad) 0;
		background: transparent;
	}
	.rico-page-home .service-paths {
		background: #050505;
	}
	.rico-page-home .home-hero__eyebrow {
		margin-left: 59px;
		font-size: 15px;
		line-height: 21px;
		letter-spacing: 0.16em;
	}
	.rico-page-home .home-hero__eyebrow-rule {
		left: -59px;
		top: 22px;
		width: 46px;
		height: 3px;
	}
	.rico-page-home .home-hero__title {
		margin-top: 4px;
		filter: drop-shadow(0 3px 2px rgb(0 0 0 / 0.85));
	}
	.rico-page-home .home-hero__title-line--silver {
		font-size: clamp(40px, 16.1vw, 64px);
		line-height: 0.92;
		letter-spacing: 0;
	}
	.rico-page-home .home-hero__title-line--gold {
		font-size: clamp(30px, 11.6vw, 47px);
		line-height: 0.96;
		letter-spacing: -0.045em;
	}
	.rico-page-home .home-hero__brush {
		width: 74%;
		max-width: 300px;
		height: 22px;
		margin: 6px 0 0 16px;
	}
	.rico-page-home .home-hero__lede {
		max-width: none;
		margin: 18px -14px 0 0; /* the approved copy runs slightly past the buttons */
		font-size: 16.4px;
		line-height: 22px;
	}
	.rico-page-home .home-hero__actions {
		flex-direction: column;
		gap: 8px;
		margin-top: 15px;
	}
	.rico-page-home .btn--hero,
	.rico-page-home .btn-phone {
		width: 100%;
		min-height: 47px;
		justify-content: center;
	}
	.rico-page-home .btn--hero {
		font-size: 17.5px;
		gap: 16px;
	}
	.rico-page-home .btn-phone {
		gap: 14px;
		border-width: 1px;
	}
	.rico-page-home .btn-phone .rico-icon {
		font-size: 26px;
	}
	.rico-page-home .btn-phone__text strong {
		font-size: 17px;
	}
	.rico-page-home .btn-phone__text small {
		font-size: 11.5px;
	}
	.rico-page-home .home-hero__note {
		align-items: flex-start;
		gap: 12px;
		margin-top: 16px;
		padding: 0 4px;
		font-size: 13px;
		line-height: 17px;
	}
	.rico-page-home .home-hero__note .rico-icon {
		font-size: 17px;
	}
	.rico-page-home .home-hero__note span {
		max-width: 235px;
	}

	.rico-page-home .service-paths {
		grid-template-columns: 1fr;
		gap: 5px;
		padding: 16px var(--pad) 18px;
	}
	.rico-page-home .path-card {
		height: 67px;
		gap: 15px;
		padding-left: 10px;
	}
	.rico-page-home .path-card__icon {
		align-self: center;
		margin-top: 0;
		font-size: 46px;
	}
	.rico-page-home .path-card__text {
		max-width: 132px;
		font-size: 12px;
		line-height: 15px;
	}
	.rico-page-home .path-card__text strong {
		margin-bottom: 3px;
		font-size: 18.5px;
	}
	.rico-page-home .path-card__thumb {
		width: 44%;
		max-width: none;
	}
	.rico-page-home .path-card__chevron {
		right: 10px;
		font-size: 22px;
		margin-top: 0;
	}

	/* How it works becomes the approved mobile tail (prototype .tail-steps). */
	.rico-page-home .process {
		display: block;
		height: auto;
		margin: 0;
		padding: 23px 20px 23px;
		background: #0c0b0a;
		border-bottom: 1px solid #8a691e;
	}
	.rico-page-home .process__title {
		display: block;
		margin: 0 0 12px;
		padding-top: 20px;
		border-top: 1px solid #7a5c1b;
		font: 700 23px/1.55 var(--display);
		letter-spacing: 0;
	}
	.rico-page-home .process__title::after {
		content: none;
	}
	.rico-page-home .process__steps {
		display: grid;
		grid-template-columns: 1fr;
		gap: 11px;
		margin: 0;
	}
	.rico-page-home .process__steps li {
		display: grid;
		grid-template-columns: 29px 1fr;
		gap: 10px;
	}
	.rico-page-home .process__num {
		width: 27px;
		height: 27px;
		margin: 0;
		border-width: 1px;
		border-color: var(--gold);
		background: none;
		font: 400 15px/1 var(--sans);
	}
	.rico-page-home .process__text {
		font-size: 11px;
		line-height: 1.55;
		color: #bfb4a4;
	}
	.rico-page-home .process__text strong {
		margin: 0;
		font: 700 12px/1.55 var(--sans);
	}

	.rico-page-home .home-continuation {
		border: 0;
	}
	.rico-page-home .coverage-strip {
		padding: 40px 25px;
	}
	.rico-page-home .questions-band {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 34px 25px;
	}
}

/* Tablet (611–880px): keep the approved mobile stack, but stop lines and buttons
   stretching across the full width. */
@media (min-width: 611px) and (max-width: 880px) {
	.rico-page-home .home-hero__media {
		height: 330px;
	}
	.rico-page-home .home-hero__content {
		padding-top: 200px;
	}
	.rico-page-home .home-hero__lede {
		max-width: 560px;
	}
	.rico-page-home .home-hero__actions {
		flex-direction: row;
	}
	.rico-page-home .btn--hero,
	.rico-page-home .btn-phone {
		width: auto;
		min-width: 250px;
		padding: 0 24px;
	}
}

@media (max-width: 610px) {
	.rico-page-home .coverage-strip {
		display: block;
		padding: 33px 21px;
	}
	.rico-page-home .coverage-strip h2 {
		font-size: 31px;
	}
	.rico-page-home .coverage-strip .outline-btn {
		margin-top: 20px;
	}
	.rico-page-home .questions-band {
		padding: 33px 22px;
	}
}

@media (max-width: 370px) {
	.rico-page-home {
		--frame-inset: 6px;
		--pad: 12px;
	}
	.rico-page-home .site-header--home .header-actions {
		gap: 22px;
	}
	.rico-page-home .home-hero__media {
		height: 215px;
	}
	.rico-page-home .home-hero__content {
		padding-top: 140px;
	}
	.rico-page-home .home-hero__eyebrow {
		margin-left: 50px;
		font-size: 13.5px;
	}
	.rico-page-home .home-hero__eyebrow-rule {
		left: -50px;
		width: 38px;
	}
	.rico-page-home .home-hero__lede {
		font-size: 15px;
		line-height: 21px;
	}
	.rico-page-home .path-card__text {
		font-size: 11px;
	}
	.rico-page-home .path-card__text strong {
		font-size: 17px;
	}
	.rico-page-home .path-card__thumb {
		width: 36%;
	}
}

/* Forced colours: drop the clipped gradients so the headline stays visible. */
@media (forced-colors: active) {
	.rico-page-home .home-hero__title-line {
		background: none;
		-webkit-text-fill-color: CanvasText;
		color: CanvasText;
	}
}

/* CP-23: header language switch inside the scaled Home frame (desktop) and the mobile frame. */
.rico-page-home .site-header--home .lang-toggle__link {
	min-width: max(34px, calc(40 * var(--u)));
	min-height: max(32px, calc(38 * var(--u)));
	padding: 0 calc(9 * var(--u));
	font-size: max(11px, calc(12.5 * var(--u)));
}
@media (max-width: 880px) {
	.rico-page-home .site-header--home .header-actions {
		gap: 16px;
	}
	.rico-page-home .site-header--home .lang-toggle__link {
		min-width: 40px;
		min-height: 44px;
		padding: 0 9px;
		font-size: 13px;
	}
}
@media (max-width: 370px) {
	.rico-page-home .site-header--home .header-actions {
		gap: 8px;
	}
}

/* CP-23: Google Reviews band (verified rating + link) before the final call to action. */
.rico-page-home .reviews-band {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 36px;
	padding: 30px 58px;
	background: #0d0c0a;
	border-top: 1px solid #524321;
}
.rico-page-home .reviews-band::before {
	content: "";
	position: absolute;
	left: 0;
	top: 24px;
	bottom: 24px;
	width: 4px;
	background: var(--red);
}
.rico-page-home .reviews-band__score {
	display: grid;
	justify-items: center;
	min-width: 112px;
	padding-right: 34px;
	border-right: 1px solid #3a3122;
}
.rico-page-home .reviews-band__number {
	margin: 0;
	color: var(--gold);
	font: italic 900 64px/0.9 var(--display);
	letter-spacing: -1px;
}
.rico-page-home .reviews-band__stars {
	position: relative;
	display: inline-block;
	margin-top: 8px;
	font-size: 19px;
	line-height: 1;
	letter-spacing: 3px;
	white-space: nowrap;
}
.rico-page-home .reviews-band__stars-base {
	color: #4d4230;
}
.rico-page-home .reviews-band__stars-fill {
	position: absolute;
	top: 0;
	left: 0;
	width: var(--rating, 0%);
	overflow: hidden;
	color: var(--gold);
}
.rico-page-home .reviews-band__stars--plain {
	color: var(--gold);
	font-size: 24px;
}
.rico-page-home .reviews-band__copy h2 {
	margin: 4px 0 8px;
	color: #fff;
	font: 700 28px/1.08 var(--display);
	text-transform: uppercase;
}
.rico-page-home .reviews-band__copy p:not(.eyebrow) {
	max-width: 560px;
	margin: 0;
	color: #cfc9be;
	font-size: 14px;
}
@media (max-width: 880px) {
	.rico-page-home .reviews-band {
		grid-template-columns: auto 1fr;
		gap: 22px 26px;
		padding: 32px 25px;
	}
	.rico-page-home .reviews-band__link {
		grid-column: 1 / -1;
		justify-self: start;
	}
}
@media (max-width: 610px) {
	.rico-page-home .reviews-band {
		grid-template-columns: 1fr;
		padding: 30px 21px;
	}
	.rico-page-home .reviews-band::before {
		top: 30px;
		bottom: auto;
		height: 56px;
	}
	.rico-page-home .reviews-band__score {
		display: flex;
		align-items: baseline;
		gap: 14px;
		min-width: 0;
		padding: 0;
		border: 0;
	}
	.rico-page-home .reviews-band__number {
		font-size: 54px;
	}
	.rico-page-home .reviews-band__copy h2 {
		font-size: 25px;
	}
	.rico-page-home .reviews-band__link {
		width: 100%;
		white-space: normal;
	}
}

/* CP-27 native Divi modules (EN Home). The brush is a Divider drawn with the approved brush
   path as a mask (assets/img/hero-brush.svg = the inline SVG's path), so the Builder's text
   editor never holds an inline SVG; in "How it works" the steps list's Text module takes the
   list's place in the flex row. */
.rico-page-home .rico-divi .et_pb_divider.home-hero__brush {
	background: var(--red-vivid);
	-webkit-mask: url("../img/hero-brush.svg") 0 0 / 100% 100% no-repeat;
	mask: url("../img/hero-brush.svg") 0 0 / 100% 100% no-repeat;
}
.rico-page-home .rico-divi .process > .et_pb_text {
	flex: 1;
}
/* The phone button sits in its own Text module inside the actions row: blockified as when it
   was a direct flex item. */
.rico-page-home .rico-divi .home-hero__actions .btn-phone {
	display: flex;
}
/* Divi zeroes the bottom margin of a module inside a flex group (0,4,0); the stacked
   "How it works" title keeps its approved 12px. */
@media (max-width: 880px) {
	.rico-page-home .rico-divi .et_pb_section .et_pb_row .et_pb_module.process__title {
		margin-bottom: 12px;
	}
}
