.referral-program-page {
	--rp-ink: #0f2430;
	--rp-muted: #536473;
	--rp-accent: #58a43e;
	--rp-allo-green: #4aa041;
	--rp-allo-green-dark: #358230;
	--rp-panel: #ffffff;
	--rp-surface: #f4f8fb;
	--rp-border: rgba(74, 160, 65, 0.38);
	--rp-shadow: 0 10px 28px rgba(0, 0, 0, 0.05);
	background: #ffffff;
	color: var(--rp-ink);
	padding-top: 0px;
	font-family: "Red Hat Display", sans-serif;
}

.referral-program-page .rp-banner {
	background: linear-gradient(130deg, #2a3137 0%, #2a3137 45%, #58a43e 100%);
	padding: 3.25rem 0;
	color: #ffffff;
}

.referral-program-page .rp-hero {
	max-width: 54rem;
}

.referral-program-page .rp-shell {
	padding: 2rem 0 4rem;
	background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#edf1ee));
	background: linear-gradient(180deg, #ffffff 0%, #edf1ee 100%);
}

body.rp-invalid-modal-open,
body.rp-group-gate-open {
	overflow: hidden;
}

.rp-invalid-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding: 1.5rem;
}

.rp-invalid-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 36, 48, 0.64);
	backdrop-filter: blur(4px);
}

.rp-invalid-modal__dialog {
	position: relative;
	width: min(100%, 32rem);
	padding: 1.75rem;
	border-radius: 24px;
	background: #ffffff;
	border: 2px solid rgba(74, 160, 65, 0.22);
	-webkit-box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
	        box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
	text-align: center;
}

.rp-invalid-modal__title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.6rem, 4vw, 2.1rem);
	line-height: 1.15;
	color: var(--rp-ink);
}

.rp-invalid-modal__text {
	margin: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--rp-muted);
}

.rp-invalid-modal__form-wrap {
	margin-top: 1.35rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(15, 36, 48, 0.08);
	text-align: left;
}

.rp-invalid-modal__form-title {
	margin: 0 0 0.4rem;
	font-size: 1.1rem;
	color: var(--rp-ink);
}

.rp-invalid-modal__form-copy {
	margin: 0 0 0.85rem;
	font-size: 0.96rem;
	line-height: 1.5;
	color: var(--rp-muted);
}

.rp-group-gate-modal {
	position: fixed;
	inset: 0;
	z-index: 9998;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding: 1.5rem;
}

.rp-group-gate-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 36, 48, 0.46);
	backdrop-filter: blur(4px);
}

.rp-group-gate-modal__dialog {
	position: relative;
	width: min(100%, 34rem);
	padding: 1.85rem;
	border-radius: 26px;
	background: #ffffff;
	border: 2px solid rgba(74, 160, 65, 0.24);
	-webkit-box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
	        box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
	text-align: left;
}

.rp-group-gate-modal__title {
	margin: 0 0 0.7rem;
	font-size: clamp(1.8rem, 4vw, 2.35rem);
	line-height: 1.08;
	color: #0f2430;
}

.rp-group-gate-modal__text {
	margin: 0 0 1rem;
	font-size: 1rem;
	line-height: 1.55;
	color: #536473;
}

.rp-group-gate-modal__form {
	margin-top: 0;
}

.rp-group-gate-modal .rp-form-message {
	margin: 0.65rem 0 0;
	min-height: 1.25rem;
	font-size: 0.92rem;
	font-weight: 600;
	color: #1f6b24;
}

.rp-group-gate-modal .rp-form-message.is-error {
	color: #b22f2f;
}

.rp-group-gate-modal .rp-hs-form .hs-form-field {
	margin-bottom: 0.85rem;
}

.rp-group-gate-modal .rp-hs-form .hs-form-field > label,
.rp-group-gate-modal .rp-hs-form .hs-richtext,
.rp-group-gate-modal .rp-hs-form .legal-consent-container {
	font-size: 0.95rem;
	color: #0f2430;
}

.rp-group-gate-modal .rp-hs-form .hs-input:not([type="checkbox"]):not([type="radio"]),
.rp-group-gate-modal .rp-hs-form input[type="text"],
.rp-group-gate-modal .rp-hs-form input[type="email"],
.rp-group-gate-modal .rp-hs-form input[type="tel"],
.rp-group-gate-modal .rp-hs-form select,
.rp-group-gate-modal .rp-hs-form textarea {
	width: 100%;
	border: 1px solid rgba(74, 160, 65, 0.3);
	background: #fff;
	border-radius: 12px;
	padding: 0.72rem 0.82rem;
}

.rp-group-gate-modal .rp-hs-form .actions {
	margin-top: 0.8rem;
}

.rp-group-gate-modal .rp-hs-form .submitted-message {
	font-weight: 600;
	color: #1f6b24;
}

.rp-group-gate-modal__skip {
	display: inline-block;
	margin-top: 0.95rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: #536473;
	font-size: 0.95rem;
	text-decoration: underline;
	text-underline-offset: 0.16em;
	-webkit-tap-highlight-color: transparent;
}

.rp-group-gate-modal__skip:hover,
.rp-group-gate-modal__skip:focus-visible {
	color: #0f2430;
	outline: none;
}

.rp-invalid-modal .rp-hs-form {
	margin-top: 0;
}

.rp-invalid-modal .rp-hs-form .hs-form-field {
	margin-bottom: 0.95rem;
}

.rp-invalid-modal .rp-hs-form .hs-form-field > label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--rp-ink);
}

.rp-invalid-modal .rp-hs-form .hs-input:not([type="checkbox"]):not([type="radio"]),
.rp-invalid-modal .rp-hs-form input[type="text"],
.rp-invalid-modal .rp-hs-form input[type="email"],
.rp-invalid-modal .rp-hs-form input[type="tel"],
.rp-invalid-modal .rp-hs-form select,
.rp-invalid-modal .rp-hs-form textarea {
	width: 100%;
	min-height: 52px;
	border: 1.5px solid rgba(15, 36, 48, 0.14);
	background: #f9fbfd;
	border-radius: 14px;
	padding: 0.85rem 0.95rem;
	font-size: 1rem;
	color: var(--rp-ink);
	-webkit-box-shadow: inset 0 1px 2px rgba(15, 36, 48, 0.04);
	        box-shadow: inset 0 1px 2px rgba(15, 36, 48, 0.04);
}

.rp-invalid-modal .rp-hs-form .hs-input:focus,
.rp-invalid-modal .rp-hs-form input:focus,
.rp-invalid-modal .rp-hs-form select:focus,
.rp-invalid-modal .rp-hs-form textarea:focus {
	outline: none;
	border-color: rgba(74, 160, 65, 0.62);
	-webkit-box-shadow: 0 0 0 4px rgba(74, 160, 65, 0.12);
	        box-shadow: 0 0 0 4px rgba(74, 160, 65, 0.12);
	background: #ffffff;
}

.rp-invalid-modal .rp-hs-form .actions {
	margin-top: 0.6rem;
}

.rp-invalid-modal .rp-hs-form .actions input[type="submit"],
.rp-invalid-modal .rp-hs-form .actions button[type="submit"] {
	min-width: 210px;
	min-height: 54px;
	padding: 0.85rem 1.5rem;
	border: 0;
	border-radius: 999px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	-webkit-box-shadow: 0 10px 24px rgba(74, 160, 65, 0.18);
	        box-shadow: 0 10px 24px rgba(74, 160, 65, 0.18);
}

.rp-invalid-modal .rp-hs-form .submitted-message {
	padding: 0.85rem 1rem;
	border-radius: 14px;
	background: #f2fbef;
	border: 1px solid rgba(74, 160, 65, 0.22);
}

.rp-invalid-modal .rp-form-message {
	min-height: 1rem;
	margin-top: 0.55rem;
}

.referral-program-page .rp-eyebrow {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.88);
	margin-bottom: 1rem;
}

.referral-program-page .rp-title {
	margin-bottom: 0.8rem;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.1;
	color: #ffffff;
}

.referral-program-page .rp-lede {
	font-size: 1.08rem;
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 0;
}

.referral-program-page .rp-grid {
	display: grid;
	gap: 1.1rem;
}

.referral-program-page .rp-grid-intro,
.referral-program-page .rp-grid-share,
.referral-program-page .rp-grid-friend {
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.referral-program-page .rp-grid-share-chooser {
	grid-template-columns: minmax(280px, 1fr) minmax(0, 2fr);
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.referral-program-page .rp-card {
	background: var(--rp-panel);
	border: 2px solid var(--rp-border);
	border-radius: 24px;
	-webkit-box-shadow: var(--rp-shadow);
	        box-shadow: var(--rp-shadow);
	padding: 1.35rem;
	-webkit-transition: border-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
	transition: border-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}

.referral-program-page .rp-card:hover {
	border-color: rgba(74, 160, 65, 0.6);
}

.referral-program-page .rp-card h2 {
	margin-bottom: 0.85rem;
	font-size: 1.5rem;
	color: #4f4f4f;
}

.referral-program-page .rp-card-title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0.55rem;
}

.referral-program-page .rp-card-title i {
	color: var(--rp-primary);
	font-size: 1rem;
	line-height: 1;
}

.referral-program-page .rp-share-stack {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1rem;
	height: 100%;
}

.referral-program-page .rp-card-refresher {
	height: 100%;
}

.referral-program-page .rp-share-panel {
	padding: 0;
	overflow: hidden;
}

.referral-program-page .rp-share-panel.is-expanded {
	border-color: rgba(74, 160, 65, 0.55);
	-webkit-box-shadow: 0 18px 45px rgba(86, 131, 84, 0.16);
	        box-shadow: 0 18px 45px rgba(86, 131, 84, 0.16);
}

.referral-program-page .rp-share-toggle {
	width: 100%;
	border: 0;
	background: transparent;
	padding: 1.35rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 1rem;
	text-align: left;
	color: inherit;
	-webkit-tap-highlight-color: transparent;
}

.referral-program-page .rp-share-toggle:focus-visible {
	outline: none;
}

.referral-program-page .rp-share-toggle:focus,
.referral-program-page .rp-share-toggle:active {
	outline: none;
	-webkit-box-shadow: none;
	        box-shadow: none;
}

.referral-program-page .rp-share-toggle__copy {
	display: grid;
	gap: 0.45rem;
}

.referral-program-page .rp-share-toggle__hint {
	color: var(--rp-muted);
	font-size: 1rem;
	line-height: 1.5;
}

.referral-program-page .rp-share-toggle__icon {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 999px;
	border: 1px solid rgba(74, 160, 65, 0.2);
	background: rgba(74, 160, 65, 0.08);
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	color: var(--rp-primary);
	-webkit-transition: -webkit-transform 0.2s ease;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.referral-program-page .rp-share-panel.is-expanded .rp-share-toggle__icon {
	-webkit-transform: rotate(180deg);
	        transform: rotate(180deg);
}

.referral-program-page .rp-share-panel__body {
	padding: 0 1.35rem 1.35rem;
}

.referral-program-page .rp-share-subtitle {
	margin: 1.1rem 0 0.85rem;
	font-size: 1.15rem;
	color: #4f4f4f;
}

.referral-program-page .rp-card-full {
	margin-top: 1.1rem;
}

.referral-program-page .rp-muted {
	color: var(--rp-muted);
}

.referral-program-page .rp-label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
}

.referral-program-page .rp-code-wrap,
.referral-program-page .rp-link-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.65rem;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin-bottom: 0.85rem;
}

.referral-program-page code {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: 0.5rem 0.75rem;
	border-radius: 10px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-border);
	font-size: 0.95rem;
}

.referral-program-page .rp-link-wrap input {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	min-width: 220px;
	border: 1px solid var(--rp-border);
	background: #fff;
	border-radius: 10px;
	padding: 0.65rem 0.8rem;
}

.referral-program-page .rp-list {
	margin: 0;
	padding-left: 1.2rem;
}

.referral-program-page .rp-list li + li {
	margin-top: 0.6rem;
}

.referral-program-page .rp-step-list {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: rp-step;
}

.referral-program-page .rp-step-list li {
	counter-increment: rp-step;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0.9rem;
	margin: 0;
	padding: 0.9rem 0;
}

.referral-program-page .rp-step-list li + li {
	margin-top: 0;
	border-top: 1px solid rgba(53, 130, 48, 0.45);
}

.referral-program-page .rp-step-list li::before {
	content: counter(rp-step);
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 52px;
	        flex: 0 0 52px;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #58a43e;
	color: #ffffff;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.referral-program-page .rp-form label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.45rem;
}

.referral-program-page .rp-form-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.65rem;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.referral-program-page .rp-form input[type="email"] {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	min-width: 220px;
	border: 1px solid var(--rp-border);
	background: #fff;
	border-radius: 10px;
	padding: 0.72rem 0.82rem;
}

.referral-program-page .rp-share-actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
}

.referral-program-page .rp-share-btn {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0.5rem;
	text-align: center;
	white-space: nowrap;
	font-size: 14px;
}

.referral-program-page .rp-tracking-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

.referral-program-page .rp-tracking-groups--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.referral-program-page .rp-tracking-group {
	display: grid;
	gap: 1rem;
	-ms-flex-line-pack: start;
	    align-content: start;
	padding: 1em 0;
}

.referral-program-page .rp-tracking-stat {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.35rem;
	padding: 1rem;
	border-radius: 18px;
	border: 1px solid var(--rp-border);
	background: #f8fbf7;
}

.referral-program-page .rp-tracking-stat--pending {
	border-color: rgba(215, 170, 52, 0.45);
	background: #fff8e7;
}

.referral-program-page .rp-tracking-stat--order-submitted {
	border-color: rgba(15, 36, 48, 0.12);
	background: #ffffff;
}

.referral-program-page .rp-tracking-stat--installed {
	border-color: rgba(215, 170, 52, 0.45);
	background: #fff8e7;
}

.referral-program-page .rp-tracking-stat--credited {
	border-color: rgba(74, 160, 65, 0.38);
	background: #f2fbef;
}

.referral-program-page .rp-tracking-stat__value {
	font-size: clamp(1.9rem, 4vw, 2.6rem);
	font-weight: 700;
	line-height: 1;
	color: var(--rp-allo-green-dark);
}

.referral-program-page .rp-tracking-stat--pending .rp-tracking-stat__value {
	color: #b78311;
}

.referral-program-page .rp-tracking-stat--order-submitted .rp-tracking-stat__value {
	color: var(--rp-ink);
}

.referral-program-page .rp-tracking-stat--installed .rp-tracking-stat__value {
	color: #b78311;
}

.referral-program-page .rp-tracking-stat__label {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--rp-muted);
}

.referral-program-page .rp-tracking-stat__copy {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--rp-muted);
}

.referral-program-page .rp-tracking-column {
	padding: 1rem;
	border-radius: 18px;
	background: #fff;
	border: 1px solid rgba(15, 36, 48, 0.08);
}

.referral-program-page .rp-tracking-column--pending {
	background: #fffdf5;
	border-color: rgba(215, 170, 52, 0.28);
}

.referral-program-page .rp-tracking-column--order-submitted {
	background: #ffffff;
	border-color: rgba(15, 36, 48, 0.08);
}

.referral-program-page .rp-tracking-column--installed {
	background: #fffdf5;
	border-color: rgba(215, 170, 52, 0.28);
}

.referral-program-page .rp-tracking-column--credited {
	background: #f6fcf4;
	border-color: rgba(74, 160, 65, 0.22);
}

@media (max-width: 991px) {
	.referral-program-page .rp-tracking-groups {
		grid-template-columns: 1fr;
	}
}

.referral-program-page .rp-tracking-heading {
	margin: 0 0 0.75rem;
	font-size: 1.05rem;
	color: var(--rp-ink);
}

.referral-program-page .rp-tracking-timeline {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.7rem;
}

.referral-program-page .rp-tracking-timeline__item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 0.9rem;
	padding: 0.85rem 0.95rem;
	border-radius: 16px;
	background: #fff;
	border: 1px solid rgba(74, 160, 65, 0.18);
}

.referral-program-page .rp-tracking-timeline__item--pending {
	border-color: rgba(215, 170, 52, 0.28);
	background: #fffdfa;
}

.referral-program-page .rp-tracking-timeline__item--order-submitted {
	border-color: rgba(15, 36, 48, 0.08);
	background: #ffffff;
}

.referral-program-page .rp-tracking-timeline__item--installed {
	border-color: rgba(215, 170, 52, 0.28);
	background: #fffdfa;
}

.referral-program-page .rp-tracking-timeline__item--credited {
	border-color: rgba(74, 160, 65, 0.2);
	background: #ffffff;
}

.referral-program-page .rp-tracking-timeline__badge {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.referral-program-page .rp-tracking-timeline__badge--pending {
	background: rgba(215, 170, 52, 0.16);
	color: #9a6c08;
}

.referral-program-page .rp-tracking-timeline__badge--order-submitted {
	background: rgba(15, 36, 48, 0.07);
	color: var(--rp-ink);
}

.referral-program-page .rp-tracking-timeline__badge--installed {
	background: rgba(215, 170, 52, 0.16);
	color: #9a6c08;
}

.referral-program-page .rp-tracking-timeline__badge--credited {
	background: rgba(74, 160, 65, 0.14);
	color: var(--rp-allo-green-dark);
}

.referral-program-page .rp-tracking-timeline__date {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--rp-muted);
	text-align: right;
}

.referral-program-page .rp-hint {
	margin: 0.7rem 0 0;
	font-size: 0.92rem;
	color: var(--rp-muted);
}

.referral-program-page .rp-form-message {
	margin: 0.65rem 0 0;
	min-height: 1.25rem;
	font-size: 0.92rem;
	font-weight: 600;
	color: #1f6b24;
}

.referral-program-page .rp-form-message.is-error {
	color: #b22f2f;
}

.referral-program-page .rp-address-check-return {
	margin-top: 0.75rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.7rem;
}

.referral-program-page .rp-address-check-return__text {
	margin: 0;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--rp-ink);
}

.referral-program-page .rp-address-check-return__button {
	flex: 0 0 auto;
}

.referral-program-page .rp-hs-form {
	margin-top: 0.75rem;
}

.referral-program-page .rp-hs-form .hs-form-field {
	margin-bottom: 0.85rem;
}

.referral-program-page .rp-hs-form .hs-form-field > label,
.referral-program-page .rp-hs-form .hs-richtext,
.referral-program-page .rp-hs-form .legal-consent-container {
	font-size: 0.95rem;
	color: var(--rp-ink);
}

.referral-program-page .rp-hs-form .hs-input:not([type="checkbox"]):not([type="radio"]),
.referral-program-page .rp-hs-form input[type="text"],
.referral-program-page .rp-hs-form input[type="email"],
.referral-program-page .rp-hs-form input[type="tel"],
.referral-program-page .rp-hs-form select,
.referral-program-page .rp-hs-form textarea {
	width: 100%;
	border: 1px solid var(--rp-border);
	background: #fff;
	border-radius: 10px;
	padding: 0.72rem 0.82rem;
}

.referral-program-page .rp-hs-form .actions {
	margin-top: 0.8rem;
}

.referral-program-page .rp-hs-form .hs-error-msgs {
	list-style: none;
	margin: 0.45rem 0 0;
	padding: 0;
	color: #b22f2f;
	font-size: 0.85rem;
}

.referral-program-page .rp-hs-form .submitted-message {
	font-weight: 600;
	color: #1f6b24;
}

.referral-program-page .rp-placeholder {
	margin-top: 0.95rem;
	border: 1px dashed var(--rp-border);
	background: #fafcff;
	border-radius: 12px;
	padding: 0.95rem;
}

.referral-program-friend .rp-social-proof {
	background: #edf1ee;
	margin-top: -1px;
}

.referral-program-friend .rp-social-proof__shell {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 0.5rem;
}

.referral-program-friend .rp-social-proof__collage {
	position: relative;
	height: 265px;
	margin: 0 auto 1.65rem;
}

.referral-program-friend .rp-photo {
	position: absolute;
	margin: 0;
	width: clamp(108px, 11vw, 148px);
	border-radius: 22px;
	padding: 8px;
	background: rgba(255, 255, 255, 0.95);
	-webkit-box-shadow: 0 16px 32px rgba(15, 36, 48, 0.14);
	        box-shadow: 0 16px 32px rgba(15, 36, 48, 0.14);
	overflow: hidden;
	-webkit-transform-origin: center;
	        transform-origin: center;
}

.referral-program-friend .rp-photo img {
	width: 100%;
	height: clamp(78px, 8vw, 105px);
	-o-object-fit: cover;
	   object-fit: cover;
	border-radius: 14px;
	display: block;
}

.referral-program-friend .rp-photo--1 {
	left: 2%;
	top: 58%;
	-webkit-transform: rotate(-30deg);
	        transform: rotate(-30deg);
}

.referral-program-friend .rp-photo--2 {
	left: 16%;
	top: 30%;
	-webkit-transform: rotate(-18deg);
	        transform: rotate(-18deg);
}

.referral-program-friend .rp-photo--3 {
	left: 30%;
	top: 7%;
	-webkit-transform: rotate(-8deg);
	        transform: rotate(-8deg);
}

.referral-program-friend .rp-photo--4 {
	left: 44%;
	top: 0;
	-webkit-transform: rotate(0deg);
	        transform: rotate(0deg);
}

.referral-program-friend .rp-photo--5 {
	left: 58%;
	top: 6%;
	-webkit-transform: rotate(8deg);
	        transform: rotate(8deg);
}

.referral-program-friend .rp-photo--6 {
	left: 72%;
	top: 30%;
	-webkit-transform: rotate(18deg);
	        transform: rotate(18deg);
}

.referral-program-friend .rp-photo--7 {
	left: 86%;
	top: 58%;
	-webkit-transform: rotate(30deg);
	        transform: rotate(30deg);
}

.referral-program-friend .rp-social-proof__title {
	margin-bottom: 0.85rem;
	font-size: clamp(2.1rem, 4.2vw, 3.7rem);
	line-height: 1.03;
	color: #1f252a;
}

.referral-program-friend .rp-social-proof__lede {
	max-width: 760px;
	margin: 0 auto 1.3rem;
	font-size: clamp(1rem, 1.6vw, 1.35rem);
	line-height: 1.45;
	color: #4f5c65;
}

.referral-program-friend .rp-social-proof__awards {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0.95rem;
	margin-bottom: 1rem;
}

.referral-program-friend .rp-award {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	min-height: 64px;
	padding: 0.45rem 0.7rem;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(53, 130, 48, 0.2);
	-webkit-box-shadow: 0 10px 24px rgba(15, 36, 48, 0.1);
	        box-shadow: 0 10px 24px rgba(15, 36, 48, 0.1);
	-webkit-transition: -webkit-transform 180ms ease, -webkit-box-shadow 180ms ease;
	transition: -webkit-transform 180ms ease, -webkit-box-shadow 180ms ease;
	transition: transform 180ms ease, box-shadow 180ms ease;
	transition: transform 180ms ease, box-shadow 180ms ease, -webkit-transform 180ms ease, -webkit-box-shadow 180ms ease;
}

.referral-program-friend .rp-award:hover,
.referral-program-friend .rp-award:focus-visible {
	-webkit-transform: translateY(-3px);
	        transform: translateY(-3px);
	-webkit-box-shadow: 0 14px 28px rgba(15, 36, 48, 0.16);
	        box-shadow: 0 14px 28px rgba(15, 36, 48, 0.16);
	text-decoration: none;
}

.referral-program-friend .rp-award img {
	display: block;
	max-height: 58px;
	width: auto;
}

.referral-program-friend .rp-social-proof__link a {
	font-weight: 700;
	color: #4d8e35;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.referral-program-friend .rp-friend-plans {
	background: #edf1ee;
}

.referral-program-friend .rp-plans-heading {
	font-size: clamp(1.7rem, 2.5vw, 2.4rem);
	color: #24333d;
	margin-bottom: 1.15rem;
}

.referral-program-friend .plan-card__credit {
	font-size: 0.84rem;
	line-height: 1.35;
	font-weight: 600;
	color: #456f3b;
	margin-top: -0.65rem;
}

/* =========================
   Service Links (Two Col)
========================= */
.referral-program-friend .service-links-block--two-col .service-links-item__icon {
	width: 48px;
	display: block;
	margin-right: 0.5em;
}

.referral-program-friend .service-links-block--two-col .service-links-block__col--right {
	padding-left: 1rem;
}

.referral-program-friend .service-links-block--two-col a.service-links-item__cta {
	color: #4d8e35;
}

/* =========================
   Plans (Desktop base)
========================= */
.referral-program-friend .plans-track {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1.5rem;
}

.referral-program-friend .plan-card {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0px;
	        flex: 1 1 0;
	min-width: 0;
	border: 1.5px solid hsl(113, 42%, 43%);
	border-radius: 18px 18px 50px 18px;
	background: #fff;
	font-family: "Red Hat Display", sans-serif !important;
	-webkit-transition: -webkit-transform 180ms ease, -webkit-box-shadow 180ms ease;
	transition: -webkit-transform 180ms ease, -webkit-box-shadow 180ms ease;
	transition: transform 180ms ease, box-shadow 180ms ease;
	transition: transform 180ms ease, box-shadow 180ms ease, -webkit-transform 180ms ease, -webkit-box-shadow 180ms ease;
	will-change: transform;
}

.referral-program-friend .plan-card:hover {
	-webkit-transform: translateY(-6px);
	        transform: translateY(-6px);
	-webkit-box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
	        box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}

.referral-program-friend .plan-card:focus-within {
	-webkit-transform: translateY(-4px);
	        transform: translateY(-4px);
	-webkit-box-shadow: 0 12px 26px rgba(0, 0, 0, 0.12);
	        box-shadow: 0 12px 26px rgba(0, 0, 0, 0.12);
}

.referral-program-friend .plan-card.accented {
	border: 2.5px solid hsl(113, 42%, 43%);
	background: #f3f3f3;
	margin-top: -1em;
}

.referral-program-friend .plan-card__inner {
	padding: 1.75rem 1.5rem 1.5rem;
}

.referral-program-friend .plan-card__title {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.05;
}

.referral-program-friend .plan-card__speed {
	color: #4a9a3f;
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1.1;
}

.referral-program-friend .plan-card__starting {
	color: #666;
	font-size: 0.8rem;
}

.referral-program-friend .plan-card__price {
	color: #4a9a3f;
	font-size: 3.1rem;
	line-height: 1;
	font-weight: 700;
}

.referral-program-friend .plan-card__price span {
	font-size: 0.6em;
	font-weight: 600;
}

.referral-program-friend .plan-card__list li {
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: 0.85rem;
}

.referral-program-friend .plan-card__list li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0.2em;
	color: #fff;
	background: #4a9a3f;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 0.8rem;
	font-weight: 700;
}

.referral-program-friend .plan-card__badge {
	display: inline-block;
	border: 1px solid #555;
	border-radius: 999px;
	padding: 0.25rem 0.9rem;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
}

/* =========================
   Mobile/Tablet swipe + progress
   (<= 991px)
========================= */
.referral-program-friend .plans-progress {
	display: none;
}

@media (max-width: 992px) {
	.referral-program-friend .rp-social-proof__shell {
		overflow: hidden;
	}

	.referral-program-friend .rp-social-proof__collage {
		position: relative;
		height: 180px;
		margin: 0 auto 1rem;
		overflow: visible;
	}

	.referral-program-friend .rp-social-proof__content {
		max-width: 100%;
		padding: 0 0.5rem;
	}

	.referral-program-friend .rp-photo {
		position: absolute;
		width: 104px;
		padding: 6px;
		border-radius: 18px;
	}

	.referral-program-friend .rp-photo img {
		height: 78px;
		border-radius: 12px;
	}

	.referral-program-friend .rp-photo--1 {
		left: -20px;
		top: 78px;
		-webkit-transform: rotate(-30deg);
		        transform: rotate(-30deg);
	}

	.referral-program-friend .rp-photo--2 {
		left: 7%;
		top: 36px;
		-webkit-transform: rotate(-18deg);
		        transform: rotate(-18deg);
	}

	.referral-program-friend .rp-photo--3 {
		left: 24%;
		top: 10px;
		-webkit-transform: rotate(-8deg);
		        transform: rotate(-8deg);
	}

	.referral-program-friend .rp-photo--4 {
		left: 50%;
		top: 0;
		-webkit-transform: translateX(-50%) rotate(0deg);
		        transform: translateX(-50%) rotate(0deg);
	}

	.referral-program-friend .rp-photo--5 {
		left: 58%;
		top: 10px;
		-webkit-transform: rotate(8deg);
		        transform: rotate(8deg);
	}

	.referral-program-friend .rp-photo--6 {
		left: 76%;
		top: 36px;
		-webkit-transform: rotate(18deg);
		        transform: rotate(18deg);
	}

	.referral-program-friend .rp-photo--7 {
		right: -20px;
		top: 78px;
		-webkit-transform: rotate(30deg);
		        transform: rotate(30deg);
	}

	.referral-program-friend .rp-award img {
		max-height: 52px;
	}

	.referral-program-friend .rp-social-proof__title {
		font-size: clamp(2rem, 8.5vw, 2.8rem);
		line-height: 1.08;
		margin-bottom: 0.7rem;
	}

	.referral-program-friend .rp-social-proof__lede {
		margin-bottom: 1rem;
		font-size: 1.02rem;
		line-height: 1.35;
	}

	.referral-program-friend .service-links-block--two-col .service-links-item__icon {
		width: 28px;
		margin-right: 0.35em;
	}

	.referral-program-friend .service-links-block--two-col .h2 {
		font-size: 18px !important;
		padding-left: 5px;
		line-height: 1.2;
	}

	.referral-program-friend .service-links-block--two-col .service-links-item__content p,
	.referral-program-friend .service-links-block--two-col .service-links-item__cta {
		font-size: 14px !important;
		line-height: 1.35;
		padding-left: 5px;
	}

	.referral-program-friend .service-links-block--two-col .service-links-block__col--right {
		padding-left: 0.5rem;
	}
}

@media (max-width: 991px) {
	.referral-program-friend .rp-plans-heading {
		margin-bottom: 0.8rem;
	}

	.referral-program-friend .plans-progress {
		display: block;
		margin: 0 0 0.75rem;
		-webkit-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
	}

	.referral-program-friend .plans-progress__labels {
		font-family: "Red Hat Display", sans-serif;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		gap: 0.5rem;
		margin-bottom: 0.4rem;
		padding: 0 0.25rem;
	}

	.referral-program-friend .plans-progress__label {
		-webkit-appearance: none;
		   -moz-appearance: none;
		        appearance: none;
		border: 0;
		background: transparent;
		padding: 0.2rem 0.25rem;
		font-size: 0.95rem;
		color: #8a8a8a;
		cursor: pointer;
		border-radius: 8px;
		line-height: 1.2;
	}

	.referral-program-friend .plans-progress__label.is-active {
		color: #2f7f2c;
	}

	.referral-program-friend .plans-progress__label:focus-visible {
		outline: 2px solid rgba(74, 154, 63, 0.45);
		outline-offset: 2px;
	}

	.referral-program-friend .plans-progress__track {
		position: relative;
		height: 10px;
		border-radius: 999px;
		background: #e6e6e6;
		overflow: hidden;
		border: 1px solid rgba(0, 0, 0, 0.06);
		-ms-touch-action: pan-x;
		    touch-action: pan-x;
		cursor: pointer;
	}

	.referral-program-friend .plans-progress__fill {
		height: 100%;
		width: 33.333%;
		background: #4a9a3f;
		border-radius: 999px;
		-webkit-transform: translateX(0%);
		        transform: translateX(0%);
		-webkit-transition: -webkit-transform 180ms ease;
		transition: -webkit-transform 180ms ease;
		transition: transform 180ms ease;
		transition: transform 180ms ease, -webkit-transform 180ms ease;
		pointer-events: none;
	}

	.referral-program-friend .plans-track {
		gap: 1rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		-ms-scroll-snap-type: x mandatory;
		    scroll-snap-type: x mandatory;
		scroll-padding-inline: 7vw;
		margin-left: -7vw;
		margin-right: -7vw;
		padding-left: 7vw;
		padding-right: 7vw;
		padding-top: 2em;
		padding-bottom: 0.5rem;
		scrollbar-width: none;
		-webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(6%, #000), color-stop(94%, #000), to(transparent));
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
		mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(6%, #000), color-stop(94%, #000), to(transparent));
		mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
	}

	.referral-program-friend .plans-track::-webkit-scrollbar {
		display: none;
	}

	.referral-program-friend .plan-card {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 86%;
		        flex: 0 0 86%;
		max-width: 380px;
		scroll-snap-align: center;
	}

	.referral-program-friend .plan-card.accented {
		margin-top: -0.75em;
	}
}

@media (min-width: 551px) and (max-width: 991px) {
	.referral-program-friend .plans-track {
		background: -webkit-gradient(
			linear,
			left top, right top,
			from(rgba(74, 154, 63, 0.05)),
			color-stop(14%, rgba(74, 154, 63, 0)),
			color-stop(86%, rgba(74, 154, 63, 0)),
			to(rgba(74, 154, 63, 0.05))
		);
		background: linear-gradient(
			90deg,
			rgba(74, 154, 63, 0.05) 0%,
			rgba(74, 154, 63, 0) 14%,
			rgba(74, 154, 63, 0) 86%,
			rgba(74, 154, 63, 0.05) 100%
		);
		border-radius: 16px;
	}
}

@media (max-width: 395px) {
	.referral-program-friend .service-links-block--two-col .service-links-item__icon {
		display: none;
	}
}

@media (max-width: 767px) {
	.referral-program-page .rp-banner {
		padding: 2.4rem 0;
	}
	
	.referral-program-page .rp-shell {
		padding-top: 1.5rem;
	}
	
	.referral-program-page .rp-card {
		padding: 1rem;
	}
	
	.referral-program-page .rp-step-list li {
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}

	.referral-program-page .rp-grid-share-chooser {
		grid-template-columns: 1fr;
	}

	.referral-program-page .rp-share-toggle {
		padding: 1rem;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}

	.referral-program-page .rp-share-panel__body {
		padding: 0 1rem 1rem;
	}
	
	.referral-program-page .rp-share-actions {
		grid-template-columns: 1fr;
	}
	
	.referral-program-page .rp-share-btn {
		white-space: normal;
	}

	.referral-program-page .rp-tracking-timeline__item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}

	.referral-program-page .rp-tracking-timeline__date {
		text-align: left;
	}
}
