.me-form-shell .quform,
.me-form-shell .quform input,
.me-form-shell .quform select,
.me-form-shell .quform textarea,
.me-form-shell .quform button,
.me-form-shell .quform label {
	font-family: var(--me-font);
}

.me-form-shell .quform-elements {
	padding: 0;
}

/* Progress lives in the fixed bottom bar */
.me-form-shell .quform-page-progress {
	display: none;
}

/* Headings */
.me-form-shell .quform-page-title-description {
	margin: 0 0 1.75rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--me-line);
	text-align: center;
}

.me-form-shell .quform-page-description {
	margin: 0;
	text-align: center;
}

.me-form-shell .quform-page-title-description:has(+ .quform-child-elements > .quform-element-html:first-child) {
	margin-bottom: 0.75rem;
	padding-bottom: 0;
	border-bottom: 0;
}

.me-form-shell .quform-element-page > .quform-child-elements > .quform-element-html:first-child {
	margin: 0 0 1.75rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--me-line);
	text-align: center;
}

.me-form-shell .me-form-intro,
.me-form-shell .quform-element-html p,
.me-form-shell .quform-description,
.me-form-shell .quform-page-description {
	margin: 0 0 1.25rem;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: 0.03em;
	color: #444;
}

.me-form-shell .quform-element-page > .quform-child-elements > .quform-element-html:first-child .me-form-intro:last-child,
.me-form-shell .quform-element-page > .quform-child-elements > .quform-element-html:first-child p:last-child {
	margin-bottom: 0;
}

.me-form-shell .quform-page-title,
.me-form-shell .quform-group-title,
.me-form-shell .quform-element-html :is(h1, h2, h3, h4, h5, h6) {
	margin: 0 0 0.85rem;
	font-family: var(--me-font);
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
}

.me-form-shell .quform-page-title {
	margin-bottom: 0.75rem;
	text-align: center;
	color: var(--me-black);
}

.me-form-shell .quform-group-title {
	text-align: left;
	color: var(--me-gold);
}

.me-form-shell .quform-element-html :is(h1, h2, h3, h4, h5, h6) {
	display: block;
	text-align: left;
	color: var(--me-gold);
}

.me-form-shell h1,
.me-form-shell .quform-element-html h1 {
	font-size: 1.75rem !important;
	letter-spacing: 0.24em;
	color: var(--me-black);
}

.me-form-shell h2,
.me-form-shell .quform-element-html h2,
.me-form-shell h2.quform-group-title {
	font-size: 1.375rem !important;
	letter-spacing: 0.22em;
	text-align: center;
	padding-bottom: 1.15rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--me-line);
	color: #000;
	color: var(--me-black, #000);
}

.me-form-shell h2.quform-page-title {
	padding-bottom: 0;
	margin-bottom: 0.75rem;
	border-bottom: 0;
}

.me-form-shell h3,
.me-form-shell .quform-element-html h3 {
	font-size: 1.125rem !important;
	letter-spacing: 0.2em;
}

.me-form-shell h4,
.me-form-shell .quform-element-html h4 {
	font-size: 0.9375rem !important;
	letter-spacing: 0.18em;
}

.me-form-shell h5,
.me-form-shell h6,
.me-form-shell .quform-element-html h5,
.me-form-shell .quform-element-html h6 {
	font-size: 0.8125rem !important;
	letter-spacing: 0.16em;
}

.me-form-shell .quform-element-html {
	margin-bottom: 0.5rem;
}

.me-form-shell .quform-element-html .quform-inner {
	padding: 0;
}

/* Groups = sections, not boxes */
.me-form-shell .quform-group-style-bordered > .quform-spacer > .quform-child-elements {
	padding: 0;
	border: 0;
	background: transparent;
}

.me-form-shell .quform-element-group {
	margin: 2.25rem 0 1.75rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--me-line);
}

.me-form-shell .quform-element-group > .quform-spacer {
	padding: 0;
}

.me-form-shell .quform-group-title-description {
	margin: 0 0 1.15rem;
}

/* Questions */
.me-form-shell .quform-element {
	margin-bottom: 1.65rem;
}

.me-form-shell .quform-label {
	margin: 0 0 0.55rem;
}

.me-form-shell .quform-label-text {
	display: block;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: var(--me-black);
}

.me-form-shell .quform-element-radio > .quform-spacer > .quform-label,
.me-form-shell .quform-element-checkbox > .quform-spacer > .quform-label {
	margin-bottom: 0.9rem;
}

.me-form-shell .quform-element-radio .quform-label-text,
.me-form-shell .quform-element-checkbox .quform-label-text {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
}

.me-form-shell .quform-required {
	margin-left: 0.2em;
	color: var(--me-gold);
	font-weight: 700;
}

.me-form-shell .quform-description {
	margin-top: 0.35rem;
	font-size: 13px;
	color: #6a6a6a;
}

/* Choices: not bold — they are answers */
.me-form-shell .quform-options {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.me-form-shell .quform-options:has(.quform-option:nth-child(4)) {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1.75rem;
	row-gap: 0.55rem;
	align-items: start;
}

.me-form-shell .quform-options:has(.quform-option:nth-child(4))::before,
.me-form-shell .quform-options:has(.quform-option:nth-child(4))::after {
	content: none;
	display: none;
}

.me-form-shell .quform-option {
	margin: 0;
	padding: 0;
	float: none;
	width: auto;
}

@media (max-width: 40rem) {
	.me-form-shell .quform-options:has(.quform-option:nth-child(4)) {
		grid-template-columns: 1fr;
	}
}

.me-form-shell .quform-option-label,
.me-form-shell .quform-option-text {
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.02em;
	color: #222;
}

.me-form-shell .quform-option .quform-field-radio,
.me-form-shell .quform-option .quform-field-checkbox {
	margin-right: 0.55rem;
	accent-color: var(--me-black);
}

/* Fields */
.me-form-shell .quform-field-text,
.me-form-shell .quform-field-email,
.me-form-shell .quform-field-textarea,
.me-form-shell .quform-field-select,
.me-form-shell .quform-field-time,
.me-form-shell .select2-container--quform .select2-selection {
	width: 100%;
	padding: 0.65rem 0;
	border: 0;
	border-bottom: 1px solid var(--me-line-field);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.03em;
	color: var(--me-black);
}

.me-form-shell .quform-field-textarea {
	min-height: 7rem;
	padding-top: 0.75rem;
	border: 1px solid var(--me-line-field);
	border-bottom-color: var(--me-line-field);
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}

.me-form-shell .quform-field-text:focus,
.me-form-shell .quform-field-email:focus,
.me-form-shell .quform-field-textarea:focus,
.me-form-shell .quform-field-select:focus,
.me-form-shell .quform-field-time:focus {
	outline: none;
	border-bottom-color: var(--me-gold);
}

/* Buttons */
.me-form-shell .quform-button-submit button,
.me-form-shell .quform-button-next button,
.me-form-shell .quform-button-back button,
.me-form-shell .quform-upload-button {
	font-family: var(--me-font);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.32em;
	text-indent: 0.32em;
	text-transform: uppercase;
	border-radius: 0;
	box-shadow: none;
}

.me-form-shell .quform-button-submit button,
.me-form-shell .quform-button-next button {
	background: #000;
	background: var(--me-black, #000);
	border: 1px solid #000;
	border-color: var(--me-black, #000);
	color: #fff;
	color: var(--me-white, #fff);
	padding: 0.85rem 1.4rem;
}

.me-form-shell .quform-button-submit button:hover,
.me-form-shell .quform-button-next button:hover {
	background: var(--me-gold);
	border-color: var(--me-gold);
	color: var(--me-white);
}

.me-form-shell .quform-button-back button {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #000;
	color: #000;
	padding: 0 0 6px;
}

.me-form-shell .quform-button-back button:hover {
	color: var(--me-gold);
	border-bottom-color: var(--me-gold);
}

.me-form-shell .quform-element-submit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem 1.5rem;
	width: 100%;
	margin-top: 2.5rem;
	float: none;
}

.me-form-shell .quform-element-submit .quform-button-back,
.me-form-shell .quform-element-submit .quform-button-next,
.me-form-shell .quform-element-submit .quform-button-submit {
	float: none;
	display: block;
}

.me-form-shell .quform-element-submit .quform-button-back {
	margin-right: auto;
}

.me-form-shell .quform-element-submit .quform-button-next,
.me-form-shell .quform-element-submit .quform-button-submit {
	margin-left: 0;
}

.me-form-shell .quform-element-submit:not(:has(.quform-button-back)) {
	justify-content: center;
}
