body.hqf_popup_is_open {
	overflow: hidden;
}

.hqf_popup,
.hqf_popup * {
	box-sizing: border-box;
}

/* The theme dims every button on hover (button:hover { opacity: .8 }) — the popup opts out. */
.hqf_popup button:hover,
.hqf_popup button:focus,
.hqf_popup button:active {
	opacity: 1;
}

.hqf_popup[hidden] {
	display: none !important;
}

.hqf_popup {
	--hqf-color-dark: #122239;
	--hqf-color-body: #6B7585;
	--hqf-color-border: #D6DBE3;
	--hqf-color-red: #d92128;
	--hqf-color-white: #ffffff;
	position: fixed;
	z-index: 100000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 16px;
	overflow-y: auto;
	overscroll-behavior: contain;
	font-family: var(--hpb-font-family-base, 'Be Vietnam Pro', sans-serif);
	color: var(--hqf-color-dark);
	width: 100%;
	max-width: 100vw;
	height: 100%;
	max-height: 100vh;
}

.hqf_popup__backdrop {
	position: fixed;
	inset: 0;
	background: #0B1421E5;
	cursor: pointer;
	animation: hqf-backdrop-enter 180ms ease-out both;
}

.hqf_popup__dialog {
	position: relative;
	z-index: 1;
	width: min(680px, 100%);
	max-height: calc(100dvh - 32px);
	margin: auto;
	padding: 32px 40px 36px;
	overflow-y: auto;
	background: var(--hqf-color-white);
	border-radius: 8px;
	box-shadow: 0px 24px 64px 0px #00000059;
	animation: hqf-dialog-enter 220ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
	scrollbar-width: thin;
	scrollbar-color: var(--hqf-color-border) transparent;
}

.hqf_popup__close {
	position: absolute;
	top: 44px;
	right: 35px;
	z-index: 2;
	display: inline-grid;
	width: 24px;
	height: 24px;
	padding: 0;
	place-items: center;
	color: #6B7585;
	font: inherit;
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	background: transparent;
	border: 0;
	border-radius: 3px;
	box-shadow: none;
	cursor: pointer;
	transition: color 160ms ease, background-color 160ms ease;
}

.hqf_popup__close:hover {
	color: var(--hqf-color-red);
	background: #f7f8fa;
}

.hqf_popup__close:focus-visible {
	outline: 2px solid var(--hqf-color-red);
	outline-offset: 2px;
}

.hqf_progress {
	margin: 0;
}

.hqf_progress__label {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	margin: 0 0 8px;
	padding: 0 34px 0 0;
}

.hqf_progress__label-text {
	grid-column: 1;
	color: var(--hqf-color-red);
	font-size: 12px;
	font-weight: 700;
	line-height: 16px;
	letter-spacing: 1px;
	text-align: center;
	text-transform: uppercase;
}

.hqf_progress__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	margin: 0;
	padding: 0 34px 0 0;
	list-style: none;
}

.hqf_progress__step {
	height: 4px;
	margin: 0;
	background: #E8ECF1;
	border-radius: 2px;
}

.hqf_progress__step--current {
	background: var(--hqf-color-red);
}

.hqf_form {
	margin: 0;
}

.hqf_step {
	margin-top: 32px;
}

.hqf_step[hidden],
.hqf_field__other[hidden] {
	display: none !important;
}

.hqf_step__title {
	margin: 0;
	padding: 0;
	color: var(--hqf-color-dark);
	font-family: var(--hpb-font-family-heading, 'Bebas Neue', sans-serif);
	font-size: 32px;
	font-weight: 400;
	line-height: 36px;
	letter-spacing: 0;
	text-transform: uppercase;
}

.hqf_step__description {
	margin: 8px 0 0;
	padding: 0;
	color: var(--hqf-color-body);
	font-size: 15px;
	font-weight: 400;
	line-height: 22px;
}

.hqf_options {
	display: grid;
	gap: 8px;
	min-width: 0;
	margin: 24px 0 0;
	padding: 0;
	border: 0;
}

.hqf_options .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.hqf_option {
	position: relative;
	margin: 0;
}

.hqf_option__input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.hqf_option__label {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr) 18px;
	gap: 16px;
	align-items: center;
	min-height: 74px;
	margin: 0;
	padding: 14px 24px;
	color: var(--hqf-color-dark);
	background: var(--hqf-color-white);
	border: 2px solid var(--hqf-color-border);
	border-radius: 4px;
	cursor: pointer;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
	user-select: none;
}

.hqf_option__label:hover {
	border-color: #aeb8c6;
	background: #fcfcfd;
}

.hqf_option__input:focus-visible + .hqf_option__label {
	outline: 3px solid rgba(217, 33, 40, 0.18);
	outline-offset: 2px;
}

.hqf_option__input:checked + .hqf_option__label {
	border-color: var(--hqf-color-red);
	box-shadow: 0 0 0 1px var(--hqf-color-red);
}

.hqf_option__icon {
	--hqf-icon: none;
	display: block;
	width: 24px;
	height: 24px;
	background-color: var(--hqf-color-dark);
	-webkit-mask: var(--hqf-icon) center / contain no-repeat;
	mask: var(--hqf-icon) center / contain no-repeat;
	transition: background-color 160ms ease;
}

.hqf_option__icon--home {
	--hqf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 11.2 12 3l10 8.2-1.4 1.7-1.6-1.3V21h-5v-6H10v6H5v-9.4l-1.6 1.3L2 11.2Z'/%3E%3C/svg%3E");
}

.hqf_option__icon--garage {
	--hqf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 10 9-6 9 6v11h-3v-8H6v8H3V10Zm5 5h8v2H8v-2Zm0 4h8v2H8v-2Z'/%3E%3C/svg%3E");
}

.hqf_option__icon--tractor {
	--hqf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='6' cy='17' r='4'/%3E%3Ccircle cx='18.5' cy='18' r='2.5'/%3E%3Cpath d='M5 6h6v7h2.5l-2-5h4l2 5H20V9h2v6h-2.1a4 4 0 0 0-7.6 1H11a5 5 0 0 0-5-4.9V9H2V7h3V6Z'/%3E%3C/svg%3E");
}

.hqf_option__icon--briefcase {
	--hqf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4h6a2 2 0 0 1 2 2v2h3a2 2 0 0 1 2 2v3H2v-3a2 2 0 0 1 2-2h3V6a2 2 0 0 1 2-2Zm0 4h6V6H9v2Zm5 7h8v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5h8v1h4v-1Z'/%3E%3C/svg%3E");
}

.hqf_option__icon--help {
	--hqf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M9.7 9a2.4 2.4 0 1 1 3.4 2.2c-.8.4-1.1.9-1.1 1.8M12 17h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.hqf_option__input:checked + .hqf_option__label .hqf_option__icon {
	background-color: var(--hqf-color-red);
}

.hqf_option__content,
.hqf_option__title,
.hqf_option__description {
	display: block;
}

.hqf_option__content {
	min-width: 0;
}

.hqf_option__title {
	color: var(--hqf-color-dark);
	font-size: 17px;
	font-weight: 600;
	line-height: 24px;
}

.hqf_option__description {
	margin-top: 4px;
	color: var(--hqf-color-body);
	font-size: 13px;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: -.1px;
}

.hqf_option__indicator {
	display: flex;
	width: 18px;
	height: 24px;
	align-items: center;
	justify-content: center;
	color: #6B7585;
	font-size: 16px;
	line-height: 1;
	transition: color 160ms ease, transform 160ms ease;
}

.hqf_option__label:hover .hqf_option__indicator {
	transform: translateX(2px);
}

.hqf_option__input:checked + .hqf_option__label .hqf_option__indicator {
	color: var(--hqf-color-red);
}

.hqf_step__hint {
	margin: 14px 0 0;
	padding: 0;
	color: var(--hqf-color-body);
	font-size: 13px;
	font-weight: 400;
	line-height: 18px;
	text-align: center;
}

.hqf_fieldset {
	min-width: 0;
	margin: 24px 0 0;
	padding: 0;
	border: 0;
}

.hqf_fieldset__legend {
	width: 100%;
	margin: 0 0 8px;
	padding: 0;
	color: var(--hqf-color-dark);
	font-size: 13px;
	font-weight: 600;
	line-height: 18px;
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

.hqf_fields {
	display: grid;
	gap: 10px;
	align-items: start;
}

.hqf_fields--location {
	grid-template-columns: minmax(0, 1fr) minmax(84px, 0.25fr) minmax(0, 1fr);
}

.hqf_fields--dimensions {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hqf_field {
	min-width: 0;
}

.hqf_select {
	position: relative;
	min-width: 0;
}

.hqf_select__native {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	opacity: 0;
	pointer-events: none;
}


/* The trigger is decorative (aria-hidden): it must never paint a focus ring of its own,
   and iOS must not lay its grey tap highlight over the field. */
.hqf_select__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	text-align: left;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.hqf_select__trigger:focus,
.hqf_select__trigger:focus-visible {
	outline: 0;
}

.hqf_select__value {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.hqf_select__chevron {
	display: inline-flex;
	flex: 0 0 6px;
	width: 6px;
	height: 6px;
	color: #718097;
	transition: transform 160ms ease;
}

.hqf_select--open .hqf_select__chevron {
	transform: rotateX(180deg);
}


.hqf_select__panel {
	position: absolute;
	z-index: 20;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	max-height: 220px;
	overflow-x: hidden;
	overflow-y: auto;
	background: var(--hqf-color-white);
	border: 1px solid var(--hqf-color-border);
	border-radius: 3px;
	box-shadow: 0 10px 24px rgba(18, 34, 57, 0.16);
}

@media (min-width: 751px) {
	.hqf_field--state .hqf_select__panel {
		width: 200%;
	}
}

.hqf_select__panel[hidden] {
	display: none !important;
}

.hqf_select__list {
	margin: 0;
	padding: 4px;
	list-style: none;
}

.hqf_select__option {
	display: block;
	width: 100%;
	padding: 8px 10px;
	color: var(--hqf-color-dark);
	font: inherit;
	font-size: 13px;
	line-height: 18px;
	text-align: left;
	background: transparent;
	border: 0;
	border-radius: 3px;
	cursor: pointer;
}

.hqf_select__option:hover,
.hqf_select__option:focus-visible {
	background: #f5f6f8;
	outline: 0;
}

.hqf_select__option--selected {
	color: var(--hqf-color-red);
	font-weight: 700;
}

.hqf_field__label,
.hqf_field__other-label {
	display: block;
	margin: 0 0 6px;
	color: var(--hqf-color-body);
	font-size: 11px;
	font-weight: 600;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.hqf_field__control {
	font-family: var(--hpb-font-family-base, 'Be Vietnam Pro', sans-serif);
	width: 100%;
	height: 46px;
	margin: 0;
	padding: 12px;
	color: var(--hqf-color-dark);
	font: inherit;
	font-size: 15px;
	line-height: 22px;
	background-color: var(--hqf-color-white);
	border: 1px solid var(--hqf-color-border);
	border-radius: 3px;
	box-shadow: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.hqf_field__control:hover {
	border-color: #aeb8c6;
}

/**
 * Focus must sit after :hover — same specificity, so source order decides, and the
 * pointer is still over the field right after a click (and stays there on iOS).
 * Keyboard focus lands on the hidden select; --focused/--open mirror it for pointers.
 */
.hqf_field__control:focus,
.hqf_select__native:focus + .hqf_select__trigger,
.hqf_select--focused .hqf_select__trigger,
.hqf_select--open .hqf_select__trigger {
	border-color: var(--hqf-color-dark);
	outline: 0;
	box-shadow: inset 0 0 0 1px var(--hqf-color-dark);
}

.hqf_field__control:disabled {
	color: #8e99aa;
	background-color: #f5f6f8;
	cursor: not-allowed;
}

/* Validation states. Placed after :hover/:focus so an invalid field stays red while focused. */
/* Check glyph from the design export; color is baked in because it is a background-image. */
.hqf_field--valid input.hqf_field__control {
	padding-right: 38px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 9'%3E%3Cpath fill='%23218C4A' d='M3.8 8.01667L0 4.21667L0.95 3.26667L3.8 6.11667L9.91667 0L10.8667 0.95L3.8 8.01667Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 11px 9px;
}

.hqf_field--invalid .hqf_field__control,
.hqf_field--invalid .hqf_select__trigger {
	background-color: #FDF0F1;
	border-color: var(--hqf-color-red);
	box-shadow: inset 0 0 0 1px var(--hqf-color-red);
}

/* Focus stays dark even on an invalid field; the pink fill and message carry the error. */
/* --attention is the select we scrolled to but must not focus (iOS picker). */
.hqf_field--invalid .hqf_field__control:focus,
.hqf_field--invalid .hqf_select__native:focus + .hqf_select__trigger,
.hqf_field--invalid .hqf_select--focused .hqf_select__trigger,
.hqf_field--attention .hqf_select__trigger {
	border-color: var(--hqf-color-dark);
	box-shadow: inset 0 0 0 1px var(--hqf-color-dark);
}

/* Second transition line is a fallback: browsers without allow-discrete drop it and keep the first. */
.hqf_field__error,
.hqf_step__error {
	display: flex;
	gap: 6px;
	align-items: flex-start;
	color: var(--hqf-color-red);
	font-size: 12px;
	font-weight: 500;
	line-height: 16px;
	opacity: 1;
	transform: translateY(0);
	transition: opacity 160ms ease, transform 160ms ease;
	transition: opacity 160ms ease, transform 160ms ease, display 160ms allow-discrete;
}

@starting-style {
	.hqf_field__error:not([hidden]),
	.hqf_step__error:not([hidden]) {
		opacity: 0;
		transform: translateY(-4px);
	}
}

.hqf_field__error {
	margin: 6px 0 0;
	padding: 0;
}

.hqf_step__error {
	margin: 29px 0 0;
	padding: 0;
	font-size: 12px;
	line-height: 16px;
}

.hqf_field__error[hidden],
.hqf_step__error[hidden] {
	display: none !important;
	opacity: 0;
	transform: translateY(-4px);
}

.hqf_field__error-text[hidden] {
	display: none !important;
}

/* Error glyph from the design export — inline mask, no icon font is loaded. */
.hqf_field__error-icon,
.hqf_step__error-icon {
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin-top: 1px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M6.66667 10C6.85556 10 7.01389 9.93611 7.14167 9.80833C7.26944 9.68056 7.33333 9.52222 7.33333 9.33333C7.33333 9.14444 7.26944 8.98611 7.14167 8.85833C7.01389 8.73056 6.85556 8.66667 6.66667 8.66667C6.47778 8.66667 6.31944 8.73056 6.19167 8.85833C6.06389 8.98611 6 9.14444 6 9.33333C6 9.52222 6.06389 9.68056 6.19167 9.80833C6.31944 9.93611 6.47778 10 6.66667 10ZM6 7.33333H7.33333V3.33333H6V7.33333ZM6.66667 13.3333C5.74444 13.3333 4.87778 13.1583 4.06667 12.8083C3.25556 12.4583 2.55 11.9833 1.95 11.3833C1.35 10.7833 0.875 10.0778 0.525 9.26667C0.175 8.45556 0 7.58889 0 6.66667C0 5.74444 0.175 4.87778 0.525 4.06667C0.875 3.25556 1.35 2.55 1.95 1.95C2.55 1.35 3.25556 0.875 4.06667 0.525C4.87778 0.175 5.74444 0 6.66667 0C7.58889 0 8.45556 0.175 9.26667 0.525C10.0778 0.875 10.7833 1.35 11.3833 1.95C11.9833 2.55 12.4583 3.25556 12.8083 4.06667C13.1583 4.87778 13.3333 5.74444 13.3333 6.66667C13.3333 7.58889 13.1583 8.45556 12.8083 9.26667C12.4583 10.0778 11.9833 10.7833 11.3833 11.3833C10.7833 11.9833 10.0778 12.4583 9.26667 12.8083C8.45556 13.1583 7.58889 13.3333 6.66667 13.3333Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M6.66667 10C6.85556 10 7.01389 9.93611 7.14167 9.80833C7.26944 9.68056 7.33333 9.52222 7.33333 9.33333C7.33333 9.14444 7.26944 8.98611 7.14167 8.85833C7.01389 8.73056 6.85556 8.66667 6.66667 8.66667C6.47778 8.66667 6.31944 8.73056 6.19167 8.85833C6.06389 8.98611 6 9.14444 6 9.33333C6 9.52222 6.06389 9.68056 6.19167 9.80833C6.31944 9.93611 6.47778 10 6.66667 10ZM6 7.33333H7.33333V3.33333H6V7.33333ZM6.66667 13.3333C5.74444 13.3333 4.87778 13.1583 4.06667 12.8083C3.25556 12.4583 2.55 11.9833 1.95 11.3833C1.35 10.7833 0.875 10.0778 0.525 9.26667C0.175 8.45556 0 7.58889 0 6.66667C0 5.74444 0.175 4.87778 0.525 4.06667C0.875 3.25556 1.35 2.55 1.95 1.95C2.55 1.35 3.25556 0.875 4.06667 0.525C4.87778 0.175 5.74444 0 6.66667 0C7.58889 0 8.45556 0.175 9.26667 0.525C10.0778 0.875 10.7833 1.35 11.3833 1.95C11.9833 2.55 12.4583 3.25556 12.8083 4.06667C13.1583 4.87778 13.3333 5.74444 13.3333 6.66667C13.3333 7.58889 13.1583 8.45556 12.8083 9.26667C12.4583 10.0778 11.9833 10.7833 11.3833 11.3833C10.7833 11.9833 10.0778 12.4583 9.26667 12.8083C8.45556 13.1583 7.58889 13.3333 6.66667 13.3333Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.hqf_step__error-icon {
	margin-top: 2px;
}

.hqf_field__other {
	margin-top: 8px;
}

.hqf_timeframes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}

.hqf_timeframe {
	position: relative;
	min-width: 0;
}

.hqf_timeframe__input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.hqf_timeframe__label {
	display: flex;
	width: max-content;
	max-width: 100%;
	min-height: 38px;
	margin: 0;
	padding: 9px 18px;
	place-items: center;
	color: var(--hqf-color-dark);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	text-align: center;
	background: var(--hqf-color-white);
	border: 1px solid var(--hqf-color-border);
	border-radius: 4px;
	cursor: pointer;
	transition: border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.hqf_timeframe__label:hover {
	border-color: #aeb8c6;
}

.hqf_timeframe__input:focus-visible + .hqf_timeframe__label {
	outline: 3px solid rgba(217, 33, 40, 0.18);
	outline-offset: 2px;
}

.hqf_timeframe__input:checked + .hqf_timeframe__label {
	color: var(--hqf-color-red);
	border-color: var(--hqf-color-red);
	box-shadow: 0 0 0 1px var(--hqf-color-red);
}

.hqf_step__actions {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	margin-top: 74px;
}

.hqf_step__back,
.hqf_step__continue {
	display: inline-flex;
	gap: 5px;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	margin: 0;
	padding: 18px 32px;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: 0.7px;
	text-transform: uppercase;
	border-radius: 4px;
	cursor: pointer;
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.hqf_step__back span,
.hqf_step__continue span {
	display: flex;
}

.hqf_step__back {
	padding-left: 0;
	color: var(--hqf-color-body);
	background: transparent;
	border: 0;
}

.hqf_step__back span {
	transform: rotate(180deg);
}

.hqf_step__back:hover {
	color: var(--hqf-color-dark);
}

.hqf_step__continue {
	min-width: 112px;
	color: var(--hqf-color-white);
	background: var(--hqf-color-red);
	border: 1px solid var(--hqf-color-red);
}

.hqf_step__continue:hover {
	background: #bb151c;
	border-color: #bb151c;
}

.hqf_step__back:focus-visible,
.hqf_step__continue:focus-visible {
	outline: 3px solid rgba(217, 33, 40, 0.2);
	outline-offset: 2px;
}

.hqf_contact_fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 17px 10px;
	align-items: start;
	margin-top: 25px;
}

.hqf_field--contact-wide {
	grid-column: 1 / -1;
}

.hqf_field__label--contact {
	margin-bottom: 8px;
	color: var(--hqf-color-dark);
	font-size: 13px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: 0.3px;
}

.hqf_field__control--contact {
	height: 46px;
	padding: 12px 16px;
	font-size: 15px;
	line-height: 22px;
	color: var(--hqf-color-dark);
}

.hqf_field__control--contact::placeholder {
	color: #9EA6B2;
	opacity: 1;
}

.hqf_texting {
	display: flex;
	gap: 9px;
	align-items: flex-start;
	margin-top: 10px;
}

.hqf_texting__input {
	position: relative;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	background: var(--hqf-color-red);
	border-color: var(--hqf-color-red);
	border-radius: 2px;
	appearance: none;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.hqf_texting__input:checked {
	background: var(--hqf-color-red);
	border-color: var(--hqf-color-red);
}

.hqf_texting__input:checked::after {
	position: absolute;
	top: 3px;
	left: 6px;
	width: 5px;
	height: 9px;
	border: solid var(--hqf-color-white);
	border-width: 0 2px 2px 0;
	content: '';
	transform: rotate(45deg);
}

.hqf_texting__input:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 3px rgba(217, 33, 40, 0.18);
}

.hqf_texting__label {
	margin: 0;
	color: var(--hqf-color-body);
	font-size: 13px;
	font-weight: 400;
	line-height: 18px;
	cursor: pointer;
}

.hqf_captcha {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
	margin-top: 24px;
}

.hqf_captcha__error {
	margin: 0;
	color: var(--hqf-color-red);
	font-size: 13px;
	font-weight: 500;
	line-height: 18px;
	text-align: center;
}

.hqf_contact_actions {
	display: flex;
	flex-direction: column;
	gap: 11px;
	align-items: center;
	margin-top: 38px;
}

.hqf_contact_actions__submit {
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 18px 32px;
	color: var(--hqf-color-white);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: 0.7px;
	text-transform: uppercase;
	background: var(--hqf-color-red);
	border: 1px solid var(--hqf-color-red);
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease;
}

.hqf_contact_actions__submit:hover {
	background: #bb151c;
	border-color: #bb151c;
}

.hqf_contact_actions__submit:focus-visible {
	outline: 3px solid rgba(217, 33, 40, 0.2);
	outline-offset: 2px;
}

.hqf_contact_actions__back {
	padding: 8px 32px;
	min-height: auto;
}

.hqf_optional {
	margin: 0;
}

.hqf_optional__confirmation {
	display: flex;
	gap: 12px;
	align-items: center;
	min-height: 52px;
	margin: 0;
	padding: 12px 20px;
	color: #218C4A;
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	background: #E5F6EC;
	border-radius: 4px;
}

.hqf_optional__confirmation-icon {
	display: inline-grid;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	place-items: center;
	color: var(--hqf-color-white);
	font-size: 13px;
	background: #218C4A;
	border-radius: 50%;
}

.hqf_optional__title {
	margin-top: 24px;
}

.hqf_optional__fieldset {
	margin-top: 24px;
}

.hqf_optional__legend {
	display: block;
	margin-bottom: 12px;
}

.hqf_optional_items {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
}

.hqf_optional_item {
	position: relative;
	grid-column: span 2;
	min-width: 0;
}

.hqf_optional_item--wide {
	grid-column: span 3;
}

.hqf_optional_item__input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.hqf_optional_item__label {
	display: flex;
	gap: 10px;
	align-items: center;
	min-height: 42px;
	margin: 0;
	padding: 12px 16px;
	color: var(--hqf-color-dark);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	background: var(--hqf-color-white);
	border: 1px solid var(--hqf-color-border);
	border-radius: 4px;
	cursor: pointer;
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.hqf_optional_item__label:hover {
	border-color: #aeb8c6;
}

.hqf_optional_item__box {
	position: relative;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	background: var(--hqf-color-white);
	border: 1px solid var(--hqf-color-border);
	border-radius: 3px;
}

.hqf_optional_item__input:focus-visible + .hqf_optional_item__label {
	outline: 3px solid rgba(217, 33, 40, 0.18);
	outline-offset: 2px;
}

.hqf_optional_item__input:checked + .hqf_optional_item__label {
	background: #fff5f5;
	border-color: var(--hqf-color-red);
	box-shadow: 0 0 0 1px var(--hqf-color-red);
}

.hqf_optional_item__input:checked + .hqf_optional_item__label .hqf_optional_item__box {
	background: var(--hqf-color-red);
	border-color: var(--hqf-color-red);
}

.hqf_optional__comments {
	margin-top: 22px;
}

.hqf_optional__textarea {
	min-height: 64px;
	padding: 14px 16px;
	resize: vertical;
}

.hqf_optional__textarea::placeholder {
	color: #9EA6B2;
	opacity: 1;
}

.hqf_optional_actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
	margin-top: 20px;
}

.hqf_optional_actions__submit {
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 18px 32px;
	color: var(--hqf-color-white);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: 0.7px;
	text-transform: uppercase;
	background: var(--hqf-color-red);
	border: 1px solid var(--hqf-color-red);
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease;
}

.hqf_optional_actions__submit:hover {
	background: #bb151c;
	border-color: #bb151c;
}

.hqf_optional_actions__submit:focus-visible,
.hqf_optional_actions__skip:focus-visible {
	outline: 3px solid rgba(217, 33, 40, 0.2);
	outline-offset: 2px;
}

.hqf_optional_actions__skip {
	margin: 0;
	padding: 0 10px;
	color: var(--hqf-color-body);
	font: inherit;
	font-size: 13px;
	line-height: 18px;
	background: transparent;
	border: 0;
	border-radius: 2px;
	cursor: pointer;
}

.hqf_optional_actions__skip:hover {
	color: var(--hqf-color-dark);
}

.hqf_popup[aria-labelledby="hqf-step-4-title"] .hqf_popup__close,
.hqf_popup[aria-labelledby="hqf-update-confirmation-title"] .hqf_popup__close {
	display: none;
}
.hqf_popup[aria-labelledby="hqf-step-4-title"] .hqf_popup__dialog {
	padding: 24px 40px;
}	

@keyframes hqf-backdrop-enter {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes hqf-dialog-enter {
	from {
		opacity: 0;
		transform: translateY(12px) scale(0.985);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (max-width: 750px) {
	/* Full-screen sheet: every wrapper down to the buttons passes the viewport height along. */
	.hqf_popup {
		height: 100dvh;
		max-height: 100dvh;
		padding: 0;
	}

	.hqf_popup__dialog {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100dvh;
		max-height: 100dvh;
		margin: 0;
		padding: 24px 20px;
		border-radius: 0;
		box-shadow: none;
	}

	.hqf_popup[aria-labelledby="hqf-step-4-title"] .hqf_popup__dialog {
		padding: 28px 20px 24px;
	}

	.hqf_progress {
		flex: 0 0 auto;
	}

	.hqf_form {
		display: flex;
		flex: 1 0 auto;
		flex-direction: column;
	}

	.hqf_form[hidden] {
		display: none !important;
	}

	.hqf_step,
	.hqf_optional {
		display: flex;
		flex: 1 0 auto;
		flex-direction: column;
	}

	.hqf_step__hint,
	.hqf_step__actions,
	.hqf_contact_actions,
	.hqf_optional_actions {
		margin-top: auto;
	}

	.hqf_step__hint {
		padding-top: 16px;
	}

	/* The summary takes the free space itself — two auto margins would split it and strand the error. */
	.hqf_step__error:not([hidden]) {
		margin-top: auto;
		padding-top: 20px;
	}

	.hqf_step__error:not([hidden]) ~ .hqf_step__actions,
	.hqf_step__error:not([hidden]) ~ .hqf_contact_actions {
		margin-top: 20px;
	}

	.hqf_popup__close {
		top: 36px;
		right: 18px;
	}

	.hqf_progress__label {
		padding-right: 30px;
		padding-left: 0;
	}

	.hqf_progress__steps {
		padding-right: 32px;
	}

	.hqf_step {
		margin-top: 28px;
	}

	.hqf_step__title {
		font-size: 28px;
		line-height: 32px;
	}

	.hqf_options {
		margin-top: 20px;
	}

	.hqf_option__label {
		grid-template-columns: 24px minmax(0, 1fr) 18px;
		gap: 16px;
		min-height: 74px;
		padding: 14px 16px;
	}

	/* Location fields stack; dimensions stay in one row, per the mobile design. */
	.hqf_fields--location {
		grid-template-columns: minmax(0, 1fr);
	}

	.hqf_timeframe {
		width: max-content;
		max-width: 100%;
	}

	/* Spacing is padding, not margin — `margin-top: auto` above does the pinning. */
	.hqf_step__actions {
		padding-top: 24px;
	}

	.hqf_contact_fields {
		grid-template-columns: 1fr;
		margin-top: 20px;
		gap: 20px;
	}

	.hqf_field--contact-wide {
		grid-column: auto;
	}

	.hqf_optional_actions {
		padding-top: 20px;
	}

	.hqf_optional_item,
	.hqf_optional_item--wide {
		grid-column: span 3;
	}

	.hqf_optional_actions__submit,
	.hqf_contact_actions__submit,
	.hqf_step__back,
	.hqf_step__continue {
		min-height: 46px;
		padding: 8px 10px;
	}

	/* Steps 2 and 3 share one row here; step 3 stays stacked on desktop, so only mobile reorders. */
	.hqf_contact_actions {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding-top: 20px;
	}

	.hqf_contact_actions__back {
		order: -1;
	}

	.hqf_step__back,
	.hqf_contact_actions__back {
		flex: 0 0 auto;
		padding-left: 0;
	}

	.hqf_step__continue,
	.hqf_contact_actions__submit {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
	}

	.hqf_fieldset {
		margin: 20px 0 0;
	}
	.hqf_optional__comments,
	.hqf_optional__title {
		margin-top: 20px;
	}
	.hqf_optional__legend {
		margin-bottom: 8px;
	}
	.hqf_optional__textarea {
		min-height: 76px;
	}
}

@media (max-width: 420px) {
	.hqf_optional_item,
	.hqf_optional_item--wide {
		grid-column: 1 / -1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hqf_popup__backdrop,
	.hqf_popup__dialog {
		animation: none;
	}

	.hqf_popup__close,
	.hqf_option__label,
	.hqf_option__icon,
	.hqf_option__indicator,
	.hqf_field__control,
	.hqf_timeframe__label,
	.hqf_step__back,
	.hqf_step__continue,
	.hqf_texting__input,
	.hqf_contact_actions__submit,
	.hqf_optional_item__label,
	.hqf_optional_actions__submit,
	.hqf_select__chevron,
	.hqf_field__error,
	.hqf_step__error {
		transition: none;
	}

	.hqf_field__error,
	.hqf_step__error {
		transform: none;
	}
}
