/* ==========================================================================
   Enquiry forms (shared: Join the Journey, Partners, Investors, Contact)
   ========================================================================== */
.eform {
	--c-error: #ec8a70;
	--c-ok: #8fd0a6;
	display: grid;
	gap: var(--s-6);
}

.eform__hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.eform__fields {
	display: grid;
	gap: var(--s-5);
}

@media (min-width: 40em) {
	.eform__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--s-5) var(--s-4);
	}

	.efield--textarea,
	.efield--checkbox,
	.efield--checkboxes {
		grid-column: 1 / -1;
	}
}

.eform__status {
	padding: var(--s-4) var(--s-5);
	border: 1px solid currentColor;
	border-left-width: 3px;
	font-weight: 600;
	outline: none;
}

.eform__status--error {
	color: var(--c-error);
	background: rgb(236 138 112 / 0.06);
}

.eform__status--success {
	color: var(--c-ok);
	background: rgb(143 208 166 / 0.07);
	font-family: var(--ff-display);
	font-size: var(--fs-h4);
	font-weight: 600;
}

.eform.is-sent .eform__fields,
.eform.is-sent .eform__actions {
	display: none;
}

.eform__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-4) var(--s-5);
}

.eform__submit {
	border: 0;
}

.eform__submit:disabled {
	opacity: 0.6;
	cursor: progress;
}

.eform__note {
	color: var(--c-text-muted);
	font-size: var(--fs-caption);
}

/* Fields */
.efield {
	display: grid;
	align-content: start;
	gap: var(--s-2);
	min-width: 0;
}

.efield__label {
	color: var(--c-text-strong);
	font-size: var(--fs-label);
	font-weight: 700;
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.efield__req {
	color: var(--c-gold);
}

.efield__hint {
	color: var(--c-text-muted);
	font-size: var(--fs-small);
}

.efield__input {
	width: 100%;
	min-height: 3rem;
	padding: var(--s-3) var(--s-4);
	border: 1px solid var(--c-line-strong);
	border-radius: 0;
	background: rgb(0 34 30 / 0.7);
	color: var(--c-text-strong);
	font-size: 1rem;
	transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}

textarea.efield__input {
	min-height: 8rem;
	resize: vertical;
}

.efield__input:hover {
	border-color: var(--c-gold-soft);
}

.efield__input:focus-visible {
	border-color: var(--c-gold);
	outline: 2px solid var(--c-focus);
	outline-offset: 2px;
}

.efield__select .efield__input {
	padding-right: 2.75rem;
	background: rgb(0 34 30 / 0.7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23ba8a20' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 1rem center / 0.75rem;
	appearance: none;
}

.efield__select option {
	background: var(--c-charcoal);
}

.efield.has-error .efield__input {
	border-color: var(--c-error);
}

.efield__error {
	color: var(--c-error);
	font-size: var(--fs-small);
	font-weight: 600;
}

.efield__count {
	justify-self: end;
	color: var(--c-text-muted);
	font-size: var(--fs-caption);
	font-variant-numeric: tabular-nums;
}

/* Single checkbox (consent, age) */
.efield__check {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: var(--s-3);
}

.efield__check input,
.efield__chip input {
	appearance: none;
	display: grid;
	place-content: center;
	width: 1.5rem;
	height: 1.5rem;
	margin: 0;
	border: 1px solid var(--c-line-strong);
	background: var(--c-bg);
	cursor: pointer;
}

.efield__check input::after,
.efield__chip input::after {
	content: "";
	width: 0.75rem;
	height: 0.75rem;
	background: var(--c-gold);
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%);
	transform: scale(0);
	transition: transform var(--dur-1) var(--ease-out);
}

.efield__check input:checked::after,
.efield__chip input:checked::after {
	transform: none;
}

.efield__check input:focus-visible,
.efield__chip input:focus-visible {
	outline: 2px solid var(--c-focus);
	outline-offset: 2px;
}

.efield.has-error .efield__check input {
	border-color: var(--c-error);
}

.efield__check label {
	font-size: var(--fs-small);
	line-height: 1.5;
	cursor: pointer;
}

.efield__link {
	display: inline-block;
	min-height: 1.5rem;
	margin-left: calc(1.5rem + var(--s-3));
	padding-block: 0.125rem;
	color: var(--c-gold-soft);
	font-size: var(--fs-small);
}

/* Checkbox group as chips */
.efield__group {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.efield__group .efield__label {
	margin-bottom: var(--s-3);
	padding: 0;
}

.efield__chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-2);
}

.efield__chip {
	display: inline-flex;
	align-items: center;
	gap: var(--s-2);
	min-height: 2.75rem;
	padding: 0 var(--s-4) 0 var(--s-3);
	border: 1px solid var(--c-line-strong);
	border-radius: var(--r-pill);
	font-size: var(--fs-small);
	cursor: pointer;
	transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}

.efield__chip input {
	margin: 0;
	border-radius: 50%;
}

.efield__chip:has(input:checked) {
	border-color: var(--c-gold);
	background: rgb(186 138 32 / 0.1);
}

/* Compact (single-row community sign-up) */
@media (min-width: 40em) {
	.eform--compact .eform__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ==========================================================================
   Join the Journey
   ========================================================================== */
.join-hero__title {
	max-width: 24ch;
	font-size: clamp(2.5rem, 1.5rem + 3.8vw, 5.5rem);
}

.jpath {
	border-top: 1px solid var(--c-line);
	scroll-margin-top: var(--announce-h, 0px);
}

.jpath:nth-of-type(even) {
	background: var(--c-charcoal);
}

.jpath__grid {
	display: grid;
	gap: var(--s-7);
}

@media (min-width: 64em) {
	.jpath__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: var(--s-9);
		align-items: start;
	}

	.jpath__intro {
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-h) + var(--announce-h, 0px) + var(--s-6));
	}
}

.jpath__glyph {
	width: 3.5rem;
	height: 3.5rem;
	margin-bottom: var(--s-5);
	color: var(--c-gold);
}

.jpath__title {
	padding-top: 0.1em;
	font-size: var(--fs-h2);
	line-height: var(--lh-display);
	text-transform: uppercase;
}

.jpath__lead {
	max-width: 30rem;
	margin-top: var(--s-4);
	font-size: var(--fs-lead);
}

.jpath__status {
	display: flex;
	align-items: center;
	gap: var(--s-3);
	margin-top: var(--s-6);
	color: var(--c-gold-soft);
	font-weight: 600;
}

.jpath__age {
	margin-top: var(--s-3);
	color: var(--c-bone);
	font-weight: 600;
}

.jpath__dot {
	flex: none;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--c-gold);
	box-shadow: 0 0 0 4px rgb(186 138 32 / 0.2);
}

.jpath__contact {
	display: flex;
	align-items: center;
	gap: var(--s-3);
	margin-top: var(--s-6);
	color: var(--c-gold);
}

.jpath__contact a {
	color: var(--c-text-strong);
	font-weight: 600;
	overflow-wrap: anywhere;
}

.jpath__intro .placeholder-note {
	margin-top: var(--s-6);
}

.jpath__socials {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-2);
	margin: var(--s-6) 0 0;
	padding: 0;
	list-style: none;
}

.jpath__socials a {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid var(--c-line-strong);
	border-radius: 50%;
	color: var(--c-gold-soft);
}

.jpath__socials a:hover,
.jpath__socials a:focus-visible {
	border-color: var(--c-gold);
	color: var(--c-bone);
}

.jpath__socials .icon {
	width: 1.125rem;
	height: 1.125rem;
}

.jpath__form {
	padding: var(--s-6) var(--s-5);
	border: 1px solid var(--c-line);
	background: var(--c-bg);
}

@media (min-width: 48em) {
	.jpath__form {
		padding: var(--s-7);
	}
}
