.bmhc-referral {
	background: #faf8f3;
	color: #003050;
	font-family: 'Hanken Grotesk', system-ui, sans-serif;
	overflow: hidden;
}

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

.bmhc-referral__hero {
	position: relative;
	background:
		linear-gradient(90deg, rgba(3, 20, 28, .72), rgba(3, 20, 28, .38)),
		linear-gradient(135deg, #04222f 0%, #003050 52%, #486048 100%);
	color: #f6f1e6;
	padding: clamp(150px, 18vw, 210px) 0 clamp(78px, 10vw, 128px);
}

.bmhc-referral__hero::after {
	content: "";
	position: absolute;
	right: -190px;
	top: -230px;
	width: 720px;
	height: 720px;
	background: repeating-conic-gradient(from -6deg at 50% 50%, rgba(231, 201, 140, .1) 0deg 1deg, transparent 1deg 12deg);
	-webkit-mask: radial-gradient(circle at 50% 50%, transparent 150px, #000 210px, #000 320px, transparent 430px);
	mask: radial-gradient(circle at 50% 50%, transparent 150px, #000 210px, #000 320px, transparent 430px);
	pointer-events: none;
}

.bmhc-referral__hero-inner {
	position: relative;
	z-index: 1;
	max-width: 980px;
}

.bmhc-referral__eyebrow {
	color: #c9d1c1;
}

.bmhc-referral__hero h1 {
	color: #f6f1e6;
	font-family: 'Newsreader', serif;
	font-size: clamp(42px, 6vw, 72px);
	font-weight: 500;
	letter-spacing: -.012em;
	line-height: 1.03;
	margin: 0 0 24px;
	max-width: 780px;
	text-wrap: balance;
}

.bmhc-referral__hero p {
	color: #e6e6da;
	font-size: clamp(16px, 1.7vw, 19px);
	line-height: 1.68;
	margin: 0;
	max-width: 620px;
}

.bmhc-referral__process,
.bmhc-referral__form-section {
	padding: clamp(74px, 10vw, 128px) 0;
}

.bmhc-referral__process {
	background: #faf8f3;
}

.bmhc-referral__form-section {
	background: #eef1ea;
	border-top: 1px solid rgba(0, 48, 80, .07);
}

.bmhc-referral__section-head,
.bmhc-referral__form-intro {
	margin: 0 auto clamp(42px, 5vw, 60px);
	max-width: 780px;
	text-align: center;
}

.bmhc-referral__section-head h2,
.bmhc-referral__form-intro h2 {
	color: #003050;
	font-family: 'Newsreader', serif;
	font-size: clamp(28px, 4.2vw, 48px);
	font-weight: 500;
	letter-spacing: -.012em;
	line-height: 1.1;
	margin: 0;
	text-wrap: balance;
}

.bmhc-referral__form-intro h2 {
	margin-bottom: 18px;
}

.bmhc-referral__form-intro p {
	color: #48565c;
	font-size: clamp(15px, 1.5vw, 17px);
	line-height: 1.65;
	margin: 0 auto;
	max-width: 620px;
}

.bmhc-referral__step-grid {
	display: grid;
	gap: clamp(20px, 2.5vw, 32px);
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.bmhc-referral__step {
	background: #fff;
	border: 1px solid rgba(0, 48, 80, .09);
	border-radius: 18px;
	box-shadow: 0 6px 20px rgba(0, 48, 80, .04);
	padding: 30px;
	transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.bmhc-referral__step:hover {
	border-color: rgba(0, 48, 80, .16);
	box-shadow: 0 20px 44px rgba(0, 48, 80, .1);
	transform: translateY(-5px);
}

.bmhc-referral__step-num {
	color: var(--nc-accent, #e7c98c);
	font-family: 'Newsreader', serif;
	font-size: 52px;
	line-height: 1;
	margin-bottom: 16px;
}

.bmhc-referral__step h3 {
	color: #003050;
	font-family: 'Newsreader', serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 12px;
}

.bmhc-referral__step p {
	color: #54626a;
	font-size: 15px;
	line-height: 1.65;
	margin: 0;
}

.bmhc-referral__alert {
	border-radius: 16px;
	font-size: 15px;
	line-height: 1.5;
	margin: 0 auto 22px;
	max-width: 920px;
	padding: 16px 18px;
}

.bmhc-referral__alert--success {
	background: #fff;
	border: 1px solid rgba(72, 96, 72, .28);
	color: #486048;
}

.bmhc-referral__alert--error {
	background: #fff;
	border: 1px solid rgba(178, 58, 58, .35);
	color: #b23a3a;
}

.bmhc-referral__form-card {
	background: #fff;
	border: 1px solid rgba(0, 48, 80, .1);
	border-radius: 22px;
	box-shadow: 0 20px 50px rgba(0, 48, 80, .08);
	margin: 0 auto;
	max-width: 980px;
	padding: clamp(28px, 3vw, 40px);
}

.bmhc-referral__form h3 {
	border-top: 1px solid rgba(0, 48, 80, .1);
	color: #003050;
	font-family: 'Newsreader', serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	margin: 34px 0 20px;
	padding-top: 30px;
}

.bmhc-referral__form h3:first-of-type {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

.bmhc-referral__row {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bmhc-referral__row--thirds {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bmhc-referral__field {
	display: block;
	margin: 0 0 16px;
}

.bmhc-referral__field--full {
	grid-column: 1 / -1;
}

.bmhc-referral__field span {
	color: #2c3b42;
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 7px;
}

.bmhc-referral__field em {
	color: #b23a3a;
	font-style: normal;
}

.bmhc-referral__field input,
.bmhc-referral__field select,
.bmhc-referral__field textarea {
	background: #faf9f5;
	border: 1px solid rgba(0, 48, 80, .18);
	border-radius: 11px;
	color: #003050;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.35;
	min-height: 48px;
	outline: none;
	padding: 13px 16px;
	width: 100%;
}

.bmhc-referral__field select {
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, #486048 50%),
		linear-gradient(135deg, #486048 50%, transparent 50%);
	background-position:
		calc(100% - 20px) calc(50% + 1px),
		calc(100% - 15px) calc(50% + 1px);
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	padding-right: 42px;
}

.bmhc-referral__field textarea {
	min-height: 140px;
	resize: vertical;
}

.bmhc-referral__field input::placeholder,
.bmhc-referral__field textarea::placeholder {
	color: #9aa6a3;
}

.bmhc-referral__field input:focus,
.bmhc-referral__field select:focus,
.bmhc-referral__field textarea:focus {
	border-color: rgba(0, 48, 80, .4);
	box-shadow: 0 0 0 3px rgba(231, 201, 140, .22);
}

.bmhc-referral__submit {
	background: #003050;
	border: 0;
	border-radius: 12px;
	box-shadow: 0 12px 28px rgba(0, 48, 80, .2);
	color: #f5eddd;
	cursor: pointer;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	margin-top: 4px;
	padding: 16px;
	transition: background .2s ease, transform .2s ease;
	width: 100%;
}

.bmhc-referral__submit:hover,
.bmhc-referral__submit:focus {
	background: #0a3a54;
	transform: translateY(-2px);
}

.bmhc-referral__hp {
	height: 1px;
	left: -9999px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

@media (max-width: 760px) {
	.bmhc-referral__hero {
		padding-top: 132px;
	}

	.bmhc-referral__row,
	.bmhc-referral__row--thirds {
		grid-template-columns: 1fr;
	}

	.bmhc-referral__form-card {
		border-radius: 18px;
		padding: 24px 18px;
	}

	.bmhc-referral__step {
		padding: 26px 22px;
	}
}
